00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00118 require_once (PATH_t3lib.'class.t3lib_browsetree.php');
00119 require_once (PATH_t3lib.'class.t3lib_foldertree.php');
00120 require_once (PATH_t3lib.'class.t3lib_stdgraphic.php');
00121 require_once (PATH_t3lib.'class.t3lib_basicfilefunc.php');
00122
00123
00124
00125 require_once (PATH_t3lib.'class.t3lib_page.php');
00126 require_once (PATH_t3lib.'class.t3lib_recordlist.php');
00127 require_once (PATH_typo3.'/class.db_list.inc');
00128 require_once (PATH_typo3.'/class.db_list_extra.inc');
00129 require_once (PATH_t3lib.'/class.t3lib_pagetree.php');
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00156 class TBE_browser_recordList extends localRecordList {
00157 var $thisScript = 'browse_links.php';
00158
00164 function TBE_browser_recordList () {
00165 $this->thisScript = t3lib_div::getIndpEnv('SCRIPT_NAME');
00166 }
00167
00176 function listURL($altId='',$table=-1,$exclList='') {
00177 return $this->thisScript.
00178 '?id='.(strcmp($altId,'')?$altId:$this->id).
00179 '&table='.rawurlencode($table==-1?$this->table:$table).
00180 ($this->thumbs?'&imagemode='.$this->thumbs:'').
00181 ($this->searchString?'&search_field='.rawurlencode($this->searchString):'').
00182 ($this->searchLevels?'&search_levels='.rawurlencode($this->searchLevels):'').
00183 ((!$exclList || !t3lib_div::inList($exclList,'sortField')) && $this->sortField?'&sortField='.rawurlencode($this->sortField):'').
00184 ((!$exclList || !t3lib_div::inList($exclList,'sortRev')) && $this->sortRev?'&sortRev='.rawurlencode($this->sortRev):'').
00185
00186 $this->ext_addP()
00187 ;
00188 }
00189
00195 function ext_addP() {
00196 $str = '&act='.$GLOBALS['SOBE']->browser->act.
00197 '&mode='.$GLOBALS['SOBE']->browser->mode.
00198 '&expandPage='.$GLOBALS['SOBE']->browser->expandPage.
00199 '&bparams='.rawurlencode($GLOBALS['SOBE']->browser->bparams);
00200 return $str;
00201 }
00202
00212 function linkWrapItems($table,$uid,$code,$row) {
00213 global $TCA, $BACK_PATH;
00214
00215 if (!$code) {
00216 $code = '<i>['.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.no_title',1).']</i>';
00217 } else {
00218 $code = htmlspecialchars(t3lib_div::fixed_lgd_cs($code,$this->fixedL));
00219 }
00220
00221 $titleCol = $TCA[$table]['ctrl']['label'];
00222 $title = $row[$titleCol];
00223
00224 $ficon = t3lib_iconWorks::getIcon($table,$row);
00225 $aOnClick = "return insertElement('".$table."', '".$row['uid']."', 'db', ".t3lib_div::quoteJSvalue($title).", '', '', '".$ficon."');";
00226 $ATag = '<a href="#" onclick="'.$aOnClick.'">';
00227 $ATag_alt = substr($ATag,0,-4).',\'\',1);">';
00228 $ATag_e = '</a>';
00229
00230 return $ATag.
00231 '<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/plusbullet2.gif','width="18" height="16"').' title="'.$GLOBALS['LANG']->getLL('addToList',1).'" alt="" />'.
00232 $ATag_e.
00233 $ATag_alt.
00234 $code.
00235 $ATag_e;
00236 }
00237
00245 function linkWrapTable($table,$code) {
00246 return $code;
00247 }
00248 }
00249
00250
00251
00252
00253
00254
00262 class localPageTree extends t3lib_browseTree {
00263
00269 function localPageTree() {
00270 $this->thisScript = t3lib_div::getIndpEnv('SCRIPT_NAME');
00271
00272 $this->init();
00273
00274 $this->clause = ' AND doktype!=255'.$this->clause;
00275 }
00276
00285 function wrapTitle($title,$v,$ext_pArrPages='') {
00286 if ($this->ext_isLinkable($v['doktype'],$v['uid'])) {
00287 $aOnClick = "return link_typo3Page('".$v['uid']."');";
00288 return '<a href="#" onclick="'.htmlspecialchars($aOnClick).'">'.$title.'</a>';
00289 } else {
00290 return '<span style="color: #666666;">'.$title.'</span>';
00291 }
00292 }
00293
00300 function printTree($treeArr='') {
00301 global $BACK_PATH;
00302 $titleLen=intval($GLOBALS['BE_USER']->uc['titleLen']);
00303 if (!is_array($treeArr)) $treeArr=$this->tree;
00304
00305 $out='';
00306 $c=0;
00307
00308 foreach($treeArr as $k => $v) {
00309 $c++;
00310 $bgColorClass = ($c+1)%2 ? 'bgColor' : 'bgColor-10';
00311 if ($GLOBALS['SOBE']->browser->curUrlInfo['act']=='page' && $GLOBALS['SOBE']->browser->curUrlInfo['pageid']==$v['row']['uid'] && $GLOBALS['SOBE']->browser->curUrlInfo['pageid']) {
00312 $arrCol='<td><img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/blinkarrow_right.gif','width="5" height="9"').' class="c-blinkArrowR" alt="" /></td>';
00313 $bgColorClass='bgColor4';
00314 } else {
00315 $arrCol='<td></td>';
00316 }
00317
00318 $aOnClick = 'return jumpToUrl(\''.$this->thisScript.'?act='.$GLOBALS['SOBE']->browser->act.'&mode='.$GLOBALS['SOBE']->browser->mode.'&expandPage='.$v['row']['uid'].'\');';
00319 $cEbullet = $this->ext_isLinkable($v['row']['doktype'],$v['row']['uid']) ?
00320 '<a href="#" onclick="'.htmlspecialchars($aOnClick).'"><img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/ol/arrowbullet.gif','width="18" height="16"').' alt="" /></a>' :
00321 '';
00322 $out.='
00323 <tr class="'.$bgColorClass.'">
00324 <td nowrap="nowrap"'.($v['row']['_CSSCLASS'] ? ' class="'.$v['row']['_CSSCLASS'].'"' : '').'>'.
00325 $v['HTML'].
00326 $this->wrapTitle($this->getTitleStr($v['row'],$titleLen),$v['row'],$this->ext_pArrPages).
00327 '</td>'.
00328 $arrCol.
00329 '<td>'.$cEbullet.'</td>
00330 </tr>';
00331 }
00332 $out='
00333
00334
00335 <!--
00336 Navigation Page Tree:
00337 -->
00338 <table border="0" cellpadding="0" cellspacing="0" id="typo3-tree">
00339 '.$out.'
00340 </table>';
00341 return $out;
00342 }
00343
00351 function ext_isLinkable($doktype,$uid) {
00352 if ($uid && $doktype<199) {
00353 return true;
00354 }
00355 }
00356
00365 function PM_ATagWrap($icon,$cmd,$bMark='') {
00366 if ($bMark) {
00367 $anchor = '#'.$bMark;
00368 $name=' name="'.$bMark.'"';
00369 }
00370 $aOnClick = "return jumpToUrl('".$this->thisScript.'?PM='.$cmd."','".$anchor."');";
00371
00372 return '<a href="#"'.$name.' onclick="'.htmlspecialchars($aOnClick).'">'.$icon.'</a>';
00373 }
00374
00382 function wrapIcon($icon,$row) {
00383 return $this->addTagAttributes($icon,' title="id='.$row['uid'].'"');
00384 }
00385 }
00386
00387
00388
00389
00390
00391
00392
00393
00401 class rtePageTree extends localPageTree {
00402 }
00403
00404
00405
00406
00407
00408
00409
00410
00418 class TBE_PageTree extends localPageTree {
00419
00427 function ext_isLinkable($doktype,$uid) {
00428 return true;
00429 }
00430
00439 function wrapTitle($title,$v,$ext_pArrPages) {
00440 if ($ext_pArrPages) {
00441 $ficon=t3lib_iconWorks::getIcon('pages',$v);
00442 $onClick = "return insertElement('pages', '".$v['uid']."', 'db', ".t3lib_div::quoteJSvalue($v['title']).", '', '', '".$ficon."','',1);";
00443 } else {
00444 $onClick = htmlspecialchars('return jumpToUrl(\''.$this->thisScript.'?act='.$GLOBALS['SOBE']->browser->act.'&mode='.$GLOBALS['SOBE']->browser->mode.'&expandPage='.$v['uid'].'\');');
00445 }
00446 return '<a href="#" onclick="'.$onClick.'">'.$title.'</a>';
00447 }
00448 }
00449
00450
00451
00452
00453
00454
00455
00456
00465 class localFolderTree extends t3lib_folderTree {
00466 var $ext_IconMode=1;
00467
00468
00474 function localFolderTree() {
00475 $this->thisScript = t3lib_div::getIndpEnv('SCRIPT_NAME');
00476 $this->t3lib_folderTree();
00477 }
00478
00486 function wrapTitle($title,$v) {
00487 if ($this->ext_isLinkable($v)) {
00488 $aOnClick = 'return jumpToUrl(\''.$this->thisScript.'?act='.$GLOBALS['SOBE']->browser->act.'&mode='.$GLOBALS['SOBE']->browser->mode.'&expandFolder='.rawurlencode($v['path']).'\');';
00489 return '<a href="#" onclick="'.htmlspecialchars($aOnClick).'">'.$title.'</a>';
00490 } else {
00491 return '<span class="typo3-dimmed">'.$title.'</span>';
00492 }
00493 }
00494
00501 function ext_isLinkable($v) {
00502 $webpath=t3lib_BEfunc::getPathType_web_nonweb($v['path']);
00503 if (strstr($v['path'],'_recycler_') || strstr($v['path'],'_temp_') || $webpath!='web') {
00504 return 0;
00505 }
00506 return 1;
00507 }
00508
00518 function PM_ATagWrap($icon,$cmd,$bMark='') {
00519 if ($bMark) {
00520 $anchor = '#'.$bMark;
00521 $name=' name="'.$bMark.'"';
00522 }
00523 $aOnClick = 'return jumpToUrl(\''.$this->thisScript.'?PM='.$cmd.'\',\''.$anchor.'\');';
00524 return '<a href="#"'.$name.' onclick="'.htmlspecialchars($aOnClick).'">'.$icon.'</a>';
00525 }
00526
00533 function printTree($treeArr='') {
00534 global $BACK_PATH;
00535 $titleLen=intval($GLOBALS['BE_USER']->uc['titleLen']);
00536
00537 if (!is_array($treeArr)) $treeArr=$this->tree;
00538
00539 $out='';
00540 $c=0;
00541
00542
00543 if (!$GLOBALS['SOBE']->browser->curUrlInfo['value']) {
00544 $cmpPath='';
00545 } else if (substr(trim($GLOBALS['SOBE']->browser->curUrlInfo['info']),-1)!='/') {
00546 $cmpPath=PATH_site.dirname($GLOBALS['SOBE']->browser->curUrlInfo['info']).'/';
00547 } else {
00548 $cmpPath=PATH_site.$GLOBALS['SOBE']->browser->curUrlInfo['info'];
00549 }
00550
00551
00552 foreach($treeArr as $k => $v) {
00553 $c++;
00554 $bgColorClass=($c+1)%2 ? 'bgColor' : 'bgColor-10';
00555
00556
00557 if ($GLOBALS['SOBE']->browser->curUrlInfo['act']=='file' && $cmpPath==$v['row']['path']) {
00558 $arrCol='<td><img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/blinkarrow_right.gif','width="5" height="9"').' class="c-blinkArrowR" alt="" /></td>';
00559 $bgColorClass='bgColor4';
00560 } else {
00561 $arrCol='<td></td>';
00562 }
00563
00564 $aOnClick = 'return jumpToUrl(\''.$this->thisScript.'?act='.$GLOBALS['SOBE']->browser->act.'&mode='.$GLOBALS['SOBE']->browser->mode.'&expandFolder='.rawurlencode($v['row']['path']).'\');';
00565 $cEbullet = $this->ext_isLinkable($v['row']) ? '<a href="#" onclick="'.htmlspecialchars($aOnClick).'"><img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/ol/arrowbullet.gif','width="18" height="16"').' alt="" /></a>' : '';
00566
00567
00568 $out.='
00569 <tr class="'.$bgColorClass.'">
00570 <td nowrap="nowrap">'.$v['HTML'].$this->wrapTitle(t3lib_div::fixed_lgd_cs($v['row']['title'],$titleLen),$v['row']).'</td>
00571 '.$arrCol.'
00572 <td>'.$cEbullet.'</td>
00573 </tr>';
00574 }
00575
00576 $out='
00577
00578 <!--
00579 Folder tree:
00580 -->
00581 <table border="0" cellpadding="0" cellspacing="0" id="typo3-tree">
00582 '.$out.'
00583 </table>';
00584 return $out;
00585 }
00586 }
00587
00588
00589
00590
00591
00592
00600 class rteFolderTree extends localFolderTree {
00601 }
00602
00603
00604
00605
00606
00607
00608
00616 class TBE_FolderTree extends localFolderTree {
00617 var $ext_noTempRecyclerDirs=0;
00618
00625 function ext_isLinkable($v) {
00626 if ($this->ext_noTempRecyclerDirs && (substr($v['path'],-7)=='_temp_/' || substr($v['path'],-11)=='_recycler_/')) {
00627 return 0;
00628 } return 1;
00629 }
00630
00638 function wrapTitle($title,$v) {
00639 if ($this->ext_isLinkable($v)) {
00640 $aOnClick = 'return jumpToUrl(\''.$this->thisScript.'?act='.$GLOBALS['SOBE']->browser->act.'&mode='.$GLOBALS['SOBE']->browser->mode.'&expandFolder='.rawurlencode($v['path']).'\');';
00641 return '<a href="#" onclick="'.htmlspecialchars($aOnClick).'">'.$title.'</a>';
00642 } else {
00643 return '<span class="typo3-dimmed">'.$title.'</span>';
00644 }
00645 }
00646 }
00647
00648
00649
00650
00651
00659 class browse_links {
00660
00661
00662 var $siteURL;
00663 var $thisScript;
00664 var $thisConfig;
00665 var $setTarget;
00666 var $setTitle;
00667 var $doc;
00668
00669
00680 var $mode;
00681
00687 var $act;
00688
00692 var $expandPage;
00693
00697 var $expandFolder;
00698
00699
00700
00704 var $P;
00705
00720 var $bparams;
00721
00726 var $RTEtsConfigParams;
00727
00728
00729
00730
00734 var $PM;
00735
00739 var $pointer;
00740
00741
00742
00743
00747 var $curUrlArray;
00748
00752 var $curUrlInfo;
00753
00754
00755
00756
00757
00758
00765 function init() {
00766 global $BE_USER,$BACK_PATH;
00767
00768
00769 $this->pointer = t3lib_div::_GP('pointer');
00770 $this->bparams = t3lib_div::_GP('bparams');
00771 $this->P = t3lib_div::_GP('P');
00772 $this->RTEtsConfigParams = t3lib_div::_GP('RTEtsConfigParams');
00773 $this->expandPage = t3lib_div::_GP('expandPage');
00774 $this->expandFolder = t3lib_div::_GP('expandFolder');
00775 $this->PM = t3lib_div::_GP('PM');
00776
00777
00778 $this->mode=t3lib_div::_GP('mode');
00779 if (!$this->mode) {
00780 $this->mode='rte';
00781 }
00782
00783
00784 $this->siteURL = t3lib_div::getIndpEnv('TYPO3_SITE_URL');
00785
00786
00787 $this->thisScript = t3lib_div::getIndpEnv('SCRIPT_NAME');
00788
00789
00790 if ($this->mode=='wizard') {
00791 $currentLinkParts = t3lib_div::trimExplode(' ',$this->P['currentValue']);
00792 $this->curUrlArray = array(
00793 'target' => $currentLinkParts[1]
00794 );
00795 $this->curUrlInfo=$this->parseCurUrl($this->siteURL.'?id='.$currentLinkParts[0],$this->siteURL);
00796 } else {
00797 $this->curUrlArray = t3lib_div::_GP('curUrl');
00798 if ($this->curUrlArray['all']) {
00799 $this->curUrlArray=t3lib_div::get_tag_attributes($this->curUrlArray['all']);
00800 }
00801 $this->curUrlInfo=$this->parseCurUrl($this->curUrlArray['href'],$this->siteURL);
00802 }
00803
00804
00805 $this->act=t3lib_div::_GP('act');
00806 if (!$this->act) {
00807 $this->act=$this->curUrlInfo['act'];
00808 }
00809
00810
00811 $addPassOnParams='';
00812 if ((string)$this->mode=='rte') {
00813 $RTEtsConfigParts = explode(':',$this->RTEtsConfigParams);
00814 $addPassOnParams.='&RTEtsConfigParams='.rawurlencode($this->RTEtsConfigParams);
00815 $RTEsetup = $GLOBALS['BE_USER']->getTSConfig('RTE',t3lib_BEfunc::getPagesTSconfig($RTEtsConfigParts[5]));
00816 $this->thisConfig = t3lib_BEfunc::RTEsetup($RTEsetup['properties'],$RTEtsConfigParts[0],$RTEtsConfigParts[2],$RTEtsConfigParts[4]);
00817 }
00818
00819
00820 $this->setTarget = $this->curUrlArray['target'];
00821 if ($this->thisConfig['defaultLinkTarget'] && !isset($this->curUrlArray['target'])) {
00822 $this->setTarget=$this->thisConfig['defaultLinkTarget'];
00823 }
00824
00825
00826 $this->setTitle = $this->curUrlArray['title'];
00827
00828
00829
00830
00831 $this->doc = t3lib_div::makeInstance('template');
00832 $this->doc->docType= 'xhtml_trans';
00833 $this->doc->backPath = $BACK_PATH;
00834
00835
00836 $JScode = '';
00837 $JScode.= '
00838
00839 var add_href="'.($this->curUrlArray['href']?'&curUrl[href]='.rawurlencode($this->curUrlArray['href']):'').'";
00840 var add_target="'.($this->setTarget?'&curUrl[target]='.rawurlencode($this->setTarget):'').'";
00841 var add_title="'.($this->setTitle?'&curUrl[title]='.rawurlencode($this->setTitle):'').'";
00842 var add_params="'.($this->bparams?'&bparams='.rawurlencode($this->bparams):'').'";
00843
00844 var cur_href="'.($this->curUrlArray['href']?$this->curUrlArray['href']:'').'";
00845 var cur_target="'.($this->setTarget?$this->setTarget:'').'";
00846 var cur_title="'.($this->setTitle?$this->setTitle:'').'";
00847
00848 function setTarget(target) {
00849 cur_target=target;
00850 add_target="&curUrl[target]="+escape(target);
00851 }
00852 function setTitle(title) {
00853 cur_title=title;
00854 add_title="&curUrl[title]="+escape(title);
00855 }
00856 function setValue(value) {
00857 cur_href=value;
00858 add_href="&curUrl[href]="+value;
00859 }
00860 ';
00861
00862
00863 if ($this->mode=='wizard') {
00864 unset($this->P['fieldChangeFunc']['alert']);
00865 reset($this->P['fieldChangeFunc']);
00866 $update='';
00867 while(list($k,$v)=each($this->P['fieldChangeFunc'])) {
00868 $update.= '
00869 window.opener.'.$v;
00870 }
00871
00872 $P2=array();
00873 $P2['itemName']=$this->P['itemName'];
00874 $P2['formName']=$this->P['formName'];
00875 $P2['fieldChangeFunc']=$this->P['fieldChangeFunc'];
00876 $addPassOnParams.=t3lib_div::implodeArrayForUrl('P',$P2);
00877
00878 $JScode.='
00879 function link_typo3Page(id,anchor) {
00880 updateValueInMainForm(id+(anchor?anchor:"")+" "+cur_target);
00881 close();
00882 return false;
00883 }
00884 function link_folder(folder) {
00885 updateValueInMainForm(folder+" "+cur_target);
00886 close();
00887 return false;
00888 }
00889 function link_current() {
00890 if (cur_href!="http://" && cur_href!="mailto:") {
00891 var setValue = cur_href+" "+cur_target+" "+cur_title;
00892 if (setValue.substr(0,7)=="http://") setValue = setValue.substr(7);
00893 if (setValue.substr(0,7)=="mailto:") setValue = setValue.substr(7);
00894 updateValueInMainForm(setValue);
00895 close();
00896 }
00897 return false;
00898 }
00899 function checkReference() {
00900 if (window.opener && window.opener.document && window.opener.document.'.$this->P['formName'].' && window.opener.document.'.$this->P['formName'].'["'.$this->P['itemName'].'"] ) {
00901 return window.opener.document.'.$this->P['formName'].'["'.$this->P['itemName'].'"];
00902 } else {
00903 close();
00904 }
00905 }
00906 function updateValueInMainForm(input) {
00907 var field = checkReference();
00908 if (field) {
00909 field.value = input;
00910 '.$update.'
00911 }
00912 }
00913 ';
00914 } else {
00915 $JScode.='
00916 function link_typo3Page(id,anchor) {
00917 var theLink = \''.$this->siteURL.'?id=\'+id+(anchor?anchor:"");
00918 self.parent.parent.renderPopup_addLink(theLink,cur_target,cur_title);
00919 return false;
00920 }
00921 function link_folder(folder) {
00922 var theLink = \''.$this->siteURL.'\'+folder;
00923 self.parent.parent.renderPopup_addLink(theLink,cur_target,cur_title);
00924 return false;
00925 }
00926 function link_spec(theLink) {
00927 self.parent.parent.renderPopup_addLink(theLink,cur_target,cur_title);
00928 return false;
00929 }
00930 function link_current() {
00931 if (cur_href!="http://" && cur_href!="mailto:") {
00932 self.parent.parent.renderPopup_addLink(cur_href,cur_target,cur_title);
00933 }
00934 return false;
00935 }
00936 ';
00937 }
00938
00939
00940 $JScode.='
00941 function jumpToUrl(URL,anchor) {
00942 var add_act = URL.indexOf("act=")==-1 ? "&act='.$this->act.'" : "";
00943 var add_mode = URL.indexOf("mode=")==-1 ? "&mode='.$this->mode.'" : "";
00944 var theLocation = URL+add_act+add_mode+add_href+add_target+add_title+add_params'.($addPassOnParams?'+"'.$addPassOnParams.'"':'').'+(anchor?anchor:"");
00945 window.location.href = theLocation;
00946 return false;
00947 }
00948 ';
00949
00950
00951
00952 $pArr = explode('|',$this->bparams);
00953 $formFieldName = 'data['.$pArr[0].']['.$pArr[1].']['.$pArr[2].']';
00954 $JScode.='
00955 var elRef="";
00956 var targetDoc="";
00957
00958 function launchView(url) {
00959 var thePreviewWindow="";
00960 thePreviewWindow = window.open("'.$BACK_PATH.'show_item.php?table="+url,"ShowItem","height=300,width=410,status=0,menubar=0,resizable=0,location=0,directories=0,scrollbars=1,toolbar=0");
00961 if (thePreviewWindow && thePreviewWindow.focus) {
00962 thePreviewWindow.focus();
00963 }
00964 }
00965 function setReferences() {
00966 if (parent.window.opener
00967 && parent.window.opener.content
00968 && parent.window.opener.content.document.editform
00969 && parent.window.opener.content.document.editform["'.$formFieldName.'"]
00970 ) {
00971 targetDoc = parent.window.opener.content.document;
00972 elRef = targetDoc.editform["'.$formFieldName.'"];
00973 return true;
00974 } else {
00975 return false;
00976 }
00977 }
00978 function insertElement(table, uid, type, filename,fp,filetype,imagefile,action, close) {
00979 if (1=='.($pArr[0]&&!$pArr[1]&&!$pArr[2] ? 1 : 0).') {
00980 addElement(filename,table+"_"+uid,fp,close);
00981 } else {
00982 if (setReferences()) {
00983 parent.window.opener.group_change("add","'.$pArr[0].'","'.$pArr[1].'","'.$pArr[2].'",elRef,targetDoc);
00984 } else {
00985 alert("Error - reference to main window is not set properly!");
00986 }
00987 if (close) {
00988 parent.window.opener.focus();
00989 parent.close();
00990 }
00991 }
00992 return false;
00993 }
00994 function addElement(elName,elValue,altElValue,close) {
00995 if (parent.window.opener && parent.window.opener.setFormValueFromBrowseWin) {
00996 parent.window.opener.setFormValueFromBrowseWin("'.$pArr[0].'",altElValue?altElValue:elValue,elName);
00997 if (close) {
00998 parent.window.opener.focus();
00999 parent.close();
01000 }
01001 } else {
01002 alert("Error - reference to main window is not set properly!");
01003 parent.close();
01004 }
01005 }
01006 ';
01007
01008
01009 $this->doc->JScode = $this->doc->wrapScriptTags($JScode);
01010
01011
01012 if (FALSE) debug(array(
01013 'pointer' => $this->pointer,
01014 'act' => $this->act,
01015 'mode' => $this->mode,
01016 'curUrlInfo' => $this->curUrlInfo,
01017 'curUrlArray' => $this->curUrlArray,
01018 'P' => $this->P,
01019 'bparams' => $this->bparams,
01020 'RTEtsConfigParams' => $this->RTEtsConfigParams,
01021 'expandPage' => $this->expandPage,
01022 'expandFolder' => $this->expandFolder,
01023 'PM' => $this->PM,
01024 ),'Internal variables of Script Class:');
01025 }
01026
01027
01035 function processSessionData($data) {
01036 $store = false;
01037
01038 switch((string)$this->mode) {
01039 case 'db':
01040 if (isset($this->expandPage)) {
01041 $data['expandPage']=$this->expandPage;
01042 $store = true;
01043 } else {
01044 $this->expandPage=$data['expandPage'];
01045 }
01046 break;
01047 case 'file':
01048 case 'filedrag':
01049 if (isset($this->expandFolder)) {
01050 $data['expandFolder']=$this->expandFolder;
01051 $store = true;
01052 } else {
01053 $this->expandFolder=$data['expandFolder'];
01054 }
01055 break;
01056 }
01057
01058 return array($data, $store);
01059 }
01060
01061
01062
01063
01064
01065
01066
01067
01068
01069
01078 function main_rte($wiz=0) {
01079 global $LANG, $BACK_PATH;
01080
01081
01082 $content=$this->doc->startPage('RTE link');
01083
01084
01085 $allowedItems = array_diff(explode(',','page,file,url,mail,spec'),t3lib_div::trimExplode(',',$this->thisConfig['blindLinkOptions'],1));
01086 reset($allowedItems);
01087 if (!in_array($this->act,$allowedItems)) $this->act = current($allowedItems);
01088
01089
01090 $menuDef = array();
01091 if (!$wiz) {
01092 $menuDef['removeLink']['isActive'] = $this->act=='removeLink';
01093 $menuDef['removeLink']['label'] = $LANG->getLL('removeLink',1);
01094 $menuDef['removeLink']['url'] = '#';
01095 $menuDef['removeLink']['addParams'] = 'onclick="self.parent.parent.renderPopup_unLink();return false;"';
01096 }
01097 if (in_array('page',$allowedItems)) {
01098 $menuDef['page']['isActive'] = $this->act=='page';
01099 $menuDef['page']['label'] = $LANG->getLL('page',1);
01100 $menuDef['page']['url'] = '#';
01101 $menuDef['page']['addParams'] = 'onclick="jumpToUrl(\'?act=page\');return false;"';
01102 }
01103 if (in_array('file',$allowedItems)){
01104 $menuDef['file']['isActive'] = $this->act=='file';
01105 $menuDef['file']['label'] = $LANG->getLL('file',1);
01106 $menuDef['file']['url'] = '#';
01107 $menuDef['file']['addParams'] = 'onclick="jumpToUrl(\'?act=file\');return false;"';
01108 }
01109 if (in_array('url',$allowedItems)) {
01110 $menuDef['url']['isActive'] = $this->act=='url';
01111 $menuDef['url']['label'] = $LANG->getLL('extUrl',1);
01112 $menuDef['url']['url'] = '#';
01113 $menuDef['url']['addParams'] = 'onclick="jumpToUrl(\'?act=url\');return false;"';
01114 }
01115 if (in_array('mail',$allowedItems)) {
01116 $menuDef['mail']['isActive'] = $this->act=='mail';
01117 $menuDef['mail']['label'] = $LANG->getLL('email',1);
01118 $menuDef['mail']['url'] = '#';
01119 $menuDef['mail']['addParams'] = 'onclick="jumpToUrl(\'?act=mail\');return false;"';
01120 }
01121 if (is_array($this->thisConfig['userLinks.']) && in_array('spec',$allowedItems)) {
01122 $menuDef['spec']['isActive'] = $this->act=='spec';
01123 $menuDef['spec']['label'] = $LANG->getLL('special',1);
01124 $menuDef['spec']['url'] = '#';
01125 $menuDef['spec']['addParams'] = 'onclick="jumpToUrl(\'?act=spec\');return false;"';
01126 }
01127 $content .= $this->doc->getTabMenuRaw($menuDef);
01128
01129
01130 $content.=$this->printCurrentUrl($this->curUrlInfo['info']).'<br />';
01131
01132
01133
01134 switch($this->act) {
01135 case 'mail':
01136 $extUrl='
01137
01138 <!--
01139 Enter mail address:
01140 -->
01141 <form action="" name="lurlform" id="lurlform">
01142 <table border="0" cellpadding="2" cellspacing="1" id="typo3-linkMail">
01143 <tr>
01144 <td>'.$GLOBALS['LANG']->getLL('emailAddress',1).':</td>
01145 <td><input type="text" name="lemail"'.$this->doc->formWidth(20).' value="'.htmlspecialchars($this->curUrlInfo['act']=='mail'?$this->curUrlInfo['info']:'').'" /> '.
01146 '<input type="submit" value="'.$GLOBALS['LANG']->getLL('setLink',1).'" onclick="setTarget(\'\');setValue(\'mailto:\'+document.lurlform.lemail.value); return link_current();" /></td>
01147 </tr>
01148 </table>
01149 </form>';
01150 $content.=$extUrl;
01151 break;
01152 case 'url':
01153 $extUrl='
01154
01155 <!--
01156 Enter External URL:
01157 -->
01158 <form action="" name="lurlform" id="lurlform">
01159 <table border="0" cellpadding="2" cellspacing="1" id="typo3-linkURL">
01160 <tr>
01161 <td>URL:</td>
01162 <td><input type="text" name="lurl"'.$this->doc->formWidth(20).' value="'.htmlspecialchars($this->curUrlInfo['act']=='url'?$this->curUrlInfo['info']:'http://').'" /> '.
01163 '<input type="submit" value="'.$GLOBALS['LANG']->getLL('setLink',1).'" onclick="setValue(document.lurlform.lurl.value); return link_current();" /></td>
01164 </tr>
01165 </table>
01166 </form>';
01167 $content.=$extUrl;
01168 break;
01169 case 'file':
01170 $foldertree = t3lib_div::makeInstance('rteFolderTree');
01171 $foldertree->thisScript = $this->thisScript;
01172 $tree=$foldertree->getBrowsableTree();
01173
01174 if (!$this->curUrlInfo['value'] || $this->curUrlInfo['act']!='file') {
01175 $cmpPath='';
01176 } elseif (substr(trim($this->curUrlInfo['info']),-1)!='/') {
01177 $cmpPath=PATH_site.dirname($this->curUrlInfo['info']).'/';
01178 if (!isset($this->expandFolder)) $this->expandFolder = $cmpPath;
01179 } else {
01180 $cmpPath=PATH_site.$this->curUrlInfo['info'];
01181 }
01182
01183 list(,,$specUid) = explode('_',$this->PM);
01184 $files = $this->expandFolder($foldertree->specUIDmap[$specUid]);
01185
01186 $content.= '
01187
01188 <!--
01189 Wrapper table for folder tree / file list:
01190 -->
01191 <table border="0" cellpadding="0" cellspacing="0" id="typo3-linkFiles">
01192 <tr>
01193 <td class="c-wCell" valign="top">'.$this->barheader($GLOBALS['LANG']->getLL('folderTree').':').$tree.'</td>
01194 <td class="c-wCell" valign="top">'.$files.'</td>
01195 </tr>
01196 </table>
01197 ';
01198 break;
01199 case 'spec':
01200 if (is_array($this->thisConfig['userLinks.'])) {
01201 $subcats=array();
01202 $v=$this->thisConfig['userLinks.'];
01203 reset($v);
01204 while(list($k2)=each($v)) {
01205 $k2i = intval($k2);
01206 if (substr($k2,-1)=='.' && is_array($v[$k2i.'.'])) {
01207
01208
01209 $title = trim($v[$k2i]);
01210 if (!$title) {
01211 $title=$v[$k2i.'.']['url'];
01212 } else {
01213 $title=$LANG->sL($title);
01214 }
01215
01216 $description=$v[$k2i.'.']['description'] ? $LANG->sL($v[$k2i.'.']['description'],1).'<br />' : '';
01217
01218
01219 $onClickEvent='';
01220 if (isset($v[$k2i.'.']['target'])) $onClickEvent.="setTarget('".$v[$k2i.'.']['target']."');";
01221 $v[$k2i.'.']['url'] = str_replace('###_URL###',$this->siteURL,$v[$k2i.'.']['url']);
01222 if (substr($v[$k2i.'.']['url'],0,7)=='http:
01223 $onClickEvent.="cur_href=unescape('".rawurlencode($v[$k2i.'.']['url'])."');link_current();";
01224 } else {
01225 $onClickEvent.="link_spec(unescape('".$this->siteURL.rawurlencode($v[$k2i.'.']['url'])."'));";
01226 }
01227
01228
01229 $A=array('<a href="#" onclick="'.htmlspecialchars($onClickEvent).'return false;">','</a>');
01230
01231
01232 $subcats[$k2i]='
01233 <tr>
01234 <td class="bgColor4">'.$A[0].'<strong>'.htmlspecialchars($title).($this->curUrlInfo['info']==$v[$k2i.'.']['url']?'<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/blinkarrow_right.gif','width="5" height="9"').' class="c-blinkArrowR" alt="" />':'').'</strong><br />'.$description.$A[1].'</td>
01235 </tr>';
01236 }
01237 }
01238
01239
01240 ksort($subcats);
01241
01242
01243 $content.= '
01244
01245 <!--
01246 Special userdefined menu:
01247 -->
01248 <table border="0" cellpadding="1" cellspacing="1" id="typo3-linkSpecial">
01249 <tr>
01250 <td class="bgColor5" class="c-wCell" valign="top"><strong>'.$LANG->getLL('special',1).'</strong></td>
01251 </tr>
01252 '.implode('',$subcats).'
01253 </table>
01254 ';
01255 }
01256 break;
01257 case 'page':
01258 default:
01259 $pagetree = t3lib_div::makeInstance('rtePageTree');
01260 $pagetree->thisScript = $this->thisScript;
01261 $tree=$pagetree->getBrowsableTree();
01262 $cElements = $this->expandPage();
01263 $content.= '
01264
01265 <!--
01266 Wrapper table for page tree / record list:
01267 -->
01268 <table border="0" cellpadding="0" cellspacing="0" id="typo3-linkPages">
01269 <tr>
01270 <td class="c-wCell" valign="top">'.$this->barheader($GLOBALS['LANG']->getLL('pageTree').':').$tree.'</td>
01271 <td class="c-wCell" valign="top">'.$cElements.'</td>
01272 </tr>
01273 </table>
01274 ';
01275 break;
01276 }
01277
01278 $content .= '
01279
01280
01281
01282 <!--
01283 Selecting title for link:
01284 -->
01285 <form action="" name="ltitleform" id="ltargetform">
01286 <table border="0" cellpadding="2" cellspacing="1" id="typo3-linkTarget">
01287 <tr>
01288 <td>'.$GLOBALS['LANG']->getLL('title',1).'</td>
01289 <td><input type="text" name="ltitle" onchange="setTitle(this.value);" value="'.htmlspecialchars($this->setTitle).'"'.$this->doc->formWidth(10).' /></td>
01290 <td><input type="submit" value="'.$GLOBALS['LANG']->getLL('update',1).'" onclick="return link_current();" /></td>
01291 </tr>
01292 </table>
01293 </form>
01294 ';
01295
01296
01297 if ($this->act!='mail') {
01298 $ltarget='
01299
01300
01301
01302 <!--
01303 Selecting target for link:
01304 -->
01305 <form action="" name="ltargetform" id="ltargetform">
01306 <table border="0" cellpadding="2" cellspacing="1" id="typo3-linkTarget">
01307 <tr>
01308 <td>'.$GLOBALS['LANG']->getLL('target',1).':</td>
01309 <td><input type="text" name="ltarget" onchange="setTarget(this.value);" value="'.htmlspecialchars($this->setTarget).'"'.$this->doc->formWidth(10).' /></td>
01310 <td>
01311 <select name="ltarget_type" onchange="setTarget(this.options[this.selectedIndex].value);document.ltargetform.ltarget.value=this.options[this.selectedIndex].value;this.selectedIndex=0;">
01312 <option></option>
01313 <option value="_top">'.$GLOBALS['LANG']->getLL('top',1).'</option>
01314 <option value="_blank">'.$GLOBALS['LANG']->getLL('newWindow',1).'</option>
01315 </select>
01316 </td>
01317 <td>';
01318
01319 if (($this->curUrlInfo['act']=="page" || $this->curUrlInfo['act']=='file') && $this->curUrlArray['href']) {
01320 $ltarget.='
01321 <input type="submit" value="'.$GLOBALS['LANG']->getLL('update',1).'" onclick="return link_current();" />';
01322 }
01323
01324 $selectJS = '
01325 if (document.ltargetform.popup_width.options[document.ltargetform.popup_width.selectedIndex].value>0 && document.ltargetform.popup_height.options[document.ltargetform.popup_height.selectedIndex].value>0) {
01326 document.ltargetform.ltarget.value = document.ltargetform.popup_width.options[document.ltargetform.popup_width.selectedIndex].value+"x"+document.ltargetform.popup_height.options[document.ltargetform.popup_height.selectedIndex].value;
01327 setTarget(document.ltargetform.ltarget.value);
01328 setTitle(document.ltitleform.ltitle.value);
01329 document.ltargetform.popup_width.selectedIndex=0;
01330 document.ltargetform.popup_height.selectedIndex=0;
01331 }
01332 ';
01333
01334 $ltarget.=' </td>
01335 </tr>
01336 <tr>
01337 <td>'.$GLOBALS['LANG']->getLL('target_popUpWindow',1).':</td>
01338 <td colspan="3">
01339 <select name="popup_width" onchange="'.htmlspecialchars($selectJS).'">
01340 <option value="0">'.$GLOBALS['LANG']->getLL('target_popUpWindow_width',1).'</option>
01341 <option value="300">300</option>
01342 <option value="400">400</option>
01343 <option value="500">500</option>
01344 <option value="600">600</option>
01345 <option value="700">700</option>
01346 <option value="800">800</option>
01347 </select>
01348 x
01349 <select name="popup_height" onchange="'.htmlspecialchars($selectJS).'">
01350 <option value="0">'.$GLOBALS['LANG']->getLL('target_popUpWindow_height',1).'</option>
01351 <option value="200">200</option>
01352 <option value="300">300</option>
01353 <option value="400">400</option>
01354 <option value="500">500</option>
01355 <option value="600">600</option>
01356 </select>
01357 </td>
01358 </tr>
01359 </table>
01360 </form>';
01361
01362
01363 $content.=$ltarget;
01364
01365
01366 $content.='<br /><br />';
01367 }
01368
01369
01370 $content.= $this->doc->endPage();
01371 $content = $this->doc->insertStylesAndJS($content);
01372 return $content;
01373 }
01374
01380 function main_db() {
01381
01382
01383 $content=$this->doc->startPage('TBE file selector');
01384
01385
01386 $pArr = explode('|',$this->bparams);
01387
01388
01389 $pagetree = t3lib_div::makeInstance('TBE_PageTree');
01390 $pagetree->thisScript=$this->thisScript;
01391 $pagetree->ext_pArrPages = !strcmp($pArr[3],'pages')?1:0;
01392 $tree=$pagetree->getBrowsableTree();
01393
01394
01395 $cElements = $this->TBE_expandPage($pArr[3]);
01396
01397
01398 $content.= '
01399
01400 <!--
01401 Wrapper table for page tree / record list:
01402 -->
01403 <table border="0" cellpadding="0" cellspacing="0" id="typo3-EBrecords">
01404 <tr>
01405 <td class="c-wCell" valign="top">'.$this->barheader($GLOBALS['LANG']->getLL('pageTree').':').$tree.'</td>
01406 <td class="c-wCell" valign="top">'.$cElements.'</td>
01407 </tr>
01408 </table>
01409 ';
01410
01411
01412 $content.='<br /><br />';
01413
01414
01415 $content.= $this->doc->endPage();
01416 $content = $this->doc->insertStylesAndJS($content);
01417 return $content;
01418 }
01419
01425 function main_file() {
01426 global $BE_USER;
01427
01428
01429 $content.=$this->doc->startPage('TBE file selector');
01430
01431
01432 $pArr = explode('|',$this->bparams);
01433
01434
01435 $fileProcessor = t3lib_div::makeInstance('t3lib_basicFileFunctions');
01436 $fileProcessor->init($GLOBALS['FILEMOUNTS'], $GLOBALS['TYPO3_CONF_VARS']['BE']['fileExtensions']);
01437 $path=$this->expandFolder;
01438 if (!$path || !@is_dir($path)) {
01439 $path = $fileProcessor->findTempFolder().'/';
01440 }
01441 if ($path!='/' && @is_dir($path)) {
01442 $uploadForm=$this->uploadForm($path);
01443 $createFolder=$this->createFolder($path);
01444 } else {
01445 $createFolder='';
01446 $uploadForm='';
01447 }
01448 if ($BE_USER->getTSConfigVal('options.uploadFieldsInTopOfEB')) $content.=$uploadForm;
01449
01450
01451 $noThumbs = $GLOBALS['BE_USER']->getTSConfigVal('options.noThumbsInEB');
01452
01453 if (!$noThumbs) {
01454
01455 $_MOD_MENU = array('displayThumbs' => '');
01456 $_MCONF['name']='file_list';
01457 $_MOD_SETTINGS = t3lib_BEfunc::getModuleData($_MOD_MENU, t3lib_div::_GP('SET'), $_MCONF['name']);
01458 $addParams = '&act='.$this->act.'&mode='.$this->mode.'&expandFolder='.rawurlencode($path).'&bparams='.rawurlencode($this->bparams);
01459 $thumbNailCheck = t3lib_BEfunc::getFuncCheck('','SET[displayThumbs]',$_MOD_SETTINGS['displayThumbs'],$this->thisScript,$addParams).' '.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_file_list.php:displayThumbs',1);
01460 } else {
01461 $thumbNailCheck='';
01462 }
01463 $noThumbs = $noThumbs?$noThumbs:!$_MOD_SETTINGS['displayThumbs'];
01464
01465
01466 $foldertree = t3lib_div::makeInstance('TBE_FolderTree');
01467 $foldertree->thisScript=$this->thisScript;
01468 $foldertree->ext_noTempRecyclerDirs = ($this->mode == 'filedrag');
01469 $tree=$foldertree->getBrowsableTree();
01470
01471 list(,,$specUid) = explode('_',$this->PM);
01472
01473 if ($this->mode=='filedrag') {
01474 $files = $this->TBE_dragNDrop($foldertree->specUIDmap[$specUid],$pArr[3]);
01475 } else {
01476 $files = $this->TBE_expandFolder($foldertree->specUIDmap[$specUid],$pArr[3],$noThumbs);
01477 }
01478
01479
01480 $content.= '
01481
01482 <!--
01483 Wrapper table for folder tree / file list:
01484 -->
01485 <table border="0" cellpadding="0" cellspacing="0" id="typo3-EBfiles">
01486 <tr>
01487 <td class="c-wCell" valign="top">'.$this->barheader($GLOBALS['LANG']->getLL('folderTree').':').$tree.'</td>
01488 <td class="c-wCell" valign="top">'.$files.'</td>
01489 </tr>
01490 </table>
01491 ';
01492 $content.=$thumbNailCheck;
01493
01494
01495 if (!$BE_USER->getTSConfigVal('options.uploadFieldsInTopOfEB')) $content.=$uploadForm;
01496 if ($BE_USER->isAdmin() || $BE_USER->getTSConfigVal('options.createFoldersInEB')) $content.=$createFolder;
01497
01498
01499 $content.='<br /><br />';
01500
01501
01502 $content.= $this->doc->endPage();
01503 $content = $this->doc->insertStylesAndJS($content);
01504 return $content;
01505 }
01506
01507
01508
01509
01510
01511
01512
01513
01514
01515
01516
01517
01518
01519
01520
01521
01522
01523
01524
01525
01526
01527
01528
01529
01535 function expandPage() {
01536 global $BE_USER, $BACK_PATH;
01537
01538 $out='';
01539 $expPageId = $this->expandPage;
01540
01541
01542 if (!$this->expandPage && $this->curUrlInfo['cElement']) {
01543 $expPageId = $this->curUrlInfo['pageid'];
01544 }
01545
01546
01547 if ($expPageId && t3lib_div::testInt($expPageId) && $BE_USER->isInWebMount($expPageId)) {
01548
01549
01550 $out.=$this->barheader($GLOBALS['LANG']->getLL('contentElements').':');
01551
01552
01553 $titleLen=intval($GLOBALS['BE_USER']->uc['titleLen']);
01554 $mainPageRec = t3lib_BEfunc::getRecordWSOL('pages',$expPageId);
01555 $picon=t3lib_iconWorks::getIconImage('pages',$mainPageRec,'','');
01556 $picon.= htmlspecialchars(t3lib_div::fixed_lgd_cs($mainPageRec['title'],$titleLen));
01557 $out.=$picon.'<br />';
01558
01559
01560 $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
01561 'uid,header,hidden,starttime,endtime,fe_group,CType,colpos,bodytext',
01562 'tt_content',
01563 'pid='.intval($expPageId).
01564 t3lib_BEfunc::deleteClause('tt_content').
01565 t3lib_BEfunc::versioningPlaceholderClause('tt_content'),
01566 '',
01567 'colpos,sorting'
01568 );
01569 $cc = $GLOBALS['TYPO3_DB']->sql_num_rows($res);
01570
01571
01572 $c=0;
01573 while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
01574 $c++;
01575 $icon=t3lib_iconWorks::getIconImage('tt_content',$row,$BACK_PATH,'');
01576 if ($this->curUrlInfo['act']=='page' && $this->curUrlInfo['cElement']==$row['uid']) {
01577 $arrCol='<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/blinkarrow_left.gif','width="5" height="9"').' class="c-blinkArrowL" alt="" />';
01578 } else {
01579 $arrCol='';
01580 }
01581
01582 $out.='<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/ol/join'.($c==$cc?'bottom':'').'.gif','width="18" height="16"').' alt="" />'.
01583 $arrCol.
01584 '<a href="#" onclick="return link_typo3Page(\''.$expPageId.'\',\'#'.$row['uid'].'\');">'.
01585 $icon.
01586 htmlspecialchars(t3lib_div::fixed_lgd_cs($row['header'],$titleLen)).
01587 '</a><br />';
01588
01589
01590 if (t3lib_div::inList('text,textpic', $row['CType'])) {
01591 $split = preg_split('/(<a[^>]+name=[\'"]?([^"\'>[:space:]]+)[\'"]?[^>]*>)/i', $row['bodytext'], -1, PREG_SPLIT_DELIM_CAPTURE);
01592
01593 foreach($split as $skey => $sval) {
01594 if (($skey%3)==2) {
01595 // Putting list element HTML together:
01596 $sval = substr($sval,0,100);
01597 $out.='<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/ol/line.gif','width="18" height="16"').' alt="" />'.
01598 '<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/ol/join'.($skey+3>count($split)?'bottom':'').'.gif','width="18" height="16"').' alt="" />'.
01599 '<a href="#" onclick="return link_typo3Page(\''.$expPageId.'\',\'#'.rawurlencode($sval).'\');">'.
01600 htmlspecialchars(' <A> '.$sval).
01601 '</a><br />';
01602 }
01603 }
01604 }
01605 }
01606 }
01607 return $out;
01608 }
01609
01616 function TBE_expandPage($tables) {
01617 global $TCA,$BE_USER, $BACK_PATH;
01618
01619 $out='';
01620 if ($this->expandPage>=0 && t3lib_div::testInt($this->expandPage) && $BE_USER->isInWebMount($this->expandPage)) {
01621
01622 // Set array with table names to list:
01623 if (!strcmp(trim($tables),'*')) {
01624 $tablesArr = array_keys($TCA);
01625 } else {
01626 $tablesArr = t3lib_div::trimExplode(',',$tables,1);
01627 }
01628 reset($tablesArr);
01629
01630 // Headline for selecting records:
01631 $out.=$this->barheader($GLOBALS['LANG']->getLL('selectRecords').':');
01632
01633 // Create the header, showing the current page for which the listing is. Includes link to the page itself, if pages are amount allowed tables.
01634 $titleLen=intval($GLOBALS['BE_USER']->uc['titleLen']);
01635 $mainPageRec = t3lib_BEfunc::getRecordWSOL('pages',$this->expandPage);
01636 $ATag='';
01637 $ATag_e='';
01638 $ATag2='';
01639 if (in_array('pages',$tablesArr)) {
01640 $ficon=t3lib_iconWorks::getIcon('pages',$mainPageRec);
01641 $ATag="<a href=\"#\" onclick=\"return insertElement('pages', '".$mainPageRec['uid']."', 'db', ".t3lib_div::quoteJSvalue($mainPageRec['title']).", '', '', '".$ficon."','',1);\">";
01642 $ATag2="<a href=\"#\" onclick=\"return insertElement('pages', '".$mainPageRec['uid']."', 'db', ".t3lib_div::quoteJSvalue($mainPageRec['title']).", '', '', '".$ficon."','',0);\">";
01643 $ATag_alt=substr($ATag,0,-4).",'',1);\">";
01644 $ATag_e='</a>';
01645 }
01646 $picon=t3lib_iconWorks::getIconImage('pages',$mainPageRec,$BACK_PATH,'');
01647 $pBicon=$ATag2?'<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/plusbullet2.gif','width="18" height="16"').' alt="" />':'';
01648 $pText=htmlspecialchars(t3lib_div::fixed_lgd_cs($mainPageRec['title'],$titleLen));
01649 $out.=$picon.$ATag2.$pBicon.$ATag_e.$ATag.$pText.$ATag_e.'<br />';
01650
01651
01652 $id = $this->expandPage;
01653 $pointer = t3lib_div::intInRange($this->pointer,0,100000);
01654 $perms_clause = $GLOBALS['BE_USER']->getPagePermsClause(1);
01655 $pageinfo = t3lib_BEfunc::readPageAccess($id,$perms_clause);
01656 $table='';
01657
01658
01659 $dblist = t3lib_div::makeInstance('TBE_browser_recordList');
01660 $dblist->thisScript=$this->thisScript;
01661 $dblist->backPath = $GLOBALS['BACK_PATH'];
01662 $dblist->thumbs = 0;
01663 $dblist->calcPerms = $GLOBALS['BE_USER']->calcPerms($pageinfo);
01664 $dblist->noControlPanels=1;
01665 $dblist->clickMenuEnabled=0;
01666 $dblist->tableList=implode(',',$tablesArr);
01667
01668 $dblist->start($id,t3lib_div::_GP('table'),$pointer,
01669 t3lib_div::_GP('search_field'),
01670 t3lib_div::_GP('search_levels'),
01671 t3lib_div::_GP('showLimit')
01672 );
01673 $dblist->setDispFields();
01674 $dblist->generateList();
01675 $dblist->writeBottom();
01676
01677
01678 $out.=$dblist->HTMLcode;
01679 $out.=$dblist->getSearchBox();
01680 }
01681
01682
01683 return $out;
01684 }
01685
01686
01687
01688
01689
01690
01691
01692
01693
01694
01695
01696
01697
01698
01699
01700
01701
01709 function expandFolder($expandFolder=0,$extensionList='') {
01710 global $BACK_PATH;
01711
01712 $expandFolder = $expandFolder ? $expandFolder : $this->expandFolder;
01713 $out='';
01714 if ($expandFolder && $this->checkFolder($expandFolder)) {
01715
01716
01717 $out.=$this->barheader($GLOBALS['LANG']->getLL('files').':');
01718
01719
01720 if (!$this->curUrlInfo['value']) {
01721 $cmpPath='';
01722 } else {
01723 $cmpPath=PATH_site.$this->curUrlInfo['info'];
01724 }
01725
01726
01727
01728 $titleLen=intval($GLOBALS['BE_USER']->uc['titleLen']);
01729 $picon='<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/i/_icon_webfolders.gif','width="18" height="16"').' alt="" />';
01730 $picon.=htmlspecialchars(t3lib_div::fixed_lgd_cs(basename($expandFolder),$titleLen));
01731 $picon='<a href="#" onclick="return link_folder(\''.t3lib_div::rawUrlEncodeFP(substr($expandFolder,strlen(PATH_site))).'\');">'.$picon.'</a>';
01732 $out.=$picon.'<br />';
01733
01734
01735 $files = t3lib_div::getFilesInDir($expandFolder,$extensionList,1,1);
01736 $c=0;
01737 $cc=count($files);
01738
01739 if (is_array($files)) {
01740 foreach($files as $filepath) {
01741 $c++;
01742 $fI=pathinfo($filepath);
01743
01744
01745 $icon = t3lib_BEfunc::getFileIcon(strtolower($fI['extension']));
01746
01747
01748 if ($this->curUrlInfo['act']=="file" && $cmpPath==$filepath) {
01749 $arrCol='<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/blinkarrow_left.gif','width="5" height="9"').' class="c-blinkArrowL" alt="" />';
01750 } else {
01751 $arrCol='';
01752 }
01753
01754
01755 $size=' ('.t3lib_div::formatSize(filesize($filepath)).'bytes)';
01756 $icon = '<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/fileicons/'.$icon.'','width="18" height="16"').' title="'.htmlspecialchars($fI['basename'].$size).'" alt="" />';
01757
01758
01759 $out.='<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/ol/join'.($c==$cc?'bottom':'').'.gif','width="18" height="16"').' alt="" />'.
01760 $arrCol.
01761 '<a href="#" onclick="return link_folder(\''.t3lib_div::rawUrlEncodeFP(substr($filepath,strlen(PATH_site))).'\');">'.
01762 $icon.
01763 htmlspecialchars(t3lib_div::fixed_lgd_cs(basename($filepath),$titleLen)).
01764 '</a><br />';
01765 }
01766 }
01767 }
01768 return $out;
01769 }
01770
01779 function TBE_expandFolder($expandFolder=0,$extensionList='',$noThumbs=0) {
01780 global $LANG;
01781
01782 $expandFolder = $expandFolder ? $expandFolder : $this->expandFolder;
01783 $out='';
01784 if ($expandFolder && $this->checkFolder($expandFolder)) {
01785
01786 $files = t3lib_div::getFilesInDir($expandFolder,$extensionList,1,1);
01787 $out.= $this->fileList($files, $expandFolder, $noThumbs);
01788 }
01789
01790
01791 return $out;
01792 }
01793
01802 function fileList($files, $folderName='', $noThumbs=0) {
01803 global $LANG, $BACK_PATH;
01804
01805 $out='';
01806
01807
01808 if (is_array($files)) {
01809
01810
01811 $out.=$this->barheader(sprintf($GLOBALS['LANG']->getLL('files').' (%s):',count($files)));
01812
01813 $titleLen=intval($GLOBALS['BE_USER']->uc['titleLen']);
01814
01815
01816 if($folderName) {
01817 $picon='<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/i/_icon_webfolders.gif','width="18" height="16"').' alt="" />';
01818 $picon.=htmlspecialchars(t3lib_div::fixed_lgd_cs(basename($folderName),$titleLen));
01819 $out.=$picon.'<br />';
01820 }
01821
01822
01823 $imgObj = t3lib_div::makeInstance('t3lib_stdGraphic');
01824 $imgObj->init();
01825 $imgObj->mayScaleUp=0;
01826 $imgObj->tempPath=PATH_site.$imgObj->tempPath;
01827
01828
01829 $lines=array();
01830 foreach($files as $filepath) {
01831 $fI=pathinfo($filepath);
01832
01833
01834 if (t3lib_div::inList($GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'],$fI['extension']) && !$noThumbs) {
01835 $imgInfo = $imgObj->getImageDimensions($filepath);
01836 $pDim = $imgInfo[0].'x'.$imgInfo[1].' pixels';
01837 $clickIcon = t3lib_BEfunc::getThumbNail($BACK_PATH.'thumbs.php',$filepath,'hspace="5" vspace="5" border="1"');
01838 } else {
01839 $clickIcon = '';
01840 $pDim = '';
01841 }
01842
01843
01844 $ficon = t3lib_BEfunc::getFileIcon(strtolower($fI['extension']));
01845 $size=' ('.t3lib_div::formatSize(filesize($filepath)).'bytes'.($pDim?', '.$pDim:'').')';
01846 $icon = '<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/fileicons/'.$ficon,'width="18" height="16"').' title="'.htmlspecialchars($fI['basename'].$size).'" class="absmiddle" alt="" />';
01847
01848
01849 if (strstr($filepath,',') || strstr($filepath,'|')) {
01850 $eMsg = $LANG->JScharCode(sprintf($LANG->getLL('invalidChar'),', |'));
01851 $ATag = $ATag_alt = "<a href=\"#\" onclick=\"alert(".$eMsg.");return false;\">";
01852 } else {
01853 $ATag = "<a href=\"#\" onclick=\"return insertElement('','".t3lib_div::shortMD5($filepath)."', 'file', '".rawurlencode($fI['basename'])."', unescape('".rawurlencode($filepath)."'), '".$fI['extension']."', '".$ficon."');\">";
01854 $ATag_alt = substr($ATag,0,-4).",'',1);\">";
01855 }
01856 $ATag_e='</a>';
01857
01858
01859 $Ahref = $BACK_PATH.'show_item.php?table='.rawurlencode($filepath).'&returnUrl='.rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'));
01860 $ATag2='<a href="'.htmlspecialchars($Ahref).'">';
01861 $ATag2_e='</a>';
01862
01863
01864 $filenameAndIcon=$ATag_alt.$icon.htmlspecialchars(t3lib_div::fixed_lgd_cs(basename($filepath),$titleLen)).$ATag_e;
01865
01866
01867 if ($pDim) {
01868 $lines[]='
01869 <tr class="bgColor4">
01870 <td nowrap="nowrap">'.$filenameAndIcon.' </td>
01871 <td>'.$ATag.'<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/plusbullet2.gif','width="18" height="16"').' title="'.$LANG->getLL('addToList',1).'" alt="" />'.$ATag_e.'</td>
01872 <td nowrap="nowrap">'.($ATag2.'<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/zoom2.gif','width="12" height="12"').' title="'.$LANG->getLL('info',1).'" alt="" /> '.$LANG->getLL('info',1).$ATag2_e).'</td>
01873 <td nowrap="nowrap"> '.$pDim.'</td>
01874 </tr>';
01875 $lines[]='
01876 <tr>
01877 <td colspan="4">'.$ATag_alt.$clickIcon.$ATag_e.'</td>
01878 </tr>';
01879 } else {
01880 $lines[]='
01881 <tr class="bgColor4">
01882 <td nowrap="nowrap">'.$filenameAndIcon.' </td>
01883 <td>'.$ATag.'<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/plusbullet2.gif','width="18" height="16"').' title="'.$LANG->getLL('addToList',1).'" alt="" />'.$ATag_e.'</td>
01884 <td nowrap="nowrap">'.($ATag2.'<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/zoom2.gif','width="12" height="12"').' title="'.$LANG->getLL('info',1).'" alt="" /> '.$LANG->getLL('info',1).$ATag2_e).'</td>
01885 <td> </td>
01886 </tr>';
01887 }
01888 $lines[]='
01889 <tr>
01890 <td colspan="3"><img src="clear.gif" width="1" height="3" alt="" /></td>
01891 </tr>';
01892 }
01893
01894
01895 $out.='
01896
01897
01898
01899 <!--
01900 File listing
01901 -->
01902 <table border="0" cellpadding="0" cellspacing="1" id="typo3-fileList">
01903 '.implode('',$lines).'
01904 </table>';
01905 }
01906
01907
01908 return $out;
01909 }
01910
01919 function TBE_dragNDrop($expandFolder=0,$extensionList='') {
01920 global $BACK_PATH;
01921
01922 $expandFolder = $expandFolder ? $expandFolder : $this->expandFolder;
01923 $out='';
01924 if ($expandFolder && $this->checkFolder($expandFolder)) {
01925 if ($this->isWebFolder($expandFolder)) {
01926
01927
01928 $files = t3lib_div::getFilesInDir($expandFolder,$extensionList,1,1);
01929 if (is_array($files)) {
01930 $out.=$this->barheader(sprintf($GLOBALS['LANG']->getLL('files').' (%s):',count($files)));
01931
01932 $titleLen=intval($GLOBALS['BE_USER']->uc['titleLen']);
01933 $picon='<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/i/_icon_webfolders.gif','width="18" height="16"').' alt="" />';
01934 $picon.=htmlspecialchars(t3lib_div::fixed_lgd_cs(basename($expandFolder),$titleLen));
01935 $out.=$picon.'<br />';
01936
01937
01938 $lines=array();
01939
01940
01941 $lines[]='
01942 <tr>
01943 <td colspan="2">'.$this->getMsgBox($GLOBALS['LANG']->getLL('findDragDrop')).'</td>
01944 </tr>';
01945
01946
01947 while(list(,$filepath)=each($files)) {
01948 $fI=pathinfo($filepath);
01949
01950
01951 $iurl = $this->siteURL.t3lib_div::rawurlencodeFP(substr($filepath,strlen(PATH_site)));
01952
01953
01954 if (t3lib_div::inList('gif,jpeg,jpg,png',$fI['extension'])) {
01955 $imgInfo = @getimagesize($filepath);
01956 $pDim = $imgInfo[0].'x'.$imgInfo[1].' pixels';
01957
01958 $ficon = t3lib_BEfunc::getFileIcon(strtolower($fI['extension']));
01959 $size=' ('.t3lib_div::formatSize(filesize($filepath)).'bytes'.($pDim?', '.$pDim:'').')';
01960 $icon = '<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/fileicons/'.$ficon,'width="18" height="16"').' class="absmiddle" title="'.htmlspecialchars($fI['basename'].$size).'" alt="" />';
01961 $filenameAndIcon=$icon.htmlspecialchars(t3lib_div::fixed_lgd_cs(basename($filepath),$titleLen));
01962
01963 if (t3lib_div::_GP('noLimit')) {
01964 $maxW=10000;
01965 $maxH=10000;
01966 } else {
01967 $maxW=380;
01968 $maxH=500;
01969 }
01970 $IW = $imgInfo[0];
01971 $IH = $imgInfo[1];
01972 if ($IW>$maxW) {
01973 $IH=ceil($IH/$IW*$maxW);
01974 $IW=$maxW;
01975 }
01976 if ($IH>$maxH) {
01977 $IW=ceil($IW/$IH*$maxH);
01978 $IH=$maxH;
01979 }
01980
01981
01982 $lines[]='
01983 <tr class="bgColor4">
01984 <td nowrap="nowrap">'.$filenameAndIcon.' </td>
01985 <td nowrap="nowrap">'.
01986 ($imgInfo[0]!=$IW ? '<a href="'.htmlspecialchars(t3lib_div::linkThisScript(array('noLimit'=>'1'))).'">'.
01987 '<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/icon_warning2.gif','width="18" height="16"').' title="'.$GLOBALS['LANG']->getLL('clickToRedrawFullSize',1).'" alt="" />'.
01988 '</a>':'').
01989 $pDim.' </td>
01990 </tr>';
01991
01992 $lines[]='
01993 <tr>
01994 <td colspan="2"><img src="'.$iurl.'" width="'.$IW.'" height="'.$IH.'" border="1" alt="" /></td>
01995 </tr>';
01996 $lines[]='
01997 <tr>
01998 <td colspan="2"><img src="clear.gif" width="1" height="3" alt="" /></td>
01999 </tr>';
02000 }
02001 }
02002
02003
02004 $out.='
02005
02006
02007 <!--
02008 File listing / Drag-n-drop
02009 -->
02010 <table border="0" cellpadding="0" cellspacing="1" id="typo3-dragBox">
02011 '.implode('',$lines).'
02012 </table>';
02013 }
02014 } else {
02015
02016 $out.=$this->barheader($GLOBALS['LANG']->getLL('files'));
02017 $out.=$this->getMsgBox($GLOBALS['LANG']->getLL('noWebFolder'),'icon_warning2');
02018 }
02019 }
02020 return $out;
02021 }
02022
02023
02024
02025
02026
02027
02028
02029
02030
02031
02032
02033
02034
02035
02036
02037
02038
02039
02040
02047 function isWebFolder($folder) {
02048 $folder = ereg_replace('\/$','',$folder).'/';
02049 return t3lib_div::isFirstPartOfStr($folder,PATH_site) ? TRUE : FALSE;
02050 }
02051
02058 function checkFolder($folder) {
02059 $fileProcessor = t3lib_div::makeInstance('t3lib_basicFileFunctions');
02060 $fileProcessor->init($GLOBALS['FILEMOUNTS'], $GLOBALS['TYPO3_CONF_VARS']['BE']['fileExtensions']);
02061
02062 return $fileProcessor->checkPathAgainstMounts(ereg_replace('\/$','',$folder).'/') ? TRUE : FALSE;
02063 }
02064
02071 function barheader($str) {
02072 return '
02073
02074 <!--
02075 Bar header:
02076 -->
02077 <h3 class="bgColor5">'.htmlspecialchars($str).'</h3>
02078 ';
02079 }
02080
02088 function getMsgBox($in_msg,$icon='icon_note') {
02089 global $BACK_PATH;
02090
02091 $msg = '<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/'.$icon.'.gif','width="18" height="16"').' alt="" />'.htmlspecialchars($in_msg);
02092 $msg = '
02093
02094 <!--
02095 Message box:
02096 -->
02097 <table cellspacing="0" class="bgColor4" id="typo3-msgBox">
02098 <tr>
02099 <td>'.$msg.'</td>
02100 </tr>
02101 </table>
02102 ';
02103 return $msg;
02104 }
02105
02112 function printCurrentUrl($str) {
02113 return '
02114
02115 <!--
02116 Print current URL
02117 -->
02118 <table border="0" cellpadding="0" cellspacing="0" class="bgColor5" id="typo3-curUrl">
02119 <tr>
02120 <td>'.$GLOBALS['LANG']->getLL('currentLink',1).': '.htmlspecialchars(rawurldecode($str)).'</td>
02121 </tr>
02122 </table>';
02123 }
02124
02132 function parseCurUrl($href,$siteUrl) {
02133 $href = trim($href);
02134 if ($href) {
02135 $info=array();
02136
02137
02138 $info['value']=$href;
02139 $info['act']='url';
02140
02141 $specialParts = explode('#_SPECIAL',$href);
02142 if (count($specialParts)==2) {
02143 $info['value']='#_SPECIAL'.$specialParts[1];
02144 $info['act']='spec';
02145 } elseif (t3lib_div::isFirstPartOfStr($href,$siteUrl)) {
02146 $rel = substr($href,strlen($siteUrl));
02147 if (@file_exists(PATH_site.rawurldecode($rel))) {
02148 $info['value']=rawurldecode($rel);
02149 $info['act']='file';
02150 } else {
02151 $uP=parse_url($rel);
02152 if (!trim($uP['path'])) {
02153 $pp = explode('id=',$uP['query']);
02154 $id = $pp[1];
02155 if ($id) {
02156
02157 if (!t3lib_div::testInt($id)) {
02158 list($idPartR) = t3lib_BEfunc::getRecordsByField('pages','alias',$id);
02159 $id=intval($idPartR['uid']);
02160 }
02161
02162 $pageRow = t3lib_BEfunc::getRecordWSOL('pages',$id);
02163 $titleLen=intval($GLOBALS['BE_USER']->uc['titleLen']);
02164 $info['value']=$GLOBALS['LANG']->getLL('page',1)." '".htmlspecialchars(t3lib_div::fixed_lgd_cs($pageRow['title'],$titleLen))."' (ID:".$id.($uP['fragment']?', #'.$uP['fragment']:'').')';
02165 $info['pageid']=$id;
02166 $info['cElement']=$uP['fragment'];
02167 $info['act']='page';
02168 }
02169 }
02170 }
02171 } else {
02172 if (strtolower(substr($href,0,7))=='mailto:') {
02173 $info['value']=trim(substr($href,7));
02174 $info['act']='mail';
02175 }
02176 }
02177 $info['info'] = $info['value'];
02178 } else {
02179 $info=array();
02180 $info['info']=$GLOBALS['LANG']->getLL('none');
02181 $info['value']='';
02182 $info['act']='page';
02183 }
02184 return $info;
02185 }
02186
02194 function uploadForm($path) {
02195 global $BACK_PATH;
02196 $count=3;
02197
02198
02199 $header = t3lib_div::isFirstPartOfStr($path,PATH_site)?substr($path,strlen(PATH_site)):$path;
02200 $code=$this->barheader($GLOBALS['LANG']->getLL('uploadImage').':');
02201 $code.='
02202
02203 <!--
02204 Form, for uploading files:
02205 -->
02206 <form action="'.$BACK_PATH.'tce_file.php" method="post" name="editform" enctype="'.$GLOBALS['TYPO3_CONF_VARS']['SYS']['form_enctype'].'">
02207 <table border="0" cellpadding="0" cellspacing="3" id="typo3-uplFiles">
02208 <tr>
02209 <td><strong>'.$GLOBALS['LANG']->getLL('path',1).':</strong> '.htmlspecialchars($header).'</td>
02210 </tr>
02211 <tr>
02212 <td>';
02213
02214
02215 for ($a=1;$a<=$count;$a++) {
02216 $code.='<input type="file" name="upload_'.$a.'"'.$this->doc->formWidth(35).' size="50" />
02217 <input type="hidden" name="file[upload]['.$a.'][target]" value="'.htmlspecialchars($path).'" />
02218 <input type="hidden" name="file[upload]['.$a.'][data]" value="'.$a.'" /><br />';
02219 }
02220
02221
02222 $redirectValue = $this->thisScript.'?act='.$this->act.'&mode='.$this->mode.'&expandFolder='.rawurlencode($path).'&bparams='.rawurlencode($this->bparams);
02223 $code.='<input type="hidden" name="redirect" value="'.htmlspecialchars($redirectValue).'" />'.
02224 '<input type="submit" name="submit" value="'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:file_upload.php.submit',1).'" />';
02225
02226 $code.='
02227 <div id="c-override">
02228 <input type="checkbox" name="overwriteExistingFiles" value="1" /> '.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_misc.xml:overwriteExistingFiles',1).'
02229 </div>
02230 ';
02231
02232
02233 $code.='</td>
02234 </tr>
02235 </table>
02236 </form>';
02237
02238 return $code;
02239 }
02240
02248 function createFolder($path) {
02249 global $BACK_PATH;
02250
02251 $header = t3lib_div::isFirstPartOfStr($path,PATH_site)?substr($path,strlen(PATH_site)):$path;
02252 $code=$this->barheader($GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:file_newfolder.php.pagetitle').':');
02253 $code.='
02254
02255 <!--
02256 Form, for creating new folders:
02257 -->
02258 <form action="'.$BACK_PATH.'tce_file.php" method="post" name="editform2">
02259 <table border="0" cellpadding="0" cellspacing="3" id="typo3-crFolder">
02260 <tr>
02261 <td><strong>'.$GLOBALS['LANG']->getLL('path',1).':</strong> '.htmlspecialchars($header).'</td>
02262 </tr>
02263 <tr>
02264 <td>';
02265
02266
02267 $a=1;
02268 $code.='<input'.$this->doc->formWidth(20).' type="text" name="file[newfolder]['.$a.'][data]" />'.
02269 '<input type="hidden" name="file[newfolder]['.$a.'][target]" value="'.htmlspecialchars($path).'" />';
02270
02271
02272 $redirectValue = $this->thisScript.'?act='.$this->act.'&mode='.$this->mode.'&expandFolder='.rawurlencode($path).'&bparams='.rawurlencode($this->bparams);
02273 $code.='<input type="hidden" name="redirect" value="'.htmlspecialchars($redirectValue).'" />'.
02274 '<input type="submit" name="submit" value="'.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:file_newfolder.php.submit',1).'" />';
02275
02276 $code.='</td>
02277 </tr>
02278 </table>
02279 </form>';
02280
02281 return $code;
02282 }
02283 }
02284
02285
02286 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/class.browse_links.php']) {
02287 include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/class.browse_links.php']);
02288 }
02289
02290
02291 ?>