Tak si tam muzes registrovat guesty a zakaznika prihlasit na neprihlaseneho guesta. Ale musi se to napsat do kodu nekde driv.
Nebo, jeste je tu moznost, ze ti forko cast kodu odmazalo. Tak to mozna ulozit na jsfiddle.net. On sice bude pindat, ze to neni javascript, ale snad nic nesmaze :)
Příspěvky odeslané z IP adresy 2001:718:2601:258:b01b:ab...–
Zkusim ti popsat, co to presne dela
function actionRegister() {
$form->onSuccess[] = function...
}
Nic vic ten kousek kodu nedela. Co dela ta funkce neni vubec podstatne, protoze ta se nejspis spousti, az kdyz je vse success. Cili tahle udalost nastava az po tom, co chces zmenit.
jAkErCZ - jj, hadas spravne. Pustil jsem si pspad, zkopiroval tvuj text, nasel v menu preformatovat jako strukturovany css, zkopiroval, klikl na forku na tlacitko '<?', vlozil, klikl vlozit, klikl odeslat :) Mohl jsi to udelat sam v dalsi zpravicce. Na to neni treba moderatora. Stejne je dost obtizne nejakeho najit :)
A mimochodem, ta funkce resi registraci, pokud je zadane $values->user_id. Nic s paswordem ho nezajima. Myslim si, ze nebude pouzitelna. Treba napsat nejaky kod tam, kde ji volas.
ok, verze 2, pspad tam nezformatoval ten radek v komentari.
<?php
/** Registrace nové osoby během dokončení objednávky. */
public function actionRegister() {
// Doplníme vlastní zpracování k úspěšnému odeslání formuláře pro správu osob.
$this['personForm']->onSuccess[] = function (Form $form, ArrayHash $values) {
if (isset($values->user_id)) $this->flashMessage('Byl jste úspěšně registrován.', self:: MSG_SUCCESS);
try {
$this->orderManager->setPerson($values->person_id);
}
catch (InvalidArgumentException $ex) {
$this->flashMessage('Nepodařilo se vytvořit osobu se zadanými údaji.', self:: MSG_ERROR);
}
$this->redirect('this');
// Později zde budeme přesměrovávat na pokračování v nákupu.
}
;
}
<?php
/** Registrace nové osoby během dokončení objednávky. */
public function actionRegister() {
// Doplníme vlastní zpracování k úspěšnému odeslání formuláře pro správu osob. $this['personForm']->onSuccess[] = function (Form $form, ArrayHash $values) {
if (isset($values->user_id)) $this->flashMessage('Byl jste úspěšně registrován.', self:: MSG_SUCCESS);
try {
$this->orderManager->setPerson($values->person_id);
}
catch (InvalidArgumentException $ex) {
$this->flashMessage('Nepodařilo se vytvořit osobu se zadanými údaji.', self:: MSG_ERROR);
}
$this->redirect('this');
// Později zde budeme přesměrovávat na pokračování v nákupu.
}
;
}
weroro - Jo tak, to jsem si nevsiml, obrazek nekoukal, v textu to nezminil, ze to ma pres file///. To je vlastne dalsi problem, jak pises, soubor je treba ulozit jako utf8. Win defaultne uklada jako win1250.
Zkusil bych na editaci PSPad, ten umi vytvorit utf8 a tusim i konvertovat.Pripadne v nem udelat utf8 a prec ctrl+c/v tam prenest obsah.
'dĺžky hrán, cez ktoré vedie cesta musia rásť'
Jestli je to chapano tak, ze vzdalenost mezi body musi narustat, 1 + 2 + 3, tak nasledujici vzdalenost musi byt vetsi nez predchozi, jednoducha podminka. Ulozis si predchozi hodnotu treba do tmp a porovnas v dalsim kroku s tmp. Nebo, pokud do pole s cestou ukladas i vzdalenost, tak to vytahnes z pole
if (cesta[i-1]['vzdalenost'] < nova_trasa['vzdalenost']) {...}
'cesta musí prechádzať cez najviac x hrán'
Kdyz uz mas treba delku cesty 6 bodu a sesty bod neni konecny bod B, tak cyklus prerusis break (continue) s tim, ze nejakym booleanem budes rikat, ze cesta neni platna.
Preruseni cyklu je break, prejit k dalsi hodnote je continue.
Posli link.
Prohlizec si vybira kodovani:
- co mu posle server (php header() / iconv())
- sam si urci podle obsahu
- co mu napises do html meta
Proste, kdyz je tam kodovani win-1250 nebo latin-1 ze serveru, tak si to neprepina na utf-8 a ten meta tag vesele ignoruje.
Jj, ten json tam je, ale nebylo jasne, vysvetleno, k cemu patri. Treba se bude dat pouzit neco z googlu. Mimochodem, mas tam htmlspecialchars? Json se zpetne dekoduje na data a treba na serverech jako zbozi.cz jsou na to citlivy, kdyz je tan znak & < >.
google = php convert json to xml
function array2xml($array, $xml = false){
if($xml === false){
$xml = new SimpleXMLElement('<result/>');
}
foreach($array as $key => $value){
if(is_array($value)){
array2xml($value, $xml->addChild($key));
} else {
$xml->addChild($key, $value);
}
}
return $xml->asXML();
}
$raw_data = file_get_contents('http://pastebin.com/raw.php?i=pN3QwSHU');
$jSON = json_decode($raw_data, true);
$xml = array2xml($jSON, false);
echo '<pre>';
print_r($xml);
---
protected function display($result) {
if (empty($this->output_type) || strtolower($this->output_type) == "json") {
header('Content-type: application/json');
echo json_encode($result);
} else if (strtolower($this->output_type) == "xml") {
header('Content-type: application/xml');
echo '<?xml version="1.0"?>';
echo "<result>";
$xml_array = json_decode(json_encode($result), true);
$this->xmlWalker($xml_array, "start");
echo "</result>";
} else { //catch all why not
header('Content-type: application/json');
echo json_encode($result);
}
}
protected function xmlWalker($xml_array, $parent) {
foreach($xml_array as $tag => $value) {
if ((int)$tag === $tag) {
$tag = mb_substr($parent, 0, -1);
}
echo "<" .$tag. ">";
if (is_array($value)) {
$this->xmlWalker($value, $tag);
} else {
echo $value;
}
echo "</" .$tag. ">";
}
}
---
$xml = new SimpleXMLElement('<root/>');
$arr = json_decode($your_array, true);
array_walk_recursive($arr, array ($xml,'addChild'));
---
$xml = new SimpleXMLElement('<root/>');
$this->arrayToXml($array, $xml);
function arrayToXml($array, &$xml){
foreach ($array as $key => $value) {
if(is_array($value)){
if(is_int($key)){
$key = "e";
}
$label = $xml->addChild($key);
$this->arrayToXml($value, $label);
}
else {
$xml->addChild($key, $value);
}
}
}
---
https://gist.github.com/…ngue/4982951 (new DomDocument)
http://php.net/…implexml.php
<?php
function array2XML($arr,$root) {
$xml = new SimpleXMLElement("<?xml version=\"1.0\" encoding=\"utf-8\" ?><{$root}></{$root}>");
$f = create_function('$f,$c,$a','
foreach($a as $v) {
if(isset($v["@text"])) {
$ch = $c->addChild($v["@tag"],$v["@text"]);
} else {
$ch = $c->addChild($v["@tag"]);
if(isset($v["@items"])) {
$f($f,$ch,$v["@items"]);
}
}
if(isset($v["@attr"])) {
foreach($v["@attr"] as $attr => $val) {
$ch->addAttribute($attr,$val);
}
}
}');
$f($f,$xml,$arr);
return $xml->asXML();
}
?>
---
// tady by se asi pouzil prevod z array $array = json_decode($json,TRUE);
<?php
function assocArrayToXML($root_element_name,$ar)
{
$xml = new SimpleXMLElement("<?xml version=\"1.0\"?><{$root_element_name}></{$root_element_name}>");
$f = create_function('$f,$c,$a','
foreach($a as $k=>$v) {
if(is_array($v)) {
$ch=$c->addChild($k);
$f($f,$ch,$v);
} else {
$c->addChild($k,$v);
}
}');
$f($f,$xml,$ar);
return $xml->asXML();
}
?>