* @license http://www.contenido.org/license/LIZENZ.txt * @link http://www.4fb.de * @link http://www.contenido.org * @since file available since contenido release <= 4.6 * * {@internal * created 2003-04-20 * modified 2008-06-27, Frederic Schneider, add security fix * modified 2008-08-14, Timo Trautmann, Bilal Arslan - Functions for versionning and storing file meta data added * * $Id$: * }} * */ if (!defined('CON_FRAMEWORK')) { die('Illegal call'); } cInclude("external", "edit_area/class.edit_area.php"); $sFileType = "css"; $sActionCreate = 'style_create'; $sActionEdit = 'style_edit'; $page = new cPage; $page->setEncoding("utf-8"); $tpl->reset(); if (!$perm->have_perm_area_action($area, $action)) { $notification->displayNotification("error", i18n("Permission denied")); } else if (!(int) $client > 0) { #if there is no client selected, display empty page $page->render(); } else { $path = $cfgClient[$client]["css"]["path"]; if (stripslashes($_REQUEST['file'])) { $sReloadScript = ""; } else { $sReloadScript = ""; } $sTempFilename = stripslashes($_REQUEST['tmp_file']); $sOrigFileName = $sTempFilename; if (getFileType($_REQUEST['file']) != $sFileType AND strlen(stripslashes(trim($_REQUEST['file']))) > 0) { $sFilename .= stripslashes($_REQUEST['file']) . ".$sFileType"; } else { $sFilename .= stripslashes($_REQUEST['file']); } if (stripslashes($_REQUEST['file'])) { $sReloadScript = ""; } else { $sReloadScript = ""; } // Content Type is css $sTypeContent = "css"; $aFileInfo = getFileInformation($client, $sTempFilename, $sTypeContent, $db); # create new file if ($_REQUEST['action'] == $sActionCreate AND $_REQUEST['status'] == 'send') { $sTempFilename = $sFilename; createFile($sFilename, $path); $bEdit = fileEdit($sFilename, $_REQUEST['code'], $path); updateFileInformation($client, $sFilename, 'css', $auth->auth['uid'], $_REQUEST['description'], $db); $sReloadScript .= ""; } # edit selected file if ($_REQUEST['action'] == $sActionEdit AND $_REQUEST['status'] == 'send') { if ($sFilename != $sTempFilename) { $sTempFilename = renameFile($sTempFilename, $sFilename, $path); $sReloadScript .= ""; } else { $sTempFilename = $sFilename; } updateFileInformation($client, $sOrigFileName, 'css', $auth->auth['uid'], $_REQUEST['description'], $db, $sFilename); /** * START TRACK VERSION * */ // For read Fileinformation an get the id of current File cInclude("includes", "functions.file.php"); if ((count($aFileInfo) == 0) || ((int) $aFileInfo["idsfi"] == 0)) { $aFileInfo = getFileInformation($client, $sTempFilename, $sTypeContent, $db); $aFileInfo['description'] = ''; } if ((count($aFileInfo) == 0) || ($aFileInfo["idsfi"] != "")) { $oVersion = new VersionFile($aFileInfo["idsfi"], $aFileInfo, $sFilename, $sTypeContent, $cfg, $cfgClient, $db, $client, $area, $frame, $sOrigFileName); // Create new version $oVersion->createNewVersion(); } /** * END TRACK VERSION * */ $bEdit = fileEdit($sFilename, $_REQUEST['code'], $path); } # generate edit form if (isset($_REQUEST['action'])) { $sAction = ($bEdit) ? $sActionEdit : $_REQUEST['action']; if ($_REQUEST['action'] == $sActionEdit) { $sCode = getFileContent($sFilename, $path); } else { $sCode = stripslashes($_REQUEST['code']); # stripslashes is required here in case of creating a new file } $aFileInfo = getFileInformation($client, $sTempFilename, "css", $db); $form = new UI_Table_Form("file_editor"); $form->addHeader(i18n("Edit file")); $form->setWidth("100%"); $form->setVar("area", $area); $form->setVar("action", $sAction); $form->setVar("frame", $frame); $form->setVar("status", 'send'); $form->setVar("tmp_file", $sTempFilename); $tb_name = new cHTMLTextbox("file", $sFilename, 60); $ta_code = new cHTMLTextarea("code", clHtmlSpecialChars($sCode), 100, 35, "code"); $descr = new cHTMLTextarea("description", clHtmlSpecialChars($aFileInfo["description"]), 100, 5); $ta_code->setStyle("font-family: monospace;width: 100%;"); $descr->setStyle("font-family: monospace;width: 100%;"); $ta_code->updateAttributes(array("wrap" => getEffectiveSetting('style_editor', 'wrap', 'off'))); $form->add(i18n("Name"), $tb_name); $form->add(i18n("Description"), $descr->render()); $form->add(i18n("Code"), $ta_code); $page->setContent($form->render()); $oEditArea = new EditArea('code', 'css', substr(strtolower($belang), 0, 2), true, $cfg); $page->addScript('editarea', $oEditArea->renderScript()); $page->addScript('reload', $sReloadScript); $page->render(); } } ?>