Public Member Functions | |
| init () | |
| Constructor: Initializes a lot of variables, setting JavaScript functions in header etc. | |
| main () | |
| Main function, detecting the current mode of the element browser and branching out to internal methods. | |
| printContent () | |
| Print module content. | |
| main_rte ($wiz=0) | |
| Rich Text Editor (RTE) link selector (MAIN function) Generates the link selector for the Rich Text Editor. | |
| main_db () | |
| TYPO3 Element Browser: Showing a page tree and allows you to browse for records. | |
| main_file () | |
| TYPO3 Element Browser: Showing a folder tree, allowing you to browse for files. | |
| expandPage () | |
| For RTE: This displays all content elements on a page and lets you create a link to the element. | |
Public Attributes | |
| $siteURL | |
| $thisConfig | |
| $setTarget | |
| $doc | |
| $mode | |
| The mode determines the main kind of output from the element browser. | |
| $act | |
| Link selector action. | |
| $expandPage | |
| When you click a page title/expand icon to see the content of a certain page, this value will contain that value (the ID of the expanded page). | |
| $expandFolder | |
| When you click a folder name/expand icon to see the content of a certain file folder, this value will contain that value (the path of the expanded file folder). | |
| $P | |
| TYPO3 Element Browser, wizard mode parameters. | |
| $bparams | |
| Active with TYPO3 Element Browser: Contains the name of the form field for which this window opens - thus allows us to make references back to the main window in which the form is. | |
| $RTEtsConfigParams | |
| Used with the Rich Text Editor. | |
| $PM | |
| Plus/Minus icon value. | |
| $pointer | |
| Pointer, used when browsing a long list of records etc. | |
| $curUrlArray | |
| Used with the link selector: Contains the GET input information about the CURRENT link in the RTE/TCEform field. | |
| $curUrlInfo | |
| Used with the link selector: Contains a processed version of the input values from curUrlInfo. | |
|
|
For RTE: This displays all content elements on a page and lets you create a link to the element.
For RTE: This displays all files from folder. No thumbnails shown
For TYPO3 Element Browser: Expand folder of files.
Render list of files.
For RTE: This displays all IMAGES (gif,png,jpg) (from extensionList) from folder. Thumbnails are shown for images. This listing is of images located in the web-accessible paths ONLY - the listing is for drag-n-drop use in the RTE
Verifies that a path is a web-folder:
Checks, if a path is within the mountpoints of the backend user
Prints a 'header' where string is in a tablecell
Displays a message box with the input message
For RTE/link: This prints the 'currentUrl'
For RTE/link: Parses the incoming URL and determines if it's a page, file, external or mail address.
Definition at line 1489 of file browse_links.php. References $LANG, $out, t3lib_BEfunc::getFileIcon(), t3lib_iconWorks::getIconImage(), t3lib_BEfunc::getRecord(), t3lib_BEfunc::getRecordsByField(), t3lib_BEfunc::getThumbNail(), header(), PATH_site, t3lib_BEfunc::readPageAccess(), siteUrl(), and table(). |
|
|
Constructor: Initializes a lot of variables, setting JavaScript functions in header etc.
Definition at line 729 of file browse_links.php. References debug(), RTEsetup(), and table(). 00729 {
00730 global $BE_USER,$BACK_PATH;
00731
00732 // Main GPvars:
00733 $this->pointer = t3lib_div::_GP('pointer');
00734 $this->bparams = t3lib_div::_GP('bparams');
00735 $this->P = t3lib_div::_GP('P');
00736 $this->RTEtsConfigParams = t3lib_div::_GP('RTEtsConfigParams');
00737 $this->expandPage = t3lib_div::_GP('expandPage');
00738 $this->expandFolder = t3lib_div::_GP('expandFolder');
00739 $this->PM = t3lib_div::_GP('PM');
00740
00741 // Find "mode"
00742 $this->mode=t3lib_div::_GP('mode');
00743 if (!$this->mode) {
00744 $this->mode='rte';
00745 }
00746
00747 // Site URL
00748 $this->siteURL = t3lib_div::getIndpEnv('TYPO3_SITE_URL'); // Current site url
00749
00750 // CurrentUrl - the current link url must be passed around if it exists
00751 if ($this->mode=='wizard') {
00752 $currentLinkParts = t3lib_div::trimExplode(' ',$this->P['currentValue']);
00753 $this->curUrlArray = array(
00754 'target' => $currentLinkParts[1]
00755 );
00756 $this->curUrlInfo=$this->parseCurUrl($this->siteURL.'?id='.$currentLinkParts[0],$this->siteURL);
00757 } else {
00758 $this->curUrlArray = t3lib_div::_GP('curUrl');
00759 if ($this->curUrlArray['all']) {
00760 $this->curUrlArray=t3lib_div::get_tag_attributes($this->curUrlArray['all']);
00761 }
00762 $this->curUrlInfo=$this->parseCurUrl($this->curUrlArray['href'],$this->siteURL);
00763 }
00764
00765 // Determine nature of current url:
00766 $this->act=t3lib_div::_GP('act');
00767 if (!$this->act) {
00768 $this->act=$this->curUrlInfo['act'];
00769 }
00770
00771 // Rich Text Editor specific configuration:
00772 $addPassOnParams='';
00773 if ((string)$this->mode=='rte') {
00774 $RTEtsConfigParts = explode(':',$this->RTEtsConfigParams);
00775 $addPassOnParams.='&RTEtsConfigParams='.rawurlencode($this->RTEtsConfigParams);
00776 $RTEsetup = $GLOBALS['BE_USER']->getTSConfig('RTE',t3lib_BEfunc::getPagesTSconfig($RTEtsConfigParts[5]));
00777 $this->thisConfig = t3lib_BEfunc::RTEsetup($RTEsetup['properties'],$RTEtsConfigParts[0],$RTEtsConfigParts[2],$RTEtsConfigParts[4]);
00778 }
00779
00780 // Initializing the target value (RTE)
00781 $this->setTarget = $this->curUrlArray['target'];
00782 if ($this->thisConfig['defaultLinkTarget'] && !isset($this->curUrlArray['target'])) {
00783 $this->setTarget=$this->thisConfig['defaultLinkTarget'];
00784 }
00785
00786
00787
00788 // Creating backend template object:
00789 $this->doc = t3lib_div::makeInstance('template');
00790 $this->doc->docType= 'xhtml_trans';
00791 $this->doc->backPath = $BACK_PATH;
00792
00793 // BEGIN accumulation of header JavaScript:
00794 $JScode = '';
00795 $JScode.= '
00796 // This JavaScript is primarily for RTE/Link. jumpToUrl is used in the other cases as well...
00797 var add_href="'.($this->curUrlArray['href']?'&curUrl[href]='.rawurlencode($this->curUrlArray['href']):'').'";
00798 var add_target="'.($this->setTarget?'&curUrl[target]='.rawurlencode($this->setTarget):'').'";
00799 var add_params="'.($this->bparams?'&bparams='.rawurlencode($this->bparams):'').'";
00800
00801 var cur_href="'.($this->curUrlArray['href']?$this->curUrlArray['href']:'').'";
00802 var cur_target="'.($this->setTarget?$this->setTarget:'').'";
00803
00804 function setTarget(target) { //
00805 cur_target=target;
00806 add_target="&curUrl[target]="+escape(target);
00807 }
00808 function setValue(value) { //
00809 cur_href=value;
00810 add_href="&curUrl[href]="+value;
00811 }
00812 ';
00813
00814
00815 if ($this->mode=='wizard') { // Functions used, if the link selector is in wizard mode (= TCEforms fields)
00816 unset($this->P['fieldChangeFunc']['alert']);
00817 reset($this->P['fieldChangeFunc']);
00818 $update='';
00819 while(list($k,$v)=each($this->P['fieldChangeFunc'])) {
00820 $update.= '
00821 window.opener.'.$v;
00822 }
00823
00824 $P2=array();
00825 $P2['itemName']=$this->P['itemName'];
00826 $P2['formName']=$this->P['formName'];
00827 $P2['fieldChangeFunc']=$this->P['fieldChangeFunc'];
00828 $addPassOnParams.=t3lib_div::implodeArrayForUrl('P',$P2);
00829
00830 $JScode.='
00831 function link_typo3Page(id,anchor) { //
00832 updateValueInMainForm(id+(anchor?anchor:"")+" "+cur_target);
00833 close();
00834 return false;
00835 }
00836 function link_folder(folder) { //
00837 updateValueInMainForm(folder+" "+cur_target);
00838 close();
00839 return false;
00840 }
00841 function link_current() { //
00842 if (cur_href!="http://" && cur_href!="mailto:") {
00843 var setValue = cur_href+" "+cur_target;
00844 if (setValue.substr(0,7)=="http://") setValue = setValue.substr(7);
00845 if (setValue.substr(0,7)=="mailto:") setValue = setValue.substr(7);
00846 updateValueInMainForm(setValue);
00847 close();
00848 }
00849 return false;
00850 }
00851 function checkReference() { //
00852 if (window.opener && window.opener.document && window.opener.document.'.$this->P['formName'].' && window.opener.document.'.$this->P['formName'].'["'.$this->P['itemName'].'"] ) {
00853 return window.opener.document.'.$this->P['formName'].'["'.$this->P['itemName'].'"];
00854 } else {
00855 close();
00856 }
00857 }
00858 function updateValueInMainForm(input) { //
00859 var field = checkReference();
00860 if (field) {
00861 field.value = input;
00862 '.$update.'
00863 }
00864 }
00865 ';
00866 } else { // Functions used, if the link selector is in RTE mode:
00867 $JScode.='
00868 function link_typo3Page(id,anchor) { //
00869 var theLink = \''.$this->siteURL.'?id=\'+id+(anchor?anchor:"");
00870 self.parent.parent.renderPopup_addLink(theLink,cur_target);
00871 return false;
00872 }
00873 function link_folder(folder) { //
00874 var theLink = \''.$this->siteURL.'\'+folder;
00875 self.parent.parent.renderPopup_addLink(theLink,cur_target);
00876 return false;
00877 }
00878 function link_spec(theLink) { //
00879 self.parent.parent.renderPopup_addLink(theLink,cur_target);
00880 return false;
00881 }
00882 function link_current() { //
00883 if (cur_href!="http://" && cur_href!="mailto:") {
00884 self.parent.parent.renderPopup_addLink(cur_href,cur_target);
00885 }
00886 return false;
00887 }
00888 ';
00889 }
00890
00891 // General "jumpToUrl" function:
00892 $JScode.='
00893 function jumpToUrl(URL,anchor) { //
00894 var add_act = URL.indexOf("act=")==-1 ? "&act='.$this->act.'" : "";
00895 var add_mode = URL.indexOf("mode=")==-1 ? "&mode='.$this->mode.'" : "";
00896 var theLocation = URL+add_act+add_mode+add_href+add_target+add_params'.($addPassOnParams?'+"'.$addPassOnParams.'"':'').'+(anchor?anchor:"");
00897 document.location = theLocation;
00898 return false;
00899 }
00900 ';
00901
00902
00903 // This is JavaScript especially for the TBE Element Browser!
00904 $pArr = explode('|',$this->bparams);
00905 $formFieldName = 'data['.$pArr[0].']['.$pArr[1].']['.$pArr[2].']';
00906 $JScode.='
00907 var elRef="";
00908 var targetDoc="";
00909
00910 function launchView(url) { //
00911 var thePreviewWindow="";
00912 thePreviewWindow = window.open("show_item.php?table="+url,"ShowItem","height=300,width=410,status=0,menubar=0,resizable=0,location=0,directories=0,scrollbars=1,toolbar=0");
00913 if (thePreviewWindow && thePreviewWindow.focus) {
00914 thePreviewWindow.focus();
00915 }
00916 }
00917 function setReferences() { //
00918 if (parent.window.opener
00919 && parent.window.opener.content
00920 && parent.window.opener.content.document.editform
00921 && parent.window.opener.content.document.editform["'.$formFieldName.'"]
00922 ) {
00923 targetDoc = parent.window.opener.content.document;
00924 elRef = targetDoc.editform["'.$formFieldName.'"];
00925 return true;
00926 } else {
00927 return false;
00928 }
00929 }
00930 function insertElement(table, uid, type, filename,fp,filetype,imagefile,action, close) { //
00931 if (1=='.($pArr[0]&&!$pArr[1]&&!$pArr[2] ? 1 : 0).') {
00932 addElement(filename,table+"_"+uid,fp,close);
00933 } else {
00934 if (setReferences()) {
00935 parent.window.opener.group_change("add","'.$pArr[0].'","'.$pArr[1].'","'.$pArr[2].'",elRef,targetDoc);
00936 } else {
00937 alert("Error - reference to main window is not set properly!");
00938 }
00939 if (close) {
00940 parent.window.opener.focus();
00941 parent.close();
00942 }
00943 }
00944 return false;
00945 }
00946 function addElement(elName,elValue,altElValue,close) { //
00947 if (parent.window.opener && parent.window.opener.setFormValueFromBrowseWin) {
00948 parent.window.opener.setFormValueFromBrowseWin("'.$pArr[0].'",altElValue?altElValue:elValue,elName);
00949 if (close) {
00950 parent.window.opener.focus();
00951 parent.close();
00952 }
00953 } else {
00954 alert("Error - reference to main window is not set properly!");
00955 parent.close();
00956 }
00957 }
00958 ';
00959
00960 // Finally, add the accumulated JavaScript to the template object:
00961 $this->doc->JScode = $this->doc->wrapScriptTags($JScode);
00962
00963 // Debugging:
00964 if (FALSE) debug(array(
00965 'pointer' => $this->pointer,
00966 'act' => $this->act,
00967 'mode' => $this->mode,
00968 'curUrlInfo' => $this->curUrlInfo,
00969 'curUrlArray' => $this->curUrlArray,
00970 'P' => $this->P,
00971 'bparams' => $this->bparams,
00972 'RTEtsConfigParams' => $this->RTEtsConfigParams,
00973 'expandPage' => $this->expandPage,
00974 'expandFolder' => $this->expandFolder,
00975 'PM' => $this->PM,
00976 ),'Internal variables of Script Class:');
00977 }
|
|
|
Main function, detecting the current mode of the element browser and branching out to internal methods.
Definition at line 984 of file browse_links.php. 00984 {
00985 global $BE_USER;
00986
00987 $modData = $BE_USER->getModuleData('browse_links.php','ses');
00988
00989 // Output the correct content according to $this->mode
00990 switch((string)$this->mode) {
00991 case 'rte':
00992 $this->content=$this->main_rte();
00993 break;
00994 case 'db':
00995 if (isset($this->expandPage)) {
00996 $modData['expandPage']=$this->expandPage;
00997 $BE_USER->pushModuleData('browse_links.php',$modData);
00998 } else {
00999 $this->expandPage=$modData['expandPage'];
01000 }
01001
01002 $this->content=$this->main_db();
01003 break;
01004 case 'file':
01005 case 'filedrag':
01006 if (isset($this->expandFolder)) {
01007 $modData['expandFolder']=$this->expandFolder;
01008 $BE_USER->pushModuleData('browse_links.php',$modData);
01009 } else {
01010 $this->expandFolder=$modData['expandFolder'];
01011 }
01012
01013 $this->content=$this->main_file();
01014 break;
01015 case 'wizard':
01016 $this->content=$this->main_rte(1);
01017 break;
01018 }
01019 }
|
|
|
TYPO3 Element Browser: Showing a page tree and allows you to browse for records.
Definition at line 1336 of file browse_links.php. References $content, and table(). 01336 {
01337
01338 // Starting content:
01339 $content=$this->doc->startPage('TBE file selector');
01340
01341 // Init variable:
01342 $pArr = explode('|',$this->bparams);
01343
01344 // Making the browsable pagetree:
01345 $pagetree = t3lib_div::makeInstance('TBE_PageTree');
01346 $pagetree->script='browse_links.php';
01347 $pagetree->ext_pArrPages = !strcmp($pArr[3],'pages')?1:0;
01348 $tree=$pagetree->getBrowsableTree();
01349
01350 // Making the list of elements, if applicable:
01351 $cElements = $this->TBE_expandPage($pArr[3]);
01352
01353 // Putting the things together, side by side:
01354 $content.= '
01355
01356 <!--
01357 Wrapper table for page tree / record list:
01358 -->
01359 <table border="0" cellpadding="0" cellspacing="0" id="typo3-EBrecords">
01360 <tr>
01361 <td class="c-wCell" valign="top">'.$this->barheader($GLOBALS['LANG']->getLL('pageTree').':').$tree.'</td>
01362 <td class="c-wCell" valign="top">'.$cElements.'</td>
01363 </tr>
01364 </table>
01365 ';
01366
01367 // Add some space
01368 $content.='<br /><br />';
01369
01370 // End page, return content:
01371 $content.= $this->doc->endPage();
01372 return $content;
01373 }
|
|
|
TYPO3 Element Browser: Showing a folder tree, allowing you to browse for files.
Definition at line 1380 of file browse_links.php. References $content, t3lib_BEfunc::getFuncCheck(), t3lib_BEfunc::getModuleData(), and table(). 01380 {
01381 global $BE_USER;
01382
01383 // Starting content:
01384 $content.=$this->doc->startPage('TBE file selector');
01385
01386 // Init variable:
01387 $pArr = explode('|',$this->bparams);
01388
01389 // Create upload/create folder forms, if a path is given:
01390 $fileProcessor = t3lib_div::makeInstance('t3lib_basicFileFunctions');
01391 $fileProcessor->init($GLOBALS['FILEMOUNTS'], $GLOBALS['TYPO3_CONF_VARS']['BE']['fileExtensions']);
01392 $path=$this->expandFolder;
01393 if (!$path || !@is_dir($path)) {
01394 $path = $fileProcessor->findTempFolder().'/'; // The closest TEMP-path is found
01395 }
01396 if ($path!='/' && @is_dir($path)) {
01397 $uploadForm=$this->uploadForm($path);
01398 $createFolder=$this->createFolder($path);
01399 } else {
01400 $createFolder='';
01401 $uploadForm='';
01402 }
01403 if ($BE_USER->getTSConfigVal('options.uploadFieldsInTopOfEB')) $content.=$uploadForm;
01404
01405 // Getting flag for showing/not showing thumbnails:
01406 $noThumbs = $GLOBALS['BE_USER']->getTSConfigVal('options.noThumbsInEB');
01407
01408 if (!$noThumbs) {
01409 // MENU-ITEMS, fetching the setting for thumbnails from File>List module:
01410 $_MOD_MENU = array('displayThumbs' => '');
01411 $_MCONF['name']='file_list';
01412 $_MOD_SETTINGS = t3lib_BEfunc::getModuleData($_MOD_MENU, t3lib_div::_GP('SET'), $_MCONF['name']);
01413 $addParams = '&act='.$this->act.'&mode='.$this->mode.'&expandFolder='.rawurlencode($path).'&bparams='.rawurlencode($this->bparams);
01414 $thumbNailCheck = t3lib_BEfunc::getFuncCheck('','SET[displayThumbs]',$_MOD_SETTINGS['displayThumbs'],'browse_links.php',$addParams).' '.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_file_list.php:displayThumbs',1);
01415 } else {
01416 $thumbNailCheck='';
01417 }
01418 $noThumbs = $noThumbs?$noThumbs:!$_MOD_SETTINGS['displayThumbs'];
01419
01420 // Create folder tree:
01421 $foldertree = t3lib_div::makeInstance('TBE_FolderTree');
01422 $foldertree->script='browse_links.php';
01423 $foldertree->ext_noTempRecyclerDirs = ($this->mode == 'filedrag');
01424 $tree=$foldertree->getBrowsableTree();
01425
01426 list(,,$specUid) = explode('_',$this->PM);
01427
01428 if ($this->mode=='filedrag') {
01429 $files = $this->TBE_dragNDrop($foldertree->specUIDmap[$specUid],$pArr[3]);
01430 } else {
01431 $files = $this->TBE_expandFolder($foldertree->specUIDmap[$specUid],$pArr[3],$noThumbs);
01432 }
01433
01434 // Putting the parts together, side by side:
01435 $content.= '
01436
01437 <!--
01438 Wrapper table for folder tree / file list:
01439 -->
01440 <table border="0" cellpadding="0" cellspacing="0" id="typo3-EBfiles">
01441 <tr>
01442 <td class="c-wCell" valign="top">'.$this->barheader($GLOBALS['LANG']->getLL('folderTree').':').$tree.'</td>
01443 <td class="c-wCell" valign="top">'.$files.'</td>
01444 </tr>
01445 </table>
01446 ';
01447 $content.=$thumbNailCheck;
01448
01449 // Adding create folder + upload forms if applicable:
01450 if (!$BE_USER->getTSConfigVal('options.uploadFieldsInTopOfEB')) $content.=$uploadForm;
01451 if ($BE_USER->isAdmin() || $BE_USER->getTSConfigVal('options.createFoldersInEB')) $content.=$createFolder;
01452
01453 // Add some space
01454 $content.='<br /><br />';
01455
01456 // Ending page, returning content:
01457 $content.= $this->doc->endPage();
01458 return $content;
01459 }
|
|
|
Rich Text Editor (RTE) link selector (MAIN function) Generates the link selector for the Rich Text Editor. Can also be used to select links for the TCEforms (see $wiz)
Definition at line 1057 of file browse_links.php. References $content, $LANG, menu(), PATH_site, and table(). 01057 {
01058 global $LANG;
01059
01060 // Starting content:
01061 $content=$this->doc->startPage('RTE link');
01062
01063 // Initializing the action value, possibly removing blinded values etc:
01064 $allowedItems = array_diff(explode(',','page,file,url,mail,spec'),t3lib_div::trimExplode(',',$this->thisConfig['blindLinkOptions'],1));
01065 reset($allowedItems);
01066 if (!in_array($this->act,$allowedItems)) $this->act = current($allowedItems);
01067
01068 // Making menu in top:
01069 $menuDef = array();
01070 if (!$wiz) {
01071 $menuDef['removeLink']['isActive'] = $this->act=='removeLink';
01072 $menuDef['removeLink']['label'] = $LANG->getLL('removeLink',1);
01073 $menuDef['removeLink']['url'] = '#';
01074 $menuDef['removeLink']['addParams'] = 'onclick="self.parent.parent.renderPopup_unLink();return false;"';
01075 }
01076 if (in_array('page',$allowedItems)) {
01077 $menuDef['page']['isActive'] = $this->act=='page';
01078 $menuDef['page']['label'] = $LANG->getLL('page',1);
01079 $menuDef['page']['url'] = '#';
01080 $menuDef['page']['addParams'] = 'onclick="jumpToUrl(\'?act=page\');return false;"';
01081 }
01082 if (in_array('file',$allowedItems)){
01083 $menuDef['file']['isActive'] = $this->act=='file';
01084 $menuDef['file']['label'] = $LANG->getLL('file',1);
01085 $menuDef['file']['url'] = '#';
01086 $menuDef['file']['addParams'] = 'onclick="jumpToUrl(\'?act=file\');return false;"';
01087 }
01088 if (in_array('url',$allowedItems)) {
01089 $menuDef['url']['isActive'] = $this->act=='url';
01090 $menuDef['url']['label'] = $LANG->getLL('extUrl',1);
01091 $menuDef['url']['url'] = '#';
01092 $menuDef['url']['addParams'] = 'onclick="jumpToUrl(\'?act=url\');return false;"';
01093 }
01094 if (in_array('mail',$allowedItems)) {
01095 $menuDef['mail']['isActive'] = $this->act=='mail';
01096 $menuDef['mail']['label'] = $LANG->getLL('email',1);
01097 $menuDef['mail']['url'] = '#';
01098 $menuDef['mail']['addParams'] = 'onclick="jumpToUrl(\'?act=mail\');return false;"';
01099 }
01100 if (is_array($this->thisConfig['userLinks.']) && in_array('spec',$allowedItems)) {
01101 $menuDef['spec']['isActive'] = $this->act=='spec';
01102 $menuDef['spec']['label'] = $LANG->getLL('special',1);
01103 $menuDef['spec']['url'] = '#';
01104 $menuDef['spec']['addParams'] = 'onclick="jumpToUrl(\'?act=spec\');return false;"';
01105 }
01106 $content .= $this->doc->getTabMenuRaw($menuDef);
01107
01108 // Adding the menu and header to the top of page:
01109 $content.=$this->printCurrentUrl($this->curUrlInfo['info']).'<br />';
01110
01111
01112 // Depending on the current action we will create the actual module content for selecting a link:
01113 switch($this->act) {
01114 case 'mail':
01115 $extUrl='
01116
01117 <!--
01118 Enter mail address:
01119 -->
01120 <form action="" name="lurlform" id="lurlform">
01121 <table border="0" cellpadding="2" cellspacing="1" id="typo3-linkMail">
01122 <tr>
01123 <td>'.$GLOBALS['LANG']->getLL('emailAddress',1).':</td>
01124 <td><input type="text" name="lemail"'.$this->doc->formWidth(20).' value="'.htmlspecialchars($this->curUrlInfo['act']=='mail'?$this->curUrlInfo['info']:'').'" /> '.
01125 '<input type="submit" value="'.$GLOBALS['LANG']->getLL('setLink',1).'" onclick="setTarget(\'\');setValue(\'mailto:\'+document.lurlform.lemail.value); return link_current();" /></td>
01126 </tr>
01127 </table>
01128 </form>';
01129 $content.=$extUrl;
01130 break;
01131 case 'url':
01132 $extUrl='
01133
01134 <!--
01135 Enter External URL:
01136 -->
01137 <form action="" name="lurlform" id="lurlform">
01138 <table border="0" cellpadding="2" cellspacing="1" id="typo3-linkURL">
01139 <tr>
01140 <td>URL:</td>
01141 <td><input type="text" name="lurl"'.$this->doc->formWidth(20).' value="'.htmlspecialchars($this->curUrlInfo['act']=='url'?$this->curUrlInfo['info']:'http://').'" /> '.
01142 '<input type="submit" value="'.$GLOBALS['LANG']->getLL('setLink',1).'" onclick="setValue(document.lurlform.lurl.value); return link_current();" /></td>
01143 </tr>
01144 </table>
01145 </form>';
01146 $content.=$extUrl;
01147 break;
01148 case 'file':
01149 $foldertree = t3lib_div::makeInstance('rteFolderTree');
01150 $tree=$foldertree->getBrowsableTree();
01151
01152 if (!$this->curUrlInfo['value'] || $this->curUrlInfo['act']!='file') {
01153 $cmpPath='';
01154 } elseif (substr(trim($this->curUrlInfo['info']),-1)!='/') {
01155 $cmpPath=PATH_site.dirname($this->curUrlInfo['info']).'/';
01156 if (!isset($this->expandFolder)) $this->expandFolder = $cmpPath;
01157 } else {
01158 $cmpPath=PATH_site.$this->curUrlInfo['info'];
01159 }
01160
01161 list(,,$specUid) = explode('_',$this->PM);
01162 $files = $this->expandFolder($foldertree->specUIDmap[$specUid]);
01163
01164 $content.= '
01165
01166 <!--
01167 Wrapper table for folder tree / file list:
01168 -->
01169 <table border="0" cellpadding="0" cellspacing="0" id="typo3-linkFiles">
01170 <tr>
01171 <td class="c-wCell" valign="top">'.$this->barheader($GLOBALS['LANG']->getLL('folderTree').':').$tree.'</td>
01172 <td class="c-wCell" valign="top">'.$files.'</td>
01173 </tr>
01174 </table>
01175 ';
01176 break;
01177 case 'spec':
01178 if (is_array($this->thisConfig['userLinks.'])) {
01179 $subcats=array();
01180 $v=$this->thisConfig['userLinks.'];
01181 reset($v);
01182 while(list($k2)=each($v)) {
01183 $k2i = intval($k2);
01184 if (substr($k2,-1)=='.' && is_array($v[$k2i.'.'])) {
01185
01186 // Title:
01187 $title = trim($v[$k2i]);
01188 if (!$title) {
01189 $title=$v[$k2i.'.']['url'];
01190 } else {
01191 $title=$LANG->sL($title);
01192 }
01193 // Description:
01194 $description=$v[$k2i.'.']['description'] ? $LANG->sL($v[$k2i.'.']['description'],1).'<br />' : '';
01195
01196 // URL + onclick event:
01197 $onClickEvent='';
01198 if (isset($v[$k2i.'.']['target'])) $onClickEvent.="setTarget('".$v[$k2i.'.']['target']."');";
01199 $v[$k2i.'.']['url'] = str_replace('###_URL###',$this->siteURL,$v[$k2i.'.']['url']);
01200 if (substr($v[$k2i.'.']['url'],0,7)=="http://" || substr($v[$k2i.'.']['url'],0,7)=='mailto:') {
01201 $onClickEvent.="cur_href=unescape('".rawurlencode($v[$k2i.'.']['url'])."');link_current();";
01202 } else {
01203 $onClickEvent.="link_spec(unescape('".$this->siteURL.rawurlencode($v[$k2i.'.']['url'])."'));";
01204 }
01205
01206 // Link:
01207 $A=array('<a href="#" onclick="'.htmlspecialchars($onClickEvent).'return false;">','</a>');
01208
01209 // Adding link to menu of user defined links:
01210 $subcats[$k2i]='
01211 <tr>
01212 <td class="bgColor4">'.$A[0].'<strong>'.htmlspecialchars($title).($this->curUrlInfo['info']==$v[$k2i.'.']['url']?'<img'.t3lib_iconWorks::skinImg('','gfx/blinkarrow_right.gif','width="5" height="9"').' class="c-blinkArrowR" alt="" />':'').'</strong><br />'.$description.$A[1].'</td>
01213 </tr>';
01214 }
01215 }
01216
01217 // Sort by keys:
01218 ksort($subcats);
01219
01220 // Add menu to content:
01221 $content.= '
01222
01223 <!--
01224 Special userdefined menu:
01225 -->
01226 <table border="0" cellpadding="1" cellspacing="1" id="typo3-linkSpecial">
01227 <tr>
01228 <td class="bgColor5" class="c-wCell" valign="top"><strong>'.$LANG->getLL('special',1).'</strong></td>
01229 </tr>
01230 '.implode('',$subcats).'
01231 </table>
01232 ';
01233 }
01234 break;
01235 case 'page':
01236 default:
01237 $pagetree = t3lib_div::makeInstance('rtePageTree');
01238 $tree=$pagetree->getBrowsableTree();
01239 $cElements = $this->expandPage();
01240 $content.= '
01241
01242 <!--
01243 Wrapper table for page tree / record list:
01244 -->
01245 <table border="0" cellpadding="0" cellspacing="0" id="typo3-linkPages">
01246 <tr>
01247 <td class="c-wCell" valign="top">'.$this->barheader($GLOBALS['LANG']->getLL('pageTree').':').$tree.'</td>
01248 <td class="c-wCell" valign="top">'.$cElements.'</td>
01249 </tr>
01250 </table>
01251 ';
01252 break;
01253 }
01254
01255 // Target:
01256 if ($this->act!='mail') {
01257 $ltarget='
01258
01259
01260 <!--
01261 Selecting target for link:
01262 -->
01263 <form action="" name="ltargetform" id="ltargetform">
01264 <table border="0" cellpadding="2" cellspacing="1" id="typo3-linkTarget">
01265 <tr>
01266 <td>'.$GLOBALS['LANG']->getLL('target',1).':</td>
01267 <td><input type="text" name="ltarget" onchange="setTarget(this.value);" value="'.htmlspecialchars($this->setTarget).'"'.$this->doc->formWidth(10).' /></td>
01268 <td>
01269 <select name="ltarget_type" onchange="setTarget(this.options[this.selectedIndex].value);document.ltargetform.ltarget.value=this.options[this.selectedIndex].value;this.selectedIndex=0;">
01270 <option></option>
01271 <option value="_top">'.$GLOBALS['LANG']->getLL('top',1).'</option>
01272 <option value="_blank">'.$GLOBALS['LANG']->getLL('newWindow',1).'</option>
01273 </select>
01274 </td>
01275 <td>';
01276
01277 if (($this->curUrlInfo['act']=="page" || $this->curUrlInfo['act']=='file') && $this->curUrlArray['href']) {
01278 $ltarget.='
01279 <input type="submit" value="'.$GLOBALS['LANG']->getLL('update',1).'" onclick="return link_current();" />';
01280 }
01281
01282 $selectJS = '
01283 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) {
01284 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;
01285 setTarget(document.ltargetform.ltarget.value);
01286 document.ltargetform.popup_width.selectedIndex=0;
01287 document.ltargetform.popup_height.selectedIndex=0;
01288 }
01289 ';
01290
01291 $ltarget.=' </td>
01292 </tr>
01293 <tr>
01294 <td>'.$GLOBALS['LANG']->getLL('target_popUpWindow',1).':</td>
01295 <td colspan="3">
01296 <select name="popup_width" onchange="'.htmlspecialchars($selectJS).'">
01297 <option value="0">'.$GLOBALS['LANG']->getLL('target_popUpWindow_width',1).'</option>
01298 <option value="300">300</option>
01299 <option value="400">400</option>
01300 <option value="500">500</option>
01301 <option value="600">600</option>
01302 <option value="700">700</option>
01303 <option value="800">800</option>
01304 </select>
01305 x
01306 <select name="popup_height" onchange="'.htmlspecialchars($selectJS).'">
01307 <option value="0">'.$GLOBALS['LANG']->getLL('target_popUpWindow_height',1).'</option>
01308 <option value="200">200</option>
01309 <option value="300">300</option>
01310 <option value="400">400</option>
01311 <option value="500">500</option>
01312 <option value="600">600</option>
01313 </select>
01314 </td>
01315 </tr>
01316 </table>
01317 </form>';
01318
01319 // Add "target selector" box to content:
01320 $content.=$ltarget;
01321
01322 // Add some space
01323 $content.='<br /><br />';
01324 }
01325
01326 // End page, return content:
01327 $content.= $this->doc->endPage();
01328 return $content;
01329 }
|
|
|
Print module content.
Definition at line 1026 of file browse_links.php. 01026 {
01027 echo $this->content;
01028 }
|
|
|
Link selector action. page,file,url,mail,spec are allowed values. These are only important with the link selector function and in that case they switch between the various menu options. Definition at line 662 of file browse_links.php. |
|
|
Active with TYPO3 Element Browser: Contains the name of the form field for which this window opens - thus allows us to make references back to the main window in which the form is. Example value: "data[pages][39][bodytext]|||tt_content|" or "data[tt_content][NEW3fba56fde763d][image]|||gif,jpg,jpeg,tif,bmp,pcx,tga,png,pdf,ai|" Definition at line 685 of file browse_links.php. |
|
|
Used with the link selector: Contains the GET input information about the CURRENT link in the RTE/TCEform field. This consists of "href" and "target" keys. This information is passed around in links. Definition at line 712 of file browse_links.php. |
|
|
Used with the link selector: Contains a processed version of the input values from curUrlInfo. This is splitted into pageid, content element id, label value etc. This is used for the internal processing of that information. Definition at line 717 of file browse_links.php. |
|
|
Definition at line 642 of file browse_links.php. |
|
|
When you click a folder name/expand icon to see the content of a certain file folder, this value will contain that value (the path of the expanded file folder). If the value is NOT set, then it will be restored from the module session data (see main(), mode="file"/"filedrag"). Example value: "/www/htdocs/typo3/32/3dsplm/fileadmin/css/" Definition at line 672 of file browse_links.php. |
|
|
When you click a page title/expand icon to see the content of a certain page, this value will contain that value (the ID of the expanded page). If the value is NOT set, then it will be restored from the module session data (see main(), mode="db") Definition at line 667 of file browse_links.php. |
|
|
The mode determines the main kind of output from the element browser. There are these options for values: rte, db, file, filedrag, wizard. "rte" will show the link selector for the Rich Text Editor (see main_rte()) "db" will allow you to browse for pages or records in the page tree (for TCEforms, see main_db()) "file"/"filedrag" will allow you to browse for files or folders in the folder mounts (for TCEforms, main_file()) "wizard" will allow you to browse for links (like "rte") which are passed back to TCEforms (see main_rte(1))
Definition at line 655 of file browse_links.php. |
|
|
TYPO3 Element Browser, wizard mode parameters. There is a heap of parameters there, better debug() them out if you need something... :-) Definition at line 679 of file browse_links.php. |
|
|
Plus/Minus icon value. Used by the tree class to open/close notes on the trees. Definition at line 699 of file browse_links.php. |
|
|
Pointer, used when browsing a long list of records etc.
Definition at line 704 of file browse_links.php. |
|
|
Used with the Rich Text Editor. Example value: "tt_content:NEW3fba58c969f5c:bodytext:23:text:23:" Definition at line 691 of file browse_links.php. |
|
|
Definition at line 641 of file browse_links.php. |
|
|
Definition at line 639 of file browse_links.php. |
|
|
Definition at line 640 of file browse_links.php. |
1.3.8-20040913