public function action() { $user = $this->hasAuthorative(); $xml = $this->getXML(); $xml = $this->makeMenu($xml); $siteXML = $this->_generic->getSiteXML(); $langs = $this->_lang->getSiteLangs(); $errors = array(); if ($this->_http->getParam("reload") == "true") { $alias = SLS_String::trimSlashesFromString($this->_http->getParam("alias")); $domain = SLS_String::trimSlashesFromString($this->_http->getParam("domain")); $lang = SLS_String::trimSlashesFromString($this->_http->getParam("lang")); $cdn = $this->_http->getParam("cdn"); if ($cdn != 'true') $cdn = 'false'; if (SLS_String::endsWith(trim($domain),"/")) $domain = SLS_String::substrBeforeLastDelimiter(trim($domain),"/"); $result = $siteXML->getTag("//configs/domainName/domain[@alias='".$alias."']"); if (empty($alias)) array_push($errors,"You must choose an alias for your domain name."); else if (!empty($result)) array_push($errors,"This alias is already used by another domain, please choose another."); if (empty($domain)) array_push($errors,"You must fill your domain name."); else if (!SLS_String::isValidUrl("http://".$domain)) array_push($errors,"This domain is not a valid url."); if (empty($errors)) { $str_xml = '<domain alias="'.$alias.'" js="true" isSecure="false" cdn="'.$cdn.'" lang="'.$lang.'">'. '<![CDATA['.$domain.']]>'. '</domain>'; $siteXML->appendXMLNode("//configs/domainName",$str_xml); $siteXML->saveXML($this->_generic->getPathConfig("configSecure")."site.xml"); $this->_generic->forward("SLS_Bo","GlobalSettings"); } else { $xml->startTag("domain"); $xml->addFullTag("alias",$alias,true); $xml->addFullTag("domain",$domain,true); $xml->addFullTag("cdn",$cdn,true); $xml->addFullTag("lang",$lang,true); $xml->endTag("domain"); } } $langsBinded = $siteXML->getTags("//configs/domainName/domain/@lang"); foreach($langs as $lang) if (in_array($lang,$langsBinded)) unset($langs[array_shift(array_keys($langs,$lang))]); $xml->startTag("langs"); foreach($langs as $lang) $xml->addFullTag("lang",$lang,true); $xml->endTag("langs"); $xml->startTag("errors"); foreach($errors as $error) $xml->addFullTag("error",$error,true); $xml->endTag("errors"); $this->saveXML($xml); }
/** * Format recordsets * * @param SLS_XMLToolBox $xml * @param array PDO $recordsets * @param string $fkRecursiveExists * @return SLS_XMLToolBox $xml modified */ public function formatRecordsets($xml,$recordsets,$fkRecursiveExists="") { $xml->startTag("entities"); for($i=0 ; $i<$count=count($recordsets) ; $i++) { $xml->startTag("entity",array("gap" => $this->_gap)); foreach($recordsets[$i] as $key => $value) { if (array_key_exists($key,$this->_columns) && ($this->_columns[$key]["list"] == "true" || $key == $this->_object->getPrimaryKey())) { $hashExists = $this->_xmlFilter->getTag("//sls_configs/entry[@table='".strtolower($this->_db_alias."_".$this->_columns[$key]["table"])."' and @column='".$key."' and @filter='hash']/@hash"); if (!empty($this->_columns[$key]["specific_type"])) { switch($this->_columns[$key]["specific_type"]) { case "email": if (SLS_String::validateEmail($value)) $value = "<a href='mailto:".$value."' target='_blank' class='sls-bo-color-text'>".$value."</a>"; break; case "url": if (SLS_String::isValidUrl($value)) $value = "<a href='".$value."' target='_blank' class='sls-bo-color-text'>".SLS_String::substrAfterLastDelimiter($value,"://")."</a>"; break; case "file"; switch($this->_columns[$key]["specific_type_extended"]) { case "all": if (!empty($value) && file_exists($this->_generic->getPathConfig("files").$value)) $value = "<a href='".SLS_String::getUrlFile($value)."' target='_blank' class='sls-bo-color-text'>".SLS_String::substrAfterLastDelimiter($value,"/")."</a>"; break; case "img": if (!empty($value) && file_exists($this->_generic->getPathConfig("files").$value)) $value = "<a href='".SLS_String::getUrlFile($value)."' target='_blank'><img class='sls-image' sls-image-src='".((!empty($this->_columns[$key]["image_thumb"])) ? SLS_String::getUrlFileImg($value,$this->_columns[$key]["image_thumb"]) : SLS_String::getUrlFile($value))."' alt='".SLS_String::substrAfterLastDelimiter($value,"/")."' title='".SLS_String::substrAfterLastDelimiter($value,"/")."' /></a>"; break; } break; case "color": $rgb = SLS_String::hex2RGB($value); $value = "<div class='sls-bo-box-color' style='color:".((((0.213 * $rgb["red"]) + (0.715 * $rgb["green"]) + (0.072 * $rgb["blue"])) < 0.5) ? "#FFF" : "#000").";background-color:#".$value."'>#".$value."</div>"; break; } } if ($this->_columns[$key]["html_type"] == "input_textarea") $value = "<p>".SLS_String::trimStringToLength(strip_tags($value),150)."</p>"; if (!empty($hashExists)) $value = "********"; $xml->addFullTag($key,$value,true); } } if (!empty($fkRecursiveExists)) { $this->_gap++; $xml = $this->getFkChildrens($xml,$fkRecursiveExists,$recordsets[$i]->{$this->_object->getPrimaryKey()}); $this->_gap--; } $xml->endTag("entity"); } $xml->endTag("entities"); return $xml; }