Login / Status
developer.Resource
Home . Extensions . Repository
Sponsors
hosted by punkt.deTYPO3 and Open Source Magazine

Extension Repository

The official extension repository only consists of freely available extensions. New documentation is rendered once a day.


Pixelsound FE Editing


InfoRatingsFeedback


  • Icon
    pixe_feediting
    Title
    Pixelsound FE Editing
    Extension key
    ( pixe_feediting )
    State
    stable, Not reviewed!
    Author
    Bernie Pfister
    Category
    be
    Version
    1.0.0
    Manual
    Not available
    Downloads (total / this version)
    3479 / 725
    Rating
    none
    Updated
    14.04.2006
    Upload comment
    Description
    Advanced FE editing with menu bar and Edit/View mode button at the top. You might need to tweak the CSS to work proper with your sites templates. I recommend to use the latest version of DAM. Works fine for Typo3 3.8.1
  • Dependencies
    Reverse dependencies

    The following extension versions depend on this extension:

    Version history
      Download extension

      Download compressed extension .T3X file

    • Filename Size View Date Download
      ChangeLog 108 View 14.04.2006 Download
      README.txt 80 View 14.04.2006 Download
      class.tsfeBeUserAuth.php 30 K View 14.04.2006 Download
      ext_icon.gif 124 View 14.04.2006 Download
      ext_localconf.php 274 View 14.04.2006 Download
      locallang_tsfe.php 3.7 K View 14.04.2006 Download
      doc/wizard_form.dat 1.3 K 14.04.2006 Download
      doc/wizard_form.html 15.5 K 14.04.2006 Download
      FE_editMenu/FE_editMenu-switch.css 610 View 11.04.2006 Download
      FE_editMenu/FE_editMenu.css 5.8 K View 10.04.2006 Download
      FE_editMenu/onLoad.js 2.2 K 07.04.2006 Download
      Preview for file pixe_feediting-1.0.0-class__tsfeBeUserAuth__php:
      
      <?php


      class ux_t3lib_tsfeBeUserAuth extends t3lib_tsfeBeUserAuth {
      /**    
           * Creates and returns the HTML code for the Admin Panel in the TSFE frontend.
           * Called from index_ts.php - in the end of the script
           *
           * @return    string        HTML for the Admin Panel
           * @see index_ts.php
      */
          
      function extPrintFeAdminDialog()    {
      // FE_editMenu begin (initialise for FE_editMenu)
      //        $this->uc['TSFE_adminConfig']["display_top"] = 1;

      //        $this->uc['TSFE_adminConfig']["display_edit"] = 1;
      //        $this->uc['TSFE_adminConfig']["edit_displayIcons"] = 1;

      //        $this->uc['TSFE_adminConfig']["display_workflow"] = 1;
      //        $this->uc['TSFE_adminConfig']["display_preview"] = 1;
      //        $this->uc['TSFE_adminConfig']["display_cache"] = 1;
      //        $this->uc['TSFE_adminConfig']["display_publish"] = 1;
      //        $this->uc['TSFE_adminConfig']["display_tsdebug"] = 1;
      //        $this->uc['TSFE_adminConfig']["display_info"] = 1;
      //        $this->uc['TSFE_adminConfig']["preview_showHiddenPages"] = 1;
      //        $this->uc['TSFE_adminConfig']["preview_showHiddenRecords"] = 1;
      //        $this->uc['TSFE_adminConfig']["preview_simulateDate"] = 1;
      //        $this->uc['TSFE_adminConfig']["preview_simulateUserGroup"] = 1;
      //        $this->uc['TSFE_adminConfig']["cache_noCache"] = 1;
      //        $this->uc['TSFE_adminConfig']["cache_clearCacheLevels"] = 1;
      //        $this->uc['TSFE_adminConfig']["cache_clearCacheId"] = 1;
      //        $this->uc['TSFE_adminConfig']["publish_levels"] = 1;
      //        $this->uc['TSFE_adminConfig']["publish_id"] = 1;
      //        $this->uc['TSFE_adminConfig']["edit_displayFieldIcons"] = 1;


      //        $this->uc['TSFE_adminConfig']["edit_editFormsOnPage"] = 1;
      //        $this->uc['TSFE_adminConfig']["edit_editNoPopup"] = 1;
      //        $this->uc['TSFE_adminConfig']["tsdebug_tree"] = 1;
      //        $this->uc['TSFE_adminConfig']["tsdebug_displayTimes"] = 1;
      //        $this->uc['TSFE_adminConfig']["tsdebug_displayMessages"] = 1;
      //        $this->uc['TSFE_adminConfig']["tsdebug_LR"] = 1;
      //        $this->uc['TSFE_adminConfig']["tsdebug_displayContent"] = 1;
      //        $this->uc['TSFE_adminConfig']["tsdebug_displayQueries"] = 1;
      //        $this->uc['TSFE_adminConfig']["tsdebug_forceTemplateParsing"] = 1;
      // FE_editMenu end (initialise for FE_editMenu)

              
      if ($this->uc['TSFE_adminConfig']['display_top'])    {
                  if (
      $this->extAdmModuleEnabled('preview'))    $out.= $this->extGetCategory_preview();
                  if (
      $this->extAdmModuleEnabled('cache'))    $out.= $this->extGetCategory_cache();
                  if (
      $this->extAdmModuleEnabled('publish'))    $out.= $this->extGetCategory_publish();
                  if (
      $this->extAdmModuleEnabled('edit'))        $out.= $this->extGetCategory_edit();
                  if (
      $this->extAdmModuleEnabled('tsdebug'))    $out.= $this->extGetCategory_tsdebug();
                  if (
      $this->extAdmModuleEnabled('info'))        $out.= $this->extGetCategory_info();
      // FE_editMenu begin
                  
      $editMenu.= $this->extGetCategory_editMenu();
                  
      $editMenu.= $this->extGetCategory_contentMenu();
                  
      $editMenu.= $this->extGetCategory_mediaMenu();
                  
      $editMenu.= $this->extGetCategory_advancedMenu();
      //            $editMenu.='<li><a href="typo3/logout.php">Logout</a></li>';


      //  **  Additional Menus available ****
      // Disabled (under construction)

      //            if ($this->extAdmModuleEnabled('preview'))    $editMenu.= $this->extGetCategory_previewMenu();
      //            if ($this->extAdmModuleEnabled('cache'))    $editMenu.= $this->extGetCategory_cacheMenu();
      //            if ($this->extAdmModuleEnabled('publish'))    $editMenu.= $this->extGetCategory_publishMenu();
      //            if ($this->extAdmModuleEnabled('tsdebug'))    $editMenu.= $this->extGetCategory_tsdebugMenu();
      //            if ($this->extAdmModuleEnabled('info'))        $editMenu.= $this->extGetCategory_infoMenu();
      // FE_editMenu end
              
      }

      // FE_editMenu begin
              
      if ($this->uc['TSFE_adminConfig']['display_top'] ==1) {
                  
      $editMenu='
                  <!--
                      ADMIN MENU
                  -->
                  <script type="text/javascript" src="'
      .t3lib_div::getIndpEnv('TYPO3_SITE_URL').t3lib_extMgm::siteRelPath('pixe_feediting').'FE_editMenu/onLoad.js"></script>
                  <link href="'
      .t3lib_div::getIndpEnv('TYPO3_SITE_URL').t3lib_extMgm::siteRelPath('pixe_feediting').'FE_editMenu/FE_editMenu.css" rel="stylesheet" type="text/css">
                  <link href="'
      .t3lib_div::getIndpEnv('TYPO3_SITE_URL').t3lib_extMgm::siteRelPath('pixe_feediting').'FE_editMenu/FE_editMenu-switch.css" rel="stylesheet" type="text/css">
                  <form name="TSFE_ADMIN_PANEL_FORM" action="'
      .htmlspecialchars(t3lib_div::getIndpEnv('REQUEST_URI')).'#TSFE_ADMIN" method="post" style="margin: 0 0 0 0;">
                  <div id="div-editBar">
                      <a name="TSFE_ADMIN"></a>
                      <div id="div-editNav">
                          <ul id="ul-editNav">'
      .
                                      
      $editMenu.
                          
      '</ul>
                      </div>
                  <span class="edit-mode edit-mode-enabled">
                      You are logged in as <strong>'
      .$this->extFwCSS(': '.$this->user['username']).'</strong>&nbsp;&nbsp;|&nbsp;&nbsp;'
                      
      .$this->extItemLink('top','<strong>'.$this->extFwCSS($this->extGetLL('adminOptions_CloseEditMode')).'</strong>')
                  .
      '</span>
                  </div>'
      ;
              } else {
                  
      $editMenu='
                      <link href="'
      .t3lib_div::getIndpEnv('TYPO3_SITE_URL').t3lib_extMgm::siteRelPath('pixe_feediting').'FE_editMenu/FE_editMenu-switch.css" rel="stylesheet" type="text/css">
                      <span class="edit-mode edit-mode-disabled">'
                          
      .$this->extItemLink('top','<strong>'.$this->extFwCSS($this->extGetLL('adminOptions_EnterEditMode')).'</strong>')
                      .
      '</span>';
              }
      // FE_editMenu end


              
      $header.='
                  <tr class="typo3-adminPanel-hRow" bgcolor="#9BA1A8">
                      <td colspan="2" nowrap="nowrap">'
      .
                          
      $this->extItemLink('top','<img src="t3lib/gfx/ol/'.($this->uc['TSFE_adminConfig']['display_top']?'minus':'plus').'bullet.gif" width="18" height="16" align="absmiddle" border="0" alt="" /><strong>'.$this->extFwCSS($this->extGetLL('adminOptions')).'</strong>').
                          
      $this->extFwCSS(': '.$this->user['username']).
                          
      '</td>
                      <td><img src="clear.gif" width="10" height="1" alt="" /></td>
                      <td><input type="hidden" name="TSFE_ADMIN_PANEL[display_top]" value="'
      .$this->uc['TSFE_adminConfig']['display_top'].'" />'.($this->extNeedUpdate?'<input type="submit" value="'.$this->extGetLL('update').'" />':'').'</td>
                  </tr>'
      ;
      // FE_editMenu nextLine
              
      $out=$editMenu.'

      <!--
          ADMIN PANEL
      -->
      <a name="TSFE_ADMIN_PANEL"></a>
      <form name="TSFE_ADMIN_PANEL_FORM" action="'
      .htmlspecialchars(t3lib_div::getIndpEnv('REQUEST_URI')).'#TSFE_ADMIN" method="post" style="margin: 0 0 0 0;">
          <table border="0" cellpadding="0" cellspacing="0" class="typo3-adminPanel" bgcolor="#F6F2E6" style="border: 1px solid black; z-index:0; position:absolute;">'
      .
              
      $header.$out.'
          </table>
      </form>'
      ;

              if (
      $this->uc['TSFE_adminConfig']['display_top'])    {
                  
      $out.='<script type="text/javascript" src="t3lib/jsfunc.evalfield.js"></script>';
                  
      $out.='
                  <script type="text/javascript">
                      var evalFunc = new evalFunc();
                          // TSFEtypo3FormFieldSet()
                      function TSFEtypo3FormFieldSet(theField, evallist, is_in, checkbox, checkboxValue)    {    //
                          var theFObj = new evalFunc_dummy (evallist,is_in, checkbox, checkboxValue);
                          var theValue = document.TSFE_ADMIN_PANEL_FORM[theField].value;
                          if (checkbox && theValue==checkboxValue)    {
                              document.TSFE_ADMIN_PANEL_FORM[theField+"_hr"].value="";
                              document.TSFE_ADMIN_PANEL_FORM[theField+"_cb"].checked = "";
                          } else {
                              document.TSFE_ADMIN_PANEL_FORM[theField+"_hr"].value = evalFunc.outputObjValue(theFObj, theValue);
                              document.TSFE_ADMIN_PANEL_FORM[theField+"_cb"].checked = "on";
                          }
                      }
                          // TSFEtypo3FormFieldGet()
                      function TSFEtypo3FormFieldGet(theField, evallist, is_in, checkbox, checkboxValue, checkbox_off)    {    //
                          var theFObj = new evalFunc_dummy (evallist,is_in, checkbox, checkboxValue);
                          if (checkbox_off)    {
                              document.TSFE_ADMIN_PANEL_FORM[theField].value=checkboxValue;
                          }else{
                              document.TSFE_ADMIN_PANEL_FORM[theField].value = evalFunc.evalObjValue(theFObj, document.TSFE_ADMIN_PANEL_FORM[theField+"_hr"].value);
                          }
                          TSFEtypo3FormFieldSet(theField, evallist, is_in, checkbox, checkboxValue);
                      }
                  </script>
                  <script language="javascript" type="text/javascript">'
      .$this->extJSCODE.'</script>';
              }
              return 
      "\n\n\n\n".$out.'<br />';
          }




      /**
           * Saves any change in settings made in the Admin Panel.
           * Called from index_ts.php right after access check for the Admin Panel
           *
           * @return    void
      */
          
      function extSaveFeAdminConfig()    {
              
      $input t3lib_div::_POST('TSFE_ADMIN_PANEL');
              if (
      is_array($input))    {
                      
      // Setting
                  
      $this->uc['TSFE_adminConfig'] = array_merge(!is_array($this->uc['TSFE_adminConfig'])?array():$this->uc['TSFE_adminConfig'], $input);            // Candidate for t3lib_div::array_merge() if integer-keys will some day make trouble...
                  
      unset($this->uc['TSFE_adminConfig']['action']);

                      
      // Actions:
                  
      if ($input['action']['clearCache'] && $this->extAdmModuleEnabled('cache'))    {
                      
      $this->extPageInTreeInfo=array();
                      
      $theStartId intval($input['cache_clearCacheId']);
                      
      $GLOBALS['TSFE']->clearPageCacheContent_pidList($this->extGetTreeList($theStartId$this->extGetFeAdminValue('cache','clearCacheLevels'),0,$this->getPagePermsClause(1)).$theStartId);
                  }
                  if (
      $input['action']['publish'] && $this->extAdmModuleEnabled('publish'))    {
                      
      $theStartId intval($input['publish_id']);
                      
      $this->extPublishList $this->extGetTreeList($theStartId$this->extGetFeAdminValue('publish','levels'),0,$this->getPagePermsClause(1)).$theStartId;
                  }

                      
      // Saving
                  
      $this->writeUC();
              }
              
      $GLOBALS['TT']->LR $this->extGetFeAdminValue('tsdebug','LR');
              if (
      $this->extGetFeAdminValue('cache','noCache'))    {$GLOBALS['TSFE']->set_no_cache();}
          }






      /**
           * Returns the Page TSconfig for page with id, $id
           * Requires class "t3lib_TSparser"
           * Usage: 26 (spec. in ext info_pagetsconfig)
           *
           * @param    integer        Page uid for which to create Page TSconfig
           * @param    array        If $rootLine is an array, that is used as rootline, otherwise rootline is just calculated
           * @param    boolean        If $returnPartArray is set, then the array with accumulated Page TSconfig is returned non-parsed. Otherwise the output will be parsed by the TypoScript parser.
           * @return    array        Page TSconfig
           * @see t3lib_TSparser
      */
          
      function getPagesTSconfig($id,$rootLine='',$returnPartArray=0)    {
              
      $id=intval($id);
              if (!
      is_array($rootLine))    {
                  
      //We don't user BEgetRootline from t3lib_BEfunc (not working correctly heres)
                  
      $rootLine $this->BEgetRootLine($id,'');
              }
              
      ksort($rootLine);    // Order correctly, changed 030102
              
      reset($rootLine);
              
      $TSdataArray = array();
              
      $TSdataArray['defaultPageTSconfig']=$GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig'];    // Setting default configuration:
              
      while(list($k,$v)=each($rootLine))    {
                  
      $TSdataArray['uid_'.$v['uid']]=$v['TSconfig'];
              }
              
      $TSdataArray t3lib_TSparser::checkIncludeLines_array($TSdataArray);
              if (
      $returnPartArray)    {
                  return 
      $TSdataArray;
              }

                  
      // Parsing the user TS (or getting from cache)
              
      $userTS implode($TSdataArray,chr(10).'[GLOBAL]'.chr(10));
              
      $hash md5('pageTS:'.$userTS);
              
      $cachedContent t3lib_BEfunc::getHash($hash,0);
              
      $TSconfig = array();
              if (isset(
      $cachedContent))    {
                  
      $TSconfig unserialize($cachedContent);
              } else {
                  
      $parseObj t3lib_div::makeInstance('t3lib_TSparser');
                  
      $parseObj->parse($userTS);
                  
      $TSconfig $parseObj->setup;
                  
      t3lib_BEfunc::storeHash($hash,serialize($TSconfig),'PAGES_TSconfig');
              }
              return 
      $TSconfig;
          }



      /**
           * Checks if the page id, $id, is found within the webmounts set up for the user.
           * This should ALWAYS be checked for any page id a user works with, whether it's about reading, writing or whatever.
           * The point is that this will add the security that a user can NEVER touch parts outside his mounted pages in the page tree. This is otherwise possible if the raw page permissions allows for it. So this security check just makes it easier to make safe user configurations.
           * If the user is admin OR if this feature is disabled (fx. by setting TYPO3_CONF_VARS['BE']['lockBeUserToDBmounts']=0) then it returns "1" right away
           * Otherwise the function will return the uid of the webmount which was first found in the rootline of the input page $id
           *
           * @param    integer        Page ID to check
           * @param    string        Content of "->getPagePermsClause(1)" (read-permissions). If not set, they will be internally calculated (but if you have the correct value right away you can save that database lookup!)
           * @param    boolean        If set, then the function will exit with an error message.
           * @return    integer        The page UID of a page in the rootline that matched a mount point
      */
          
      function isInWebMount($id,$readPerms='',$exitOnError=0)    {
              if (!
      $GLOBALS['TYPO3_CONF_VARS']['BE']['lockBeUserToDBmounts'] || $this->isAdmin())    return 1;
              
      $id intval($id);
              if (!
      $readPerms)    $readPerms $this->getPagePermsClause(1);
              if (
      $id>0)    {
                  
      $wM $this->returnWebmounts();
                  
      //On appelle la fonction BEgetrootline de cette classe et plus celle de t3lib_BEfunc (pb avec fixVersioningPid())
                  
      $rL $this->BEgetRootLine($id,' AND '.$readPerms);

                  foreach(
      $rL as $v)    {
                      if (
      $v['uid'] && in_array($v['uid'],$wM))    {
                          return 
      $v['uid'];
                      }
                  }
              }
              if (
      $exitOnError)    {
                  
      t3lib_BEfunc::typo3PrintError ('Access Error','This page is not within your DB-mounts',0);
                  exit;
              }
          }




      /**
           * Returns what is called the 'RootLine'. That is an array with information about the page records from a page id ($uid) and back to the root.
           * By default deleted pages are filtered.
           * This RootLine will follow the tree all the way to the root. This is opposite to another kind of root line known from the frontend where the rootline stops when a root-template is found.
           * Usage: 1
           *
           * @param    integer        Page id for which to create the root line.
           * @param    string        $clause can be used to select other criteria. It would typically be where-clauses that stops the proces if we meet a page, the user has no reading access to.
           * @return    array        Root line array, all the way to the page tree root (or as far as $clause allows!)
      */
          
      function BEgetRootLine($uid,$clause='')    {
              
      $loopCheck 100;
              
      $theRowArray = Array();
              
      $output=Array();
              while (
      $uid!=&& $loopCheck>0)    {
                  
      $loopCheck--;
                  
      $res $GLOBALS['TYPO3_DB']->exec_SELECTquery(
                                  
      'pid,uid,title,TSconfig,is_siteroot,storage_pid',
                                  
      'pages',
                                  
      'uid='.intval($uid).' '.
                                      
      t3lib_BEfunc::deleteClause('pages').' '.
                                      
      $clause        // whereClauseMightContainGroupOrderBy
                              
      );
                  if (
      $GLOBALS['TYPO3_DB']->sql_error())    {
                      
      debug($GLOBALS['TYPO3_DB']->sql_error(),1);
                  }
                  if (
      $row $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))    {
                      
      //We use the function fixVersioningPid() of this class, the original one (t3lib_BEfunc) seems not to work correctly
                      //and cannot be extended (t3lib_BEfunc not instantiated !!)
                  //    $this->fixVersioningPid('pages',$row);
                      
      $uid $row['pid'];
                      
      $theRowArray[]=$row;
                  } else {
                      break;
                  }
              }
              if (
      $uid==0) {$theRowArray[]=Array('uid'=>0,'title'=>'');}
              if (
      is_array($theRowArray))    {
                  
      reset($theRowArray);
                  
      $c=count($theRowArray);
                  while(list(
      $key,$val)=each($theRowArray))    {
                      
      $c--;
                      
      $output[$c]['uid'] = $val['uid'];
                      
      $output[$c]['pid'] = $val['pid'];
                      if (isset(
      $val['_ORIG_pid'])) $output[$c]['_ORIG_pid'] = $val['_ORIG_pid'];
                      
      $output[$c]['title'] = $val['title'];
                      
      $output[$c]['TSconfig'] = $val['TSconfig'];
                      
      $output[$c]['is_siteroot'] = $val['is_siteroot'];
                      
      $output[$c]['storage_pid'] = $val['storage_pid'];
                  }
              }
              return 
      $output;
          }





      /*****************************************************
      *
      * Creating sections for the Edit Menu
      *
      ****************************************************/


      /**
           * Creates the content for the "edit" section ("module") of the Admin Panel
           *
           * @param    string        Optional start-value; The generated content is added to this variable.
           * @return    string        HTML content for the section. Consists of a string with table-rows with four columns.
           * @see extPrintFeAdminDialog()
      */
          
      function extGetCategory_editMenu($editMenu='')    {

      // var_dump($this->uc['TSFE_adminConfig']);
              // get the top of the navigation item
      //        $editMenu.=$this->extGetHeadMenu('edit');
              
      $editMenu.='<li><a href="#">'.$this->extGetLL('pages').'</a>
                              <ul>'
      ;
              
      $this->uc['TSFE_adminConfig']['display_edit'] = 1;
              if (
      $this->uc['TSFE_adminConfig']['display_edit'])    {

                      
      // If another page module was specified, replace the default Page module with the new one
                  
      $newPageModule trim($GLOBALS['BE_USER']->getTSConfigVal('options.overridePageModule'));
                  
      $pageModule t3lib_BEfunc::isModuleSetInTBE_MODULES($newPageModule) ? $newPageModule 'web_layout';

                  
      $this->extNeedUpdate=1;
                  
      $editMenu.=$this->extGetItemMenu(''$this->ext_makeToolBarForMenu());
      //            $editMenu.=$this->ext_makeToolBarForMenu();
              
      }
              
      $editMenu.='</ul></li>';
              return 
      $editMenu;
          }



      /* Returns a row (with colspan=4) which is a header for a section in the Admin Panel.
           * It will have a plus/minus icon and a label which is linked so that it submits the form which surrounds the whole Admin Panel when clicked, alterting the TSFE_ADMIN_PANEL[display_'.$pre.'] value
           * See the functions extGetCategory_*
           *
           * @param    string        The suffix to the display_ label. Also selects the label from the LOCAL_LANG array.
           * @return    string        HTML table row.
           * @access private
           * @see extGetItem()
           
          Currently not used
           
      */
          
      function extGetHeadMenu($pre)    {
      //        $editMenu.='<img src="t3lib/gfx/ol/blank.gif" width="18" height="16" align="absmiddle" border="0" alt="" />';
      //        $editMenu.='<img src="t3lib/gfx/ol/'.($this->uc['TSFE_adminConfig']['display_'.$pre]?'minus':'plus').'bullet.gif" width="18" height="16" align="absmiddle" border="0" alt="" />';
              
      $editMenu.=$this->extFwCSS($this->extGetLL($pre));
              
      $editMenu=$this->extItemLink($pre,$editMenu);
      //        return '<li>'.$editMenu.'<input type="hidden" name="TSFE_ADMIN_PANEL[display_'.$pre.']" value="'.$this->uc['TSFE_adminConfig']['display_'.$pre].'" />
              
      return '<li>'.$editMenu.'
                          <ul>'
      ;
          }





      /**
           * Wraps a string in a font-tag with verdana, size 1 and black
           * Does currently nothing, could be used to wrap a string into something like a font-tag
           *
           * @param    string        The string to wrap
           * @return    string
      */
          
      function extFwCSS($str)    {
      //        return '<font face="verdana,arial" size="1" color="black">'.$str.'</font>';
              
      return $str;
          }



      /**
           * Returns a row (with 4 columns) for content in a section of the Admin Panel.
           * It will take $pre as a key to a label to display and $element as the content to put into the forth cell.
           *
           * @param    string        Key to label
           * @param    string        The HTML content for the forth table cell.
           * @return    string        HTML table row.
           * @access private
           * @see extGetHead()
      */
          
      function extGetItemMenu($pre,$element)    {
              return 
      //                    $element.'<li>'.($pre ? $this->extFwCSS($this->extGetLL($pre)) : '&nbsp;').'</li>';
                          
      $element;
          }



      /**
           * Creates the tool bar links for the "Page" section of the Admin Menu.
           *
           * @return    string        A string containing images wrapped in <a>-tags linking them to proper functions.
      */
          
      function ext_makeToolBarForMenu()    {
                  
      //  If mod.web_list.newContentWiz.overrideWithExtension is set, use that extension's create new content wizard instead:
              
      $tmpTSc t3lib_BEfunc::getModTSconfig($this->pageinfo['uid'],'mod.web_list');
              
      $tmpTSc $tmpTSc ['properties']['newContentWiz.']['overrideWithExtension'];
              
      $newContentWizScriptPath t3lib_extMgm::isLoaded($tmpTSc) ? (t3lib_extMgm::extRelPath($tmpTSc).'mod1/db_new_content_el.php') : (TYPO3_mainDir.'sysext/cms/layout/db_new_content_el.php');
              
      $newRecordWizScriptPath t3lib_extMgm::isLoaded($tmpTSc) ? (t3lib_extMgm::extRelPath($tmpTSc).'mod1/db_new_content_el.php') : (TYPO3_mainDir.'sysext/cms/layout/db_new_content_el.php');
              
      $newRecordWizScriptPath 'typo3/db_new.php';
              

              
      $perms $GLOBALS['BE_USER']->calcPerms($GLOBALS['TSFE']->page);

              
      $toolBar='';
              
      $id $GLOBALS['TSFE']->id;
              if (
      $perms&2)    {
                  
      $params='&edit[pages]['.$id.']=edit';
                  
      $toolBar.='<li>'
      //                    .'<a href="'.htmlspecialchars(TYPO3_mainDir.'alt_doc.php?'.$params.'&noView=1&returnUrl='.rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'))).'">'
                          
      .'<a href="#" onClick="window.open(\''.htmlspecialchars(TYPO3_mainDir.'alt_doc.php?'.$params.'&noView=1.').'\',\'editPageHeader\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'
                          
      .$this->extGetLL('edit_editPageHeader').'</a></li>';
              }
      //        $toolBar.='<li><a href="typo3/browser.php?mode=db&bparams=data[be_groups][3][db_mountpoints]|||pages|">'
      //                    .$this->extGetLL('edit_openPage').'</a></li>';
              
      if ($perms&8)    {
                  
      $toolBar.='<li>'
      //                    .'<a href="'.htmlspecialchars(TYPO3_mainDir.'db_new.php?id='.$id.'&pagesOnly=1&returnUrl='.rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'))).'">'
                          
      .'<a href="#" onClick="window.open(\''.htmlspecialchars(TYPO3_mainDir.'db_new.php?id='.$id.'&pagesOnly=1.').'\',\'createPage\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'
                          
      .$this->extGetLL('edit_newPage').'</a></li>';
              }
              if (
      $perms&2)    {
                  
      $toolBar.='<li>'
      //                    .'<a href="'.htmlspecialchars(TYPO3_mainDir.'move_el.php?table=pages&uid='.$id.'&returnUrl='.rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'))).'">'
                          
      .'<a href="#" onClick="window.open(\''.htmlspecialchars(TYPO3_mainDir.'move_el.php?table=pages&uid='.$id).'\',\'movePage\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'
                          
      .$this->extGetLL('edit_move_page').'</a></li>';
              }
      /*
              if ($perms&16)    {
                  $toolBar.='<li><a href="#" onClick="window.open(\''.htmlspecialchars($newContentWizScriptPath.'?id='.$id.'&returnUrl='.rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'))).'\',\'ListModule\',\'top=200,left=200,width=400,height=400,scrollbars=yes,resizable=yes\')">'
                              .$this->extGetLL('edit_newContentElement').'</a></li>';
              }
              if ($perms&16)    {
                  $toolBar.='<li><a href="'.htmlspecialchars($newRecordWizScriptPath.'?id='.$id.'&returnUrl='.rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'))).'">'
                              .$this->extGetLL('edit_newRecord').'</a></li>';
              }
              if ($this->check('modules','web_list'))    {
                  $toolBar.='<li><a href="'.htmlspecialchars(TYPO3_mainDir.'db_list.php?id='.$id.'&returnUrl='.rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'))).'">'
                          .$this->extGetLL('edit_db_list').'</a></li>';
              }
      */
              
      $toolBar.='<li>'
      //                    .'<a href="'.htmlspecialchars(TYPO3_mainDir.'show_rechis.php?element='.rawurlencode('pages:'.$id).'&returnUrl='.rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'))).'#latest">'
                          
      .'<a href="#" onClick="window.open(\''.htmlspecialchars(TYPO3_mainDir.'show_rechis.php?element='.rawurlencode('pages:'.$id)).'#latest\',\'recordHistory\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'
                          
      .$this->extGetLL('edit_recordHistory').'</a></li>';

              return 
      $toolBar;
          }





      /**
           * Creates the content for the "Media" section of the Admin Menu
           *
           * @param    string        Optional start-value; The generated content is added to this variable.
           * @return    string        HTML content for the section. Consists of a string with table-rows with four columns.
           * @see extPrintFeAdminDialog()
      */
          
      function extGetCategory_contentMenu($editMenu='')    {
                  
      //  If mod.web_list.newContentWiz.overrideWithExtension is set, use that extension's create new content wizard instead:
              
      $tmpTSc t3lib_BEfunc::getModTSconfig($this->pageinfo['uid'],'mod.web_list');
              
      $tmpTSc $tmpTSc ['properties']['newContentWiz.']['overrideWithExtension'];
              
      $newContentWizScriptPath t3lib_extMgm::isLoaded($tmpTSc) ? (t3lib_extMgm::extRelPath($tmpTSc).'mod1/db_new_content_el.php') : (TYPO3_mainDir.'sysext/cms/layout/db_new_content_el.php');
              
      $newRecordWizScriptPath t3lib_extMgm::isLoaded($tmpTSc) ? (t3lib_extMgm::extRelPath($tmpTSc).'mod1/db_new_content_el.php') : (TYPO3_mainDir.'sysext/cms/layout/db_new_content_el.php');
              
      $newRecordWizScriptPath 'typo3/db_new.php';
              

              
      $perms $GLOBALS['BE_USER']->calcPerms($GLOBALS['TSFE']->page);

              
      $editMenu='';
              
      $id $GLOBALS['TSFE']->id;

              
      $editMenu.='<li><a href="#">'.$this->extGetLL('content').'</a>
                              <ul>'
      ;
              if (
      $perms&16)    {
                  
      $editMenu.='<li><a href="#" onClick="window.open(\''.htmlspecialchars($newContentWizScriptPath.'?id='.$id).'\',\'ListModule\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'
                              
      .$this->extGetLL('edit_newContentElement').'</a></li>';
              }
              if (
      $perms&16)    {
                  
      $editMenu.='<li><a href="#" onClick="window.open(\''.htmlspecialchars($newRecordWizScriptPath.'?id='.$id).'\',\'ListModule\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'
                              
      .$this->extGetLL('edit_newRecord').'</a></li>';
              }
              if (
      $this->check('modules','web_list'))    {
                  
      $editMenu.='<li><a href="#" onClick="window.open(\''.htmlspecialchars(TYPO3_mainDir.'db_list.php?id='.$id).'\',\'ListModule\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'
                          
      .$this->extGetLL('listModule').'</a></li>';
      //                    .$this->extGetLL('edit_db_list').'</a></li>';
              
      }
      //        if ($this->check('modules','web_list'))    {
                  
      $editMenu.='<li><a href="#" onClick="window.open(\''.htmlspecialchars(TYPO3_mainDir.'sysext/cms/layout/db_layout.php?&id='.$id).'\',\'ListModule\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'
                          
      .$this->extGetLL('columnOverview').'</a></li>';
      //                    .$this->extGetLL('edit_db_list').'</a></li>';
      //        }
              
      $editMenu.='</ul></li>';
              return 
      $editMenu;
          }






      /**
           * Creates the content for the "Media" section of the Admin Menu
           *
           * @param    string        Optional start-value; The generated content is added to this variable.
           * @return    string        HTML content for the section. Consists of a string with table-rows with four columns.
           * @see extPrintFeAdminDialog()
      */
          
      function extGetCategory_mediaMenu($editMenu='')    {
              if (
      t3lib_extMgm::isLoaded('dam')) {        // show dam if available
                  
      $editMenu.='<li><a href="#">'.$this->extGetLL('dam').'</a>
                                  <ul>'
      ;
                  
      $editMenu.='    <li><a href="#" onClick="window.open(\'typo3conf/ext/dam/mod_file/index.php?&SLCMD=&SET=&SET[function]=tx_dam_file_list\',\'MediaFiles\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'.$this->extGetLL('damFiles').'</a></li>';
                  
      $editMenu.='    <li><a href="#" onClick="window.open(\'typo3conf/ext/dam/mod_file/index.php?&SLCMD=&SET=&SET[function]=tx_dam_file_upload\',\'MediaThumbs\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'.$this->extGetLL('damUpload').'</a></li>';
                  
      $editMenu.='    <li><a href="#" onClick="window.open(\'typo3conf/ext/dam/mod_file/index.php?&SLCMD=&SET=&SET[function]=tx_damindex_index\',\'MediaThumbs\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'.$this->extGetLL('damIndex').'</a></li>';
      //            $editMenu.='    <li><a href="#" onClick="window.open(\'typo3conf/ext/dam/mod_list/index.php?&SLCMD=&SET[function]=tx_dam_list_list\',\'MediaList\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'.$this->extGetLL('damList').'</a></li>';
      //            $editMenu.='    <li><a href="#" onClick="window.open(\'typo3conf/ext/dam/mod_list/index.php?&SLCMD=&SET[function]=tx_dam_list_thumbs\',\'MediaThumbs\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'.$this->extGetLL('damThumbs').'</a></li>';
      //            if (t3lib_extMgm::isLoaded('dam_index')) {
      //                $editMenu.='    <li><a href="#" onClick="window.open(\'typo3conf/ext/dam_index/mod1/index.php\',\'MediaIndexing\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'.$this->extGetLL('damIndex').'</a></li>';
      //            }
                  
      $editMenu.='</ul></li>';
                  return 
      $editMenu;
              } elseif (!
      t3lib_extMgm::isLoaded('dam')) {        // if dam is not available, show standard filelist
                  
      $editMenu.='<li><a href="#">'.$this->extGetLL('file').'</a>
                                  <ul>'
      ;
                  
      $editMenu.='    <li><a href="#" onClick="window.open(\'typo3/file_list.php?id='.PATH_site.'fileadmin/user_upload/\',\'MediaList\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'.$this->extGetLL('filelist').'</a></li>';
                  if (
      t3lib_extMgm::isLoaded('imagelist')) {        // show imagelist if available
                      
      $editMenu.='    <li><a href="#" onClick="window.open(\'typo3/ext/imagelist/mod/index.php?id='.PATH_site.'fileadmin/user_upload/\',\'MediaIndexing\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'.$this->extGetLL('images').'</a></li>';
                  }
                  
      $editMenu.='</ul></li>';
                  return 
      $editMenu;
              }
          }





      /**
           * Creates the content for the "Advanced" section of the Admin Menu
           *
           * @param    string        Optional start-value; The generated content is added to this variable.
           * @return    string        HTML content for the section. Consists of a string with table-rows with four columns.
           * @see extPrintFeAdminDialog()
      */
          
      function extGetCategory_advancedMenu($editMenu='')    {
              
      $editMenu.='<li><a href="#">'.$this->extGetLL('advanced').'</a>
                              <ul>'
      ;
      //        $editMenu.='    <li class="goto-admin-panel"><a href="#TSFE_ADMIN_PANEL">Go To Edit Panel</a></li>';
              
      $editMenu.='<li><a href="#" onClick="window.open(\'typo3/mod/help/about/index.php\',\'AboutTypo3\',\'top=50,left=50,width=630,height=600,scrollbars=yes,resizable=yes\')">'.$this->extGetLL('about').'</a></li>';
              if (!
      t3lib_div::_GP('ADMCMD_view'))    {
                  
      $editMenu.=$this->extGetItemMenu('''
                      <li><a href="#" onclick="'
      .
                      
      htmlspecialchars('
                          if (parent.opener && parent.opener.top && parent.opener.top.TS)    {
                              parent.opener.top.fsMod.recentIds["web"]='
      .intval($GLOBALS['TSFE']->page['uid']).';
                              if (parent.opener.top.content && parent.opener.top.content.nav_frame && parent.opener.top.content.nav_frame.refresh_nav)    {
                                  parent.opener.top.content.nav_frame.refresh_nav();
                              }
                              parent.opener.top.goToModule("'
      .$pageModule.'");
                              parent.opener.top.focus();
                          } else {
                              vHWin=window.open(\''
      .TYPO3_mainDir.'alt_main.php\',\''.md5('Typo3Backend-'.$GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename']).'\',\'status=1,menubar=1,scrollbars=1,resizable=1\');
                              vHWin.focus();
                          }
                          return false;
                          '
      ).
                      
      '">'.$this->extFwCSS($this->extGetLL('edit_openAB')).'</a></li>');
              }
              
      $editMenu.='<li><a href="typo3/logout.php">'.$this->extGetLL('logout').'</a></li>';
              
      $editMenu.='</ul></li>';
              return 
      $editMenu;
          }
      }

      if (
      defined("TYPO3_MODE") && $TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/pixe_feediting/class.ux_t3lib_tsfeBeUserAuth.php"]) {
          include_once(
      $TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/pixe_feediting/class.ux_t3lib_tsfeBeUserAuth.php"]);
      }
      ?>