little fixes and git admin
This commit is contained in:
parent
a7f1f3edb4
commit
dbaaa6ffa5
10 changed files with 611 additions and 731 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -13,3 +13,5 @@
|
|||
!/cms/data/layouts/
|
||||
/cms/data/layouts/*
|
||||
/conlite/includes/include.style_edit_form_1.php
|
||||
/cms/config.local.php
|
||||
/cms/dflip/
|
||||
|
|
6
cms/upload/.gitignore
vendored
Normal file
6
cms/upload/.gitignore
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Ignore everything in this directory
|
||||
*
|
||||
# Except this file
|
||||
!.gitignore
|
||||
!/Flexslider
|
||||
!/Gallery
|
|
@ -443,15 +443,13 @@ class cFileHandler {
|
|||
* true if the given filename is valid, false otherwise
|
||||
*/
|
||||
public static function validateFilename($filename, $notifyAndExitOnFailure = true) {
|
||||
|
||||
$notification = new Contenido_Notification();
|
||||
// check if filename only contains valid characters
|
||||
if (preg_match('/[^a-z0-9._-]/i', $filename)) {
|
||||
// validation failure...
|
||||
if ($notifyAndExitOnFailure) {
|
||||
// display notification and exit
|
||||
cRegistry::addErrorMessage(i18n('Wrong file name.'));
|
||||
$page = new cGuiPage('generic_page');
|
||||
$page->abortRendering();
|
||||
$page->render();
|
||||
$notification->displayNotification("error", i18n("Please insert file name."));
|
||||
exit();
|
||||
}
|
||||
|
||||
|
@ -463,7 +461,6 @@ class cFileHandler {
|
|||
// validation failure...
|
||||
if ($notifyAndExitOnFailure) {
|
||||
// display notification and exit
|
||||
$notification = new cGuiNotification();
|
||||
$notification->displayNotification("error", i18n("Please insert file name."));
|
||||
exit();
|
||||
}
|
||||
|
|
|
@ -194,7 +194,7 @@ class Template {
|
|||
$sModName = strtolower(uplCreateFriendlyName($tmpModule->get('name')));
|
||||
$aModFileEditConf = $tmpModule->getModFileEditConf();
|
||||
unset($tmpModule);
|
||||
$sTmpPath = $aModFileEditConf['modPath'] . $sModName . "/template/" . $template;
|
||||
$sTmpPath = $aModFileEditConf['modPath'] . $sModName . "/template/" . str_replace('templates/', '', $template);
|
||||
if (is_readable($sTmpPath)) {
|
||||
$template = $sTmpPath;
|
||||
$bModTplUsed = TRUE;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Project:
|
||||
* Contenido Content Management System
|
||||
|
@ -30,8 +31,7 @@
|
|||
* }}
|
||||
*
|
||||
*/
|
||||
|
||||
if(!defined('CON_FRAMEWORK')) {
|
||||
if (!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
}
|
||||
|
||||
|
@ -57,7 +57,7 @@ function removeFileInformation($iIdClient, $sFilename, $sType, $oDb) {
|
|||
$sFilename = Contenido_Security::filter((string) $sFilename, $oDb);
|
||||
$sType = Contenido_Security::filter((string) $sType, $oDb);
|
||||
|
||||
$sSql = "DELETE FROM `".$cfg["tab"]["file_information"]."` WHERE idclient=$iIdClient AND
|
||||
$sSql = "DELETE FROM `" . $cfg["tab"]["file_information"] . "` WHERE idclient=$iIdClient AND
|
||||
filename='$sFilename' AND
|
||||
type='$sType';";
|
||||
$oDb->query($sSql);
|
||||
|
@ -82,7 +82,7 @@ function removeFileInformation($iIdClient, $sFilename, $sType, $oDb) {
|
|||
* description - Description which was inserted for this file
|
||||
*
|
||||
*/
|
||||
function getFileInformation ($iIdClient, $sFilename, $sType, $oDb) {
|
||||
function getFileInformation($iIdClient, $sFilename, $sType, $oDb) {
|
||||
global $cfg;
|
||||
|
||||
if (!isset($oDb) || !is_object($oDb)) {
|
||||
|
@ -94,7 +94,7 @@ function getFileInformation ($iIdClient, $sFilename, $sType, $oDb) {
|
|||
$sType = Contenido_Security::filter((string) $sType, $oDb);
|
||||
|
||||
$aFileInformation = array();
|
||||
$sSql = "SELECT * FROM `".$cfg["tab"]["file_information"]."` WHERE idclient=$iIdClient AND
|
||||
$sSql = "SELECT * FROM `" . $cfg["tab"]["file_information"] . "` WHERE idclient=$iIdClient AND
|
||||
filename='$sFilename' AND
|
||||
type='$sType';";
|
||||
$oDb->query($sSql);
|
||||
|
@ -145,13 +145,13 @@ function updateFileInformation($iIdClient, $sFilename, $sType, $sAuthor, $sDescr
|
|||
$sDescription = Contenido_Security::filter((string) stripslashes($sDescription), $oDb);
|
||||
$sAuthor = Contenido_Security::filter((string) $sAuthor, $oDb);
|
||||
|
||||
$sSql = "SELECT * from `".$cfg["tab"]["file_information"]."` WHERE idclient=$iIdClient AND
|
||||
$sSql = "SELECT * from `" . $cfg["tab"]["file_information"] . "` WHERE idclient=$iIdClient AND
|
||||
filename='$sFilename' AND
|
||||
type='$sType';";
|
||||
$oDb->query($sSql);
|
||||
if ($oDb->num_rows() == 0) {
|
||||
$iNextId = $oDb->nextid('con_style_file_information');
|
||||
$sSql = "INSERT INTO `".$cfg["tab"]["file_information"]."` ( `idsfi` ,
|
||||
$sSql = "INSERT INTO `" . $cfg["tab"]["file_information"] . "` ( `idsfi` ,
|
||||
`idclient` ,
|
||||
`type` ,
|
||||
`filename` ,
|
||||
|
@ -172,7 +172,7 @@ function updateFileInformation($iIdClient, $sFilename, $sType, $sAuthor, $sDescr
|
|||
'$sDescription'
|
||||
);";
|
||||
} else {
|
||||
$sSql = "UPDATE `".$cfg["tab"]["file_information"]."` SET `lastmodified` = NOW(),
|
||||
$sSql = "UPDATE `" . $cfg["tab"]["file_information"] . "` SET `lastmodified` = NOW(),
|
||||
`modifiedby` = '$sAuthor',
|
||||
`description` = '$sDescription',
|
||||
`filename` = '$sFilenameNew'
|
||||
|
@ -187,7 +187,6 @@ function updateFileInformation($iIdClient, $sFilename, $sType, $sAuthor, $sDescr
|
|||
$oDb->free();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Writes passed data into a file using binary mode.
|
||||
*
|
||||
|
@ -199,44 +198,31 @@ function updateFileInformation($iIdClient, $sFilename, $sType, $sAuthor, $sDescr
|
|||
* @return (string|void) Either content of file o nothing
|
||||
*/
|
||||
function fileEdit($filename, $sCode, $path) {
|
||||
global $notification;
|
||||
$oNot = new Contenido_Notification();
|
||||
|
||||
// FIXME: fileValidateFilename does also the validation but display another message!
|
||||
if (strlen(trim($filename)) == 0) {
|
||||
$notification->displayNotification("error", i18n("Please insert filename."));
|
||||
$oNot->displayNotification("error", i18n("Please insert filename."));
|
||||
return false;
|
||||
}
|
||||
cFileHandler::validateFilename($filename);
|
||||
|
||||
fileValidateFilename($filename, true);
|
||||
|
||||
// FIXME: Should be replaced against file_put_contents($path . $filename, FILE_BINARY | LOCK_EX | FILE_APPEND)
|
||||
|
||||
if (is_writable($path.$filename)) {
|
||||
if (is_writable($path . $filename)) {
|
||||
if (strlen(stripslashes(trim($sCode))) > 0) {
|
||||
# open file
|
||||
if (!$handle = fopen($path.$filename, "wb+")) {
|
||||
$notification->displayNotification("error", sprintf(i18n("Could not open file %s"), $path.$filename));
|
||||
exit;
|
||||
if (!empty($sCode)) {
|
||||
$sCode = mb_convert_encoding($sCode, 'UTF-8', 'OLD-ENCODING');
|
||||
}
|
||||
# write file
|
||||
if (!fwrite($handle, stripslashes($sCode))) {
|
||||
$notification->displayNotification("error", sprintf(i18n("Could not write file %s"), $path.$filename));
|
||||
exit;
|
||||
}
|
||||
|
||||
fclose($handle);
|
||||
cFileHandler::write($path . $filename, $sCode);
|
||||
return true;
|
||||
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
$notification->displayNotification("error", sprintf(i18n("%s is not writable"), $path.$filename));
|
||||
$oNot->displayNotification("error", sprintf(i18n("%s is not writable"), $path . $filename));
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reads content of file into memory using binary mode and returns it back.
|
||||
*
|
||||
|
@ -247,28 +233,13 @@ function fileEdit($filename, $sCode, $path) {
|
|||
* @return (string|void) Either content of file o nothing
|
||||
*/
|
||||
function getFileContent($filename, $path) {
|
||||
global $notification;
|
||||
|
||||
// FIXME: Should be replaced against file_get_contents($path . $filename, FILE_BINARY)
|
||||
|
||||
if (!$handle = fopen($path.$filename, "rb")) {
|
||||
$notification->displayNotification("error", sprintf(i18n("Can not open file%s "), $path.$filename));
|
||||
exit;
|
||||
}
|
||||
|
||||
do {
|
||||
$_data = fread($handle, 4096);
|
||||
if (strlen($_data) == 0) {
|
||||
break;
|
||||
}
|
||||
$sFileContents .= $_data;
|
||||
} while(true);
|
||||
|
||||
fclose($handle);
|
||||
return $sFileContents;
|
||||
$sCode = cFileHandler::read($path . $filename);
|
||||
if (!empty($sCode)) {
|
||||
$sCode = mb_convert_encoding($sCode, 'UTF-8', 'OLD-ENCODING');
|
||||
}
|
||||
return $sCode;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the filetype (extension).
|
||||
*
|
||||
|
@ -280,7 +251,6 @@ function getFileType($filename) {
|
|||
return $aFileName[count($aFileName) - 1];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates a file.
|
||||
*
|
||||
|
@ -291,26 +261,18 @@ function getFileType($filename) {
|
|||
* @return (void|bool) Either true on success or nothing
|
||||
*/
|
||||
function createFile($filename, $path) {
|
||||
global $notification;
|
||||
$oNot = new Contenido_Notification();
|
||||
|
||||
fileValidateFilename($filename, true);
|
||||
cFileHandler::validateFilename($filename);
|
||||
|
||||
# create the file
|
||||
if (touch($path.$filename)) {
|
||||
# change file access permission
|
||||
if(chmod ($path.$filename, 0777)) {
|
||||
return true;
|
||||
} else {
|
||||
$notification->displayNotification("error", $path.$filename." ".i18n("Unable to change file access permission."));
|
||||
exit;
|
||||
}
|
||||
if (cFileHandler::create($path . $filename)) {
|
||||
return true;
|
||||
} else {
|
||||
$notification->displayNotification("error", sprintf(i18n("Unable to create file %s"), $path.$filename));
|
||||
$oNot->displayNotification("error", sprintf(i18n("Unable to create file %s"), $path . $filename));
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Renames a existing file.
|
||||
*
|
||||
|
@ -322,25 +284,24 @@ function createFile($filename, $path) {
|
|||
* @return (void|string) Either new filename or nothing
|
||||
*/
|
||||
function renameFile($sOldFile, $sNewFile, $path) {
|
||||
global $notification;
|
||||
$oNot = new Contenido_Notification();
|
||||
|
||||
fileValidateFilename($sNewFile, true);
|
||||
|
||||
if (is_writable($path.$sOldFile)) {
|
||||
if (is_writable($path . $sOldFile)) {
|
||||
# rename file
|
||||
if (rename($path.$sOldFile, $path.$sNewFile)) {
|
||||
if (rename($path . $sOldFile, $path . $sNewFile)) {
|
||||
return $sNewFile;
|
||||
} else {
|
||||
$notification->displayNotification("error", sprintf(i18n("Can not rename file %s"),$path.$sOldFile));
|
||||
$oNot->displayNotification("error", sprintf(i18n("Can not rename file %s"), $path . $sOldFile));
|
||||
exit;
|
||||
}
|
||||
} else {
|
||||
$notification->displayNotification("error", sprintf(i18n("%s is not writable"), $path.$sOldFile));
|
||||
$oNot->displayNotification("error", sprintf(i18n("%s is not writable"), $path . $sOldFile));
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Validates passed filename. Filename can contain alphanumeric characters, dot, underscore or a hyphen.
|
||||
*
|
||||
|
@ -352,13 +313,13 @@ function renameFile($sOldFile, $sNewFile, $path) {
|
|||
* @return (void|bool) Either validation result or nothing (depends on second parameter)
|
||||
*/
|
||||
function fileValidateFilename($filename, $notifyAndExitOnFailure = true) {
|
||||
global $notification;
|
||||
|
||||
|
||||
if (preg_match('/[^a-z0-9._-]/i', $filename)) {
|
||||
// validation failure...
|
||||
if ($notifyAndExitOnFailure == true) {
|
||||
$oNot = new Contenido_Notification();
|
||||
// display notification and exit
|
||||
$notification->displayNotification('error', i18n('Wrong filename.'));
|
||||
$oNot->displayNotification('error', i18n('Wrong filename.'));
|
||||
exit;
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Project:
|
||||
* Contenido Content Management System
|
||||
|
@ -28,9 +29,8 @@
|
|||
* }}
|
||||
*
|
||||
*/
|
||||
|
||||
if(!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
if (!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
}
|
||||
|
||||
|
||||
|
@ -45,116 +45,104 @@ $page = new cPage;
|
|||
|
||||
$tpl->reset();
|
||||
|
||||
if (!$perm->have_perm_area_action($area, $action))
|
||||
{
|
||||
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();
|
||||
#if there is no client selected, display empty page
|
||||
$page->render();
|
||||
} else {
|
||||
$path = $cfgClient[$client]["js"]["path"];
|
||||
$sTempFilename = stripslashes($_REQUEST['tmp_file']);
|
||||
$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 (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 = "<script type=\"text/javascript\">
|
||||
var left_bottom = parent.parent.frames['left'].frames['left_bottom'];
|
||||
if (left_bottom) {
|
||||
var href = left_bottom.location.href;
|
||||
href = href.replace(/&file[^&]*/, '');
|
||||
left_bottom.location.href = href+'&file='+'".$sFilename."';
|
||||
left_bottom.location.href = href+'&file='+'" . $sFilename . "';
|
||||
|
||||
}
|
||||
</script>";
|
||||
} else {
|
||||
$sReloadScript = "";
|
||||
}
|
||||
|
||||
|
||||
// Content Type is template
|
||||
$sTypeContent = "js";
|
||||
$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);
|
||||
$sTypeContent = "js";
|
||||
$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, 'js', $auth->auth['uid'], $_REQUEST['description'], $db);
|
||||
$sReloadScript .= "<script type=\"text/javascript\">
|
||||
var right_top = top.content.right.right_top;
|
||||
if (right_top) {
|
||||
var href = '".$sess->url("main.php?area=$area&frame=3&file=$sTempFilename")."';
|
||||
var href = '" . $sess->url("main.php?area=$area&frame=3&file=$sTempFilename") . "';
|
||||
right_top.location.href = href;
|
||||
}
|
||||
</script>";
|
||||
}
|
||||
|
||||
# edit selected file
|
||||
if ( $_REQUEST['action'] == $sActionEdit AND $_REQUEST['status'] == 'send')
|
||||
{
|
||||
if ($sFilename != $sTempFilename)
|
||||
{
|
||||
$sTempFilename = renameFile($sTempFilename, $sFilename, $path);
|
||||
# edit selected file
|
||||
if ($_REQUEST['action'] == $sActionEdit AND $_REQUEST['status'] == 'send') {
|
||||
if ($sFilename != $sTempFilename) {
|
||||
$sTempFilename = renameFile($sTempFilename, $sFilename, $path);
|
||||
$sReloadScript .= "<script type=\"text/javascript\">
|
||||
var right_top = top.content.right.right_top;
|
||||
if (right_top) {
|
||||
var href = '".$sess->url("main.php?area=$area&frame=3&file=$sTempFilename")."';
|
||||
var href = '" . $sess->url("main.php?area=$area&frame=3&file=$sTempFilename") . "';
|
||||
right_top.location.href = href;
|
||||
}
|
||||
</script>";
|
||||
}else
|
||||
{
|
||||
$sTempFilename = $sFilename;
|
||||
}
|
||||
|
||||
updateFileInformation($client, $sOrigFileName, 'js', $auth->auth['uid'], $_REQUEST['description'], $db, $sFilename);
|
||||
|
||||
} else {
|
||||
$sTempFilename = $sFilename;
|
||||
}
|
||||
|
||||
updateFileInformation($client, $sOrigFileName, 'js', $auth->auth['uid'], $_REQUEST['description'], $db, $sFilename);
|
||||
|
||||
/**
|
||||
* START TRACK VERSION
|
||||
**/
|
||||
if((count($aFileInfo) == 0) || ((int)$aFileInfo["idsfi"] == 0)) {
|
||||
$aFileInfo = getFileInformation ($client, $sTempFilename, $sTypeContent, $db);
|
||||
* START TRACK VERSION
|
||||
* */
|
||||
if ((count($aFileInfo) == 0) || ((int) $aFileInfo["idsfi"] == 0)) {
|
||||
$aFileInfo = getFileInformation($client, $sTempFilename, $sTypeContent, $db);
|
||||
$aFileInfo['description'] = '';
|
||||
}
|
||||
|
||||
if(count($aFileInfo) > 0 && $aFileInfo["idsfi"] !="") {
|
||||
|
||||
if (count($aFileInfo) > 0 && $aFileInfo["idsfi"] != "") {
|
||||
$oVersion = new VersionFile($aFileInfo["idsfi"], $aFileInfo, $sFilename, $sTypeContent, $cfg, $cfgClient, $db, $client, $area, $frame, $sOrigFileName);
|
||||
// Create new Jscript Version in cms/version/js/ folder
|
||||
$oVersion->createNewVersion();
|
||||
}
|
||||
|
||||
/**
|
||||
* END TRACK VERSION
|
||||
**/
|
||||
|
||||
$bEdit = fileEdit($sFilename, $_REQUEST['code'], $path);
|
||||
|
||||
}
|
||||
|
||||
# generate edit form
|
||||
if (isset($_REQUEST['action']))
|
||||
{
|
||||
|
||||
/**
|
||||
* END TRACK VERSION
|
||||
* */
|
||||
$bEdit = fileEdit($sFilename, $_REQUEST['code'], $path);
|
||||
}
|
||||
|
||||
# generate edit form
|
||||
if (isset($_REQUEST['action'])) {
|
||||
$aFileInfo = getFileInformation($client, $sFilename, $sTypeContent, $db);
|
||||
|
||||
$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
|
||||
}
|
||||
|
||||
|
||||
$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
|
||||
}
|
||||
|
||||
$form = new UI_Table_Form("file_editor");
|
||||
$form->addHeader(i18n("Edit file"));
|
||||
$form->setWidth("100%");
|
||||
|
@ -163,28 +151,26 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
$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);
|
||||
|
||||
$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('script_editor', 'wrap', 'off')));
|
||||
|
||||
$form->add(i18n("Name"),$tb_name);
|
||||
|
||||
$form->add(i18n("Name"), $tb_name);
|
||||
$form->add(i18n("Description"), $descr->render());
|
||||
$form->add(i18n("Code"),$ta_code);
|
||||
|
||||
$form->add(i18n("Code"), $ta_code);
|
||||
|
||||
$page->setContent($form->render());
|
||||
|
||||
|
||||
$oEditArea = new EditArea('code', 'js', substr(strtolower($belang), 0, 2), true, $cfg);
|
||||
$page->addScript('editarea', $oEditArea->renderScript());
|
||||
|
||||
|
||||
$page->addScript('reload', $sReloadScript);
|
||||
$page->render();
|
||||
|
||||
$page->render();
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Project:
|
||||
* Contenido Content Management System
|
||||
|
@ -28,9 +29,8 @@
|
|||
* }}
|
||||
*
|
||||
*/
|
||||
|
||||
if(!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
if (!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
}
|
||||
|
||||
|
||||
|
@ -46,13 +46,12 @@ $page->setEncoding("utf-8");
|
|||
|
||||
$tpl->reset();
|
||||
|
||||
if (!$perm->have_perm_area_action($area, $action))
|
||||
{
|
||||
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 {
|
||||
#if there is no client selected, display empty page
|
||||
$page->render();
|
||||
} else {
|
||||
$path = $cfgClient[$client]["css"]["path"];
|
||||
if (stripslashes($_REQUEST['file'])) {
|
||||
$sReloadScript = "<script type=\"text/javascript\">
|
||||
|
@ -60,7 +59,7 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
if (left_bottom) {
|
||||
var href = left_bottom.location.href;
|
||||
href = href.replace(/&file.*/, '');
|
||||
left_bottom.location.href = href+'&file='+'".$_REQUEST['file']."';
|
||||
left_bottom.location.href = href+'&file='+'" . $_REQUEST['file'] . "';
|
||||
|
||||
}
|
||||
</script>";
|
||||
|
@ -68,114 +67,102 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
$sReloadScript = "";
|
||||
}
|
||||
|
||||
$sTempFilename = stripslashes($_REQUEST['tmp_file']);
|
||||
$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 (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 = "<script type=\"text/javascript\">
|
||||
var left_bottom = parent.parent.frames['left'].frames['left_bottom'];
|
||||
if (left_bottom) {
|
||||
var href = left_bottom.location.href;
|
||||
href = href.replace(/&file[^&]*/, '');
|
||||
left_bottom.location.href = href+'&file='+'".$sFilename."';
|
||||
left_bottom.location.href = href+'&file='+'" . $sFilename . "';
|
||||
|
||||
}
|
||||
</script>";
|
||||
} 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);
|
||||
$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 .= "<script type=\"text/javascript\">
|
||||
var right_top = top.content.right.right_top;
|
||||
if (right_top) {
|
||||
var href = '".$sess->url("main.php?area=$area&frame=3&file=$sTempFilename")."';
|
||||
var href = '" . $sess->url("main.php?area=$area&frame=3&file=$sTempFilename") . "';
|
||||
right_top.location.href = href;
|
||||
}
|
||||
</script>";
|
||||
}
|
||||
|
||||
# edit selected file
|
||||
if ( $_REQUEST['action'] == $sActionEdit AND $_REQUEST['status'] == 'send')
|
||||
{
|
||||
if ($sFilename != $sTempFilename)
|
||||
{
|
||||
$sTempFilename = renameFile($sTempFilename, $sFilename, $path);
|
||||
# edit selected file
|
||||
if ($_REQUEST['action'] == $sActionEdit AND $_REQUEST['status'] == 'send') {
|
||||
if ($sFilename != $sTempFilename) {
|
||||
$sTempFilename = renameFile($sTempFilename, $sFilename, $path);
|
||||
$sReloadScript .= "<script type=\"text/javascript\">
|
||||
var right_top = top.content.right.right_top;
|
||||
if (right_top) {
|
||||
var href = '".$sess->url("main.php?area=$area&frame=3&file=$sTempFilename")."';
|
||||
var href = '" . $sess->url("main.php?area=$area&frame=3&file=$sTempFilename") . "';
|
||||
right_top.location.href = href;
|
||||
}
|
||||
</script>";
|
||||
}else
|
||||
{
|
||||
$sTempFilename = $sFilename;
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
$sTempFilename = $sFilename;
|
||||
}
|
||||
|
||||
|
||||
updateFileInformation($client, $sOrigFileName, 'css', $auth->auth['uid'], $_REQUEST['description'], $db, $sFilename);
|
||||
|
||||
/**
|
||||
* START TRACK VERSION
|
||||
**/
|
||||
|
||||
/**
|
||||
* 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);
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
/**
|
||||
* 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%");
|
||||
|
@ -184,28 +171,26 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
$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);
|
||||
$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("Name"), $tb_name);
|
||||
$form->add(i18n("Description"), $descr->render());
|
||||
$form->add(i18n("Code"),$ta_code);
|
||||
|
||||
$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();
|
||||
$page->render();
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Project:
|
||||
* Contenido Content Management System
|
||||
|
@ -27,9 +28,8 @@
|
|||
* }}
|
||||
*
|
||||
*/
|
||||
|
||||
if(!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
if (!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
}
|
||||
|
||||
cInclude("includes", "functions.file.php");
|
||||
|
@ -37,10 +37,10 @@ cInclude("includes", "functions.file.php");
|
|||
$tpl->reset();
|
||||
|
||||
if (!(int) $client > 0) {
|
||||
#if there is no client selected, display empty page
|
||||
$oPage = new cPage;
|
||||
$oPage->render();
|
||||
return;
|
||||
#if there is no client selected, display empty page
|
||||
$oPage = new cPage;
|
||||
$oPage->render();
|
||||
return;
|
||||
}
|
||||
|
||||
$path = $cfgClient[$client]["css"]["path"];
|
||||
|
@ -55,7 +55,7 @@ $sActionEdit = 'style_edit';
|
|||
$sScriptTemplate = '
|
||||
<script type="text/javascript" src="scripts/rowMark.js"></script>
|
||||
<script type="text/javascript" src="scripts/general.js"></script>
|
||||
<script type="text/javascript" src="scripts/messageBox.js.php?contenido='.$sSession.'"></script>
|
||||
<script type="text/javascript" src="scripts/messageBox.js.php?contenido=' . $sSession . '"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
/* Create messageBox instance */
|
||||
|
@ -63,99 +63,118 @@ $sScriptTemplate = '
|
|||
|
||||
function deleteFile(file)
|
||||
{
|
||||
url = "main.php?area='.$sArea.'";
|
||||
url += "&action='.$sActionDelete.'";
|
||||
url = "main.php?area=' . $sArea . '";
|
||||
url += "&action=' . $sActionDelete . '";
|
||||
url += "&frame=2";
|
||||
url += "&delfile=" + file;
|
||||
url += "&contenido='.$sSession.'";
|
||||
url += "&contenido=' . $sSession . '";
|
||||
window.location.href = url;
|
||||
parent.parent.frames["right"].frames["right_bottom"].location.href = "main.php?area='.$sArea.'&frame=4&contenido='.$sSession.'";
|
||||
parent.parent.frames["right"].frames["right_bottom"].location.href = "main.php?area=' . $sArea . '&frame=4&contenido=' . $sSession . '";
|
||||
}
|
||||
</script>';
|
||||
|
||||
$tpl->set('s', 'JAVASCRIPT', $sScriptTemplate);
|
||||
|
||||
# delete file
|
||||
if ($action == $sActionDelete)
|
||||
{
|
||||
if (!strrchr($_REQUEST['delfile'], "/"))
|
||||
{
|
||||
if (file_exists($path.$_REQUEST['delfile']))
|
||||
{
|
||||
unlink($path.$_REQUEST['delfile']);
|
||||
if ($action == $sActionDelete) {
|
||||
if (!strrchr($_REQUEST['delfile'], "/")) {
|
||||
if (file_exists($path . $_REQUEST['delfile'])) {
|
||||
unlink($path . $_REQUEST['delfile']);
|
||||
removeFileInformation($client, $_REQUEST['delfile'], 'css', $db);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ($handle = opendir($path))
|
||||
{
|
||||
// show folders
|
||||
|
||||
function scanAllDir($dir, $sFileType = null, $bShowEmptyDir = false) {
|
||||
$result = [];
|
||||
foreach (scandir($dir) as $filename) {
|
||||
if ($filename[0] === '.')
|
||||
continue;
|
||||
$filePath = $dir . DIRECTORY_SEPARATOR . $filename;
|
||||
if (is_dir($filePath)) {
|
||||
$tmp = [];
|
||||
foreach (scanAllDir($filePath, $sFileType) as $childFilename) {
|
||||
if (is_null($sFileType) || pathinfo($filePath . DIRECTORY_SEPARATOR . $childFilename, PATHINFO_EXTENSION) == $sFileType) {
|
||||
$tmp[] = $childFilename;
|
||||
}
|
||||
}
|
||||
if ($bShowEmptyDir || !empty($tmp)) {
|
||||
$result[] = array(
|
||||
'folder' => $filename,
|
||||
'files' => $tmp
|
||||
);
|
||||
}
|
||||
unset($tmp);
|
||||
} else {
|
||||
if (is_null($sFileType) || pathinfo($filePath, PATHINFO_EXTENSION) == $sFileType) {
|
||||
$result[] = $filename;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
echo "<pre>";
|
||||
print_r(scanAllDir($path, 'css', true));
|
||||
|
||||
if ($handle = opendir($path)) {
|
||||
|
||||
$aFiles = array();
|
||||
|
||||
while ($file = readdir($handle))
|
||||
{
|
||||
if(substr($file, (strlen($file) - (strlen($sFileType) + 1)), (strlen($sFileType) + 1)) == ".$sFileType" AND is_readable($path.$file))
|
||||
{
|
||||
$aFiles[] = $file;
|
||||
}elseif (substr($file, (strlen($file) - (strlen($sFileType) + 1)), (strlen($sFileType) + 1)) == ".$sFileType" AND !is_readable($path.$file))
|
||||
{
|
||||
$notification->displayNotification("error", $file." ".i18n("is not readable!"));
|
||||
|
||||
while ($file = readdir($handle)) {
|
||||
if (substr($file, (strlen($file) - (strlen($sFileType) + 1)), (strlen($sFileType) + 1)) == ".$sFileType" AND is_readable($path . $file)) {
|
||||
$aFiles[] = $file;
|
||||
} elseif (substr($file, (strlen($file) - (strlen($sFileType) + 1)), (strlen($sFileType) + 1)) == ".$sFileType" AND!is_readable($path . $file)) {
|
||||
$notification->displayNotification("error", $file . " " . i18n("is not readable!"));
|
||||
}
|
||||
}
|
||||
closedir($handle);
|
||||
|
||||
|
||||
// display files
|
||||
if (is_array($aFiles))
|
||||
{
|
||||
|
||||
sort($aFiles);
|
||||
|
||||
foreach ($aFiles as $filename)
|
||||
{
|
||||
|
||||
if (is_array($aFiles)) {
|
||||
|
||||
sort($aFiles);
|
||||
|
||||
foreach ($aFiles as $filename) {
|
||||
|
||||
$bgcolor = ( is_int($tpl->dyn_cnt / 2) ) ? $cfg["color"]["table_light"] : $cfg["color"]["table_dark"];
|
||||
$tpl->set('d', 'BGCOLOR', $bgcolor);
|
||||
|
||||
|
||||
$tmp_mstr = '<a class=\"action\" href="javascript:conMultiLink(\'%s\', \'%s\', \'%s\', \'%s\')" title="%s" alt="%s">%s</a>';
|
||||
|
||||
$html_filename = sprintf($tmp_mstr, 'right_top',
|
||||
$sess->url("main.php?area=$area&frame=3&file=$filename"),
|
||||
'right_bottom',
|
||||
$sess->url("main.php?area=$area&frame=4&action=$sActionEdit&file=$filename&tmp_file=$filename"),
|
||||
$filename, $filename, clHtmlSpecialChars($filename));
|
||||
|
||||
$html_filename = sprintf($tmp_mstr, 'right_top',
|
||||
$sess->url("main.php?area=$area&frame=3&file=$filename"),
|
||||
'right_bottom',
|
||||
$sess->url("main.php?area=$area&frame=4&action=$sActionEdit&file=$filename&tmp_file=$filename"),
|
||||
$filename, $filename, clHtmlSpecialChars($filename));
|
||||
|
||||
$tpl->set('d', 'FILENAME', $html_filename);
|
||||
|
||||
|
||||
$delTitle = i18n("Delete File");
|
||||
$delDescr = sprintf(i18n("Do you really want to delete the following file:<br><br>%s<br>"),$filename);
|
||||
|
||||
if ($perm->have_perm_area_action('style', $sActionDelete))
|
||||
{
|
||||
$tpl->set('d', 'DELETE', '<a title="'.$delTitle.'" href="javascript://" onclick="box.confirm(\''.$delTitle.'\', \''.$delDescr.'\', \'deleteFile(\\\''.$filename.'\\\')\')"><img src="'.$cfg['path']['images'].'delete.gif" border="0" title="'.$delTitle.'"></a>');
|
||||
}else
|
||||
{
|
||||
$tpl->set('d', 'DELETE', '');
|
||||
$delDescr = sprintf(i18n("Do you really want to delete the following file:<br><br>%s<br>"), $filename);
|
||||
|
||||
if ($perm->have_perm_area_action('style', $sActionDelete)) {
|
||||
$tpl->set('d', 'DELETE', '<a title="' . $delTitle . '" href="javascript://" onclick="box.confirm(\'' . $delTitle . '\', \'' . $delDescr . '\', \'deleteFile(\\\'' . $filename . '\\\')\')"><img src="' . $cfg['path']['images'] . 'delete.gif" border="0" title="' . $delTitle . '"></a>');
|
||||
} else {
|
||||
$tpl->set('d', 'DELETE', '');
|
||||
}
|
||||
|
||||
|
||||
if (stripslashes($_REQUEST['file']) == $filename) {
|
||||
$tpl->set('d', 'ID', 'id="marked"');
|
||||
} else {
|
||||
$tpl->set('d', 'ID', '');
|
||||
}
|
||||
|
||||
|
||||
$tpl->next();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}else
|
||||
{
|
||||
} else {
|
||||
if ((int) $client > 0) {
|
||||
$notification->displayNotification("error", i18n("Directory is not existing or readable!")."<br>$path");
|
||||
$notification->displayNotification("error", i18n("Directory is not existing or readable!") . "<br>$path");
|
||||
}
|
||||
}
|
||||
|
||||
$tpl->generate($cfg['path']['templates'] . $cfg['templates']['files_overview']);
|
||||
|
||||
?>
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Project:
|
||||
* Contenido Content Management System
|
||||
|
@ -27,9 +28,8 @@
|
|||
* }}
|
||||
*
|
||||
*/
|
||||
|
||||
if(!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
if (!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
}
|
||||
|
||||
|
||||
|
@ -37,38 +37,31 @@ cInclude("includes", "functions.con.php");
|
|||
cInclude("includes", "functions.str.php");
|
||||
|
||||
if (!(int) $client > 0) {
|
||||
#if there is no client selected, display empty page
|
||||
$oPage = new cPage;
|
||||
$oPage->render();
|
||||
return;
|
||||
#if there is no client selected, display empty page
|
||||
$oPage = new cPage;
|
||||
$oPage->render();
|
||||
return;
|
||||
}
|
||||
|
||||
function getExpandCollapseButton($item)
|
||||
{
|
||||
global $sess, $PHP_SELF, $frame, $area, $appendparameters;
|
||||
$selflink = "main.php";
|
||||
function getExpandCollapseButton($item) {
|
||||
global $sess, $PHP_SELF, $frame, $area, $appendparameters;
|
||||
$selflink = "main.php";
|
||||
|
||||
if (count($item->subitems) > 0)
|
||||
{
|
||||
if ($item->collapsed == true)
|
||||
{
|
||||
$expandlink = $sess->url($selflink."?area=$area&frame=$frame&appendparameters=$appendparameters&expand=".$item->id);
|
||||
return ('<a href="'.$expandlink.'" alt="'.i18n('Open category').'" title="'.i18n('Open category').'"><img src="'.$item->collapsed_icon.'" border="0" align="middle" width="18"></a>');
|
||||
} else
|
||||
{
|
||||
$collapselink = $sess->url($selflink."?area=$area&appendparameters=$appendparameters&frame=$frame&collapse=".$item->id);
|
||||
return ('<a href="'.$collapselink.'" alt="'.i18n('Close category').'" title="'.i18n('Close category').'"><img src="'.$item->expanded_icon.'" border="0" align="middle" width="18"></a>');
|
||||
}
|
||||
} else
|
||||
{
|
||||
if ($item->custom["lastitem"])
|
||||
{
|
||||
return '<img src="images/but_lastnode.gif" align="middle" width="18" height="18">';
|
||||
} else
|
||||
{
|
||||
return '<img src="images/grid_collapse.gif" align="middle" width="18" height="18">';
|
||||
}
|
||||
}
|
||||
if (count($item->subitems) > 0) {
|
||||
if ($item->collapsed == true) {
|
||||
$expandlink = $sess->url($selflink . "?area=$area&frame=$frame&appendparameters=$appendparameters&expand=" . $item->id);
|
||||
return ('<a href="' . $expandlink . '" alt="' . i18n('Open category') . '" title="' . i18n('Open category') . '"><img src="' . $item->collapsed_icon . '" border="0" align="middle" width="18"></a>');
|
||||
} else {
|
||||
$collapselink = $sess->url($selflink . "?area=$area&appendparameters=$appendparameters&frame=$frame&collapse=" . $item->id);
|
||||
return ('<a href="' . $collapselink . '" alt="' . i18n('Close category') . '" title="' . i18n('Close category') . '"><img src="' . $item->expanded_icon . '" border="0" align="middle" width="18"></a>');
|
||||
}
|
||||
} else {
|
||||
if ($item->custom["lastitem"]) {
|
||||
return '<img src="images/but_lastnode.gif" align="middle" width="18" height="18">';
|
||||
} else {
|
||||
return '<img src="images/grid_collapse.gif" align="middle" width="18" height="18">';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#################
|
||||
|
@ -76,44 +69,38 @@ function getExpandCollapseButton($item)
|
|||
#################
|
||||
#Fixxed by Timo Trautmann double database entries also called by action upl_mkdir
|
||||
// Use remembered path from upl_last_path (from session)
|
||||
if (!isset($path) && $sess->is_registered("upl_last_path"))
|
||||
{
|
||||
$path = $upl_last_path;
|
||||
if (!isset($path) && $sess->is_registered("upl_last_path")) {
|
||||
$path = $upl_last_path;
|
||||
}
|
||||
|
||||
$appendparameters = $_REQUEST["appendparameters"];
|
||||
$appendparameters = $_REQUEST["appendparameters"];
|
||||
|
||||
if (!isset ($action))
|
||||
$action = "";
|
||||
if (!isset($action))
|
||||
$action = "";
|
||||
|
||||
if ($tmp_area == "") {
|
||||
$tmp_area = $area; // $tmp_area used at two places for unknown reasons...
|
||||
$tmp_area = $area; // $tmp_area used at two places for unknown reasons...
|
||||
}
|
||||
|
||||
$uplexpandedList = unserialize($currentuser->getUserProperty("system", "upl_expandstate"));
|
||||
$upldbfsexpandedList = unserialize($currentuser->getUserProperty("system", "upl_dbfs_expandstate"));
|
||||
$uplexpandedList = unserialize($currentuser->getUserProperty("system", "upl_expandstate"));
|
||||
$upldbfsexpandedList = unserialize($currentuser->getUserProperty("system", "upl_dbfs_expandstate"));
|
||||
|
||||
if (!is_array($uplexpandedList))
|
||||
{
|
||||
$uplexpandedList = array ();
|
||||
if (!is_array($uplexpandedList)) {
|
||||
$uplexpandedList = array();
|
||||
}
|
||||
|
||||
if (!is_array($upldbfsexpandedList))
|
||||
{
|
||||
$upldbfsexpandedList = array ();
|
||||
if (!is_array($upldbfsexpandedList)) {
|
||||
$upldbfsexpandedList = array();
|
||||
}
|
||||
|
||||
if ($action == "upl_renamedir")
|
||||
{
|
||||
if ($perm->have_perm_area_action("upl", "upl_renamedir"))
|
||||
{
|
||||
uplRenameDirectory($oldname, $newname, $parent);
|
||||
$path = $cfgClient[$client]['upl']['path'].$parent.$newname."/";
|
||||
if (in_array($cfgClient[$client]['upl']['path'].$parent.$oldname."/", $uplexpandedList))
|
||||
{
|
||||
$uplexpandedList[] = $cfgClient[$client]['upl']['path'].$parent.$newname."/";
|
||||
}
|
||||
}
|
||||
if ($action == "upl_renamedir") {
|
||||
if ($perm->have_perm_area_action("upl", "upl_renamedir")) {
|
||||
uplRenameDirectory($oldname, $newname, $parent);
|
||||
$path = $cfgClient[$client]['upl']['path'] . $parent . $newname . "/";
|
||||
if (in_array($cfgClient[$client]['upl']['path'] . $parent . $oldname . "/", $uplexpandedList)) {
|
||||
$uplexpandedList[] = $cfgClient[$client]['upl']['path'] . $parent . $newname . "/";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
###################
|
||||
|
@ -121,45 +108,35 @@ if ($action == "upl_renamedir")
|
|||
###################
|
||||
$dbfs = new DBFSCollection;
|
||||
|
||||
if ($action == "upl_delete")
|
||||
{
|
||||
if (is_dbfs($path))
|
||||
{
|
||||
$dbfs->remove($path."/.");
|
||||
} else
|
||||
{
|
||||
/* Check for files */
|
||||
if (uplHasFiles($path))
|
||||
{
|
||||
$failedFiles = array ();
|
||||
if ($action == "upl_delete") {
|
||||
if (is_dbfs($path)) {
|
||||
$dbfs->remove($path . "/.");
|
||||
} else {
|
||||
/* Check for files */
|
||||
if (uplHasFiles($path)) {
|
||||
$failedFiles = array();
|
||||
|
||||
$directory = opendir($cfgClient[$client]["upl"]["path"].$path);
|
||||
while (false !== ($dir_entry = readdir($directory)))
|
||||
{
|
||||
if ($dir_entry != "." && $dir_entry != "..")
|
||||
{
|
||||
$res = @ unlink($cfgClient[$client]["upl"]["path"].$path.$dir_entry);
|
||||
$directory = opendir($cfgClient[$client]["upl"]["path"] . $path);
|
||||
while (false !== ($dir_entry = readdir($directory))) {
|
||||
if ($dir_entry != "." && $dir_entry != "..") {
|
||||
$res = @ unlink($cfgClient[$client]["upl"]["path"] . $path . $dir_entry);
|
||||
|
||||
if ($res == false)
|
||||
{
|
||||
$failedFiles[] = $dir_entry;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($res == false) {
|
||||
$failedFiles[] = $dir_entry;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (count($failedFiles) > 0)
|
||||
{
|
||||
$notification->displayNotification("warning", i18n("Failed to delete the following files:")."<br><br>".implode("<br>", $failedFiles));
|
||||
} else
|
||||
{
|
||||
$res = @ rmdir($cfgClient[$client]['upl']['path'].$path);
|
||||
if ($res == false)
|
||||
{
|
||||
$notification->displayNotification("warning", sprintf(i18n("Failed to remove directory %s"), $path));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (count($failedFiles) > 0) {
|
||||
$notification->displayNotification("warning", i18n("Failed to delete the following files:") . "<br><br>" . implode("<br>", $failedFiles));
|
||||
} else {
|
||||
$res = @ rmdir($cfgClient[$client]['upl']['path'] . $path);
|
||||
if ($res == false) {
|
||||
$notification->displayNotification("warning", sprintf(i18n("Failed to remove directory %s"), $path));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$tpl->reset();
|
||||
|
@ -167,28 +144,28 @@ $tpl->reset();
|
|||
$file = 'Upload';
|
||||
$pathstring = '';
|
||||
/*
|
||||
$rootTreeItem = new TreeItem;
|
||||
$rootTreeItem->custom["level"] = 0;
|
||||
$rootTreeItem->name = i18n("Upload directory");
|
||||
*/
|
||||
$user_upload_path = getEffectiveSetting("upload","userpath");
|
||||
$rootTreeItem = new TreeItem;
|
||||
$rootTreeItem->custom["level"] = 0;
|
||||
$rootTreeItem->name = i18n("Upload directory");
|
||||
*/
|
||||
$user_upload_path = getEffectiveSetting("upload", "userpath");
|
||||
|
||||
if (is_string($user_upload_path) AND !empty($user_upload_path)) {
|
||||
trim($user_upload_path);
|
||||
$file = $user_upload_path;
|
||||
if (substr($user_upload_path, -1) != "/") {
|
||||
$user_upload_path .= "/";
|
||||
if (is_string($user_upload_path) AND!empty($user_upload_path)) {
|
||||
trim($user_upload_path);
|
||||
$file = $user_upload_path;
|
||||
if (substr($user_upload_path, -1) != "/") {
|
||||
$user_upload_path .= "/";
|
||||
}
|
||||
$pathstring = $user_upload_path;
|
||||
if (substr($cfgClient[$client]["upl"]["path"], -1) != "/" AND substr($user_upload_path, 0, 1) == "/") {
|
||||
$user_upload_path = substr($user_upload_path, 1);
|
||||
$pathstring = $user_upload_path;
|
||||
if (substr($cfgClient[$client]["upl"]["path"], -1) != "/" AND substr($user_upload_path, 0, 1) == "/") {
|
||||
$user_upload_path = substr($user_upload_path, 1);
|
||||
}
|
||||
}
|
||||
|
||||
$rootTreeItem = new TreeItem;
|
||||
$rootTreeItem->custom["level"] = 0;
|
||||
$rootTreeItem->name = i18n("Upload directory");
|
||||
$aInvalidDirectories = uplRecursiveDirectoryList($cfgClient[$client]["upl"]["path"].$user_upload_path, $rootTreeItem, 2);
|
||||
$aInvalidDirectories = uplRecursiveDirectoryList($cfgClient[$client]["upl"]["path"] . $user_upload_path, $rootTreeItem, 2);
|
||||
|
||||
if (count($aInvalidDirectories) > 0) {
|
||||
$sWarningInfo = i18n('The following directories contains invalid characters and were ignored: ');
|
||||
|
@ -196,9 +173,9 @@ if (count($aInvalidDirectories) > 0) {
|
|||
$sFiles = implode(', ', $aInvalidDirectories);
|
||||
$sRenameString = i18n('Please click here in order to rename automatically.');
|
||||
$sRenameHref = $sess->url("main.php?area=$area&frame=$frame&force_rename=true");
|
||||
$sRemameLink = '<a href="'.$sRenameHref.'">'.$sRenameString.'</a>';
|
||||
$sNotificationString = $sWarningInfo.$sSeperator.$sFiles.$sSeperator.$sSeperator.$sRemameLink;
|
||||
|
||||
$sRemameLink = '<a href="' . $sRenameHref . '">' . $sRenameString . '</a>';
|
||||
$sNotificationString = $sWarningInfo . $sSeperator . $sFiles . $sSeperator . $sSeperator . $sRemameLink;
|
||||
|
||||
$sErrorString = $notification->returnNotification("warning", $sNotificationString, 1);
|
||||
$tpl->set('s', 'WARNING', $sErrorString);
|
||||
} else {
|
||||
|
@ -206,139 +183,114 @@ if (count($aInvalidDirectories) > 0) {
|
|||
}
|
||||
|
||||
/* Mark all items in the expandedList as expanded */
|
||||
foreach ($uplexpandedList as $key => $value)
|
||||
{
|
||||
$rootTreeItem->markExpanded($value);
|
||||
foreach ($uplexpandedList as $key => $value) {
|
||||
$rootTreeItem->markExpanded($value);
|
||||
}
|
||||
|
||||
/* Collapse and expand the tree */
|
||||
if (is_string($collapse))
|
||||
{
|
||||
$rootTreeItem->markCollapsed($collapse);
|
||||
if (is_string($collapse)) {
|
||||
$rootTreeItem->markCollapsed($collapse);
|
||||
}
|
||||
|
||||
if (is_string($expand))
|
||||
{
|
||||
$rootTreeItem->markExpanded($expand);
|
||||
if (is_string($expand)) {
|
||||
$rootTreeItem->markExpanded($expand);
|
||||
}
|
||||
|
||||
$uplexpandedList = Array ();
|
||||
$uplexpandedList = Array();
|
||||
$rootTreeItem->getExpandedList($uplexpandedList);
|
||||
|
||||
$currentuser->setUserProperty("system", "upl_expandstate", serialize($uplexpandedList));
|
||||
|
||||
$objects = Array ();
|
||||
$objects = Array();
|
||||
$rootTreeItem->traverse($objects);
|
||||
unset ($objects[0]);
|
||||
unset($objects[0]);
|
||||
|
||||
$bgcolor = (is_int($tpl->dyn_cnt / 2)) ? $cfg["color"]["table_light"] : $cfg["color"]["table_dark"];
|
||||
|
||||
if ($appendparameters == "filebrowser")
|
||||
{
|
||||
$mtree = new cWidgetTreeView("b58f0ae3-8d4e-4bb3-a754-5f0628863364");
|
||||
$cattree = conFetchCategoryTree();
|
||||
$marray = array ();
|
||||
if ($appendparameters == "filebrowser") {
|
||||
$mtree = new cWidgetTreeView("b58f0ae3-8d4e-4bb3-a754-5f0628863364");
|
||||
$cattree = conFetchCategoryTree();
|
||||
$marray = array();
|
||||
|
||||
foreach ($cattree as $key => $catitem)
|
||||
{
|
||||
$no_start = true;
|
||||
$no_online = true;
|
||||