[TASK] Harmonize coding style of if constructs in /typo3/sysext/cms/
[Packages/TYPO3.CMS.git] / typo3 / sysext / opendocs / class.tx_opendocs.php
index 61623aa..7921d03 100644 (file)
@@ -2,7 +2,7 @@
 /***************************************************************
 *  Copyright notice
 *
-*  (c) 2008 Benjamin Mack <mack@xnos.org>
+*  (c) 2008-2011 Benjamin Mack <mack@xnos.org>
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 
+require_once(PATH_typo3 . 'interfaces/interface.backend_toolbaritem.php');
+
        // load the language file
 $GLOBALS['LANG']->includeLLFile('EXT:opendocs/locallang_opendocs.xml');
 
-require_once(PATH_typo3.'interfaces/interface.backend_toolbaritem.php');
-
 
 /**
  * Adding a list of all open documents of a user to the backend.php
@@ -58,7 +58,7 @@ class tx_opendocs implements backend_toolbarItem {
         *
         * @param       TYPO3backend    TYPO3 backend object reference
         */
-       public function __construct(TYPO3backend &$backendReference = null) {
+       public function __construct(TYPO3backend &$backendReference = NULL) {
                $this->backendReference = $backendReference;
                $this->loadDocsFromUserSession();
        }
@@ -66,11 +66,11 @@ class tx_opendocs implements backend_toolbarItem {
        /**
         * checks whether the user has access to this toolbar item
         *
-        * @return  boolean  true if user has access, false if not
+        * @return  boolean  TRUE if user has access, FALSE if not
         */
        public function checkAccess() {
                $conf = $GLOBALS['BE_USER']->getTSConfig('backendToolbarItem.tx_opendocs.disabled');
-               return ($conf['value'] == 1 ? false : true);
+               return ($conf['value'] == 1 ? FALSE : TRUE);
        }
 
        /**
@@ -79,8 +79,8 @@ class tx_opendocs implements backend_toolbarItem {
         * @return  void
         */
        public function loadDocsFromUserSession() {
-               list($this->openDocs,)  = $GLOBALS['BE_USER']->getModuleData('alt_doc.php', 'ses');
-               $this->recentDocs       = $GLOBALS['BE_USER']->getModuleData('opendocs::recent');
+               list($this->openDocs, )  = $GLOBALS['BE_USER']->getModuleData('alt_doc.php', 'ses');
+               $this->recentDocs        = $GLOBALS['BE_USER']->getModuleData('opendocs::recent');
        }
 
        /**
@@ -93,18 +93,19 @@ class tx_opendocs implements backend_toolbarItem {
                $this->addCssToBackend();
                $numDocs      = count($this->openDocs);
                $opendocsMenu = array();
+               $title        = $GLOBALS['LANG']->getLL('toolbaritem', TRUE);
 
                        // toolbar item icon
                $opendocsMenu[] = '<a href="#" class="toolbar-item">';
-               $opendocsMenu[] = '<input type="text" id="tx-opendocs-counter" disabled="disabled" value="'.$numDocs.'" />';
-               $opendocsMenu[] = '<img'.t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'], t3lib_extMgm::extRelPath($this->EXTKEY).'opendocs.png', 'width="23" height="16"').'  alt="Open Documents" title="Open Documents" /></a>';
+               $opendocsMenu[] = '<input type="text" id="tx-opendocs-counter" disabled="disabled" value="' . $numDocs . '" />';
+               $opendocsMenu[] = t3lib_iconWorks::getSpriteIcon('apps-toolbar-menu-opendocs', array('title' => $title)) . '</a>';
 
                        // toolbar item menu and initial content
                $opendocsMenu[] = '<div class="toolbar-item-menu" style="display: none;">';
                $opendocsMenu[] = $this->renderMenu();
                $opendocsMenu[] = '</div>';
 
-               return implode("\n", $opendocsMenu);
+               return implode(LF, $opendocsMenu);
        }
 
        /**
@@ -118,31 +119,31 @@ class tx_opendocs implements backend_toolbarItem {
                $entries         = array();
                $content         = '';
 
-               if(count($openDocuments)) {
-                       $entries[] = '<tr><th colspan="3">'.$GLOBALS['LANG']->getLL('open_docs', 1).'</th></tr>';
+               if (count($openDocuments)) {
+                       $entries[] = '<tr><th colspan="3">' . $GLOBALS['LANG']->getLL('open_docs', TRUE) . '</th></tr>';
 
                        $i = 0;
                        foreach ($openDocuments as $md5sum => $openDocument) {
                                $i++;
-                               $entries[] = $this->renderMenuEntry($openDocument, $md5sum, false, ($i == 1));
+                               $entries[] = $this->renderMenuEntry($openDocument, $md5sum, FALSE, ($i == 1));
                        }
                }
 
                        // if there are "recent documents" in the list, add them
-               if(count($recentDocuments)) {
-                       $entries[] = '<tr><th colspan="3">'.$GLOBALS['LANG']->getLL('recent_docs', 1).'</th></tr>';
+               if (count($recentDocuments)) {
+                       $entries[] = '<tr><th colspan="3">' . $GLOBALS['LANG']->getLL('recent_docs', TRUE) . '</th></tr>';
 
                        $i = 0;
                        foreach ($recentDocuments as $md5sum => $recentDocument) {
                                $i++;
-                               $entries[] = $this->renderMenuEntry($recentDocument, $md5sum, true, ($i == 1));
+                               $entries[] = $this->renderMenuEntry($recentDocument, $md5sum, TRUE, ($i == 1));
                        }
                }
 
-               if(count($entries)) {
-                       $content = '<table class="list" cellspacing="0" cellpadding="0" border="0">'.implode('', $entries).'</table>';
+               if (count($entries)) {
+                       $content = '<table class="list" cellspacing="0" cellpadding="0" border="0">' . implode('', $entries) . '</table>';
                } else {
-                       $content = '<div class="no-docs">'.$GLOBALS['LANG']->getLL('no_docs', 1).'</div>';
+                       $content = '<div class="no-docs">' . $GLOBALS['LANG']->getLL('no_docs', TRUE) . '</div>';
                }
 
                return $content;
@@ -153,35 +154,46 @@ class tx_opendocs implements backend_toolbarItem {
         *
         * @return      array   all recent documents as list-items
         */
-       public function renderMenuEntry($document, $md5sum, $isRecentDoc = false, $isFirstDoc = false) {
+       public function renderMenuEntry($document, $md5sum, $isRecentDoc = FALSE, $isFirstDoc = FALSE) {
                $table  = $document[3]['table'];
                $uid    = $document[3]['uid'];
                $record = t3lib_BEfunc::getRecordWSOL($table, $uid);
+               if (!is_array($record)) {
+                               // record seems to be deleted
+                       return '';
+               }
                $label  = htmlspecialchars(strip_tags(t3lib_div::htmlspecialchars_decode($document[0])));
-               $icon   = t3lib_iconWorks::getIconImage($table, $record, $GLOBALS['BACK_PATH']);
-               $link   = $GLOBALS['BACK_PATH'].'alt_doc.php?'.$document[2];
+               $icon   = t3lib_iconWorks::getSpriteIconForRecord($table, $record);
+               $link   = $GLOBALS['BACK_PATH'] . 'alt_doc.php?' . $document[2];
+
+               $pageId = intval($document[3]['uid']);
+               if ($document[3]['table'] !== 'pages') {
+                       $pageId = intval($document[3]['pid']);
+               }
 
                $firstRow = '';
-               if($isFirstDoc) {
+               if ($isFirstDoc) {
                        $firstRow = ' first-row';
                }
 
                if (!$isRecentDoc) {
+                       $title = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:rm.closeDoc', TRUE);
+
                                // open document
-                       $closeIcon = '<img'.t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'], 'gfx/closedok.gif', 'width="16" height="16"').' title="'.$GLOBALS['LANG']->getLL('rm.closeDoc', 1).'" alt="" />';
+                       $closeIcon = t3lib_iconWorks::getSpriteIcon('actions-document-close');
 
                        $entry = '
-                               <tr id="opendocs-'.$table.'-'.$uid.'" class="opendoc'.$firstRow.'">
-                                       <td class="icon">'.$icon.'</td>
-                                       <td class="label"><a href="'.$link.'" target="content" onclick="TYPO3BackendOpenDocs.toggleMenu();">'.$label.'</a></td>
-                                       <td class="close" onclick="return TYPO3BackendOpenDocs.closeDocument(\''.$md5sum.'\');">'.$closeIcon.'</td>
+                               <tr class="opendoc' . $firstRow . '">
+                                       <td class="icon">' . $icon . '</td>
+                                       <td class="label"><a href="#" onclick="jump(unescape(\'' . htmlspecialchars($link) . '\'), \'web_list\', \'web\', ' . $pageId . '); TYPO3BackendOpenDocs.toggleMenu(); return false;" target="content">' . $label . '</a></td>
+                                       <td class="close" onclick="return TYPO3BackendOpenDocs.closeDocument(\'' . $md5sum . '\');">' . $closeIcon . '</td>
                                </tr>';
                } else {
                                // recently used document
                        $entry = '
-                               <tr id="opendocs-'.$table.'-'.$uid.'" class="recentdoc'.$firstRow.'">
-                                       <td class="icon">'.$icon.'</td>
-                                       <td class="label" colspan="2"><a href="'.$link.'" target="content" onclick="TYPO3BackendOpenDocs.toggleMenu();">'.$label.'</a></td>
+                               <tr class="recentdoc' . $firstRow . '">
+                                       <td class="icon">' . $icon . '</td>
+                                       <td class="label" colspan="2"><a href="#" onclick="jump(unescape(\'' . htmlspecialchars($link) . '\'), \'web_list\', \'web\', ' . $pageId . '); TYPO3BackendOpenDocs.toggleMenu(); return false;" target="content">' . $label . '</a></td>
                                </tr>';
                }
 
@@ -203,7 +215,7 @@ class tx_opendocs implements backend_toolbarItem {
         * @return      void
         */
        protected function addJavascriptToBackend() {
-               $this->backendReference->addJavascriptFile(t3lib_extMgm::extRelPath($this->EXTKEY).'opendocs.js');
+               $this->backendReference->addJavascriptFile(t3lib_extMgm::extRelPath($this->EXTKEY) . 'opendocs.js');
        }
 
        /**
@@ -212,7 +224,7 @@ class tx_opendocs implements backend_toolbarItem {
         * @return      void
         */
        protected function addCssToBackend() {
-               $this->backendReference->addCssFile('opendocs', t3lib_extMgm::extRelPath($this->EXTKEY).'opendocs.css');
+               $this->backendReference->addCssFile('opendocs', t3lib_extMgm::extRelPath($this->EXTKEY) . 'opendocs.css');
        }
 
 
@@ -228,10 +240,10 @@ class tx_opendocs implements backend_toolbarItem {
         * @param       unknown_type            $ref
         * @return      string          list item HTML attibutes
         */
-       public function updateNumberOfOpenDocsHook(&$params, &$ref) {
+       public function updateNumberOfOpenDocsHook(&$params, $ref) {
                $params['JScode'] = '
                        if (top && top.TYPO3BackendOpenDocs) {
-                               top.TYPO3BackendOpenDocs.updateNumberOfDocs('.count($this->openDocs).', true);
+                               top.TYPO3BackendOpenDocs.updateNumberOfDocs(' . count($this->openDocs) . ', true);
                        }
                ';
        }
@@ -248,7 +260,7 @@ class tx_opendocs implements backend_toolbarItem {
         * @param       TYPO3AJAX       object of type TYPO3AJAX
         * @return      string          list item HTML attibutes
         */
-       public function closeDocument($params = array(), TYPO3AJAX &$ajaxObj = null) {
+       public function closeDocument($params = array(), TYPO3AJAX &$ajaxObj = NULL) {
                $md5sum = t3lib_div::_GP('md5sum');
 
                if ($md5sum && isset($this->openDocs[$md5sum])) {
@@ -281,16 +293,10 @@ class tx_opendocs implements backend_toolbarItem {
         * @param       TYPO3AJAX       object of type TYPO3AJAX
         * @return      void
         */
-       public function renderAjax($params = array(), TYPO3AJAX &$ajaxObj = null) {
+       public function renderAjax($params = array(), TYPO3AJAX &$ajaxObj = NULL) {
                $menuContent = $this->renderMenu();
 
                $ajaxObj->addContent('opendocsMenu', $menuContent);
        }
-
 }
-
-if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['EXT:opendocs/class.tx_opendocs.php']) {
-       include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['EXT:opendocs/class.tx_opendocs.php']);
-}
-
 ?>
\ No newline at end of file