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
00054 require ('init.php');
00055 require ('template.php');
00056 require_once (PATH_t3lib.'class.t3lib_tcemain.php');
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00079 class SC_tce_db {
00080
00081
00082 var $flags;
00083 var $data;
00084 var $cmd;
00085 var $mirror;
00086 var $cacheCmd;
00087 var $redirect;
00088 var $prErr;
00089 # var $_disableRTE;
00090 var $CB;
00091 var $vC;
00092 var $uPT;
00093
00094
00095 var $include_once=array();
00096 var $tce;
00097
00098
00099
00100
00106 function init() {
00107 global $BE_USER;
00108
00109
00110 $this->flags = t3lib_div::_GP('flags');
00111 $this->data = t3lib_div::_GP('data');
00112 $this->cmd = t3lib_div::_GP('cmd');
00113 $this->mirror = t3lib_div::_GP('mirror');
00114 $this->cacheCmd = t3lib_div::_GP('cacheCmd');
00115 $this->redirect = t3lib_div::_GP('redirect');
00116 $this->prErr = t3lib_div::_GP('prErr');
00117 $this->_disableRTE = t3lib_div::_GP('_disableRTE');
00118 $this->CB = t3lib_div::_GP('CB');
00119 $this->vC = t3lib_div::_GP('vC');
00120 $this->uPT = t3lib_div::_GP('uPT');
00121
00122
00123 $this->tce = t3lib_div::makeInstance('t3lib_TCEmain');
00124 $this->tce->stripslashes_values=0;
00125
00126
00127 if ($BE_USER->uc['recursiveDelete']) {
00128 $this->tce->deleteTree = 1;
00129 }
00130 if ($BE_USER->uc['copyLevels']) {
00131 $this->tce->copyTree = t3lib_div::intInRange($BE_USER->uc['copyLevels'],0,100);
00132 }
00133 if ($BE_USER->uc['neverHideAtCopy']) {
00134 $this->tce->neverHideAtCopy = 1;
00135 }
00136
00137 $TCAdefaultOverride = $BE_USER->getTSConfigProp('TCAdefaults');
00138 if (is_array($TCAdefaultOverride)) {
00139 $this->tce->setDefaultsFromUserTS($TCAdefaultOverride);
00140 }
00141
00142
00143 if ($this->flags['reverseOrder']) {
00144 $this->tce->reverseOrder=1;
00145 }
00146
00147 # $this->tce->disableRTE = $this->_disableRTE;
00148
00149
00150 if (is_array($this->CB)) {
00151 $this->include_once[]=PATH_t3lib.'class.t3lib_clipboard.php';
00152 }
00153 }
00154
00160 function initClipboard() {
00161 if (is_array($this->CB)) {
00162 $clipObj = t3lib_div::makeInstance('t3lib_clipboard');
00163 $clipObj->initializeClipboard();
00164 if ($this->CB['paste']) {
00165 $clipObj->setCurrentPad($this->CB['pad']);
00166 $this->cmd = $clipObj->makePasteCmdArray($this->CB['paste'],$this->cmd);
00167 }
00168 if ($this->CB['delete']) {
00169 $clipObj->setCurrentPad($this->CB['pad']);
00170 $this->cmd = $clipObj->makeDeleteCmdArray($this->cmd);
00171 }
00172 }
00173 }
00174
00180 function main() {
00181 global $BE_USER,$TYPO3_CONF_VARS;
00182
00183
00184 $this->tce->start($this->data,$this->cmd);
00185 if (is_array($this->mirror)) {$this->tce->setMirror($this->mirror);}
00186
00187
00188 $refInfo=parse_url(t3lib_div::getIndpEnv('HTTP_REFERER'));
00189 $httpHost = t3lib_div::getIndpEnv('TYPO3_HOST_ONLY');
00190 if ($httpHost!=$refInfo['host'] && $this->vC!=$BE_USER->veriCode() && !$TYPO3_CONF_VARS['SYS']['doNotCheckReferer']) {
00191 $this->tce->log('',0,0,0,1,'Referer host "%s" and server host "%s" did not match and veriCode was not valid either!',1,array($refInfo['host'],$httpHost));
00192 } else {
00193
00194 $this->tce->process_uploads($_FILES);
00195
00196
00197 $this->tce->process_datamap();
00198 $this->tce->process_cmdmap();
00199
00200
00201 $this->tce->clear_cacheCmd($this->cacheCmd);
00202
00203
00204 if ($this->uPT && (isset($this->data['pages'])||isset($this->cmd['pages']))) {
00205 t3lib_BEfunc::getSetUpdateSignal('updatePageTree');
00206 }
00207 }
00208 }
00209
00216 function finish() {
00217
00218 if ($this->prErr) {
00219 $this->tce->printLogErrorMessages($this->redirect);
00220 }
00221
00222 if ($this->redirect && !$this->tce->debug) {
00223 Header('Location: '.t3lib_div::locationHeaderUrl($this->redirect));
00224 }
00225 }
00226 }
00227
00228
00229 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/tce_db.php']) {
00230 include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['typo3/tce_db.php']);
00231 }
00232
00233
00234
00235
00236
00237
00238
00239
00240 $SOBE = t3lib_div::makeInstance('SC_tce_db');
00241 $SOBE->init();
00242
00243
00244 foreach($SOBE->include_once as $INC_FILE) include_once($INC_FILE);
00245
00246 $SOBE->initClipboard();
00247 $SOBE->main();
00248 $SOBE->finish();
00249 ?>