本文整理汇总了PHP中Alias::setCascade方法的典型用法代码示例。如果您正苦于以下问题:PHP Alias::setCascade方法的具体用法?PHP Alias::setCascade怎么用?PHP Alias::setCascade使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Alias
的用法示例。
在下文中一共展示了Alias::setCascade方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addById
public static function addById($intId, $intParentId = 0)
{
global $_CONF;
$objDoc = Structure::getXmlDoc($intId);
$arrUserIds = array();
$arrGroupIds = array();
$arrStorageIds = array();
$arrFeedIds = array();
$arrLanguageIds[0] = 0;
$arrTemplateIds[0] = 0;
$arrTemplateFieldIds[0] = 0;
$arrLinkFieldIds = array();
$arrElementIds[0] = 0;
$arrElementFieldIds = array();
$arrElementFieldIds["link"][0] = 0;
$arrElementFieldIds["largeText"][0] = 0;
$intTemplateParentId = 0;
$intElementParentId = 0;
//*** Get structure fields from selects.
if (Structure::hasSelect($intId)) {
$objSelects = Structure::getSelectsById($intId);
foreach ($objSelects as $objSelect) {
switch ($objSelect->getType()) {
case "language":
$intId = Request::get("frm_select_{$objSelect->getId()}");
$arrLanguageIds[$objSelect->getLogicId()] = $intId;
break;
case "element":
$intId = Request::get("frm_select_{$objSelect->getId()}");
if ($objSelect->getLogicId() == "PARENT") {
$intElementParentId = $intId;
} else {
$arrElementIds[$objSelect->getLogicId()] = $intId;
}
break;
}
}
}
foreach ($objDoc->childNodes as $rootNode) {
if ($rootNode->nodeName == "structure") {
//*** Valid structure XML.
switch ($rootNode->getAttribute("type")) {
case "template":
$intTemplateParentId = $intParentId;
break;
case "element":
$intElementParentId = $intParentId;
break;
}
foreach ($rootNode->childNodes as $logicNode) {
if ($logicNode->nodeName == "logic") {
foreach ($logicNode->childNodes as $childNode) {
switch ($childNode->nodeName) {
case "languages":
//*** Add languages to the account.
foreach ($childNode->childNodes as $languageNode) {
$objLanguage = new ContentLanguage();
$objLanguage->setAccountId($_CONF['app']['account']->getId());
$objLanguage->setName($languageNode->getAttribute("name"));
$objLanguage->setAbbr($languageNode->getAttribute("abbr"));
$objLanguage->default = $languageNode->getAttribute("default");
$objLanguage->setActive($languageNode->getAttribute("active"));
$objLanguage->setSort($languageNode->getAttribute("sort"));
$objLanguage->setUsername($languageNode->getAttribute("username"));
$objLanguage->save();
$arrLanguageIds[$languageNode->getAttribute("id")] = $objLanguage->getId();
if ($languageNode->getAttribute("default") == 1) {
$intDefaultLanguage = $objLanguage->getId();
}
}
break;
case "templates":
//*** Add templates to the account.
ImpEx::importTemplates($childNode, $_CONF['app']['account']->getId(), $arrTemplateIds, $arrTemplateFieldIds, $arrLinkFieldIds, $intTemplateParentId);
break;
case "elements":
//*** Add elements to the account.
ImpEx::importElements($childNode, $_CONF['app']['account']->getId(), $arrTemplateIds, $arrTemplateFieldIds, $arrElementIds, $arrElementFieldIds, $arrLinkFieldIds, $arrLanguageIds, $arrUserIds, $arrGroupIds, $arrStorageIds, $arrFeedIds, $intElementParentId);
break;
case "aliases":
//*** Add aliases to the account.
foreach ($childNode->childNodes as $aliasNode) {
$objAlias = new Alias();
$objAlias->setAccountId($_CONF['app']['account']->getId());
$objAlias->setAlias($aliasNode->getAttribute("alias"));
if (array_key_exists($aliasNode->getAttribute("url"), $arrElementIds)) {
$objAlias->setUrl($arrElementIds[$aliasNode->getAttribute("url")]);
} else {
$objAlias->setUrl(0);
}
if (array_key_exists($aliasNode->getAttribute("language"), $arrLanguageIds)) {
$objAlias->setLanguageId($arrLanguageIds[$aliasNode->getAttribute("language")]);
} else {
$objAlias->setLanguageId(0);
}
$objAlias->setCascade($aliasNode->getAttribute("cascade"));
$objAlias->setActive($aliasNode->getAttribute("active"));
$objAlias->setSort($aliasNode->getAttribute("sort"));
$objAlias->setCreated($aliasNode->getAttribute("created"));
$objAlias->setModified($aliasNode->getAttribute("modified"));
//.........这里部分代码省略.........
示例2: parsePages
//.........这里部分代码省略.........
}
if (!empty($_CLEAN_POST["publish_end"])) {
$strDate = $_CLEAN_POST["publish_end_date"];
if (empty($strDate)) {
$strDate = strftime($_CONF['app']['universalDate']);
}
$strDate = Date::convertDate($strDate, $_CONF['app']['universalDate'], "%d %B %Y");
$strHour = empty($_CLEAN_POST["publish_end_hour"]) ? "00" : $_CLEAN_POST["publish_end_hour"];
$strMinute = empty($_CLEAN_POST["publish_end_minute"]) ? "00" : $_CLEAN_POST["publish_end_minute"];
$strDate = $strDate . " " . $strHour . ":" . $strMinute . ":00";
$objSchedule->setEndActive(1);
$objSchedule->setEndDate(Date::toMysql($strDate));
} else {
//*** If not set we set the date in the far future. This is nessecary for the client side library,
$objSchedule->setEndActive(0);
$objSchedule->setEndDate(APP_DEFAULT_ENDDATE);
}
$objElement->setSchedule($objSchedule);
//*** Handle the meta values.
if ($objElement->isPage()) {
$objElement->clearMeta();
$objElement->clearAliases();
$arrFields = array("title", "keywords", "description");
$objContentLangs = ContentLanguage::select();
foreach ($objContentLangs as $objContentLanguage) {
//*** Insert the value by language.
foreach ($arrFields as $value) {
$objMeta = new ElementMeta();
$arrCascades = explode(",", request("frm_meta_{$value}_cascades"));
$blnCascade = in_array($objContentLanguage->getId(), $arrCascades) ? 1 : 0;
$objMeta->setName($value);
$objMeta->setValue(request("frm_meta_{$value}_{$objContentLanguage->getId()}"));
$objMeta->setLanguageId($objContentLanguage->getId());
$objMeta->setCascade($blnCascade);
$objElement->setMeta($objMeta);
}
$objAlias = new Alias();
$arrCascades = explode(",", request("frm_meta_alias_cascades"));
$blnCascade = in_array($objContentLanguage->getId(), $arrCascades) ? 1 : 0;
$objAlias->setAlias(request("frm_meta_alias_{$objContentLanguage->getId()}"));
$objAlias->setLanguageId($objContentLanguage->getId());
$objAlias->setCascade($blnCascade);
$objElement->setAlias($objAlias);
}
}
//*** Handle element values.
if (!$blnIsFolder) {
//*** Cache and clear values.
$objCachedFields = $objElement->getFields(true);
$objElement->clearFields();
$objElement->clearLanguages();
//*** Insert the active flag by language.
$arrActives = explode(",", request("language_actives"));
$objContentLangs = ContentLanguage::select();
foreach ($objContentLangs as $objContentLanguage) {
$blnActive = in_array($objContentLanguage->getId(), $arrActives) ? true : false;
$objElement->setLanguageActive($objContentLanguage->getId(), $blnActive);
if ($strCommand == CMD_ADD && !isset($_POST['language_actives'])) {
$objElement->setLanguageActive($objContentLanguage->getId(), true);
}
}
//*** Cache to handsome array.
$arrFieldCache = array();
foreach ($objCachedFields as $objCacheField) {
foreach ($objContentLangs as $objContentLanguage) {
if ($objCacheField->getTypeId() == FIELD_TYPE_FILE || $objCacheField->getTypeId() == FIELD_TYPE_IMAGE) {
示例3: importIn
//.........这里部分代码省略.........
}
}
}
}
if ($validTemplateStructure || !$validate) {
//*** Import elements
foreach ($objDoc->childNodes as $rootNode) {
foreach ($rootNode->childNodes as $logicNode) {
if ($logicNode->nodeName == "logic") {
foreach ($logicNode->childNodes as $childNode) {
switch ($childNode->nodeName) {
case "languages":
// Get all languages
$arrCurrentLangs = array();
$objContentLangs = ContentLanguage::select();
$objDefaultLang = NULL;
foreach ($objContentLangs as $objContentLang) {
$arrCurrentLangs[$objContentLang->getAbbr()] = $objContentLang->getId();
if ($objContentLang->default == 1) {
$objDefaultLang = $objContentLang;
}
}
$arrLanguageIds[0] = 0;
// loop trough languages from export
foreach ($childNode->childNodes as $languageNode) {
// if abbreviations match, use that language ID
if (array_key_exists($languageNode->getAttribute('abbr'), $arrCurrentLangs)) {
$arrLanguageIds[$languageNode->getAttribute("id")] = $arrCurrentLangs[$languageNode->getAttribute('abbr')];
} else {
// if no match, use default current language
$arrLanguageIds[$languageNode->getAttribute("id")] = $arrCurrentLangs[$objDefaultLang->getAbbr()];
}
}
break;
case "templates":
if ($importTemplates) {
//*** Add templates to the account.
self::importTemplates($childNode, $_CONF['app']['account']->getId(), $arrTemplateIds, $arrTemplateFieldIds, $arrLinkFieldIds, $intTemplateId);
}
break;
case "elements":
if ($importElements) {
if ($intElementId == NULL) {
$strSql = sprintf("SELECT * FROM pcms_element WHERE templateId = '%s' AND accountId = '%s' ORDER BY sort LIMIT 1", $intTemplateId, $intAccountId);
$objElements = Element::select($strSql);
foreach ($objElements as $objElement) {
self::importElements($childNode, $intAccountId, $arrTemplateIds, $arrTemplateFieldIds, $arrElementIds, $arrElementFieldIds, $arrLinkFieldIds, $arrLanguageIds, $arrUserIds, $arrGroupIds, $arrStorageIds, $arrFeedIds, $objElement->getId());
}
} else {
self::importElements($childNode, $intAccountId, $arrTemplateIds, $arrTemplateFieldIds, $arrElementIds, $arrElementFieldIds, $arrLinkFieldIds, $arrLanguageIds, $arrUserIds, $arrGroupIds, $arrStorageIds, $arrFeedIds, $intElementId);
}
}
break;
case "aliases":
if ($importElements) {
//*** Add aliases to the account.
foreach ($childNode->childNodes as $aliasNode) {
if (in_array($aliasNode->getAttribute("url"), $arrElementIds)) {
$objAlias = new Alias();
$objAlias->setAccountId($_CONF['app']['account']->getId());
$objAlias->setAlias($aliasNode->getAttribute("alias"));
$objAlias->setUrl($arrElementIds[$aliasNode->getAttribute("url")]);
$objAlias->setLanguageId($arrLanguageIds[$aliasNode->getAttribute("language")]);
// check for existence of alias
$objTmpAliases = Alias::selectByAlias($aliasNode->getAttribute("alias"));
$objTmpAlias = $objTmpAliases->current();
if (!is_object($objTmpAlias)) {
$objAlias->setCascade($aliasNode->getAttribute("cascade"));
$objAlias->setActive($aliasNode->getAttribute("active"));
$objAlias->setSort($aliasNode->getAttribute("sort"));
$objAlias->setCreated($aliasNode->getAttribute("created"));
$objAlias->setModified($aliasNode->getAttribute("modified"));
$objAlias->save();
}
}
}
}
break;
}
if ($importElements) {
//*** Adjust the links for deeplink fields.
self::adjustDeeplinks($arrElementFieldIds["link"], $arrElementIds, $arrLanguageIds);
//*** Adjust the links in large text fields.
self::adjustTextlinks($arrElementFieldIds["largeText"], $arrElementIds, $arrLanguageIds, array(0));
}
}
}
}
}
//*** Import files
$objAccount = Account::selectByPK($_CONF['app']['account']->getId());
if ($blnZip && is_object($objAccount) && $importElements) {
self::importFiles($objZip, $objAccount);
//*** Move files to remote server.
self::moveImportedFiles($objAccount);
}
return true;
}
return false;
}