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


PHP StringUtil::generateAlias方法代码示例

本文整理汇总了PHP中StringUtil::generateAlias方法的典型用法代码示例。如果您正苦于以下问题:PHP StringUtil::generateAlias方法的具体用法?PHP StringUtil::generateAlias怎么用?PHP StringUtil::generateAlias使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在StringUtil的用法示例。


在下文中一共展示了StringUtil::generateAlias方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: generateAlias

 /**
  * Auto-generate the FAQ alias if it has not been set yet
  *
  * @param mixed         $varValue
  * @param DataContainer $dc
  *
  * @return mixed
  *
  * @throws Exception
  */
 public function generateAlias($varValue, DataContainer $dc)
 {
     $autoAlias = false;
     // Generate alias if there is none
     if ($varValue == '') {
         $autoAlias = true;
         $varValue = StringUtil::generateAlias($dc->activeRecord->question);
     }
     $objAlias = $this->Database->prepare("SELECT id FROM tl_faq WHERE alias=?")->execute($varValue);
     // Check whether the news alias exists
     if ($objAlias->numRows > 1 && !$autoAlias) {
         throw new Exception(sprintf($GLOBALS['TL_LANG']['ERR']['aliasExists'], $varValue));
     }
     // Add ID to alias
     if ($objAlias->numRows && $autoAlias) {
         $varValue .= '-' . $dc->id;
     }
     return $varValue;
 }
开发者ID:contao,项目名称:faq-bundle,代码行数:29,代码来源:tl_faq.php

示例2: generateAlias

 /**
  * Auto-generate a page alias if it has not been set yet
  *
  * @param mixed         $varValue
  * @param DataContainer $dc
  *
  * @return string
  *
  * @throws Exception
  */
 public function generateAlias($varValue, DataContainer $dc)
 {
     $autoAlias = false;
     // Generate an alias if there is none
     if ($varValue == '') {
         $autoAlias = true;
         $varValue = StringUtil::generateAlias($dc->activeRecord->title);
         // Generate folder URL aliases (see #4933)
         if (Config::get('folderUrl')) {
             $objPage = PageModel::findWithDetails($dc->activeRecord->id);
             if ($objPage->folderUrl != '') {
                 $varValue = $objPage->folderUrl . $varValue;
             }
         }
     }
     $objAlias = $this->Database->prepare("SELECT id FROM tl_page WHERE id=? OR alias=?")->execute($dc->id, $varValue);
     // Check whether the page alias exists
     if ($objAlias->numRows > ($autoAlias ? 0 : 1)) {
         $arrPages = array();
         $strDomain = '';
         $strLanguage = '';
         while ($objAlias->next()) {
             $objCurrentPage = PageModel::findWithDetails($objAlias->id);
             $domain = $objCurrentPage->domain ?: '*';
             $language = !$objCurrentPage->rootIsFallback ? $objCurrentPage->rootLanguage : '*';
             // Store the current page's data
             if ($objCurrentPage->id == $dc->id) {
                 // Get the DNS and language settings from the POST data (see #4610)
                 if ($objCurrentPage->type == 'root') {
                     $strDomain = Input::post('dns');
                     $strLanguage = Input::post('language');
                 } else {
                     $strDomain = $domain;
                     $strLanguage = $language;
                 }
             } else {
                 // Check the domain and language or the domain only
                 if (Config::get('addLanguageToUrl')) {
                     $arrPages[$domain][$language][] = $objAlias->id;
                 } else {
                     $arrPages[$domain][] = $objAlias->id;
                 }
             }
         }
         $arrCheck = Config::get('addLanguageToUrl') ? $arrPages[$strDomain][$strLanguage] : $arrPages[$strDomain];
         // Check if there are multiple results for the current domain
         if (!empty($arrCheck)) {
             if ($autoAlias) {
                 $varValue .= '-' . $dc->id;
             } else {
                 throw new Exception(sprintf($GLOBALS['TL_LANG']['ERR']['aliasExists'], $varValue));
             }
         }
     }
     return $varValue;
 }
开发者ID:Mozan,项目名称:core-bundle,代码行数:66,代码来源:tl_page.php

示例3: addAliasButton

 /**
  * Automatically generate the folder URL aliases
  *
  * @param array $arrButtons
  *
  * @return array
  */
 public function addAliasButton($arrButtons)
 {
     // Generate the aliases
     if (Input::post('FORM_SUBMIT') == 'tl_select' && isset($_POST['alias'])) {
         /** @var Symfony\Component\HttpFoundation\Session\SessionInterface $objSession */
         $objSession = System::getContainer()->get('session');
         $session = $objSession->all();
         $ids = $session['CURRENT']['IDS'];
         foreach ($ids as $id) {
             $objArticle = ArticleModel::findByPk($id);
             if ($objArticle === null) {
                 continue;
             }
             // Set the new alias
             $strAlias = StringUtil::generateAlias($objArticle->title);
             // The alias has not changed
             if ($strAlias == $objArticle->alias) {
                 continue;
             }
             // Initialize the version manager
             $objVersions = new Versions('tl_article', $id);
             $objVersions->initialize();
             // Store the new alias
             $this->Database->prepare("UPDATE tl_article SET alias=? WHERE id=?")->execute($strAlias, $id);
             // Create a new version
             $objVersions->create();
         }
         $this->redirect($this->getReferer());
     }
     // Add the button
     $arrButtons['alias'] = '<button type="submit" name="alias" id="alias" class="tl_submit" accesskey="a">' . $GLOBALS['TL_LANG']['MSC']['aliasSelected'] . '</button> ';
     return $arrButtons;
 }
开发者ID:Mozan,项目名称:core-bundle,代码行数:40,代码来源:tl_article.php

示例4: generateAlias

 /**
  * @param $varValue
  * @param DataContainer $dc
  * @return string
  * @throws Exception
  */
 public function generateAlias($varValue, \DataContainer $dc)
 {
     // Generate an alias if there is none
     if ($varValue == '') {
         $varValue = StringUtil::generateAlias($dc->activeRecord->name);
     }
     $objAlias = $this->Database->prepare("SELECT id FROM tl_taxonomies WHERE (id=? OR alias=?) AND pid = ?")->execute($dc->id, $varValue, $dc->activeRecord->pid);
     // Check whether the Taxonomy alias exists
     if ($objAlias->numRows > 1) {
         $varValue .= '-' . $dc->id;
     }
     return $varValue;
 }
开发者ID:alnv,项目名称:fmodul,代码行数:19,代码来源:tl_taxonomies.php

示例5: generateAlias

 /**
  * @param $varValue mixed The current alias (if available)
  * @param $intId    int The entity's id
  * @param $strTable string The entity's table
  * @param $strAlias string The value to use as a base for the alias
  *
  * @return string
  * @throws \Exception
  */
 public static function generateAlias($varValue, $intId, $strTable, $strAlias)
 {
     $autoAlias = false;
     // Generate alias if there is none
     if ($varValue == '') {
         $autoAlias = true;
         $varValue = \StringUtil::generateAlias($strAlias);
     }
     $objAlias = \Database::getInstance()->prepare("SELECT id FROM {$strTable} WHERE alias=?")->execute($varValue);
     // Check whether the alias exists
     if ($objAlias->numRows > 1 && !$autoAlias) {
         throw new \Exception(sprintf($GLOBALS['TL_LANG']['ERR']['aliasExists'], $varValue));
     }
     // Add ID to alias
     if ($objAlias->numRows && $objAlias->id != $intId && $autoAlias || !$varValue) {
         $varValue .= '-' . $intId;
     }
     return $varValue;
 }
开发者ID:heimrichhannot,项目名称:contao-haste_plus,代码行数:28,代码来源:General.php

示例6: generateAlias

 /**
  * @param $varValue
  * @param array $arrData
  * @return string
  * @throws \Exception
  */
 protected function generateAlias($varValue, $arrData = array())
 {
     $autoAlias = false;
     if (!$arrData['title'] || empty($arrData)) {
         return 'Alias-' . substr(md5(time()), 12);
     }
     // Generate alias if there is none
     if ($varValue == '') {
         $autoAlias = true;
         $varValue = \StringUtil::generateAlias($arrData['title']);
     }
     $table = $this->strTableData;
     $pid = $this->strPid;
     $objAlias = null;
     if ($table && $pid) {
         $objAlias = $this->Database->prepare("SELECT id FROM " . $table . " WHERE alias = ? AND pid = ?")->execute($varValue, $pid);
     }
     // Check whether the alias exists
     if ($objAlias && $objAlias->numRows > 1 && !$autoAlias) {
         throw new \Exception(sprintf($GLOBALS['TL_LANG']['ERR']['aliasExists'], $varValue));
     }
     // Add hash to alias
     if ($objAlias && $objAlias->numRows && $autoAlias) {
         $varValue .= '-' . substr(md5(time()), 12);
     }
     return $varValue;
 }
开发者ID:alnv,项目名称:fmodul,代码行数:33,代码来源:ModuleFModuleRegistration.php

示例7: generateAlias

 public function generateAlias($strString)
 {
     return \StringUtil::generateAlias($strString);
 }
开发者ID:thunder1902,项目名称:examples,代码行数:4,代码来源:StringUtilService.php

示例8: addAliasButton

 /**
  * @param $arrButtons
  * @return string
  */
 public function addAliasButton($arrButtons)
 {
     if (\Input::post('FORM_SUBMIT') == 'tl_select' && isset($_POST['alias'])) {
         // init objects
         $objSession = \Session::getInstance();
         $objDataBase = \Database::getInstance();
         $session = $objSession->getData();
         $ids = $session['CURRENT']['IDS'];
         $strTable = \Input::get('table');
         if (!$strTable || !$objDataBase->tableExists($strTable)) {
             return $arrButtons;
         }
         foreach ($ids as $id) {
             $objData = $objDataBase->prepare('SELECT id, alias, title FROM ' . $strTable . ' WHERE id=?')->limit(1)->execute($id);
             if (!$objData->count()) {
                 continue;
             }
             $arrData = $objData->row();
             $strAlias = \StringUtil::generateAlias($arrData['title']);
             if ($strAlias == $arrData['alias']) {
                 continue;
             }
             $objAlias = $objDataBase->prepare('SELECT id FROM ' . $strTable . ' WHERE alias = ?')->execute($strAlias);
             if ($objAlias->numRows > 1) {
                 $strAlias .= '-' . $arrData['id'];
             }
             // Initialize the version manager
             $objVersions = new \Versions($strTable, $id);
             $objVersions->initialize();
             $objDataBase->prepare('UPDATE ' . $strTable . ' SET alias=? WHERE id=?')->execute($strAlias, $id);
             $objVersions->create();
         }
         \Controller::redirect(\Controller::getReferer());
     }
     $arrButtons['alias'] = '<input type="submit" name="alias" id="alias" class="tl_submit" accesskey="a" value="' . specialchars($GLOBALS['TL_LANG']['MSC']['aliasSelected']) . '"> ';
     return $arrButtons;
 }
开发者ID:alnv,项目名称:fmodul,代码行数:41,代码来源:DCACreator.php


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