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
00031 require_once(PATH_t3lib."class.t3lib_extobjbase.php");
00032
00033 class tx_tstemplateobjbrowser extends t3lib_extobjbase {
00034 function modMenu() {
00035 global $LANG;
00036
00037 $modMenu = array (
00038 "ts_browser_type" => array(
00039 "setup" => "Setup",
00040 "const" => "Constants"
00041 ),
00042 "ts_browser_toplevel_setup" => array(
00043 "0" => "ALL"
00044 ),
00045 "ts_browser_toplevel_const" => array(
00046 "0" => "ALL"
00047 ),
00048 "ts_browser_const" => array(
00049 "0" => "Plain substitution (default)",
00050 "subst" => "Substituted constants in green",
00051 "const" => "UN-substituted constants in green"
00052 ),
00053 "ts_browser_regexsearch" => "",
00054 "ts_browser_fixedLgd" => "1",
00055 "ts_browser_linkObjects" => "1",
00056 'ts_browser_alphaSort' => '1',
00057 );
00058
00059 foreach(array('setup','const') as $bType) {
00060 $addKey = t3lib_div::_GET('addKey');
00061 if (is_array($addKey)) {
00062 reset($addKey);
00063 if (current($addKey)) {
00064 $this->pObj->MOD_SETTINGS['ts_browser_TLKeys_'.$bType][key($addKey)] = key($addKey);
00065 } else {
00066 unset($this->pObj->MOD_SETTINGS['ts_browser_TLKeys_'.$bType][key($addKey)]);
00067 }
00068 $GLOBALS['BE_USER']->pushModuleData($this->pObj->MCONF['name'],$this->pObj->MOD_SETTINGS);
00069 }
00070
00071 if (count($this->pObj->MOD_SETTINGS['ts_browser_TLKeys_'.$bType])) {
00072 $modMenu['ts_browser_toplevel_'.$bType]['-']='---';
00073 $modMenu['ts_browser_toplevel_'.$bType] = $modMenu['ts_browser_toplevel_'.$bType] + $this->pObj->MOD_SETTINGS['ts_browser_TLKeys_'.$bType];
00074 }
00075 }
00076
00077 return $modMenu;
00078 }
00079
00088 function verify_TSobjects($propertyArray,$parentType,$parentValue) {
00089 $TSobjTable = array(
00090 "PAGE" => array(
00091 "prop" => array (
00092 "typeNum" => "int",
00093 "1,2,3" => "COBJ",
00094 "bodyTag" => "string"
00095 )
00096 ),
00097 "TEXT" => array(
00098 "prop" => array (
00099 "value" => "string"
00100 )
00101 ),
00102 "HTML" => array(
00103 "prop" => array (
00104 "value" => "stdWrap"
00105 )
00106 ),
00107 "stdWrap" => array(
00108 "prop" => array (
00109 "field" => "string",
00110 "current" => "boolean"
00111 )
00112 ),
00113 );
00114 $TSobjDataTypes = array(
00115 "COBJ" => "TEXT,CONTENT",
00116 "PAGE" => "PAGE",
00117 "stdWrap" => ""
00118 );
00119
00120 if ($parentType) {
00121 if (isset($TSobjDataTypes[$parentType]) && (!$TSobjDataTypes[$parentType] || t3lib_div::inlist($TSobjDataTypes[$parentType],$parentValue))) {
00122 $ObjectKind = $parentValue;
00123 } else {
00124 $ObjectKind = "";
00125 }
00126 } else {
00127 $ObjectKind = $parentValue;
00128 }
00129
00130 if ($ObjectKind && is_array($TSobjTable[$ObjectKind])) {
00131 $result=array();
00132 if (is_array($propertyArray)) {
00133 reset($propertyArray);
00134 while(list($key,$val)=each($propertyArray)) {
00135 if (t3lib_div::testInt($key)) {
00136 $result[$key]=$TSobjTable[$ObjectKind]["prop"]["1,2,3"];
00137 } else {
00138 $result[$key]=$TSobjTable[$ObjectKind]["prop"][$key];
00139 }
00140 }
00141 }
00142 return $result;
00143 }
00144 }
00145
00153 function initialize_editor($pageId,$template_uid=0) {
00154
00155 global $tmpl,$tplRow,$theConstants;
00156
00157 $tmpl = t3lib_div::makeInstance("t3lib_tsparser_ext");
00158 $tmpl->tt_track = 0;
00159 $tmpl->init();
00160
00161
00162 $sys_page = t3lib_div::makeInstance("t3lib_pageSelect");
00163 $rootLine = $sys_page->getRootLine($pageId);
00164 $tmpl->runThroughTemplates($rootLine,$template_uid);
00165
00166 $tplRow = $tmpl->ext_getFirstTemplate($pageId,$template_uid);
00167 if (is_array($tplRow)) {
00168 return 1;
00169 }
00170 }
00171
00177 function main() {
00178 global $SOBE,$BE_USER,$LANG,$BACK_PATH,$TCA_DESCR,$TCA,$CLIENT,$TYPO3_CONF_VARS;
00179 global $tmpl,$tplRow,$theConstants;
00180
00181 $POST = t3lib_div::_POST();
00182
00183
00184
00185
00186 $manyTemplatesMenu = $this->pObj->templateMenu();
00187 $template_uid = 0;
00188 if ($manyTemplatesMenu) {
00189 $template_uid = $this->pObj->MOD_SETTINGS["templatesOnPage"];
00190 }
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201 $bType= $this->pObj->MOD_SETTINGS["ts_browser_type"];
00202 $existTemplate = $this->initialize_editor($this->pObj->id,$template_uid);
00203 if ($existTemplate) {
00204 $theOutput.=$this->pObj->doc->divider(5);
00205 $theOutput.=$this->pObj->doc->section("Current template:",'<img src="'.$BACK_PATH.t3lib_iconWorks::getIcon("sys_template",$tplRow).'" width=18 height=16 align=top><b>'.$this->pObj->linkWrapTemplateTitle($tplRow["title"], ($bType=="setup"?"config":"constants")).'</b>'.htmlspecialchars(trim($tplRow["sitetitle"])?' - ('.$tplRow["sitetitle"].')':''),0,0);
00206 if ($manyTemplatesMenu) {
00207 $theOutput.=$this->pObj->doc->section("",$manyTemplatesMenu);
00208 $theOutput.=$this->pObj->doc->divider(5);
00209 }
00210
00211 if ($POST["add_property"] || $POST["update_value"] || $POST["clear_object"]) {
00212
00213 $line="";
00214
00215 if (is_array($POST["data"])) {
00216 if ($POST["add_property"]) {
00217 reset($POST["data"]);
00218 $name = key($POST["data"]);
00219 $property = trim($POST["data"][$name]["name"]);
00220 if (ereg_replace("[^a-zA-Z0-9_\.]*","",$property)!=$property) {
00221 $theOutput.=$this->pObj->doc->spacer(10);
00222 $theOutput.=$this->pObj->doc->section($GLOBALS["TBE_TEMPLATE"]->rfw("BAD PROPERTY!"),'You must enter a property with characters a-z, A-Z and 0-9, no spaces!<BR>Nothing was updated!',0,0,0,1);
00223 } else {
00224 $pline= $name.".".$property." = ".trim($POST["data"][$name]["propertyValue"]);
00225 $theOutput.=$this->pObj->doc->spacer(10);
00226 $theOutput.=$this->pObj->doc->section($GLOBALS["TBE_TEMPLATE"]->rfw("PROPERTY ADDED"),htmlspecialchars($pline),0,0,0,1);
00227 $line.=chr(10).$pline;
00228 }
00229 }
00230 if ($POST["update_value"]) {
00231 reset($POST["data"]);
00232 $name = key($POST["data"]);
00233 $pline= $name." = ".trim($POST["data"][$name]["value"]);
00234 $theOutput.=$this->pObj->doc->spacer(10);
00235 $theOutput.=$this->pObj->doc->section($GLOBALS["TBE_TEMPLATE"]->rfw("VALUE UPDATED"),htmlspecialchars($pline),0,0,0,1);
00236 $line.=chr(10).$pline;
00237 }
00238 if ($POST["clear_object"]) {
00239 reset($POST["data"]);
00240 $name = key($POST["data"]);
00241 if ($POST["data"][$name]["clearValue"]) {
00242 $pline= $name." >";
00243 $theOutput.=$this->pObj->doc->spacer(10);
00244 $theOutput.=$this->pObj->doc->section($GLOBALS["TBE_TEMPLATE"]->rfw("Object cleared"),htmlspecialchars($pline),0,0,0,1);
00245 $line.=chr(10).$pline;
00246 }
00247 }
00248 }
00249 if ($line) {
00250 require_once (PATH_t3lib."class.t3lib_tcemain.php");
00251 $saveId = $tplRow['_ORIG_uid'] ? $tplRow['_ORIG_uid'] : $tplRow['uid'];
00252
00253 $recData=array();
00254 $field =$bType=="setup"?"config":"constants";
00255 $recData["sys_template"][$saveId][$field] = $tplRow[$field].$line;
00256
00257 $tce = t3lib_div::makeInstance("t3lib_TCEmain");
00258 $tce->stripslashes_values=0;
00259
00260 $tce->start($recData,Array());
00261
00262 $tce->process_datamap();
00263
00264 $tce->clear_cacheCmd("all");
00265
00266
00267 $this->initialize_editor($this->pObj->id,$template_uid);
00268 }
00269 }
00270 }
00271
00272 $tsbr = t3lib_div::_GET('tsbr');
00273 $update=0;
00274 if (is_array($tsbr)) {
00275 $this->pObj->MOD_SETTINGS["tsbrowser_depthKeys_".$bType] = $tmpl->ext_depthKeys($tsbr, $this->pObj->MOD_SETTINGS["tsbrowser_depthKeys_".$bType]);
00276 $update=1;
00277 }
00278
00279 if ($POST["Submit"]) {
00280 $this->pObj->MOD_SETTINGS["tsbrowser_conditions"] = $POST["conditions"];
00281 $update=1;
00282 }
00283 if ($update) { $GLOBALS["BE_USER"]->pushModuleData($this->pObj->MCONF["name"],$this->pObj->MOD_SETTINGS); }
00284
00285
00286 $tmpl->matchAlternative = $this->pObj->MOD_SETTINGS['tsbrowser_conditions'];
00287 $tmpl->matchAlternative[] = 'dummydummydummydummydummydummydummydummydummydummydummy';
00288
00289 $tmpl->constantMode = $this->pObj->MOD_SETTINGS["ts_browser_fixedLgd"] ? "" : $this->pObj->MOD_SETTINGS["ts_browser_const"];
00290 if ($this->pObj->sObj && $tmpl->constantMode) {$tmpl->constantMode = "untouched";}
00291
00292 $tmpl->regexMode = $this->pObj->MOD_SETTINGS["ts_browser_regexsearch"];
00293 $tmpl->fixedLgd=$this->pObj->MOD_SETTINGS["ts_browser_fixedLgd"];
00294 # $tmpl->linkObjects=$this->pObj->MOD_SETTINGS["ts_browser_linkObjects"];
00295 $tmpl->linkObjects = TRUE;
00296 $tmpl->ext_regLinenumbers = TRUE;
00297 $tmpl->bType=$bType;
00298 $tmpl->resourceCheck=1;
00299 $tmpl->uplPath = PATH_site.$tmpl->uplPath;
00300 $tmpl->removeFromGetFilePath = PATH_site;
00301
00302
00303 if ($this->pObj->MOD_SETTINGS["ts_browser_type"]=="const") {
00304 $tmpl->ext_constants_BRP=intval(t3lib_div::_GP("breakPointLN"));
00305 } else {
00306 $tmpl->ext_config_BRP=intval(t3lib_div::_GP("breakPointLN"));
00307 }
00308 $tmpl->generateConfig();
00309
00310 if ($bType=="setup") {
00311 $theSetup = $tmpl->setup;
00312 } else {
00313 $theSetup = $tmpl->setup_constants;
00314 }
00315
00316
00317 if ($this->pObj->sObj) {
00318 list($theSetup,$theSetupValue) = $tmpl->ext_getSetup($theSetup, ($this->pObj->sObj?$this->pObj->sObj:""));
00319 $theOutput.=$this->pObj->doc->divider(5);
00320 if ($existTemplate) {
00321
00322 $out="";
00323 $out=$this->pObj->sObj." =<BR>";
00324 $out.='<input type="Text" name="data['.$this->pObj->sObj.'][value]" value="'.htmlspecialchars($theSetupValue).'"'.$GLOBALS["TBE_TEMPLATE"]->formWidth(40).'>';
00325 $out.='<input type="Submit" name="update_value" value="Update">';
00326 $theOutput.=$this->pObj->doc->section("Edit object/property value:",$out,0,0);
00327
00328
00329 if (t3lib_extMgm::isLoaded("tsconfig_help")) {
00330 $url=$BACK_PATH."wizard_tsconfig.php?mode=tsref&onlyProperty=1";
00331 $params=array();
00332 $params["formName"]="editForm";
00333 $params["itemName"]="data[".$this->pObj->sObj."][name]";
00334 $params["itemValue"]="data[".$this->pObj->sObj."][propertyValue]";
00335 $TSicon='<a href="#" onClick="vHWin=window.open(\''.$url.t3lib_div::implodeArrayForUrl("",array("P"=>$params)).'\',\'popUp'.$md5ID.'\',\'height=500,width=780,status=0,menubar=0,scrollbars=1\');vHWin.focus();return false;"><img src="'.$BACK_PATH.'gfx/wizard_tsconfig_s.gif" width="22" height="16" border="0" class="absmiddle" hspace=2 title="TSref reference"></a>';
00336 } else $TSicon="";
00337 $out="";
00338 $out="<nobr>".$this->pObj->sObj.".";
00339 $out.='<input type="Text" name="data['.$this->pObj->sObj.'][name]"'.$GLOBALS["TBE_TEMPLATE"]->formWidth(20).'>'.$TSicon.' = </nobr><BR>';
00340 $out.='<input type="Text" name="data['.$this->pObj->sObj.'][propertyValue]"'.$GLOBALS["TBE_TEMPLATE"]->formWidth(40).'>';
00341 $out.='<input type="Submit" name="add_property" value="Add">';
00342
00343
00344
00345 $theOutput.=$this->pObj->doc->spacer(20);
00346 $theOutput.=$this->pObj->doc->section("Add object property:",$out,0,0);
00347
00348
00349 $out="";
00350 $out=$this->pObj->sObj." <b>CLEAR?</b> ";
00351 $out.='<input type="Checkbox" name="data['.$this->pObj->sObj.'][clearValue]" value="1">';
00352 $out.='<input type="Submit" name="clear_object" value="Clear">';
00353 $theOutput.=$this->pObj->doc->spacer(20);
00354 $theOutput.=$this->pObj->doc->section("Clear object:",$out,0,0);
00355
00356 $theOutput.=$this->pObj->doc->spacer(10);
00357 } else {
00358 $theOutput.=$this->pObj->doc->section("EDIT:",$GLOBALS["TBE_TEMPLATE"]->rfw("You cannot edit properties and values, if there's no current template."),0,0,0,1);
00359 }
00360
00361 $out='';
00362 if (!$this->pObj->MOD_SETTINGS['ts_browser_TLKeys_'.$bType][$this->pObj->sObj]) {
00363 if (count($theSetup)) {
00364 $out = '<a href="index.php?id='.$this->pObj->id.'&addKey['.$this->pObj->sObj.']=1&SET[ts_browser_toplevel_'.$bType.']='.rawurlencode($this->pObj->sObj).'"><b>Add key</b></a> "'.$this->pObj->sObj.'" to Object List (OL)';
00365 }
00366 } else {
00367 $out = '<a href="index.php?id='.$this->pObj->id.'&addKey['.$this->pObj->sObj.']=0&SET[ts_browser_toplevel_'.$bType.']=0"><b>Remove key</b></a> "'.$this->pObj->sObj.'" from Object List (OL)';
00368 }
00369 if ($out) {
00370 $theOutput.=$this->pObj->doc->divider(5);
00371 $theOutput.=$this->pObj->doc->section("",$out);
00372 }
00373
00374
00375 $out = "< Back";
00376 $out = '<a href="index.php?id='.$this->pObj->id.'"><b>'.$out.'</b></a>';
00377 $theOutput.=$this->pObj->doc->divider(5);
00378 $theOutput.=$this->pObj->doc->section("",$out);
00379
00380 } else {
00381 $tmpl->tsbrowser_depthKeys=$this->pObj->MOD_SETTINGS["tsbrowser_depthKeys_".$bType];
00382
00383
00384 if (t3lib_div::_POST('search') && t3lib_div::_POST('search_field')) {
00385 $tmpl->tsbrowser_depthKeys = $tmpl->ext_getSearchKeys($theSetup, '', t3lib_div::_POST('search_field'), array());
00386
00387
00388 }
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404
00405 $theOutput.=$this->pObj->doc->spacer(5);
00406 $theOutput.=$this->pObj->doc->section('Object tree:','',0,1);
00407
00408 $menu = 'Browse: '.t3lib_BEfunc::getFuncMenu($this->pObj->id,'SET[ts_browser_type]',$bType,$this->pObj->MOD_MENU['ts_browser_type']);
00409 $menu.= ' OL: '.t3lib_BEfunc::getFuncMenu($this->pObj->id,'SET[ts_browser_toplevel_'.$bType.']',$this->pObj->MOD_SETTINGS['ts_browser_toplevel_'.$bType],$this->pObj->MOD_MENU['ts_browser_toplevel_'.$bType]);
00410 $theOutput.=$this->pObj->doc->section('','<NOBR>'.$menu.'</NOBR>');
00411
00412
00413 $theKey=$this->pObj->MOD_SETTINGS["ts_browser_toplevel_".$bType];
00414 if (!$theKey || !str_replace("-","",$theKey)) {$theKey="";}
00415 list($theSetup,$theSetupValue) = $tmpl->ext_getSetup($theSetup, ($this->pObj->MOD_SETTINGS['ts_browser_toplevel_'.$bType]?$this->pObj->MOD_SETTINGS['ts_browser_toplevel_'.$bType]:''));
00416 $tree = $tmpl->ext_getObjTree($theSetup, $theKey, '', '', $theSetupValue, $this->pObj->MOD_SETTINGS['ts_browser_alphaSort']);
00417 $tree = $tmpl->substituteCMarkers($tree);
00418
00419
00420
00421
00422 $pEkey = ($bType=="setup"?"config":"constants");
00423 if (count($tmpl->parserErrors[$pEkey])) {
00424 reset($tmpl->parserErrors[$pEkey]);
00425 $errMsg=array();
00426 while(list(,$inf)=each($tmpl->parserErrors[$pEkey])) {
00427 $errMsg[]=($inf[1]).": ".$inf[0];
00428 }
00429 $theOutput.=$this->pObj->doc->spacer(10);
00430 $theOutput.=$this->pObj->doc->section($GLOBALS["TBE_TEMPLATE"]->rfw("Errors and warnings"),implode($errMsg,"<br>"),0,1,0,1);
00431 }
00432
00433
00434
00435 if (isset($this->pObj->MOD_SETTINGS["ts_browser_TLKeys_".$bType][$theKey])) {
00436 $remove='<td width="1%" nowrap><a href="index.php?id='.$this->pObj->id.'&addKey['.$theKey.']=0&SET[ts_browser_toplevel_'.$bType.']=0"><b>Remove key from OL</b></a></td>';
00437 } else {
00438 $remove='';
00439 }
00440 $label = $theKey ? $theKey : ($bType=="setup"?"SETUP ROOT":"CONSTANTS ROOT");
00441 $theOutput.=$this->pObj->doc->spacer(15);
00442 $theOutput.=$this->pObj->doc->sectionEnd();
00443 $theOutput.='<table border=0 cellpadding=1 cellspacing=0 id="typo3-objectBrowser">
00444 <tr>
00445 <td><img src=clear.gif width=4 height=1></td>
00446 <td class="bgColor2">
00447 <table border=0 cellpadding=0 cellspacing=0 class="bgColor5" width="100%"><tr><td nowrap width="99%"><b>'.$label.'</b></td>'.$remove.'</tr></table>
00448 </td>
00449 </tr>
00450 <tr>
00451 <td><img src=clear.gif width=4 height=1></td>
00452 <td class="bgColor2">
00453 <table border=0 cellpadding=0 cellspacing=0 class="bgColor4" width="100%"><tr><td nowrap>'.$tree.'</td></tr></table><img src=clear.gif width=465 height=1></td>
00454 </tr>
00455 </table>
00456 ';
00457
00458
00459
00460 if (is_array($tmpl->sections)) {
00461 $theOutput.=$this->pObj->doc->divider(15);
00462
00463 $out="";
00464 reset($tmpl->sections);
00465 while(list($key,$val)=each($tmpl->sections)) {
00466 $out.='<tr><td><input type="Checkbox" name="conditions['.$key.']" id="check'.$key.'" value="'.htmlspecialchars($val).'"'.($this->pObj->MOD_SETTINGS["tsbrowser_conditions"][$key]?" checked":"").'></td><td nowrap><label for="check'.$key.'">'.$tmpl->substituteCMarkers(htmlspecialchars($val)).'</label> </td></tr>';
00467 }
00468 $theOutput.='
00469 <table border=0 cellpadding=1 cellspacing=0>
00470 <tr>
00471 <td><img src=clear.gif width=4 height=1></td>
00472 <td class="bgColor2">
00473 <table border=0 cellpadding=0 cellspacing=0 class="bgColor4">'.$out.'
00474 <tr>
00475 <td> </td>
00476 <td><img src=clear.gif height=10 width=240><BR><input type="Submit" name="Submit" value="Set conditions"><BR></td>
00477 </tr>
00478 </table>
00479 </td>
00480 </tr>
00481 </table>
00482
00483 ';
00484 }
00485
00486
00487 $theOutput.='<br>
00488
00489 <table border=0 cellpadding=1 cellspacing=0>
00490 <tr>
00491 <td><img src=clear.gif width=4 height=1></td>
00492 <td class="bgColor2">
00493 <table border=0 cellpadding=0 cellspacing=0 class="bgColor4">
00494 <tr>
00495 <td> Enter search phrase: <input type="Text" name="search_field" value="'.htmlspecialchars($POST["search_field"]).'"'.$GLOBALS["TBE_TEMPLATE"]->formWidth(20).'></td>
00496 <td><input type="Submit" name="search" value="Search"></td>
00497 </tr>
00498 <tr>
00499 <td> <label for="checkTs_browser_regexsearch">Use ereg(), not stristr():</label> '.t3lib_BEfunc::getFuncCheck($this->pObj->id,"SET[ts_browser_regexsearch]",$this->pObj->MOD_SETTINGS["ts_browser_regexsearch"],'','','id="checkTs_browser_regexsearch"').'</td>
00500 <td> </td>
00501 </tr>
00502 </table>
00503 </td>
00504 </tr>
00505 </table>
00506 <br>
00507 ';
00508
00509
00510 $menu = '<label for="checkTs_browser_fixedLgd">Crop lines:</label> '.t3lib_BEfunc::getFuncCheck($this->pObj->id,"SET[ts_browser_fixedLgd]",$this->pObj->MOD_SETTINGS["ts_browser_fixedLgd"],'','','id="checkTs_browser_fixedLgd"');
00511 #$menu.= " Enable object links".t3lib_BEfunc::getFuncCheck($this->pObj->id,"SET[ts_browser_linkObjects]",$this->pObj->MOD_SETTINGS["ts_browser_linkObjects"]);
00512 $menu .= '<br /><label for="checkTs_browser_alphaSort">Sort alphabetically:</label> '.t3lib_BEfunc::getFuncCheck($this->pObj->id,'SET[ts_browser_alphaSort]',$this->pObj->MOD_SETTINGS['ts_browser_alphaSort'],'','','id="checkTs_browser_alphaSort"');
00513 if ($bType=="setup" && !$this->pObj->MOD_SETTINGS["ts_browser_fixedLgd"]) {
00514 $menu.= "<br />Constants display: ".t3lib_BEfunc::getFuncMenu($this->pObj->id,"SET[ts_browser_const]",$this->pObj->MOD_SETTINGS["ts_browser_const"],$this->pObj->MOD_MENU["ts_browser_const"]);
00515 }
00516 $theOutput.=$this->pObj->doc->section("",'<NOBR>'.$menu.'</NOBR>');
00517
00518 $theOutput.=$this->pObj->doc->spacer(10);
00519 $theOutput.=$this->pObj->doc->section("Cache",'Click here to <a href="index.php?id='.$this->pObj->id.'&clear_all_cache=1"><strong>clear all cache</strong></a>',0,1);
00520
00521 // Ending section:
00522 $theOutput.=$this->pObj->doc->sectionEnd();
00523 }
00524 return $theOutput;
00525 }
00526 }
00527
00528 if (defined("TYPO3_MODE") && $TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/tstemplate_objbrowser/class.tx_tstemplateobjbrowser.php"]) {
00529 include_once($TYPO3_CONF_VARS[TYPO3_MODE]["XCLASS"]["ext/tstemplate_objbrowser/class.tx_tstemplateobjbrowser.php"]);
00530 }
00531
00532 ?>