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
00068 $BACK_PATH='';
00069 require('init.php');
00070 require('template.php');
00071
00072
00073 $LANG->includeLLFile('EXT:lang/locallang_misc.xml');
00074
00075
00076 require_once(PATH_t3lib.'class.t3lib_page.php');
00077 require_once(PATH_t3lib.'class.t3lib_positionmap.php');
00078 require_once(PATH_t3lib.'class.t3lib_pagetree.php');
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00096 class localPageTree extends t3lib_pageTree {
00097
00105 function wrapIcon($icon,$row) {
00106 return $this->addTagAttributes($icon,' title="id='.htmlspecialchars($row['uid']).'"');
00107 }
00108 }
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00127 class ext_posMap_pages extends t3lib_positionMap {
00128 var $l_insertNewPageHere = 'movePageToHere';
00129
00137 function onClickEvent($pid,$newPagePID) {
00138 return 'document.location=\'tce_db.php?cmd[pages]['.$GLOBALS['SOBE']->moveUid.']['.$this->moveOrCopy.']='.$pid.'&redirect='.rawurlencode($this->R_URI).'&prErr=1&uPT=1&vC='.$GLOBALS['BE_USER']->veriCode().'\';return false;';
00139 }
00140
00148 function linkPageTitle($str,$rec) {
00149 $url = t3lib_div::linkThisScript(array('uid'=>intval($rec['uid']),'moveUid'=>$GLOBALS['SOBE']->moveUid));
00150 return '<a href="'.htmlspecialchars($url).'">'.$str.'</a>';
00151 }
00152
00161 function boldTitle($t_code,$dat,$id) {
00162 return parent::boldTitle($t_code,$dat,$GLOBALS['SOBE']->moveUid);
00163 }
00164 }
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00184 class ext_posMap_tt_content extends t3lib_positionMap {
00185 var $dontPrintPageInsertIcons = 1;
00186
00194 function linkPageTitle($str,$rec) {
00195 $url = t3lib_div::linkThisScript(array('uid'=>intval($rec['uid']),'moveUid'=>$GLOBALS['SOBE']->moveUid));
00196 return '<a href="'.htmlspecialchars($url).'">'.$str.'</a>';
00197 }
00198
00206 function wrapRecordTitle($str,$row) {
00207 if ($GLOBALS['SOBE']->moveUid==$row['uid']) $str = '<b>'.$str.'</b>';
00208 return parent::wrapRecordTitle($str,$row);
00209 }
00210 }
00211
00212
00213
00214
00215
00216
00217
00218
00219
00227 class SC_move_el {
00228
00229
00230 var $sys_language=0;
00231 var $page_id;
00232 var $table;
00233 var $R_URI;
00234 var $input_moveUid;
00235 var $moveUid;
00236 var $makeCopy;
00237
00238 var $doc;
00239 var $perms_clause;
00240
00241
00242 var $content;
00243
00244
00250 function init() {
00251 global $BE_USER,$LANG,$BACK_PATH;
00252
00253
00254
00255 $this->sys_language = intval(t3lib_div::_GP('sys_language'));
00256 $this->page_id=intval(t3lib_div::_GP('uid'));
00257 $this->table=t3lib_div::_GP('table');
00258 $this->R_URI=t3lib_div::_GP('returnUrl');
00259 $this->input_moveUid = t3lib_div::_GP('moveUid');
00260 $this->moveUid = $this->input_moveUid ? $this->input_moveUid : $this->page_id;
00261 $this->makeCopy = t3lib_div::_GP('makeCopy');
00262
00263
00264 $this->perms_clause = $BE_USER->getPagePermsClause(1);
00265
00266
00267 $this->doc = t3lib_div::makeInstance('mediumDoc');
00268 $this->doc->docType= 'xhtml_trans';
00269 $this->doc->backPath = $BACK_PATH;
00270 $this->doc->JScode='';
00271
00272
00273 $this->content='';
00274 $this->content.=$this->doc->startPage($LANG->getLL('movingElement'));
00275 $this->content.=$this->doc->header($LANG->getLL('movingElement'));
00276 $this->content.=$this->doc->spacer(5);
00277 }
00278
00284 function main() {
00285 global $LANG,$BACK_PATH,$BE_USER;
00286
00287 if ($this->page_id) {
00288
00289
00290 $elRow = t3lib_BEfunc::getRecord($this->table,$this->moveUid);
00291
00292
00293 $hline = t3lib_iconWorks::getIconImage($this->table,$elRow,$BACK_PATH,' id="c-recIcon" title="'.htmlspecialchars(t3lib_BEfunc::getRecordIconAltText($elRow,$this->table)).'"');
00294 $hline.= t3lib_BEfunc::getRecordTitle($this->table,$elRow,1);
00295
00296
00297 $onClick = 'document.location=\''.t3lib_div::linkThisScript(array('makeCopy'=>!$this->makeCopy)).'\';';
00298 $hline.= '<br /><input type="hidden" name="makeCopy" value="0" /><input type="checkbox" name="makeCopy" value="1"'.($this->makeCopy?' checked="checked"':'').' onclick="'.htmlspecialchars($onClick).'" />'.
00299 $LANG->getLL('makeCopy',1);
00300
00301
00302 $this->content.=$this->doc->section($LANG->getLL('moveElement').':',$hline,0,1);
00303 $this->content.=$this->doc->spacer(20);
00304
00305
00306 $code='';
00307
00308
00309 if ((string)$this->table=='pages') {
00310
00311 $pageinfo = t3lib_BEfunc::readPageAccess($this->page_id,$this->perms_clause);
00312 if (is_array($pageinfo) && $BE_USER->isInWebMount($pageinfo['pid'],$this->perms_clause)) {
00313
00314
00315 $posMap = t3lib_div::makeInstance('ext_posMap_pages');
00316 $posMap->moveOrCopy = $this->makeCopy?'copy':'move';
00317
00318
00319 if ($pageinfo['pid']) {
00320 $pidPageInfo = t3lib_BEfunc::readPageAccess($pageinfo['pid'],$this->perms_clause);
00321 if (is_array($pidPageInfo)) {
00322 if ($BE_USER->isInWebMount($pidPageInfo['pid'],$this->perms_clause)) {
00323 $code.= '<a href="'.htmlspecialchars(t3lib_div::linkThisScript(array('uid'=>intval($pageinfo['pid']),'moveUid'=>$this->moveUid))).'">'.
00324 '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/i/pages_up.gif','width="18" height="16"').' alt="" />'.
00325 t3lib_BEfunc::getRecordTitle('pages',$pidPageInfo,1).
00326 '</a><br />';
00327 } else {
00328 $code.= t3lib_iconWorks::getIconImage('pages',$pidPageInfo,$BACK_PATH,'').
00329 t3lib_BEfunc::getRecordTitle('pages',$pidPageInfo,1).
00330 '<br />';
00331 }
00332 }
00333 }
00334
00335
00336 $code.= $posMap->positionTree($this->page_id,$pageinfo,$this->perms_clause,$this->R_URI);
00337
00338
00339 $code.= t3lib_BEfunc::cshItem('xMOD_csh_corebe', 'move_el_pages', $GLOBALS['BACK_PATH'],'<br/>|');
00340 }
00341 }
00342
00343
00344 if ((string)$this->table=='tt_content') {
00345
00346
00347 $tt_content_rec = t3lib_BEfunc::getRecord('tt_content',$this->moveUid);
00348
00349
00350 if (!$this->input_moveUid) $this->page_id = $tt_content_rec['pid'];
00351
00352
00353 $pageinfo = t3lib_BEfunc::readPageAccess($this->page_id,$this->perms_clause);
00354 if (is_array($pageinfo) && $BE_USER->isInWebMount($pageinfo['pid'],$this->perms_clause)) {
00355
00356
00357 $posMap = t3lib_div::makeInstance('ext_posMap_tt_content');
00358 $posMap->moveOrCopy = $this->makeCopy?'copy':'move';
00359 $posMap->cur_sys_language = $this->sys_language;
00360
00361
00362 $hline = t3lib_iconWorks::getIconImage('pages',$pageinfo,$BACK_PATH,' title="'.htmlspecialchars(t3lib_BEfunc::getRecordIconAltText($pageinfo,'pages')).'"');
00363 $hline.= t3lib_BEfunc::getRecordTitle('pages',$pageinfo,1);
00364
00365
00366 $modTSconfig_SHARED = t3lib_BEfunc::getModTSconfig($this->page_id,'mod.SHARED');
00367 $colPosList = strcmp(trim($modTSconfig_SHARED['properties']['colPos_list']),'') ? trim($modTSconfig_SHARED['properties']['colPos_list']) : '1,0,2,3';
00368 $colPosList = implode(',',array_unique(t3lib_div::intExplode(',',$colPosList)));
00369
00370
00371 $code=$hline.'<br />';
00372 $code.=$posMap->printContentElementColumns($this->page_id,$this->moveUid,$colPosList,1,$this->R_URI);
00373
00374
00375 $code.= '<br />';
00376 $code.= '<br />';
00377 if ($pageinfo['pid']) {
00378 $pidPageInfo = t3lib_BEfunc::readPageAccess($pageinfo['pid'],$this->perms_clause);
00379 if (is_array($pidPageInfo)) {
00380 if ($BE_USER->isInWebMount($pidPageInfo['pid'],$this->perms_clause)) {
00381 $code.= '<a href="'.htmlspecialchars(t3lib_div::linkThisScript(array('uid'=>intval($pageinfo['pid']),'moveUid'=>$this->moveUid))).'">'.
00382 '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/i/pages_up.gif','width="18" height="16"').' alt="" />'.
00383 t3lib_BEfunc::getRecordTitle('pages',$pidPageInfo,1).
00384 '</a><br />';
00385 } else {
00386 $code.= t3lib_iconWorks::getIconImage('pages',$pidPageInfo,$BACK_PATH,'').
00387 t3lib_BEfunc::getRecordTitle('pages',$pidPageInfo,1).
00388 '<br />';
00389 }
00390 }
00391 }
00392
00393
00394 $code.= $posMap->positionTree($this->page_id,$pageinfo,$this->perms_clause,$this->R_URI);
00395
00396
00397 $code.= t3lib_BEfunc::cshItem('xMOD_csh_corebe', 'move_el_cs', $GLOBALS['BACK_PATH'],'<br/>|');
00398 }
00399 }
00400
00401
00402 if ($this->R_URI) {
00403 $code.='<br /><br /><a href="'.htmlspecialchars($this->R_URI).'" class="typo3-goBack"><img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/goback.gif','width="14" height="14"').' alt="" />'.$LANG->getLL('goBack',1).'</a>';
00404 }
00405
00406
00407 $this->content.=$this->doc->section($LANG->getLL('selectPositionOfElement').':',$code,0,1);
00408 }
00409 }
00410
00416 function printContent() {
00417 global $SOBE;
00418
00419 $this->content.= $this->doc->endPage();
00420 echo $this->content;
00421 }
00422 }
00423
00424
00425 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/move_el.php']) {
00426 include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/move_el.php']);
00427 }
00428
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439
00440
00441 $SOBE = t3lib_div::makeInstance('SC_move_el');
00442 $SOBE->init();
00443 $SOBE->main();
00444 $SOBE->printContent();
00445 ?>