Verified compatibility with TYPO3 6.0 and 6.1, resolves #48489
authorfrancois <francois@735d13b6-9817-0410-8766-e36946ffe9aa>
Fri, 24 May 2013 15:31:48 +0000 (15:31 +0000)
committerfrancois <francois@735d13b6-9817-0410-8766-e36946ffe9aa>
Fri, 24 May 2013 15:31:48 +0000 (15:31 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Extensions/phpdisplay/trunk@75511 735d13b6-9817-0410-8766-e36946ffe9aa

ChangeLog
Configuration/TCA/tx_phpdisplay_displays.php
Samples/Advanced.php
ext_tables.php

index 1fc94b0..f34d796 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2012-05-24 Francois Suter (Cobweb)  <typo3@cobweb.ch>
+
+       * Verified compatibility with TYPO3 6.0 and 6.1, resolves #48489
+
 2012-06-29 Francois Suter (Cobweb)  <typo3@cobweb.ch>
 
        * Added definition of search fields, resolves #38485
index 563c01d..4e72889 100644 (file)
@@ -2,11 +2,11 @@
 if (!defined ('TYPO3_MODE'))   die ('Access denied.');
 
 $TCA['tx_phpdisplay_displays'] = array(
-       'ctrl' => $TCA['tx_phpdisplay_displays']['ctrl'],
+       'ctrl' => $GLOBALS['TCA']['tx_phpdisplay_displays']['ctrl'],
        'interface' => array(
                'showRecordFieldList' => 'hidden,title,description'
        ),
-       'feInterface' => $TCA['tx_phpdisplay_displays']['feInterface'],
+       'feInterface' => $GLOBALS['TCA']['tx_phpdisplay_displays']['feInterface'],
        'columns' => array(
                'hidden' => array(
                        'exclude' => 1,
index cfd4af4..e5bd34c 100644 (file)
@@ -1 +1 @@
-<?php\r\r// Parameters\r$parameters = t3lib_div::_GP('tx_displaycontroller');\r\r// Default language of this website is 'fr'\r$language = 'fr';\rif (!empty($GLOBALS['TSFE']->tmpl->setup['config.']['language'])) {\r $language = $GLOBALS['TSFE']->tmpl->setup['config.']['language'];\r}\r\rsaveParameters($parameters);\r?>\r\r<h2><?php translate('search_result') ?></h2>\r\r<div class="row-fluid">\r    <div class="span4">\r            <?php numberOfResults($datastructure, $filter); ?>\r     </div>\r <div class="span8 pull-right">\r         <?php pageBrowser($datastructure, $filter); ?>\r </div>\r</div>\r\r<table class="table table-striped">\r     <thead>\r        <tr>\r           <th><?php translate('title');?></th>\r           <th><?php translate('location');?></th>\r                <th><?php translate('type');?></th>\r            <th><?php translate('companyType');?></th>\r             <th>\r                   <a href="<?php linkSort() ?>">\r                         <?php translate('date');?>\r                             <?php if ($parameters['sort'] == 'job_publicationdate' && $parameters['order'] == 'desc'): ?>\r                          <?php image('bullet_arrow_down.png'); ?>\r                               <?php elseif ($parameters['sort'] == 'job_publicationdate' && $parameters['order'] == 'asc'): ?>\r                               <?php image('bullet_arrow_up.png'); ?>\r                         <?php endif ?>\r                 </a>\r           </th>\r  </tr>\r  </thead>\r       <tbody>\r        <?php foreach ($datastructure['tx_manpower_jobs']['records'] as $job): ?>\r      <tr>\r           <td>\r                   <a href="<?php linkToDetail($job['uid']) ?>">\r                          <?php print $job['job_name'] ?>\r                        </a>\r           </td>\r          <td><?php puts($job, 'job_workingplace') ?></td>\r               <td><?php puts($job['__substructure']['tx_manpower_jobtypes']['records'][0], 'jobtype_name_' . $language); ?></td>\r             <td><?php puts($job['__substructure']['tx_manpower_businesssectors']['records'][0], 'businesssector_name_' . $language); ?></td>\r               <td><?php putsDate($job, 'job_publicationdate') ?></td>\r        </tr>\r          <?php endforeach ?>\r    </tbody>\r</table>\r\r\r<?php\r\r/**\r * Helper function for translating a key\r *\r * @param string $key\r */\rfunction translate($key) {\r        $extensionName = 'manpower_searchform';\r        print Tx_Extbase_Utility_Localization::translate($key, $extensionName);\r}\r\r/**\r * Helper function for displaying a key of a record\r *\r * @param array $record\r * @param string $key\r */\rfunction puts($record, $key) {\r if (!empty($record[$key])) {\r           print $record[$key];\r   }\r}\r\r/**\r * Helper function for displaying a key of a record\r *\r * @param array $record\r * @param string $key\r */\rfunction putsDate($record, $key) {\r   if (!empty($record[$key])) {\r           $value = $record[$key];\r                print date("d.m.Y", $value);\r   }\r}\r\r/**\r * Helper function for display an image from default location\r *\r * @param string $key\r */\rfunction image($key) {\r     $image = '<img src="/fileadmin/templates/general/images/%s" alt="" />';\r        print sprintf($image, $key);\r\r}\r\r/**\r * Helper function for displaying a key of a record\r */\rfunction linkSort() {\r\r    // Parameters\r  $parameters = t3lib_div::_GP('tx_displaycontroller');\r\r // Set default sorting value\r   if (empty($parameters['sort'])) {\r              $parameters['sort'] = 'job_publicationdate';\r   }\r\r     // Set ordering value\r  if (!empty($parameters['order']) && $parameters['order'] == 'asc') {\r           $parameters['order'] = 'desc';\r } else {\r               $parameters['order'] = 'asc';\r  }\r\r     $additionalParams = '';\r        foreach ($parameters as $parameter => $value) {\r                $additionalParams .= sprintf("&tx_displaycontroller[%s]=%s", $parameter, $value);\r      }\r\r     /** @var $contentObject tslib_cObj */\r  $contentObject = $GLOBALS['TSFE']->cObj;\r       $config['returnLast'] = 'url';\r $config['parameter'] = $GLOBALS['TSFE']->id;\r   $config['additionalParams'] = $additionalParams;\r       print $contentObject->typolink('', $config);\r}\r\r/**\r * @param $uid\r */\rfunction linkToDetail($uid) {\r   /** @var $contentObject tslib_cObj */\r  $contentObject = $GLOBALS['TSFE']->cObj;\r       $config = array();\r     $config['returnLast'] = 'url';\r $config['parameter'] = 314;\r    $config['useCacheHash'] = 1;\r   $config['additionalParams'] = '&tx_displaycontroller[job]=' . $uid;\r    print $contentObject->typolink('', $config);\r}\r\r/**\r * @param array $datastructure\r * @param array $filter\r */\rfunction numberOfResults($datastructure, $filter) {\r     $extensionName = 'manpower_searchform';\r\r       $total = $datastructure['tx_manpower_jobs']['totalCount'];\r     if ($datastructure['tx_manpower_jobs']['totalCount'] > ($filter['limit']['offset'] + 1) * $filter['limit']['max']) {\r           $total = ($filter['limit']['offset'] + 1) * $filter['limit']['max'];\r   }\r\r     print sprintf('%s %d-%d %s %d',\r                Tx_Extbase_Utility_Localization::translate('advertisements', $extensionName),\r          $filter['limit']['offset'] * $filter['limit']['max'] + 1,\r              $total,\r                Tx_Extbase_Utility_Localization::translate('on', $extensionName),\r              $datastructure['tx_manpower_jobs']['totalCount']\r       );\r}\r\r/**\r * Helper function to display the page browser\r *\r * @param array $datastructure\r * @param array $filter\r */\rfunction pageBrowser($datastructure, $filter) {\r\r        /** @var $contentObject tslib_cObj */\r  $contentObject = $GLOBALS['TSFE']->cObj;\r       $conf = $GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_pagebrowse_pi1.'];\r        $conf['pageParameterName'] = 'tx_displaycontroller|page';\r\r     // Adds limit to the query and calculates the number of pages.\r if ($filter['limit']['max'] != '' && $filter['limit']['max'] != '0') {\r\r                // Defines other possible pagebrowse configuration options\r             $conf['templateFile'] = 'fileadmin/templates/general/ext/pagebrowse_job.html';\r         $conf['numberOfPages'] = ceil($datastructure['tx_manpower_jobs']['totalCount'] / $filter['limit']['max']);\r             $conf['items_per_page'] = $filter['limit']['max'];\r             $conf['disableCacheHash'] = TRUE;\r              $conf['total_items'] = $datastructure['tx_manpower_jobs']['totalCount'];\r               $conf['total_pages'] = $conf['numberOfPages']; // duplicated, because $conf['numberOfPages'] is protected\r      } else {\r               $conf['numberOfPages'] = 1;\r    }\r\r     print $contentObject->cObjGetSingle('USER', $conf);\r}\r\r/**\r * Save parameters in Session\r *\r * NOTICE: One could argue Tesseract offers a mechanism to store filter in session as well\r * However, it turned out to be fairly complicated to write the correct syntax.\r * Consider the key below which contains a "0" index which is influenced by the position of the filter.\r *\r * E.g job_search|filters|score|0|value\r *\r * This could quickly become  error-prone.\r *\r * @param $parameters the parameters coming from the URL\r */\rfunction saveParameters($parameters) {\r /** @var $user tslib_feUserAuth */\r     $user = $GLOBALS['TSFE']->fe_user;\r\r    if (empty($parameters['sort'])) {\r              $parameters['sort'] = 'no_filter.score';\r               $parameters['order'] = '';\r     }\r\r     $values = array();\r     foreach ($parameters as $parameter => $value) {\r                $values['filters'][$parameter] = $value;\r       }\r      $user->setKey('ses', 'job_search', $values);\r}\r\r?>
\ No newline at end of file
+<?php\r\r// Parameters\r$parameters = t3lib_div::_GP('tx_displaycontroller');\r\r// Default language of this website is 'fr'\r$language = 'fr';\rif (!empty($GLOBALS['TSFE']->tmpl->setup['config.']['language'])) {\r $language = $GLOBALS['TSFE']->tmpl->setup['config.']['language'];\r}\r\rsaveParameters($parameters);\r?>\r\r<h2><?php translate('search_result') ?></h2>\r\r<div class="row-fluid">\r    <div class="span4">\r            <?php numberOfResults($datastructure, $filter); ?>\r     </div>\r <div class="span8 pull-right">\r         <?php pageBrowser($datastructure, $filter); ?>\r </div>\r</div>\r\r<table class="table table-striped">\r     <thead>\r        <tr>\r           <th><?php translate('title');?></th>\r           <th><?php translate('location');?></th>\r                <th><?php translate('type');?></th>\r            <th><?php translate('companyType');?></th>\r             <th>\r                   <a href="<?php linkSort() ?>">\r                         <?php translate('date');?>\r                             <?php if ($parameters['sort'] == 'job_publicationdate' && $parameters['order'] == 'desc'): ?>\r                          <?php image('bullet_arrow_down.png'); ?>\r                               <?php elseif ($parameters['sort'] == 'job_publicationdate' && $parameters['order'] == 'asc'): ?>\r                               <?php image('bullet_arrow_up.png'); ?>\r                         <?php endif ?>\r                 </a>\r           </th>\r  </tr>\r  </thead>\r       <tbody>\r        <?php foreach ($datastructure['tx_manpower_jobs']['records'] as $job): ?>\r      <tr>\r           <td>\r                   <a href="<?php linkToDetail($job['uid']) ?>">\r                          <?php print $job['job_name'] ?>\r                        </a>\r           </td>\r          <td><?php puts($job, 'job_workingplace') ?></td>\r               <td><?php puts($job['__substructure']['tx_manpower_jobtypes']['records'][0], 'jobtype_name_' . $language); ?></td>\r             <td><?php puts($job['__substructure']['tx_manpower_businesssectors']['records'][0], 'businesssector_name_' . $language); ?></td>\r               <td><?php putsDate($job, 'job_publicationdate') ?></td>\r        </tr>\r          <?php endforeach ?>\r    </tbody>\r</table>\r\r\r<?php\r\r/**\r * Helper function for translating a key\r *\r * @param string $key\r */\rfunction translate($key) {\r        $extensionName = 'manpower_searchform';\r        print Tx_Extbase_Utility_Localization::translate($key, $extensionName);\r}\r\r/**\r * Helper function for displaying a key of a record\r *\r * @param array $record\r * @param string $key\r */\rfunction puts($record, $key) {\r if (!empty($record[$key])) {\r           print $record[$key];\r   }\r}\r\r/**\r * Helper function for displaying a key of a record\r *\r * @param array $record\r * @param string $key\r */\rfunction putsDate($record, $key) {\r   if (!empty($record[$key])) {\r           $value = $record[$key];\r                print date("d.m.Y", $value);\r   }\r}\r\r/**\r * Helper function for display an image from default location\r *\r * @param string $key\r */\rfunction image($key) {\r     $image = '<img src="/fileadmin/templates/general/images/%s" alt="" />';\r        print sprintf($image, $key);\r\r}\r\r/**\r * Helper function for displaying a key of a record\r */\rfunction linkSort() {\r\r    // Parameters\r  $parameters = t3lib_div::_GP('tx_displaycontroller');\r\r // Set default sorting value\r   if (empty($parameters['sort'])) {\r              $parameters['sort'] = 'job_publicationdate';\r   }\r\r     // Set ordering value\r  if (!empty($parameters['order']) && $parameters['order'] == 'asc') {\r           $parameters['order'] = 'desc';\r } else {\r               $parameters['order'] = 'asc';\r  }\r\r     $additionalParams = '';\r        foreach ($parameters as $parameter => $value) {\r                $additionalParams .= sprintf("&tx_displaycontroller[%s]=%s", $parameter, $value);\r      }\r\r     /** @var $contentObject tslib_cObj */\r  $contentObject = $GLOBALS['TSFE']->cObj;\r       $config['returnLast'] = 'url';\r $config['parameter'] = $GLOBALS['TSFE']->id;\r   $config['additionalParams'] = $additionalParams;\r       print $contentObject->typolink('', $config);\r}\r\r/**\r * @param $uid\r */\rfunction linkToDetail($uid) {\r   /** @var $contentObject tslib_cObj */\r  $contentObject = $GLOBALS['TSFE']->cObj;\r       $config = array();\r     $config['returnLast'] = 'url';\r $config['parameter'] = 314;\r    $config['useCacheHash'] = 1;\r   $config['additionalParams'] = '&tx_displaycontroller[job]=' . $uid;\r    print $contentObject->typolink('', $config);\r}\r\r/**\r * @param array $datastructure\r * @param array $filter\r */\rfunction numberOfResults($datastructure, $filter) {\r     $extensionName = 'manpower_searchform';\r\r       $total = $datastructure['tx_manpower_jobs']['totalCount'];\r     if ($datastructure['tx_manpower_jobs']['totalCount'] > ($filter['limit']['offset'] + 1) * $filter['limit']['max']) {\r           $total = ($filter['limit']['offset'] + 1) * $filter['limit']['max'];\r   }\r\r     print sprintf('%s %d-%d %s %d',\r                Tx_Extbase_Utility_Localization::translate('advertisements', $extensionName),\r          $filter['limit']['offset'] * $filter['limit']['max'] + 1,\r              $total,\r                Tx_Extbase_Utility_Localization::translate('on', $extensionName),\r              $datastructure['tx_manpower_jobs']['totalCount']\r       );\r}\r\r/**\r * Helper function to display the page browser\r *\r * @param array $datastructure\r * @param array $filter\r */\rfunction pageBrowser($datastructure, $filter) {\r\r        /** @var $contentObject tslib_cObj */\r  $contentObject = $GLOBALS['TSFE']->cObj;\r       $conf = $GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_pagebrowse_pi1.'];\r        $conf['pageParameterName'] = 'tx_displaycontroller|page';\r\r     // Adds limit to the query and calculates the number of pages.\r if ($filter['limit']['max'] != '' && $filter['limit']['max'] != '0') {\r\r                // Defines other possible pagebrowse configuration options\r             $conf['templateFile'] = 'fileadmin/templates/general/ext/pagebrowse_job.html';\r         $conf['numberOfPages'] = ceil($datastructure['tx_manpower_jobs']['totalCount'] / $filter['limit']['max']);\r             $conf['items_per_page'] = $filter['limit']['max'];\r             $conf['disableCacheHash'] = TRUE;\r              $conf['total_items'] = $datastructure['tx_manpower_jobs']['totalCount'];\r               $conf['total_pages'] = $conf['numberOfPages']; // duplicated, because $conf['numberOfPages'] is protected\r      } else {\r               $conf['numberOfPages'] = 1;\r    }\r\r     print $contentObject->cObjGetSingle('USER', $conf);\r}\r\r/**\r * Save parameters in Session\r *\r * NOTICE: One could argue Tesseract offers a mechanism to store filter in session as well\r * However, it turned out to be fairly complicated to write the correct syntax.\r * Consider the key below which contains a "0" index which is influenced by the position of the filter.\r *\r * E.g job_search|filters|score|0|value\r *\r * This could quickly become  error-prone.\r *\r * @param $parameters Array The parameters coming from the URL\r */\rfunction saveParameters($parameters) {\r   /** @var $user tslib_feUserAuth */\r     $user = $GLOBALS['TSFE']->fe_user;\r\r    if (empty($parameters['sort'])) {\r              $parameters['sort'] = 'no_filter.score';\r               $parameters['order'] = '';\r     }\r\r     $values = array();\r     foreach ($parameters as $parameter => $value) {\r                $values['filters'][$parameter] = $value;\r       }\r      $user->setKey('ses', 'job_search', $values);\r}\r\r?>
\ No newline at end of file
index 01ad6fd..1676c66 100644 (file)
@@ -6,7 +6,7 @@ if (!defined ('TYPO3_MODE')) {
 t3lib_extMgm::allowTableOnStandardPages('tx_phpdisplay_displays');
 
        // TCA ctrl for new table
-$TCA['tx_phpdisplay_displays'] = array(
+$GLOBALS['TCA']['tx_phpdisplay_displays'] = array(
        'ctrl' => array(
                'title'     => 'LLL:EXT:phpdisplay/Resources/Private/Language/locallang_db.xml:tx_phpdisplay_displays',
                'label'     => 'title',
@@ -37,10 +37,10 @@ $addTemplateDisplayWizard = array(
                                                                'setValue' => 'set'
                                                        )
                                                );
-$TCA['tt_content']['columns']['tx_displaycontroller_consumer']['config']['wizards']['add_phpdisplay'] = $addTemplateDisplayWizard;
+$GLOBALS['TCA']['tt_content']['columns']['tx_displaycontroller_consumer']['config']['wizards']['add_phpdisplay'] = $addTemplateDisplayWizard;
 
 
        // Register phpdisplay with the Display Controller as a Data Consumer
 t3lib_div::loadTCA('tt_content');
-$TCA['tt_content']['columns']['tx_displaycontroller_consumer']['config']['allowed'] .= ',tx_phpdisplay_displays';
+$GLOBALS['TCA']['tt_content']['columns']['tx_displaycontroller_consumer']['config']['allowed'] .= ',tx_phpdisplay_displays';
 ?>
\ No newline at end of file