/** * code for all actions of function "general" * * @throws LFException raised if something failes * @return boolean true or false (only false if some files should be mailed) */ private function actionFuncGeneral() { // get vars $splitFile = t3lib_div::_POST('splitFile'); $transFile = t3lib_div::_POST('transFile'); $langModes = t3lib_div::_POST('langModes'); $language = t3lib_div::_POST('language'); $metaArray = t3lib_div::_POST('meta'); $mailIt = t3lib_div::_POST('mailIt'); $sendMail = t3lib_div::_POST('sendMail'); $emailToAddress = t3lib_div::_POST('mailItEmailToAddress'); $emailFromAddress = t3lib_div::_POST('mailItEmailFromAddress'); $emailSubject = t3lib_div::_POST('mailItEmailSubject'); $emailText = t3lib_div::_POST('mailItEmailText'); // redirect if (!empty($language)) { header("Location: http://" . $_SERVER['HTTP_HOST'] . rtrim($_SERVER['PHP_SELF'], '/\\') . '?SET[langList]=' . $language . '&SET[function]=const.treeview'); } // zip and mail selected languages if (is_array($mailIt)) { if (!$sendMail) { return false; } $zipFile = new zipfile(); foreach ($mailIt as $langKey => $in) { $origin = $this->fileObj->getOriginLangData($langKey); try { $saveOrigin = typo3Lib::transTypo3File($origin, false); $saveOrigin = str_replace('EXT:', '', $saveOrigin); } catch (Exception $e) { $saveOrigin = substr($origin, strlen(PATH_site)); } $zipFile->addFile(file_get_contents($origin), $saveOrigin); } $dumpBuffer = $zipFile->file(); // try to send mail try { sgLib::sendMail($emailSubject, $emailText, $emailFromAddress, $emailToAddress, $dumpBuffer, 'files.zip'); } catch (Exception $e) { throw new LFException('failure.failure', 0, '(' . $e->getMessage() . ')'); } } // write meta informations try { $this->execWrite(array(), $metaArray); } catch (LFException $e) { throw $e; } // split or merge if ($splitFile == 1 || $splitFile == 2 || $splitFile == 3 || is_array($langModes)) { // set vars if ($splitFile != 1 && $splitFile != 2 && $splitFile != 3) { $splitFile = 0; } $langKeys = tx_lfeditor_mod1_functions::buildLangArray(); // generate langModes foreach ($langKeys as $langKey) { if (!isset($langModes[$langKey])) { $langModes[$langKey] = $splitFile; } } // exec split or merge try { $this->execSplitFile($langModes); } catch (LFException $e) { throw $e; } // reinitialize file object try { $this->initFileObject($this->MOD_SETTINGS['langFileList'], $this->MOD_SETTINGS['extList'], $this->MOD_SETTINGS['wsList']); } catch (LFException $e) { throw $e; } } // transform file try { if (!empty($transFile) && $this->fileObj->getVar('fileType') != $transFile) { $newFile = sgLib::setFileExtension($transFile, $this->fileObj->getVar('relFile')); $this->execTransform($transFile, $newFile); if ($this->MOD_SETTINGS['wsList'] != 'xll') { header("Location: http://" . $_SERVER['HTTP_HOST'] . rtrim($_SERVER['PHP_SELF'], '/\\') . '?SET[langFileList]=' . $newFile); } } } catch (LFException $e) { throw $e; } return true; }
/** * get the name of a localized file * * @param string language shortcut * @return string localized file (only filename) */ public function nameLocalizedFile($langKey) { return sgLib::setFileExtension($langKey . '.php', basename($this->relFile)); }