当前位置: 首页>>代码示例>>PHP>>正文


PHP Alias::setCascade方法代码示例

本文整理汇总了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"));
//.........这里部分代码省略.........
开发者ID:laiello,项目名称:punchcms,代码行数:101,代码来源:class.structure.php

示例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) {
开发者ID:laiello,项目名称:punchcms,代码行数:67,代码来源:inc.tplparse_element.php

示例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;
 }
开发者ID:laiello,项目名称:punchcms,代码行数:101,代码来源:class.impex.php


注:本文中的Alias::setCascade方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。