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


PHP t3lib_div::xml2array方法代码示例

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


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

示例1: getTtContentRecordsWithT3sPlugin

 /**
  * get all content elements containing a t3s_content-Plugin
  *
  * @return array Array containing tt_content records
  */
 public function getTtContentRecordsWithT3sPlugin()
 {
     $targetPid = intval($this->indexerConfig['targetpid']);
     if ($targetPid) {
         $rows = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', 'tt_content', '1=1' . ' AND pid=' . $targetPid . ' AND CType="list"' . ' AND list_type="t3s_content_pi1"' . ' AND hidden=0 AND deleted=0', '', '', '', 'uid');
         if ($rows) {
             foreach ($rows as $key => $row) {
                 if (TYPO3_VERSION_INTEGER >= 7000000) {
                     $xml = TYPO3\CMS\Core\Utility\GeneralUtility::xml2array($row['pi_flexform']);
                 } else {
                     $xml = t3lib_div::xml2array($row['pi_flexform']);
                 }
                 $config = $xml['data']['general']['lDEF'];
                 $ttContentUids[] = $config['contentElements']['vDEF'];
             }
             $ttContentUids = implode(',', $ttContentUids);
             if (TYPO3_VERSION_INTEGER >= 7000000) {
                 $ttContentUids = TYPO3\CMS\Core\Utility\GeneralUtility::uniqueList($ttContentUids);
             } else {
                 $ttContentUids = t3lib_div::uniqueList($ttContentUids);
             }
             $ttContentRecords = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', 'tt_content', ' uid IN (' . $ttContentUids . ')', '', '', '', 'uid');
             if ($ttContentRecords) {
                 return $ttContentRecords;
             }
         }
     }
     return array();
 }
开发者ID:brainformatik,项目名称:ke_search,代码行数:34,代码来源:class.tx_kesearch_indexer_types_t3s_content.php

示例2: user_rgslideshow

 /**
  * Set the DB TCA field with an userfunction to allow dynamic manipulation
  *
  * @param	array		$PA:
  * @param	array		$fobj:
  * @return	The		TCA field
  */
 function user_rgslideshow($PA, $fobj)
 {
     // get the correct tables which are allowed > tsconfig rgslideshow.tables
     $pid = $this->getStorageFolderPid($PA['row']['pid']);
     $pagesTSC = t3lib_BEfunc::getPagesTSconfig($pid);
     // get page TSconfig
     $table = $pagesTSC['rgslideshow.']['tables'];
     // if there are any tables set in TsConfig
     if ($table != '') {
         // get the old value to set this into the field
         $flexform = t3lib_div::xml2array($PA['row']['pi_flexform']);
         $imgOld = is_array($flexform) ? $flexform['data']['sDEF']['lDEF']['images2']['vDEF'] : '';
         // configuration of the field, see TCA for more options
         $config = array('fieldConf' => array('label' => 'images2', 'config' => array('type' => 'group', 'prepend_tname' => 1, 'internal_type' => 'db', 'allowed' => $table, 'show_thumbs' => 1, 'size' => 10, 'autoSizeMax' => 20, 'maxitems' => 30, 'minitems' => 0, 'form_type' => 'group')), 'onFocus' => '', 'label' => 'Plugin Options', 'itemFormElValue' => $imgOld, 'itemFormElName' => 'data[tt_content][' . $PA['row']['uid'] . '][pi_flexform][data][sDEF][lDEF][images2][vDEF]', 'itemFormElName_file' => 'data_files[tt_content][' . $PA['row']['uid'] . '][pi_flexform][data][sDEF][lDEF][images2][vDEF]');
         // create the element
         $form = t3lib_div::makeInstance('t3lib_TCEforms');
         $form->initDefaultBEMode();
         $form->backPath = $GLOBALS['BACK_PATH'];
         $element = $form->getSingleField_typeGroup('tt_content', 'pi_flexform', $PA['row'], $config);
         return $form->printNeededJSFunctions_top() . $element . $form->printNeededJSFunctions();
     } else {
         // no tables allowed
         return '<div style="font-weight:bold;padding:1px 10px;margin:2px:5px">
             No Table allowed. Set it in TsConfig with
             <pre>rgslideshow.tables = tt_news,pages,fe_users,...</pre>
           </div> ';
     }
 }
开发者ID:raimundlandig,项目名称:winkel.de-DEV,代码行数:35,代码来源:class.tx_rgslideshow_tca.php

示例3: addFields_predefinedJS

 /**
  * Adds onchange listener on the drop down menu "predefined".
  * If the event is fired and old value was ".default", then empty some fields.
  *
  * @param array $config
  * @return string the javascript
  * @author Fabien Udriot
  */
 function addFields_predefinedJS($config)
 {
     $newRecord = 'true';
     if ($config['row']['pi_flexform'] != '') {
         $flexData = t3lib_div::xml2array($config['row']['pi_flexform']);
         if (isset($flexData['data']['sDEF']['lDEF']['predefined'])) {
             $newRecord = 'false';
         }
     }
     $uid = key($GLOBALS['SOBE']->editconf['tt_content']);
     if ($uid < 0 || empty($uid) || !strstr($uid, 'NEW')) {
         $uid = $GLOBALS['SOBE']->elementsData[0]['uid'];
     }
     //print_r($GLOBALS['SOBE']->elementsData[0]);
     $js = "<script>\n";
     $js .= "/*<![CDATA[*/\n";
     $divId = $GLOBALS['SOBE']->tceforms->dynNestedStack[0][1];
     if (!$divId) {
         //$divId = 'DTM-' . $uid;
         $divId = "DIV.c-tablayer";
     } else {
         $divId .= "-DIV";
     }
     $js .= "var uid = '" . $uid . "'\n";
     $js .= "var flexformBoxId = '" . $divId . "'\n";
     //$js .= "var flexformBoxId = 'DIV.c-tablayer'\n";
     $js .= "var newRecord = " . $newRecord . "\n";
     $js .= file_get_contents(t3lib_extMgm::extPath('formhandler') . 'Resources/JS/addFields_predefinedJS.js');
     $js .= "/*]]>*/\n";
     $js .= "</script>\n";
     return $js;
 }
开发者ID:NaveedWebdeveloper,项目名称:Test,代码行数:40,代码来源:class.tx_dynaflex.php

示例4: getExtensionSummary

 /**
  * Returns information about this extension's pi1 plugin
  *
  * @param array $params Parameters to the hook
  * @param mixed $pObj A reference to calling object
  * @return string Information about pi1 plugin
  */
 public function getExtensionSummary(array $params, $pObj)
 {
     $result = $actionTranslationKey = '';
     if ($this->showExtensionTitle()) {
         $result .= '<strong>' . $GLOBALS['LANG']->sL(self::LLPATH . 'pi1_title', TRUE) . '</strong>';
     }
     if ($params['row']['list_type'] == self::KEY . '_pi1') {
         $this->flexformData = t3lib_div::xml2array($params['row']['pi_flexform']);
         // if flexform data is found
         $actions = $this->getFieldFromFlexform($this->flexformData, 'switchableControllerActions');
         if (!empty($actions)) {
             $actionList = t3lib_div::trimExplode(';', $actions);
             // translate the first action into its translation
             $actionTranslationKey = strtolower(str_replace('->', '_', $actionList[0]));
             $actionTranslation = $GLOBALS['LANG']->sL(self::LLPATH . 'flexforms_general.mode.' . $actionTranslationKey);
             $result .= '<h5>' . $actionTranslation . '</h5>';
         } else {
             $result = $GLOBALS['LANG']->sL(self::LLPATH . 'flexforms_general.mode.not_configured');
         }
         if (is_array($this->flexformData)) {
             switch ($actionTranslationKey) {
                 case 'news_list':
                     $this->getStartingPoint();
                     $this->getTimeRestrictionSetting();
                     $this->getTopNewsRestrictionSetting();
                     $this->getOrderSettings();
                     $this->getCategorySettings();
                     $this->getArchiveSettings();
                     $this->getOffsetLimitSettings();
                     $this->getDetailPidSetting();
                     $this->getListPidSetting();
                     break;
                 case 'news_detail':
                     $this->getSingleNewsSettings();
                     $this->getDetailPidSetting();
                     break;
                 case 'news_datemenu':
                     $this->getStartingPoint();
                     $this->getTimeRestrictionSetting();
                     $this->getTopNewsRestrictionSetting();
                     $this->getDateMenuSettings();
                     $this->getCategorySettings();
                     break;
                 case 'category_list':
                     $this->getCategorySettings(FALSE);
                     break;
                 case 'tag_list':
                     $this->getStartingPoint(FALSE);
                     $this->getListPidSetting();
                     break;
                 default:
             }
             // for all views
             $this->getOverrideDemandSettings();
             $this->getTemplateLayoutSettings();
             $result .= $this->renderSettingsAsTable($params['row']);
         }
     }
     return $result;
 }
开发者ID:rafu1987,项目名称:t3bootstrap-project,代码行数:67,代码来源:CmsLayout.php

示例5: execute

 function execute()
 {
     return 1;
     $pfad = 'fileadmin/medien/fakultaeten/allgemein/modulbeschreibungen';
     $documentRoot = t3lib_div::getIndpEnv(TYPO3_DOCUMENT_ROOT);
     $pfadKomplett = $documentRoot . '/' . $pfad;
     $this->recursive_rm($pfadKomplett);
     return 1;
     $start = time();
     $lsfStudiengangDaten = array();
     $where = 'deleted=0 AND hidden=0 AND cType="list" AND list_type="he_tools_pi1"';
     $contentElems = $GLOBALS['TYPO3_DB']->exec_SELECTquery('pid,pi_flexform', 'tt_content', $where);
     while ($daten = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($contentElems)) {
         $flexFormSettings = t3lib_div::xml2array($daten['pi_flexform']);
         $flexData = $flexFormSettings['data']['sDEF']['lDEF'];
         if (is_array($flexData)) {
             if ($flexData['mode']['vDEF'] == 'MODULUEBERSICHT_LSF') {
                 $spoVersion = $flexData['spo_version']['vDEF'];
                 $studiengang = $flexData['studiengang_lsf']['vDEF'];
                 $vertiefung = $flexData['vertiefung_lsf']['vDEF'];
                 $whereStudiengang = 'uid=' . $studiengang;
                 $abfrageStudiengang = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'tx_hetools_module_studiengaenge', $whereStudiengang);
                 if ($datenStudiengang = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($abfrageStudiengang)) {
                     $abschlussLsf = $datenStudiengang['lsf_abs'];
                     $studiengangLsf = $datenStudiengang['lsf_stdg'];
                     $fakultaet = $datenStudiengang['fakultaet'];
                     $vertiefungenLsf = array();
                     $whereVertiefung = ' modstud_id=' . $studiengang;
                     $abfrageVertiefung = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'tx_hetools_module_vertiefungen', $whereVertiefung);
                     while ($datenVertiefung = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($abfrageVertiefung)) {
                         if (!empty($datenVertiefung['version'])) {
                             if ($datenVertiefung['version'] == $spoVersion) {
                                 $vertiefungenLsf[] = $datenVertiefung['kuerzel'];
                             }
                         } else {
                             $vertiefungenLsf[] = $datenVertiefung['kuerzel'];
                         }
                     }
                     if (empty($lsfStudiengangDaten[$studiengang . $spoVersion])) {
                         $lsfStudiengangDaten[$studiengang . $spoVersion] = array($abschlussLsf, $spoVersion, $fakultaet, $studiengangLsf, $vertiefungenLsf);
                     }
                 }
             }
         }
     }
     foreach ($lsfStudiengangDaten as $lsfStudiengang) {
         // PDF für den Studiengang speichern
         $this->createPdf($lsfStudiengang[0], $lsfStudiengang[1], $lsfStudiengang[2], $lsfStudiengang[3], '');
         if (!empty($lsfStudiengang[4]) && count($lsfStudiengang[4]) > 0) {
             foreach ($lsfStudiengang[4] as $vertiefungLsf) {
                 $this->createPdf($lsfStudiengang[0], $lsfStudiengang[1], $lsfStudiengang[2], $lsfStudiengang[3], $vertiefungLsf);
             }
         }
     }
     $ende = time();
     $dauer = $ende - $start;
     t3lib_div::devLog('dauer: ' . $dauer . ' Sekunden', 'lsf_pdfs', 0);
     return 1;
 }
开发者ID:mmirsch,项目名称:he_tools1,代码行数:59,代码来源:class.tx_hetools_loesche_modul_pdfs.php

示例6: getFormFromFlexform

	/**
	 * Return Form Uid from Flexform settings
	 * 
	 * @param	array	Config Array
	 * @return	int		Form Uid
	 */
	protected function getFormFromFlexform($params) {
		$xml = $params['row']['pi_flexform'];
		$flexform = t3lib_div::xml2array($xml);
		if (is_array($flexform) && isset($flexform['data']['main']['lDEF']['settings.flexform.main.form']['vDEF'])) {
			return $flexform['data']['main']['lDEF']['settings.flexform.main.form']['vDEF'];
		}
		return 0;
	}
开发者ID:rafu1987,项目名称:t3bootstrap-project,代码行数:14,代码来源:FieldSelectorUserFunc.php

示例7: getLL

 /**
  * Get the locallang for class use out of an XML file
  *
  * @return  array   Array of the locallang data
  */
 function getLL()
 {
     $path2llXml = t3lib_extMgm::extPath('pdfcontroller') . 'locallang_db.xml';
     $llXml = implode('', file($path2llXml));
     $arr_ll = t3lib_div::xml2array($llXml, $NSprefix = '', $reportDocTag = false);
     $LOCAL_LANG = $arr_ll['data'];
     return $LOCAL_LANG;
 }
开发者ID:raimundlandig,项目名称:winkel.de-DEV,代码行数:13,代码来源:class.tx_pdfcontroller_pi1_be_wizicon.php

示例8: getPreviewData

 /**
  *
  * @param array $row
  * @return string
  */
 protected function getPreviewData($row)
 {
     $data = '';
     if (is_array($row) && $row['pi_flexform']) {
         $flexform = t3lib_div::xml2array($row['pi_flexform']);
         if (isset($flexform['data']['sDEF']['lDEF']['mmFile']['vDEF'])) {
             $data = '<span>' . $flexform['data']['sDEF']['lDEF']['mmFile']['vDEF'] . '</span>';
         }
     }
     return $data;
 }
开发者ID:rod86,项目名称:t3sandbox,代码行数:16,代码来源:class.tx_templavoila_preview_type_media.php

示例9: readLLFile

 /**
  * reads a language file
  *
  * @throws LFException raised if no language content couldnt fetched
  * @return array language content
  */
 protected function readLLFile()
 {
     // read xml into array
     $xmlContent = t3lib_div::xml2array(file_get_contents($this->absFile));
     // check and return
     if (!is_array($xmlContent['data']) || !count($xmlContent['data'])) {
         throw new LFException('failure.search.noFileContent');
     }
     // set header data
     $this->meta = $xmlContent['meta'];
     return $xmlContent['data'];
 }
开发者ID:NaveedWebdeveloper,项目名称:Test,代码行数:18,代码来源:class.tx_lfeditor_mod1_file_xllXML.php

示例10: main

 function main()
 {
     $content = '<html><body>';
     $conf = t3lib_div::_GP('P');
     $conf['md5ID'];
     if ($conf['table'] == 'tx_datasources_datasource') {
         $dsRecord = t3lib_beFunc::getRecord($conf['table'], intval($conf['uid']));
         if (is_array($dsRecord)) {
             $dsArr = t3lib_div::xml2array($dsRecord['configuration']);
             $dsConf = $dsArr['data']['sDEF']['lDEF'];
             $content .= '<p>Trying to connect with Host / DSN <strong>' . htmlspecialchars($dsConf['field_host']['vDEF']) . '</strong> with user <strong>' . htmlspecialchars($dsConf['field_username']['vDEF']) . '</strong> ... ';
             $dbConn =& ADONewConnection($dsConf['field_dbtype']['vDEF']);
             $dbConn->PConnect($dsConf['field_host']['vDEF'], $dsConf['field_username']['vDEF'], $dsConf['field_password']['vDEF'], $dsConf['field_dbname']['vDEF']);
             $dbConn->SetFetchMode(ADODB_FETCH_ASSOC);
             $content .= $dbConn->ErrorMsg();
             if ($dbConn->_connectionID) {
                 $content .= '</p>';
                 $query = 'SELECT * FROM ' . $dsConf['field_table']['vDEF'];
                 $recordSet =& $dbConn->SelectLimit($query, 150);
                 if (!$recordSet) {
                     $content .= '<p>Query failed (' . htmlspecialchars($query) . '):<br />';
                     $content .= $dbConn->ErrorMsg() . '</p>';
                 } else {
                     $content .= '<span style="color:green">successful!</span></p>';
                     $counter = 0;
                     $content .= '<p>Showing the first 150 entries from the result recordset:</p>';
                     $content .= '<table border="1">';
                     while (!$recordSet->EOF) {
                         $content .= '<tr>';
                         if ($counter == 0) {
                             foreach (array_keys($recordSet->fields) as $key) {
                                 $content .= '<th>' . htmlspecialchars($key) . '</th>';
                             }
                             $content .= '</tr><tr>';
                         }
                         foreach (array_values($recordSet->fields) as $value) {
                             $content .= '<td>' . htmlspecialchars($value) . '&nbsp;</td>';
                         }
                         $recordSet->MoveNext();
                         $counter++;
                         $content .= '</tr>';
                     }
                     $content .= '<table>';
                 }
             }
         } else {
             $content .= '<span style="color:red">failed!</span></p><p><strong>Error Message:</strong>' . $dbConn->ErrorMsg() . '</p>';
         }
     }
     $content .= '</body></html>';
     echo $content;
 }
开发者ID:NaveedWebdeveloper,项目名称:Test,代码行数:52,代码来源:checkconnectionwizard.php

示例11: getExtensionSummary

 /**
  * Returns information about this extension's pi1 plugin
  *
  * @param	array		$params	Parameters to the hook
  * @param	object		$pObj	A reference to calling object
  * @return	string		Information about pi1 plugin
  */
 function getExtensionSummary($params, &$pObj)
 {
     if ($params['row']['list_type'] == 9) {
         $data = t3lib_div::xml2array($params['row']['pi_flexform']);
         if (is_array($data) && $data['data']['sDEF']['lDEF']['what_to_display']['vDEF']) {
             $result = sprintf($GLOBALS['LANG']->sL('LLL:EXT:tt_news/locallang.xml:cms_layout.mode'), $data['data']['sDEF']['lDEF']['what_to_display']['vDEF']);
         }
         if (!$result) {
             $result = $GLOBALS['LANG']->sL('LLL:EXT:tt_news/locallang.xml:cms_layout.not_configured');
         }
     }
     return $result;
 }
开发者ID:ghanshyamgohel,项目名称:tt_news,代码行数:20,代码来源:class.tx_ttnews_cms_layout.php

示例12: main

 /**
  * Main function
  *
  * @param	string		Absolute path to the selected PHP file
  * @param	string		Extension dir (local, global, system) relative to PATH_site
  * @return	string		HTML content.
  */
 function main($phpFile, $extensionDir)
 {
     if (@is_file($phpFile)) {
         $fCheck = $this->checkLLfilename($phpFile);
         if (!$fCheck) {
             $fileContent = t3lib_div::xml2array(t3lib_div::getURL($phpFile));
             if (@is_array($fileContent)) {
                 return $this->renderForm($fileContent, $phpFile);
             } else {
                 return 'ERROR: File is not XML: ' . $fileContent;
             }
         } else {
             return 'ERROR: ' . $fCheck;
         }
     }
 }
开发者ID:raimundlandig,项目名称:winkel.de-DEV,代码行数:23,代码来源:class.tx_extdeveval_llxmlsplit.php

示例13: getExtensionSummary

 /**
  * Returns information about this extension's pi1 plugin
  *
  * @param  array  $params Parameters to the hook
  * @param  object $pObj   A reference to calling object
  * @return string Information about pi1 plugin
  */
 function getExtensionSummary($params, &$pObj)
 {
     if ($params['row']['list_type'] == 'jfmulticontent_pi1') {
         $data = t3lib_div::xml2array($params['row']['pi_flexform']);
         if (is_array($data) && $data['data']['general']['lDEF']['style']['vDEF']) {
             $result = sprintf($GLOBALS['LANG']->sL('LLL:EXT:jfmulticontent/locallang.xml:cms_layout.style'), '<strong>' . $data['data']['general']['lDEF']['style']['vDEF'] . '</strong><br/>');
         }
         if (!$result) {
             $result = $GLOBALS['LANG']->sL('LLL:EXT:jfmulticontent/locallang.xml:cms_layout.not_configured') . '<br/>';
         }
     }
     if (t3lib_extMgm::isLoaded("templavoila")) {
         $result = strip_tags($result);
     }
     return $result;
 }
开发者ID:raimundlandig,项目名称:winkel.de-DEV,代码行数:23,代码来源:class.tx_jfmulticontent_cms_layout.php

示例14: main

 /**
  * the main method of the PlugIn
  *
  * @param string    $content: The PlugIn content
  * @param array   $conf: The PlugIn configuration
  * @return  The content that is displayed on the website
  */
 public function main($content, $conf)
 {
     // config
     global $TSFE;
     $local_cObj = $TSFE->cObj;
     // cObject
     $this->conf = $conf;
     $this->pi_setPiVarDefaults();
     $this->pi_loadLL();
     $this->div = t3lib_div::makeInstance('tx_wtcart_div');
     // Create new instance for div functions
     $this->dynamicMarkers = t3lib_div::makeInstance('tx_wtcart_dynamicmarkers', $this->scriptRelPath);
     // Create new instance for dynamicmarker function
     $this->tmpl['minicart'] = $this->cObj->getSubpart($this->cObj->fileResource($this->conf['main.']['template']), '###WTCART_MINICART###');
     // Load FORM HTML Template
     $this->tmpl['minicart_empty'] = $this->cObj->getSubpart($this->cObj->fileResource($this->conf['main.']['template']), '###WTCART_MINICART_EMPTY###');
     // Load FORM HTML Template
     //Read Flexform
     $row = $this->pi_getRecord('tt_content', $this->cObj->data['uid']);
     $flexformData = t3lib_div::xml2array($row['pi_flexform']);
     $pid = $this->pi_getFFvalue($flexformData, 'pid', 'sDEF');
     $count = $this->div->countProductsInCart($pid);
     if ($count) {
         $outerArr = array('count' => $count, 'minicart_gross' => $this->div->getGrossPrice($pid));
         $local_cObj->start($outerArr, $this->conf['db.']['table']);
         foreach ((array) $this->conf['settings.']['fields.'] as $key => $value) {
             if (!stristr($key, '.')) {
                 // no .
                 $minicartMarkerArray['###' . strtoupper($key) . '###'] = $local_cObj->cObjGetSingle($this->conf['settings.']['fields.'][$key], $this->conf['settings.']['fields.'][$key . '.']);
             }
         }
         $typolink_conf = array();
         $minicartMarkerArray['###MINICART_LINK###'] = $this->pi_linkToPage($this->pi_getLL('wtcart_ll_link'), $pid, "", $typolink_conf);
         $minicartMarkerArray['###MINICART_LINK_URL###'] = $this->pi_getPageLink($pid, "", $typolink_conf);
         $this->content = $this->cObj->substituteMarkerArrayCached($this->tmpl['minicart'], $minicartMarkerArray);
         // Get html template
         $this->content = $this->dynamicMarkers->main($this->content, $this);
         // Fill dynamic locallang or typoscript markers
         //$this->content = preg_replace('|###.*?###|i', '', $this->content); // Finally clear not filled markers
     } else {
         $this->content = $this->cObj->substituteMarkerArrayCached($this->tmpl['minicart_empty'], null, $minicartMarkerArray);
         // Get html template
         $this->content = $this->dynamicMarkers->main($this->content, $this);
     }
     return $this->pi_wrapInBaseClass($this->content);
 }
开发者ID:raimundlandig,项目名称:winkel.de-DEV,代码行数:53,代码来源:class.tx_wtcart_pi3.php

示例15: evaluateRulesForElement

	/**
	 * Checks a given element if it complies with certain rules provided as a regular expression.
	 * This function prepares all the information which is needed to check rules compliance, the
	 * check itself will be carried out by checkRulesForElement () which calls itself recursively.
	 *
	 * Note that only few functionality of the POSIX standard for regular expressions is being supported,
	 * see the manual for more details.
	 *
	 * @param	string		$rules: A regular expression describing the rule. The content elements are reflected by certain tokens (i.e. uppercase and lowercase characters). These tokens are also called "ruleConstants".
	 * @param	array		$ruleConstants: An array with the mapping of tokens to content elements.
	 * @param	array		$elArray:
	 * @return	array		Array containing status information if the check was successful.
	 * @access	public
	 * @see checkRulesForElement()
	 */
	function evaluateRulesForElement ($table, $uid) {
	 	$statusArr = array();

			// Getting data structure for the template and extract information for default records to create
		$parentRecord = t3lib_BEfunc::getRecord ($table, $uid);

			// Only care about page records or flexible content elements:
		if ($table != 'tt_content' || $parentRecord['CType'] == 'templavoila_pi1') {
			$recRow = t3lib_BEfunc::getRecord ('tx_templavoila_datastructure', $parentRecord['tx_templavoila_ds']);
			$xmlContent = t3lib_div::xml2array($recRow['dataprot']);
			if (is_array($xmlContent['ROOT']) && is_array($xmlContent['ROOT']['el'])) {
				foreach ($xmlContent['ROOT']['el'] as $fieldName=>$field) {
					$ruleRegEx = trim ($field['tx_templavoila']['ruleRegEx']);
					$ruleConstants = trim ($field['tx_templavoila']['ruleConstants']);
					if ((string)$ruleRegEx != '' && ($field['tx_templavoila']['eType'] == 'ce')) {	// only check if necessary

							// Save record of parent element for error tracking
						$this->lastParsedRecord = $parentRecord;
						$this->currentFieldName = $fieldName;
							// Get child records of the parent element record
						$childRecords = array ();
						$xmlContent = t3lib_div::xml2array($parentRecord['tx_templavoila_flex']);
						$recUIDs = t3lib_div::trimExplode(',',$xmlContent['data']['sDEF']['lDEF'][$fieldName]['vDEF']);
						foreach ($recUIDs as $recUID) {
							$row = t3lib_BEfunc::getRecord('tt_content', $recUID, 'uid,CType,tx_templavoila_to');
							if ($row['CType'] == 'templavoila_pi1') {
								$row['CType'] .= ',' . $row['tx_templavoila_to'];
							}
							if (is_array ($row)) {	// only would be no array if the row has been deleted somewhere else and still remains in the flexform data
								$childRecords[] = $row;
							}
						}
							// Check the rules:
						$tmpStatusArr = $this->checkRulesForElement ($ruleRegEx, $ruleConstants, $childRecords);
						$this->statusMerge($statusArr, $tmpStatusArr, true);
					}
				}
			}
		}
#debug ($statusArr,'statusArr',__LINE__,__FILE__);
		return $statusArr;
	}
开发者ID:rafu1987,项目名称:t3bootstrap-project,代码行数:57,代码来源:class.tx_templavoila_rules.php


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