little fixes and git admin

Dieser Commit ist enthalten in:
o.pinke 2021-05-23 11:17:02 +02:00
Ursprung a7f1f3edb4
Commit dbaaa6ffa5
10 geänderte Dateien mit 611 neuen und 731 gelöschten Zeilen

2
.gitignore vendored
Datei anzeigen

@ -13,3 +13,5 @@
!/cms/data/layouts/ !/cms/data/layouts/
/cms/data/layouts/* /cms/data/layouts/*
/conlite/includes/include.style_edit_form_1.php /conlite/includes/include.style_edit_form_1.php
/cms/config.local.php
/cms/dflip/

6
cms/upload/.gitignore vendored Normale Datei
Datei anzeigen

@ -0,0 +1,6 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore
!/Flexslider
!/Gallery

Datei anzeigen

@ -443,15 +443,13 @@ class cFileHandler {
* true if the given filename is valid, false otherwise * true if the given filename is valid, false otherwise
*/ */
public static function validateFilename($filename, $notifyAndExitOnFailure = true) { public static function validateFilename($filename, $notifyAndExitOnFailure = true) {
$notification = new Contenido_Notification();
// check if filename only contains valid characters // check if filename only contains valid characters
if (preg_match('/[^a-z0-9._-]/i', $filename)) { if (preg_match('/[^a-z0-9._-]/i', $filename)) {
// validation failure... // validation failure...
if ($notifyAndExitOnFailure) { if ($notifyAndExitOnFailure) {
// display notification and exit $notification->displayNotification("error", i18n("Please insert file name."));
cRegistry::addErrorMessage(i18n('Wrong file name.'));
$page = new cGuiPage('generic_page');
$page->abortRendering();
$page->render();
exit(); exit();
} }
@ -463,7 +461,6 @@ class cFileHandler {
// validation failure... // validation failure...
if ($notifyAndExitOnFailure) { if ($notifyAndExitOnFailure) {
// display notification and exit // display notification and exit
$notification = new cGuiNotification();
$notification->displayNotification("error", i18n("Please insert file name.")); $notification->displayNotification("error", i18n("Please insert file name."));
exit(); exit();
} }

Datei anzeigen

@ -194,7 +194,7 @@ class Template {
$sModName = strtolower(uplCreateFriendlyName($tmpModule->get('name'))); $sModName = strtolower(uplCreateFriendlyName($tmpModule->get('name')));
$aModFileEditConf = $tmpModule->getModFileEditConf(); $aModFileEditConf = $tmpModule->getModFileEditConf();
unset($tmpModule); unset($tmpModule);
$sTmpPath = $aModFileEditConf['modPath'] . $sModName . "/template/" . $template; $sTmpPath = $aModFileEditConf['modPath'] . $sModName . "/template/" . str_replace('templates/', '', $template);
if (is_readable($sTmpPath)) { if (is_readable($sTmpPath)) {
$template = $sTmpPath; $template = $sTmpPath;
$bModTplUsed = TRUE; $bModTplUsed = TRUE;

Datei anzeigen

@ -1,4 +1,5 @@
<?php <?php
/** /**
* Project: * Project:
* Contenido Content Management System * Contenido Content Management System
@ -30,8 +31,7 @@
* }} * }}
* *
*/ */
if (!defined('CON_FRAMEWORK')) {
if(!defined('CON_FRAMEWORK')) {
die('Illegal call'); die('Illegal call');
} }
@ -57,7 +57,7 @@ function removeFileInformation($iIdClient, $sFilename, $sType, $oDb) {
$sFilename = Contenido_Security::filter((string) $sFilename, $oDb); $sFilename = Contenido_Security::filter((string) $sFilename, $oDb);
$sType = Contenido_Security::filter((string) $sType, $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 filename='$sFilename' AND
type='$sType';"; type='$sType';";
$oDb->query($sSql); $oDb->query($sSql);
@ -82,7 +82,7 @@ function removeFileInformation($iIdClient, $sFilename, $sType, $oDb) {
* description - Description which was inserted for this file * description - Description which was inserted for this file
* *
*/ */
function getFileInformation ($iIdClient, $sFilename, $sType, $oDb) { function getFileInformation($iIdClient, $sFilename, $sType, $oDb) {
global $cfg; global $cfg;
if (!isset($oDb) || !is_object($oDb)) { if (!isset($oDb) || !is_object($oDb)) {
@ -94,7 +94,7 @@ function getFileInformation ($iIdClient, $sFilename, $sType, $oDb) {
$sType = Contenido_Security::filter((string) $sType, $oDb); $sType = Contenido_Security::filter((string) $sType, $oDb);
$aFileInformation = array(); $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 filename='$sFilename' AND
type='$sType';"; type='$sType';";
$oDb->query($sSql); $oDb->query($sSql);
@ -145,13 +145,13 @@ function updateFileInformation($iIdClient, $sFilename, $sType, $sAuthor, $sDescr
$sDescription = Contenido_Security::filter((string) stripslashes($sDescription), $oDb); $sDescription = Contenido_Security::filter((string) stripslashes($sDescription), $oDb);
$sAuthor = Contenido_Security::filter((string) $sAuthor, $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 filename='$sFilename' AND
type='$sType';"; type='$sType';";
$oDb->query($sSql); $oDb->query($sSql);
if ($oDb->num_rows() == 0) { if ($oDb->num_rows() == 0) {
$iNextId = $oDb->nextid('con_style_file_information'); $iNextId = $oDb->nextid('con_style_file_information');
$sSql = "INSERT INTO `".$cfg["tab"]["file_information"]."` ( `idsfi` , $sSql = "INSERT INTO `" . $cfg["tab"]["file_information"] . "` ( `idsfi` ,
`idclient` , `idclient` ,
`type` , `type` ,
`filename` , `filename` ,
@ -172,7 +172,7 @@ function updateFileInformation($iIdClient, $sFilename, $sType, $sAuthor, $sDescr
'$sDescription' '$sDescription'
);"; );";
} else { } else {
$sSql = "UPDATE `".$cfg["tab"]["file_information"]."` SET `lastmodified` = NOW(), $sSql = "UPDATE `" . $cfg["tab"]["file_information"] . "` SET `lastmodified` = NOW(),
`modifiedby` = '$sAuthor', `modifiedby` = '$sAuthor',
`description` = '$sDescription', `description` = '$sDescription',
`filename` = '$sFilenameNew' `filename` = '$sFilenameNew'
@ -187,7 +187,6 @@ function updateFileInformation($iIdClient, $sFilename, $sType, $sAuthor, $sDescr
$oDb->free(); $oDb->free();
} }
/** /**
* Writes passed data into a file using binary mode. * 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 * @return (string|void) Either content of file o nothing
*/ */
function fileEdit($filename, $sCode, $path) { function fileEdit($filename, $sCode, $path) {
global $notification; $oNot = new Contenido_Notification();
// FIXME: fileValidateFilename does also the validation but display another message! // FIXME: fileValidateFilename does also the validation but display another message!
if (strlen(trim($filename)) == 0) { if (strlen(trim($filename)) == 0) {
$notification->displayNotification("error", i18n("Please insert filename.")); $oNot->displayNotification("error", i18n("Please insert filename."));
return false; return false;
} }
cFileHandler::validateFilename($filename);
fileValidateFilename($filename, true); if (is_writable($path . $filename)) {
// FIXME: Should be replaced against file_put_contents($path . $filename, FILE_BINARY | LOCK_EX | FILE_APPEND)
if (is_writable($path.$filename)) {
if (strlen(stripslashes(trim($sCode))) > 0) { if (strlen(stripslashes(trim($sCode))) > 0) {
# open file if (!empty($sCode)) {
if (!$handle = fopen($path.$filename, "wb+")) { $sCode = mb_convert_encoding($sCode, 'UTF-8', 'OLD-ENCODING');
$notification->displayNotification("error", sprintf(i18n("Could not open file %s"), $path.$filename));
exit;
} }
# write file cFileHandler::write($path . $filename, $sCode);
if (!fwrite($handle, stripslashes($sCode))) {
$notification->displayNotification("error", sprintf(i18n("Could not write file %s"), $path.$filename));
exit;
}
fclose($handle);
return true; return true;
} else { } else {
return false; return false;
} }
} else { } else {
$notification->displayNotification("error", sprintf(i18n("%s is not writable"), $path.$filename)); $oNot->displayNotification("error", sprintf(i18n("%s is not writable"), $path . $filename));
exit; exit;
} }
} }
/** /**
* Reads content of file into memory using binary mode and returns it back. * 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 * @return (string|void) Either content of file o nothing
*/ */
function getFileContent($filename, $path) { function getFileContent($filename, $path) {
global $notification; $sCode = cFileHandler::read($path . $filename);
if (!empty($sCode)) {
// FIXME: Should be replaced against file_get_contents($path . $filename, FILE_BINARY) $sCode = mb_convert_encoding($sCode, 'UTF-8', 'OLD-ENCODING');
}
if (!$handle = fopen($path.$filename, "rb")) { return $sCode;
$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;
} }
/** /**
* Returns the filetype (extension). * Returns the filetype (extension).
* *
@ -280,7 +251,6 @@ function getFileType($filename) {
return $aFileName[count($aFileName) - 1]; return $aFileName[count($aFileName) - 1];
} }
/** /**
* Creates a file. * Creates a file.
* *
@ -291,26 +261,18 @@ function getFileType($filename) {
* @return (void|bool) Either true on success or nothing * @return (void|bool) Either true on success or nothing
*/ */
function createFile($filename, $path) { function createFile($filename, $path) {
global $notification; $oNot = new Contenido_Notification();
fileValidateFilename($filename, true); cFileHandler::validateFilename($filename);
# create the file if (cFileHandler::create($path . $filename)) {
if (touch($path.$filename)) { return true;
# 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;
}
} else { } 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; exit;
} }
} }
/** /**
* Renames a existing file. * Renames a existing file.
* *
@ -322,25 +284,24 @@ function createFile($filename, $path) {
* @return (void|string) Either new filename or nothing * @return (void|string) Either new filename or nothing
*/ */
function renameFile($sOldFile, $sNewFile, $path) { function renameFile($sOldFile, $sNewFile, $path) {
global $notification; $oNot = new Contenido_Notification();
fileValidateFilename($sNewFile, true); fileValidateFilename($sNewFile, true);
if (is_writable($path.$sOldFile)) { if (is_writable($path . $sOldFile)) {
# rename file # rename file
if (rename($path.$sOldFile, $path.$sNewFile)) { if (rename($path . $sOldFile, $path . $sNewFile)) {
return $sNewFile; return $sNewFile;
} else { } 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; exit;
} }
} else { } else {
$notification->displayNotification("error", sprintf(i18n("%s is not writable"), $path.$sOldFile)); $oNot->displayNotification("error", sprintf(i18n("%s is not writable"), $path . $sOldFile));
exit; exit;
} }
} }
/** /**
* Validates passed filename. Filename can contain alphanumeric characters, dot, underscore or a hyphen. * 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) * @return (void|bool) Either validation result or nothing (depends on second parameter)
*/ */
function fileValidateFilename($filename, $notifyAndExitOnFailure = true) { function fileValidateFilename($filename, $notifyAndExitOnFailure = true) {
global $notification;
if (preg_match('/[^a-z0-9._-]/i', $filename)) { if (preg_match('/[^a-z0-9._-]/i', $filename)) {
// validation failure... // validation failure...
if ($notifyAndExitOnFailure == true) { if ($notifyAndExitOnFailure == true) {
$oNot = new Contenido_Notification();
// display notification and exit // display notification and exit
$notification->displayNotification('error', i18n('Wrong filename.')); $oNot->displayNotification('error', i18n('Wrong filename.'));
exit; exit;
} }
return false; return false;

Datei anzeigen

@ -1,4 +1,5 @@
<?php <?php
/** /**
* Project: * Project:
* Contenido Content Management System * Contenido Content Management System
@ -28,9 +29,8 @@
* }} * }}
* *
*/ */
if (!defined('CON_FRAMEWORK')) {
if(!defined('CON_FRAMEWORK')) { die('Illegal call');
die('Illegal call');
} }
@ -45,116 +45,104 @@ $page = new cPage;
$tpl->reset(); $tpl->reset();
if (!$perm->have_perm_area_action($area, $action)) if (!$perm->have_perm_area_action($area, $action)) {
{
$notification->displayNotification("error", i18n("Permission denied")); $notification->displayNotification("error", i18n("Permission denied"));
} else if (!(int) $client > 0) { } else if (!(int) $client > 0) {
#if there is no client selected, display empty page #if there is no client selected, display empty page
$page->render(); $page->render();
} else { } else {
$path = $cfgClient[$client]["js"]["path"]; $path = $cfgClient[$client]["js"]["path"];
$sTempFilename = stripslashes($_REQUEST['tmp_file']); $sTempFilename = stripslashes($_REQUEST['tmp_file']);
$sOrigFileName = $sTempFilename; $sOrigFileName = $sTempFilename;
if (getFileType($_REQUEST['file']) != $sFileType AND strlen(stripslashes(trim($_REQUEST['file']))) > 0) if (getFileType($_REQUEST['file']) != $sFileType AND strlen(stripslashes(trim($_REQUEST['file']))) > 0) {
{ $sFilename .= stripslashes($_REQUEST['file']) . ".$sFileType";
$sFilename .= stripslashes($_REQUEST['file']).".$sFileType"; } else {
}else $sFilename .= stripslashes($_REQUEST['file']);
{
$sFilename .= stripslashes($_REQUEST['file']);
} }
if (stripslashes($_REQUEST['file'])) { if (stripslashes($_REQUEST['file'])) {
$sReloadScript = "<script type=\"text/javascript\"> $sReloadScript = "<script type=\"text/javascript\">
var left_bottom = parent.parent.frames['left'].frames['left_bottom']; var left_bottom = parent.parent.frames['left'].frames['left_bottom'];
if (left_bottom) { if (left_bottom) {
var href = left_bottom.location.href; var href = left_bottom.location.href;
href = href.replace(/&file[^&]*/, ''); href = href.replace(/&file[^&]*/, '');
left_bottom.location.href = href+'&file='+'".$sFilename."'; left_bottom.location.href = href+'&file='+'" . $sFilename . "';
} }
</script>"; </script>";
} else { } else {
$sReloadScript = ""; $sReloadScript = "";
} }
// Content Type is template // Content Type is template
$sTypeContent = "js"; $sTypeContent = "js";
$aFileInfo = getFileInformation ($client, $sTempFilename, $sTypeContent, $db); $aFileInfo = getFileInformation($client, $sTempFilename, $sTypeContent, $db);
# create new file # create new file
if ( $_REQUEST['action'] == $sActionCreate AND $_REQUEST['status'] == 'send') if ($_REQUEST['action'] == $sActionCreate AND $_REQUEST['status'] == 'send') {
{ $sTempFilename = $sFilename;
$sTempFilename = $sFilename; createFile($sFilename, $path);
createFile($sFilename, $path); $bEdit = fileEdit($sFilename, $_REQUEST['code'], $path);
$bEdit = fileEdit($sFilename, $_REQUEST['code'], $path);
updateFileInformation($client, $sFilename, 'js', $auth->auth['uid'], $_REQUEST['description'], $db); updateFileInformation($client, $sFilename, 'js', $auth->auth['uid'], $_REQUEST['description'], $db);
$sReloadScript .= "<script type=\"text/javascript\"> $sReloadScript .= "<script type=\"text/javascript\">
var right_top = top.content.right.right_top; var right_top = top.content.right.right_top;
if (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; right_top.location.href = href;
} }
</script>"; </script>";
} }
# edit selected file # edit selected file
if ( $_REQUEST['action'] == $sActionEdit AND $_REQUEST['status'] == 'send') if ($_REQUEST['action'] == $sActionEdit AND $_REQUEST['status'] == 'send') {
{ if ($sFilename != $sTempFilename) {
if ($sFilename != $sTempFilename) $sTempFilename = renameFile($sTempFilename, $sFilename, $path);
{
$sTempFilename = renameFile($sTempFilename, $sFilename, $path);
$sReloadScript .= "<script type=\"text/javascript\"> $sReloadScript .= "<script type=\"text/javascript\">
var right_top = top.content.right.right_top; var right_top = top.content.right.right_top;
if (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; right_top.location.href = href;
} }
</script>"; </script>";
}else } else {
{ $sTempFilename = $sFilename;
$sTempFilename = $sFilename; }
}
updateFileInformation($client, $sOrigFileName, 'js', $auth->auth['uid'], $_REQUEST['description'], $db, $sFilename);
updateFileInformation($client, $sOrigFileName, 'js', $auth->auth['uid'], $_REQUEST['description'], $db, $sFilename);
/** /**
* START TRACK VERSION * START TRACK VERSION
**/ * */
if((count($aFileInfo) == 0) || ((int)$aFileInfo["idsfi"] == 0)) { if ((count($aFileInfo) == 0) || ((int) $aFileInfo["idsfi"] == 0)) {
$aFileInfo = getFileInformation ($client, $sTempFilename, $sTypeContent, $db); $aFileInfo = getFileInformation($client, $sTempFilename, $sTypeContent, $db);
$aFileInfo['description'] = ''; $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); $oVersion = new VersionFile($aFileInfo["idsfi"], $aFileInfo, $sFilename, $sTypeContent, $cfg, $cfgClient, $db, $client, $area, $frame, $sOrigFileName);
// Create new Jscript Version in cms/version/js/ folder // Create new Jscript Version in cms/version/js/ folder
$oVersion->createNewVersion(); $oVersion->createNewVersion();
} }
/** /**
* END TRACK VERSION * END TRACK VERSION
**/ * */
$bEdit = fileEdit($sFilename, $_REQUEST['code'], $path);
$bEdit = fileEdit($sFilename, $_REQUEST['code'], $path); }
} # generate edit form
if (isset($_REQUEST['action'])) {
# generate edit form
if (isset($_REQUEST['action']))
{
$aFileInfo = getFileInformation($client, $sFilename, $sTypeContent, $db); $aFileInfo = getFileInformation($client, $sFilename, $sTypeContent, $db);
$sAction = ($bEdit) ? $sActionEdit : $_REQUEST['action']; $sAction = ($bEdit) ? $sActionEdit : $_REQUEST['action'];
if ($_REQUEST['action'] == $sActionEdit) if ($_REQUEST['action'] == $sActionEdit) {
{ $sCode = getFileContent($sFilename, $path);
$sCode = getFileContent($sFilename, $path); } else {
}else $sCode = stripslashes($_REQUEST['code']); # stripslashes is required here in case of creating a new file
{ }
$sCode = stripslashes($_REQUEST['code']); # stripslashes is required here in case of creating a new file
}
$form = new UI_Table_Form("file_editor"); $form = new UI_Table_Form("file_editor");
$form->addHeader(i18n("Edit file")); $form->addHeader(i18n("Edit file"));
$form->setWidth("100%"); $form->setWidth("100%");
@ -163,28 +151,26 @@ if (!$perm->have_perm_area_action($area, $action))
$form->setVar("frame", $frame); $form->setVar("frame", $frame);
$form->setVar("status", 'send'); $form->setVar("status", 'send');
$form->setVar("tmp_file", $sTempFilename); $form->setVar("tmp_file", $sTempFilename);
$tb_name = new cHTMLTextbox("file", $sFilename, 60); $tb_name = new cHTMLTextbox("file", $sFilename, 60);
$ta_code = new cHTMLTextarea("code", clHtmlSpecialChars($sCode), 100, 35, "code"); $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%;"); $ta_code->setStyle("font-family: monospace;width: 100%;");
$descr->setStyle("font-family: monospace;width: 100%;"); $descr->setStyle("font-family: monospace;width: 100%;");
$ta_code->updateAttributes(array("wrap" => getEffectiveSetting('script_editor', 'wrap', 'off'))); $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("Description"), $descr->render());
$form->add(i18n("Code"),$ta_code); $form->add(i18n("Code"), $ta_code);
$page->setContent($form->render()); $page->setContent($form->render());
$oEditArea = new EditArea('code', 'js', substr(strtolower($belang), 0, 2), true, $cfg); $oEditArea = new EditArea('code', 'js', substr(strtolower($belang), 0, 2), true, $cfg);
$page->addScript('editarea', $oEditArea->renderScript()); $page->addScript('editarea', $oEditArea->renderScript());
$page->addScript('reload', $sReloadScript); $page->addScript('reload', $sReloadScript);
$page->render(); $page->render();
} }
} }
?> ?>

Datei anzeigen

@ -1,4 +1,5 @@
<?php <?php
/** /**
* Project: * Project:
* Contenido Content Management System * Contenido Content Management System
@ -28,9 +29,8 @@
* }} * }}
* *
*/ */
if (!defined('CON_FRAMEWORK')) {
if(!defined('CON_FRAMEWORK')) { die('Illegal call');
die('Illegal call');
} }
@ -46,13 +46,12 @@ $page->setEncoding("utf-8");
$tpl->reset(); $tpl->reset();
if (!$perm->have_perm_area_action($area, $action)) if (!$perm->have_perm_area_action($area, $action)) {
{
$notification->displayNotification("error", i18n("Permission denied")); $notification->displayNotification("error", i18n("Permission denied"));
} else if (!(int) $client > 0) { } else if (!(int) $client > 0) {
#if there is no client selected, display empty page #if there is no client selected, display empty page
$page->render(); $page->render();
} else { } else {
$path = $cfgClient[$client]["css"]["path"]; $path = $cfgClient[$client]["css"]["path"];
if (stripslashes($_REQUEST['file'])) { if (stripslashes($_REQUEST['file'])) {
$sReloadScript = "<script type=\"text/javascript\"> $sReloadScript = "<script type=\"text/javascript\">
@ -60,7 +59,7 @@ if (!$perm->have_perm_area_action($area, $action))
if (left_bottom) { if (left_bottom) {
var href = left_bottom.location.href; var href = left_bottom.location.href;
href = href.replace(/&file.*/, ''); href = href.replace(/&file.*/, '');
left_bottom.location.href = href+'&file='+'".$_REQUEST['file']."'; left_bottom.location.href = href+'&file='+'" . $_REQUEST['file'] . "';
} }
</script>"; </script>";
@ -68,114 +67,102 @@ if (!$perm->have_perm_area_action($area, $action))
$sReloadScript = ""; $sReloadScript = "";
} }
$sTempFilename = stripslashes($_REQUEST['tmp_file']); $sTempFilename = stripslashes($_REQUEST['tmp_file']);
$sOrigFileName = $sTempFilename; $sOrigFileName = $sTempFilename;
if (getFileType($_REQUEST['file']) != $sFileType AND strlen(stripslashes(trim($_REQUEST['file']))) > 0) if (getFileType($_REQUEST['file']) != $sFileType AND strlen(stripslashes(trim($_REQUEST['file']))) > 0) {
{ $sFilename .= stripslashes($_REQUEST['file']) . ".$sFileType";
$sFilename .= stripslashes($_REQUEST['file']).".$sFileType"; } else {
}else $sFilename .= stripslashes($_REQUEST['file']);
{
$sFilename .= stripslashes($_REQUEST['file']);
} }
if (stripslashes($_REQUEST['file'])) { if (stripslashes($_REQUEST['file'])) {
$sReloadScript = "<script type=\"text/javascript\"> $sReloadScript = "<script type=\"text/javascript\">
var left_bottom = parent.parent.frames['left'].frames['left_bottom']; var left_bottom = parent.parent.frames['left'].frames['left_bottom'];
if (left_bottom) { if (left_bottom) {
var href = left_bottom.location.href; var href = left_bottom.location.href;
href = href.replace(/&file[^&]*/, ''); href = href.replace(/&file[^&]*/, '');
left_bottom.location.href = href+'&file='+'".$sFilename."'; left_bottom.location.href = href+'&file='+'" . $sFilename . "';
} }
</script>"; </script>";
} else { } else {
$sReloadScript = ""; $sReloadScript = "";
} }
// Content Type is css // Content Type is css
$sTypeContent = "css"; $sTypeContent = "css";
$aFileInfo = getFileInformation ($client, $sTempFilename, $sTypeContent, $db); $aFileInfo = getFileInformation($client, $sTempFilename, $sTypeContent, $db);
# create new file # create new file
if ( $_REQUEST['action'] == $sActionCreate AND $_REQUEST['status'] == 'send') if ($_REQUEST['action'] == $sActionCreate AND $_REQUEST['status'] == 'send') {
{ $sTempFilename = $sFilename;
$sTempFilename = $sFilename; createFile($sFilename, $path);
createFile($sFilename, $path); $bEdit = fileEdit($sFilename, $_REQUEST['code'], $path);
$bEdit = fileEdit($sFilename, $_REQUEST['code'], $path);
updateFileInformation($client, $sFilename, 'css', $auth->auth['uid'], $_REQUEST['description'], $db); updateFileInformation($client, $sFilename, 'css', $auth->auth['uid'], $_REQUEST['description'], $db);
$sReloadScript .= "<script type=\"text/javascript\"> $sReloadScript .= "<script type=\"text/javascript\">
var right_top = top.content.right.right_top; var right_top = top.content.right.right_top;
if (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; right_top.location.href = href;
} }
</script>"; </script>";
} }
# edit selected file # edit selected file
if ( $_REQUEST['action'] == $sActionEdit AND $_REQUEST['status'] == 'send') if ($_REQUEST['action'] == $sActionEdit AND $_REQUEST['status'] == 'send') {
{ if ($sFilename != $sTempFilename) {
if ($sFilename != $sTempFilename) $sTempFilename = renameFile($sTempFilename, $sFilename, $path);
{
$sTempFilename = renameFile($sTempFilename, $sFilename, $path);
$sReloadScript .= "<script type=\"text/javascript\"> $sReloadScript .= "<script type=\"text/javascript\">
var right_top = top.content.right.right_top; var right_top = top.content.right.right_top;
if (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; right_top.location.href = href;
} }
</script>"; </script>";
}else } else {
{ $sTempFilename = $sFilename;
$sTempFilename = $sFilename; }
}
updateFileInformation($client, $sOrigFileName, 'css', $auth->auth['uid'], $_REQUEST['description'], $db, $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 // For read Fileinformation an get the id of current File
cInclude("includes", "functions.file.php"); cInclude("includes", "functions.file.php");
if((count($aFileInfo) == 0) || ((int)$aFileInfo["idsfi"] == 0)) { if ((count($aFileInfo) == 0) || ((int) $aFileInfo["idsfi"] == 0)) {
$aFileInfo = getFileInformation ($client, $sTempFilename, $sTypeContent, $db); $aFileInfo = getFileInformation($client, $sTempFilename, $sTypeContent, $db);
$aFileInfo['description'] = ''; $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); $oVersion = new VersionFile($aFileInfo["idsfi"], $aFileInfo, $sFilename, $sTypeContent, $cfg, $cfgClient, $db, $client, $area, $frame, $sOrigFileName);
// Create new version // Create new version
$oVersion->createNewVersion(); $oVersion->createNewVersion();
} }
/** /**
* END TRACK VERSION * END TRACK VERSION
**/ * */
$bEdit = fileEdit($sFilename, $_REQUEST['code'], $path);
}
$bEdit = fileEdit($sFilename, $_REQUEST['code'], $path);
# generate edit form
} if (isset($_REQUEST['action'])) {
# generate edit form $sAction = ($bEdit) ? $sActionEdit : $_REQUEST['action'];
if (isset($_REQUEST['action'])) {
if ($_REQUEST['action'] == $sActionEdit) {
$sAction = ($bEdit) ? $sActionEdit : $_REQUEST['action']; $sCode = getFileContent($sFilename, $path);
} else {
if ($_REQUEST['action'] == $sActionEdit) $sCode = stripslashes($_REQUEST['code']); # stripslashes is required here in case of creating a new file
{ }
$sCode = getFileContent($sFilename, $path);
}else $aFileInfo = getFileInformation($client, $sTempFilename, "css", $db);
{
$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 = new UI_Table_Form("file_editor");
$form->addHeader(i18n("Edit file")); $form->addHeader(i18n("Edit file"));
$form->setWidth("100%"); $form->setWidth("100%");
@ -184,28 +171,26 @@ if (!$perm->have_perm_area_action($area, $action))
$form->setVar("frame", $frame); $form->setVar("frame", $frame);
$form->setVar("status", 'send'); $form->setVar("status", 'send');
$form->setVar("tmp_file", $sTempFilename); $form->setVar("tmp_file", $sTempFilename);
$tb_name = new cHTMLTextbox("file", $sFilename, 60); $tb_name = new cHTMLTextbox("file", $sFilename, 60);
$ta_code = new cHTMLTextarea("code", clHtmlSpecialChars($sCode), 100, 35, "code"); $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%;"); $ta_code->setStyle("font-family: monospace;width: 100%;");
$descr->setStyle("font-family: monospace;width: 100%;"); $descr->setStyle("font-family: monospace;width: 100%;");
$ta_code->updateAttributes(array("wrap" => getEffectiveSetting('style_editor', 'wrap', 'off'))); $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("Description"), $descr->render());
$form->add(i18n("Code"),$ta_code); $form->add(i18n("Code"), $ta_code);
$page->setContent($form->render()); $page->setContent($form->render());
$oEditArea = new EditArea('code', 'css', substr(strtolower($belang), 0, 2), true, $cfg); $oEditArea = new EditArea('code', 'css', substr(strtolower($belang), 0, 2), true, $cfg);
$page->addScript('editarea', $oEditArea->renderScript()); $page->addScript('editarea', $oEditArea->renderScript());
$page->addScript('reload', $sReloadScript); $page->addScript('reload', $sReloadScript);
$page->render(); $page->render();
} }
} }
?> ?>

Datei anzeigen

@ -1,4 +1,5 @@
<?php <?php
/** /**
* Project: * Project:
* Contenido Content Management System * Contenido Content Management System
@ -27,9 +28,8 @@
* }} * }}
* *
*/ */
if (!defined('CON_FRAMEWORK')) {
if(!defined('CON_FRAMEWORK')) { die('Illegal call');
die('Illegal call');
} }
cInclude("includes", "functions.file.php"); cInclude("includes", "functions.file.php");
@ -37,10 +37,10 @@ cInclude("includes", "functions.file.php");
$tpl->reset(); $tpl->reset();
if (!(int) $client > 0) { if (!(int) $client > 0) {
#if there is no client selected, display empty page #if there is no client selected, display empty page
$oPage = new cPage; $oPage = new cPage;
$oPage->render(); $oPage->render();
return; return;
} }
$path = $cfgClient[$client]["css"]["path"]; $path = $cfgClient[$client]["css"]["path"];
@ -55,7 +55,7 @@ $sActionEdit = 'style_edit';
$sScriptTemplate = ' $sScriptTemplate = '
<script type="text/javascript" src="scripts/rowMark.js"></script> <script type="text/javascript" src="scripts/rowMark.js"></script>
<script type="text/javascript" src="scripts/general.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"> <script type="text/javascript">
/* Create messageBox instance */ /* Create messageBox instance */
@ -63,99 +63,118 @@ $sScriptTemplate = '
function deleteFile(file) function deleteFile(file)
{ {
url = "main.php?area='.$sArea.'"; url = "main.php?area=' . $sArea . '";
url += "&action='.$sActionDelete.'"; url += "&action=' . $sActionDelete . '";
url += "&frame=2"; url += "&frame=2";
url += "&delfile=" + file; url += "&delfile=" + file;
url += "&contenido='.$sSession.'"; url += "&contenido=' . $sSession . '";
window.location.href = url; 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>'; </script>';
$tpl->set('s', 'JAVASCRIPT', $sScriptTemplate); $tpl->set('s', 'JAVASCRIPT', $sScriptTemplate);
# delete file # delete file
if ($action == $sActionDelete) if ($action == $sActionDelete) {
{ if (!strrchr($_REQUEST['delfile'], "/")) {
if (!strrchr($_REQUEST['delfile'], "/")) if (file_exists($path . $_REQUEST['delfile'])) {
{ unlink($path . $_REQUEST['delfile']);
if (file_exists($path.$_REQUEST['delfile']))
{
unlink($path.$_REQUEST['delfile']);
removeFileInformation($client, $_REQUEST['delfile'], 'css', $db); 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(); $aFiles = array();
while ($file = readdir($handle)) while ($file = readdir($handle)) {
{ if (substr($file, (strlen($file) - (strlen($sFileType) + 1)), (strlen($sFileType) + 1)) == ".$sFileType" AND is_readable($path . $file)) {
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)) {
$aFiles[] = $file; $notification->displayNotification("error", $file . " " . i18n("is not readable!"));
}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); closedir($handle);
// display files // display files
if (is_array($aFiles)) if (is_array($aFiles)) {
{
sort($aFiles);
sort($aFiles);
foreach ($aFiles as $filename) {
foreach ($aFiles as $filename)
{
$bgcolor = ( is_int($tpl->dyn_cnt / 2) ) ? $cfg["color"]["table_light"] : $cfg["color"]["table_dark"]; $bgcolor = ( is_int($tpl->dyn_cnt / 2) ) ? $cfg["color"]["table_light"] : $cfg["color"]["table_dark"];
$tpl->set('d', 'BGCOLOR', $bgcolor); $tpl->set('d', 'BGCOLOR', $bgcolor);
$tmp_mstr = '<a class=\"action\" href="javascript:conMultiLink(\'%s\', \'%s\', \'%s\', \'%s\')" title="%s" alt="%s">%s</a>'; $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', $html_filename = sprintf($tmp_mstr, 'right_top',
$sess->url("main.php?area=$area&frame=3&file=$filename"), $sess->url("main.php?area=$area&frame=3&file=$filename"),
'right_bottom', 'right_bottom',
$sess->url("main.php?area=$area&frame=4&action=$sActionEdit&file=$filename&tmp_file=$filename"), $sess->url("main.php?area=$area&frame=4&action=$sActionEdit&file=$filename&tmp_file=$filename"),
$filename, $filename, clHtmlSpecialChars($filename)); $filename, $filename, clHtmlSpecialChars($filename));
$tpl->set('d', 'FILENAME', $html_filename); $tpl->set('d', 'FILENAME', $html_filename);
$delTitle = i18n("Delete File"); $delTitle = i18n("Delete File");
$delDescr = sprintf(i18n("Do you really want to delete the following file:<br><br>%s<br>"),$filename); $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)) 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>');
$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 {
}else $tpl->set('d', 'DELETE', '');
{
$tpl->set('d', 'DELETE', '');
} }
if (stripslashes($_REQUEST['file']) == $filename) { if (stripslashes($_REQUEST['file']) == $filename) {
$tpl->set('d', 'ID', 'id="marked"'); $tpl->set('d', 'ID', 'id="marked"');
} else { } else {
$tpl->set('d', 'ID', ''); $tpl->set('d', 'ID', '');
} }
$tpl->next(); $tpl->next();
}
}
} }
}else } else {
{
if ((int) $client > 0) { 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']); $tpl->generate($cfg['path']['templates'] . $cfg['templates']['files_overview']);
?> ?>

Datei anzeigen

@ -1,4 +1,5 @@
<?php <?php
/** /**
* Project: * Project:
* Contenido Content Management System * Contenido Content Management System
@ -27,9 +28,8 @@
* }} * }}
* *
*/ */
if (!defined('CON_FRAMEWORK')) {
if(!defined('CON_FRAMEWORK')) { die('Illegal call');
die('Illegal call');
} }
@ -37,38 +37,31 @@ cInclude("includes", "functions.con.php");
cInclude("includes", "functions.str.php"); cInclude("includes", "functions.str.php");
if (!(int) $client > 0) { if (!(int) $client > 0) {
#if there is no client selected, display empty page #if there is no client selected, display empty page
$oPage = new cPage; $oPage = new cPage;
$oPage->render(); $oPage->render();
return; return;
} }
function getExpandCollapseButton($item) function getExpandCollapseButton($item) {
{ global $sess, $PHP_SELF, $frame, $area, $appendparameters;
global $sess, $PHP_SELF, $frame, $area, $appendparameters; $selflink = "main.php";
$selflink = "main.php";
if (count($item->subitems) > 0) if (count($item->subitems) > 0) {
{ if ($item->collapsed == true) {
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>');
$expandlink = $sess->url($selflink."?area=$area&frame=$frame&appendparameters=$appendparameters&expand=".$item->id); } else {
return ('<a href="'.$expandlink.'" alt="'.i18n('Open category').'" title="'.i18n('Open category').'"><img src="'.$item->collapsed_icon.'" border="0" align="middle" width="18"></a>'); $collapselink = $sess->url($selflink . "?area=$area&appendparameters=$appendparameters&frame=$frame&collapse=" . $item->id);
} else return ('<a href="' . $collapselink . '" alt="' . i18n('Close category') . '" title="' . i18n('Close category') . '"><img src="' . $item->expanded_icon . '" border="0" align="middle" width="18"></a>');
{ }
$collapselink = $sess->url($selflink."?area=$area&appendparameters=$appendparameters&frame=$frame&collapse=".$item->id); } else {
return ('<a href="'.$collapselink.'" alt="'.i18n('Close category').'" title="'.i18n('Close category').'"><img src="'.$item->expanded_icon.'" border="0" align="middle" width="18"></a>'); if ($item->custom["lastitem"]) {
} return '<img src="images/but_lastnode.gif" align="middle" width="18" height="18">';
} else } else {
{ return '<img src="images/grid_collapse.gif" align="middle" width="18" height="18">';
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 #Fixxed by Timo Trautmann double database entries also called by action upl_mkdir
// Use remembered path from upl_last_path (from session) // Use remembered path from upl_last_path (from session)
if (!isset($path) && $sess->is_registered("upl_last_path")) if (!isset($path) && $sess->is_registered("upl_last_path")) {
{ $path = $upl_last_path;
$path = $upl_last_path;
} }
$appendparameters = $_REQUEST["appendparameters"]; $appendparameters = $_REQUEST["appendparameters"];
if (!isset ($action)) if (!isset($action))
$action = ""; $action = "";
if ($tmp_area == "") { 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")); $uplexpandedList = unserialize($currentuser->getUserProperty("system", "upl_expandstate"));
$upldbfsexpandedList = unserialize($currentuser->getUserProperty("system", "upl_dbfs_expandstate")); $upldbfsexpandedList = unserialize($currentuser->getUserProperty("system", "upl_dbfs_expandstate"));
if (!is_array($uplexpandedList)) if (!is_array($uplexpandedList)) {
{ $uplexpandedList = array();
$uplexpandedList = array ();
} }
if (!is_array($upldbfsexpandedList)) if (!is_array($upldbfsexpandedList)) {
{ $upldbfsexpandedList = array();
$upldbfsexpandedList = array ();
} }
if ($action == "upl_renamedir") if ($action == "upl_renamedir") {
{ if ($perm->have_perm_area_action("upl", "upl_renamedir")) {
if ($perm->have_perm_area_action("upl", "upl_renamedir")) uplRenameDirectory($oldname, $newname, $parent);
{ $path = $cfgClient[$client]['upl']['path'] . $parent . $newname . "/";
uplRenameDirectory($oldname, $newname, $parent); if (in_array($cfgClient[$client]['upl']['path'] . $parent . $oldname . "/", $uplexpandedList)) {
$path = $cfgClient[$client]['upl']['path'].$parent.$newname."/"; $uplexpandedList[] = $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; $dbfs = new DBFSCollection;
if ($action == "upl_delete") if ($action == "upl_delete") {
{ if (is_dbfs($path)) {
if (is_dbfs($path)) $dbfs->remove($path . "/.");
{ } else {
$dbfs->remove($path."/."); /* Check for files */
} else if (uplHasFiles($path)) {
{ $failedFiles = array();
/* Check for files */
if (uplHasFiles($path))
{
$failedFiles = array ();
$directory = opendir($cfgClient[$client]["upl"]["path"].$path); $directory = opendir($cfgClient[$client]["upl"]["path"] . $path);
while (false !== ($dir_entry = readdir($directory))) while (false !== ($dir_entry = readdir($directory))) {
{ if ($dir_entry != "." && $dir_entry != "..") {
if ($dir_entry != "." && $dir_entry != "..") $res = @ unlink($cfgClient[$client]["upl"]["path"] . $path . $dir_entry);
{
$res = @ unlink($cfgClient[$client]["upl"]["path"].$path.$dir_entry);
if ($res == false) if ($res == false) {
{ $failedFiles[] = $dir_entry;
$failedFiles[] = $dir_entry; }
} }
} }
} }
}
if (count($failedFiles) > 0) if (count($failedFiles) > 0) {
{ $notification->displayNotification("warning", i18n("Failed to delete the following files:") . "<br><br>" . implode("<br>", $failedFiles));
$notification->displayNotification("warning", i18n("Failed to delete the following files:")."<br><br>".implode("<br>", $failedFiles)); } else {
} else $res = @ rmdir($cfgClient[$client]['upl']['path'] . $path);
{ if ($res == false) {
$res = @ rmdir($cfgClient[$client]['upl']['path'].$path); $notification->displayNotification("warning", sprintf(i18n("Failed to remove directory %s"), $path));
if ($res == false) }
{ }
$notification->displayNotification("warning", sprintf(i18n("Failed to remove directory %s"), $path)); }
}
}
}
} }
$tpl->reset(); $tpl->reset();
@ -167,28 +144,28 @@ $tpl->reset();
$file = 'Upload'; $file = 'Upload';
$pathstring = ''; $pathstring = '';
/* /*
$rootTreeItem = new TreeItem; $rootTreeItem = new TreeItem;
$rootTreeItem->custom["level"] = 0; $rootTreeItem->custom["level"] = 0;
$rootTreeItem->name = i18n("Upload directory"); $rootTreeItem->name = i18n("Upload directory");
*/ */
$user_upload_path = getEffectiveSetting("upload","userpath"); $user_upload_path = getEffectiveSetting("upload", "userpath");
if (is_string($user_upload_path) AND !empty($user_upload_path)) { if (is_string($user_upload_path) AND!empty($user_upload_path)) {
trim($user_upload_path); trim($user_upload_path);
$file = $user_upload_path; $file = $user_upload_path;
if (substr($user_upload_path, -1) != "/") { if (substr($user_upload_path, -1) != "/") {
$user_upload_path .= "/"; $user_upload_path .= "/";
} }
$pathstring = $user_upload_path; $pathstring = $user_upload_path;
if (substr($cfgClient[$client]["upl"]["path"], -1) != "/" AND substr($user_upload_path, 0, 1) == "/") { if (substr($cfgClient[$client]["upl"]["path"], -1) != "/" AND substr($user_upload_path, 0, 1) == "/") {
$user_upload_path = substr($user_upload_path, 1); $user_upload_path = substr($user_upload_path, 1);
} }
} }
$rootTreeItem = new TreeItem; $rootTreeItem = new TreeItem;
$rootTreeItem->custom["level"] = 0; $rootTreeItem->custom["level"] = 0;
$rootTreeItem->name = i18n("Upload directory"); $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) { if (count($aInvalidDirectories) > 0) {
$sWarningInfo = i18n('The following directories contains invalid characters and were ignored: '); $sWarningInfo = i18n('The following directories contains invalid characters and were ignored: ');
@ -196,9 +173,9 @@ if (count($aInvalidDirectories) > 0) {
$sFiles = implode(', ', $aInvalidDirectories); $sFiles = implode(', ', $aInvalidDirectories);
$sRenameString = i18n('Please click here in order to rename automatically.'); $sRenameString = i18n('Please click here in order to rename automatically.');
$sRenameHref = $sess->url("main.php?area=$area&frame=$frame&force_rename=true"); $sRenameHref = $sess->url("main.php?area=$area&frame=$frame&force_rename=true");
$sRemameLink = '<a href="'.$sRenameHref.'">'.$sRenameString.'</a>'; $sRemameLink = '<a href="' . $sRenameHref . '">' . $sRenameString . '</a>';
$sNotificationString = $sWarningInfo.$sSeperator.$sFiles.$sSeperator.$sSeperator.$sRemameLink; $sNotificationString = $sWarningInfo . $sSeperator . $sFiles . $sSeperator . $sSeperator . $sRemameLink;
$sErrorString = $notification->returnNotification("warning", $sNotificationString, 1); $sErrorString = $notification->returnNotification("warning", $sNotificationString, 1);
$tpl->set('s', 'WARNING', $sErrorString); $tpl->set('s', 'WARNING', $sErrorString);
} else { } else {
@ -206,139 +183,114 @@ if (count($aInvalidDirectories) > 0) {
} }
/* Mark all items in the expandedList as expanded */ /* Mark all items in the expandedList as expanded */
foreach ($uplexpandedList as $key => $value) foreach ($uplexpandedList as $key => $value) {
{ $rootTreeItem->markExpanded($value);
$rootTreeItem->markExpanded($value);
} }
/* Collapse and expand the tree */ /* Collapse and expand the tree */
if (is_string($collapse)) if (is_string($collapse)) {
{ $rootTreeItem->markCollapsed($collapse);
$rootTreeItem->markCollapsed($collapse);
} }
if (is_string($expand)) if (is_string($expand)) {
{ $rootTreeItem->markExpanded($expand);
$rootTreeItem->markExpanded($expand);
} }
$uplexpandedList = Array (); $uplexpandedList = Array();
$rootTreeItem->getExpandedList($uplexpandedList); $rootTreeItem->getExpandedList($uplexpandedList);
$currentuser->setUserProperty("system", "upl_expandstate", serialize($uplexpandedList)); $currentuser->setUserProperty("system", "upl_expandstate", serialize($uplexpandedList));
$objects = Array (); $objects = Array();
$rootTreeItem->traverse($objects); $rootTreeItem->traverse($objects);
unset ($objects[0]); unset($objects[0]);
$bgcolor = (is_int($tpl->dyn_cnt / 2)) ? $cfg["color"]["table_light"] : $cfg["color"]["table_dark"]; $bgcolor = (is_int($tpl->dyn_cnt / 2)) ? $cfg["color"]["table_light"] : $cfg["color"]["table_dark"];
if ($appendparameters == "filebrowser") if ($appendparameters == "filebrowser") {
{ $mtree = new cWidgetTreeView("b58f0ae3-8d4e-4bb3-a754-5f0628863364");
$mtree = new cWidgetTreeView("b58f0ae3-8d4e-4bb3-a754-5f0628863364"); $cattree = conFetchCategoryTree();
$cattree = conFetchCategoryTree(); $marray = array();
$marray = array ();
foreach ($cattree as $key => $catitem) foreach ($cattree as $key => $catitem) {
{ $no_start = true;
$no_start = true; $no_online = true;
$no_online = true; $no_start = !strHasStartArticle($catitem["idcat"], $lang);
$no_start = !strHasStartArticle($catitem["idcat"], $lang);
$no_online = !$catitem["visible"];
if ($catitem["visible"] == 1)
{
if ($catitem["public"] == 0)
{
if ($no_start || $no_online)
{
# Error found
$tmp_img = "folder_on_error_locked.gif";
} else
{
# No error found
$tmp_img = "folder_on_locked.gif";
}
} else
{
# Category is public
if ($no_start || $no_online)
{
# Error found
$tmp_img = "folder_on_error.gif";
} else
{
# No error found
$tmp_img = "folder_on.gif";
}
}
} else
{
# Category is offline
if ($catitem['public'] == 0)
{
# Category is locked
if ($no_start || $no_online)
{
# Error found
$tmp_img = "folder_off_error_locked.gif";
} else $no_online = !$catitem["visible"];
{
# No error found
$tmp_img = "folder_off_locked.gif";
} if ($catitem["visible"] == 1) {
if ($catitem["public"] == 0) {
if ($no_start || $no_online) {
# Error found
$tmp_img = "folder_on_error_locked.gif";
} else {
# No error found
$tmp_img = "folder_on_locked.gif";
}
} else {
# Category is public
if ($no_start || $no_online) {
# Error found
$tmp_img = "folder_on_error.gif";
} else {
# No error found
$tmp_img = "folder_on.gif";
}
}
} else {
# Category is offline
if ($catitem['public'] == 0) {
# Category is locked
if ($no_start || $no_online) {
# Error found
$tmp_img = "folder_off_error_locked.gif";
} else {
# No error found
$tmp_img = "folder_off_locked.gif";
}
} else {
# Category is public
if ($no_start || $no_online) {
# Error found
$tmp_img = "folder_off_error.gif";
} else {
# No error found
$tmp_img = "folder_off.gif";
}
}
}
} else $icon = "./images/" . $tmp_img;
{
# Category is public
if ($no_start || $no_online)
{
# Error found
$tmp_img = "folder_off_error.gif";
} else $idcat = $catitem["idcat"];
{
# No error found
$tmp_img = "folder_off.gif";
} $name = '&nbsp;<a href="' . $sess->url("main.php?area=$area&frame=5&idcat=$idcat&appendparameters=$appendparameters") . '" target="right_bottom">' . $catitem["name"] . '</a>';
} $marray[] = array("id" => $catitem["idcat"], "name" => $name, "level" => $catitem["level"], "attributes" => array("icon" => $icon));
} }
$icon = "./images/".$tmp_img;
$idcat = $catitem["idcat"]; $mtree->setTreeName(i18n("Categories"));
$mtree->setIcon("images/grid_folder.gif");
$name = '&nbsp;<a href="'.$sess->url("main.php?area=$area&frame=5&idcat=$idcat&appendparameters=$appendparameters").'" target="right_bottom">'.$catitem["name"].'</a>'; $mtree->importTable($marray);
$marray[] = array ("id" => $catitem["idcat"], "name" => $name, "level" => $catitem["level"], "attributes" => array ("icon" => $icon));
}
$mtree->setTreeName(i18n("Categories")); $baselink = new cHTMLLink;
$mtree->setIcon("images/grid_folder.gif"); $baselink->setCLink($area, $frame, "");
$mtree->importTable($marray); $baselink->setCustom("appendparameters", $appendparameters);
$baselink = new cHTMLLink; $mtree->setBaseLink($baselink);
$baselink->setCLink($area, $frame, ""); $mtree->setBackgroundMode(TREEVIEW_BACKGROUND_SHADED);
$baselink->setCustom("appendparameters", $appendparameters); $mtree->setMouseoverMode(TREEVIEW_MOUSEOVER_NONE);
$mtree->setCollapsed($collapsed);
$mtree->processParameters();
$mtree->setBaseLink($baselink); $collapsed = array();
$mtree->setBackgroundMode(TREEVIEW_BACKGROUND_SHADED); $mtree->getCollapsedList($collapsed);
$mtree->setMouseoverMode(TREEVIEW_MOUSEOVER_NONE);
$mtree->setCollapsed($collapsed);
$mtree->processParameters();
$collapsed = array (); $tpl->set('s', 'CATBROWSER', $mtree->render());
$mtree->getCollapsedList($collapsed); $tpl->set('s', 'APPENDPARAMETERS', 'url += \'&appendparameters=' . $appendparameters . '\'');
} else {
$tpl->set('s', 'CATBROWSER', $mtree->render()); $tpl->set('s', 'CATBROWSER', '');
$tpl->set('s', 'APPENDPARAMETERS', 'url += \'&appendparameters='.$appendparameters.'\''); $tpl->set('s', 'APPENDPARAMETERS', 'url += \'&appendparameters=' . $appendparameters . '\'');
} else
{
$tpl->set('s', 'CATBROWSER', '');
$tpl->set('s', 'APPENDPARAMETERS', 'url += \'&appendparameters='.$appendparameters.'\'');
} }
chdir($cfg['path']['contenido']); chdir($cfg['path']['contenido']);
@ -347,9 +299,9 @@ $tpl->set('s', 'SID', $sess->id);
# create javascript multilink # create javascript multilink
$tmp_mstr = '<a href="javascript:conMultiLink(\'%s\', \'%s\',\'%s\', \'%s\')">%s</a>'; $tmp_mstr = '<a href="javascript:conMultiLink(\'%s\', \'%s\',\'%s\', \'%s\')">%s</a>';
$mstr = sprintf($tmp_mstr, 'right_top', $sess->url("main.php?area=$area&frame=3&path=$pathstring&appendparameters=$appendparameters"), $mstr = sprintf($tmp_mstr, 'right_top', $sess->url("main.php?area=$area&frame=3&path=$pathstring&appendparameters=$appendparameters"),
'right_bottom', $sess->url("main.php?area=$area&frame=4&path=$pathstring&appendparameters=$appendparameters"), 'right_bottom', $sess->url("main.php?area=$area&frame=4&path=$pathstring&appendparameters=$appendparameters"),
'<img src="images/ordner_oben.gif" align="middle" alt="" border="0"><img align="middle" src="images/spacer.gif" width="5" border="0">'.$file); '<img src="images/ordner_oben.gif" align="middle" alt="" border="0"><img align="middle" src="images/spacer.gif" width="5" border="0">' . $file);
$tpl->set('d', 'PATH', $pathstring); $tpl->set('d', 'PATH', $pathstring);
$tpl->set('d', 'BGCOLOR', $bgcolor); $tpl->set('d', 'BGCOLOR', $bgcolor);
@ -360,86 +312,74 @@ $tpl->set('d', 'DELETEBUTTON', '');
$tpl->set('d', 'COLLAPSE', ''); $tpl->set('d', 'COLLAPSE', '');
$tpl->next(); $tpl->next();
if (is_array($objects)) {
foreach ($objects as $a_file) {
$file = $a_file->name;
$depth = $a_file->custom["level"] - 1;
$pathstring = str_replace($cfgClient[$client]['upl']['path'], "", $a_file->id);
$a_file->collapsed_icon = "images/grid_expand.gif";
$a_file->expanded_icon = "images/grid_collapse.gif";
$dlevels[$depth] = $a_file->custom["lastitem"];
$imgcollapse = getExpandCollapseButton($a_file);
$fileurl = rawurlencode($path . $file . '/');
$pathurl = rawurlencode($path);
if (is_array($objects)) # Indent for every level
{ $cnt = $depth;
foreach ($objects as $a_file) $indent = 18;
{
$file = $a_file->name;
$depth = $a_file->custom["level"] - 1;
$pathstring = str_replace($cfgClient[$client]['upl']['path'], "", $a_file->id);
$a_file->collapsed_icon = "images/grid_expand.gif";
$a_file->expanded_icon = "images/grid_collapse.gif";
$dlevels[$depth] = $a_file->custom["lastitem"];
$imgcollapse = getExpandCollapseButton($a_file);
$fileurl = rawurlencode($path.$file.'/');
$pathurl = rawurlencode($path);
# Indent for every level for ($i = 0; $i < $cnt; $i++) {
$cnt = $depth; $indent += 18;
$indent = 18; }
for ($i = 0; $i < $cnt; $i ++) # create javascript multilink # -> better create meaningful comments
{ $tmp_mstr = '<a href="javascript:conMultiLink(\'%s\', \'%s\', \'%s\', \'%s\')">%s</a>';
$indent += 18; $mstr = sprintf(
} $tmp_mstr,
'right_bottom', $sess->url("main.php?area=$area&frame=4&path=$pathstring&appendparameters=$appendparameters"),
'right_top', $sess->url("main.php?area=$area&frame=3&path=$pathstring&appendparameters=$appendparameters"),
'<img src="images/grid_folder.gif" align="middle" border="0" alt=""><img src="images/spacer.gif" align="middle" width="5" border="0">' . $file);
# create javascript multilink # -> better create meaningful comments $hasFiles = uplHasFiles($pathstring);
$tmp_mstr = '<a href="javascript:conMultiLink(\'%s\', \'%s\', \'%s\', \'%s\')">%s</a>'; $hasSubdirs = uplHasSubdirs($pathstring);
$mstr = sprintf(
$tmp_mstr,
'right_bottom', $sess->url("main.php?area=$area&frame=4&path=$pathstring&appendparameters=$appendparameters"),
'right_top', $sess->url("main.php?area=$area&frame=3&path=$pathstring&appendparameters=$appendparameters"),
'<img src="images/grid_folder.gif" align="middle" border="0" alt=""><img src="images/spacer.gif" align="middle" width="5" border="0">'.$file);
$hasFiles = uplHasFiles($pathstring);
$hasSubdirs = uplHasSubdirs($pathstring);
if ((!$hasSubdirs) && (!$hasFiles) && $perm->have_perm_area_action($tmp_area, "upl_rmdir")) if ((!$hasSubdirs) && (!$hasFiles) && $perm->have_perm_area_action($tmp_area, "upl_rmdir")) {
{ $deletebutton = '<a style="margin-left:10px;" title="' . i18n("Delete directory") . '" href="javascript://" onclick="event.cancelBubble=true;box.confirm(\'' . i18n("Delete directory") . '\', \'' . i18n("Do you really want to delete the following directory:") . '<b>' . $file . '</b>\', \'deleteDirectory(\\\'' . $pathstring . '\\\')\')"><img src="' . $cfg['path']['images'] . 'delete.gif" border="0" title="' . i18n("Delete directory") . '" alt="' . i18n("Delete directory") . '"></a>';
$deletebutton = '<a style="margin-left:10px;" title="'.i18n("Delete directory").'" href="javascript://" onclick="event.cancelBubble=true;box.confirm(\''.i18n("Delete directory").'\', \''.i18n("Do you really want to delete the following directory:").'<b>'.$file.'</b>\', \'deleteDirectory(\\\''.$pathstring.'\\\')\')"><img src="'.$cfg['path']['images'].'delete.gif" border="0" title="'.i18n("Delete directory").'" alt="'.i18n("Delete directory").'"></a>'; } else {
} else if ($hasFiles) {
{ $message = i18n("Directory contains files");
if ($hasFiles) } else {
{ $message = i18n("Permission denied");
$message = i18n("Directory contains files"); }
} else
{
$message = i18n("Permission denied");
}
$deletebutton = "<img style=\"margin-left:10px;\" src=\"".$cfg["path"]["images"]."delete_inact.gif\" border=\"0\" alt=\"".$message."\" title=\"".$message."\">"; $deletebutton = "<img style=\"margin-left:10px;\" src=\"" . $cfg["path"]["images"] . "delete_inact.gif\" border=\"0\" alt=\"" . $message . "\" title=\"" . $message . "\">";
} }
$bgcolor = (is_int($tpl->dyn_cnt / 2)) ? $cfg["color"]["table_light"] : $cfg["color"]["table_dark"]; $bgcolor = (is_int($tpl->dyn_cnt / 2)) ? $cfg["color"]["table_light"] : $cfg["color"]["table_dark"];
$tpl->set('d', 'PATH', $pathstring); $tpl->set('d', 'PATH', $pathstring);
$tpl->set('d', 'BGCOLOR', $bgcolor); $tpl->set('d', 'BGCOLOR', $bgcolor);
$tpl->set('d', 'INDENT', 0); $tpl->set('d', 'INDENT', 0);
$gline = ""; $gline = "";
for ($i = 1; $i < $depth; $i ++) for ($i = 1; $i < $depth; $i++) {
{ if ($dlevels[$i] == false && $i != 0) {
if ($dlevels[$i] == false && $i != 0) $gline .= '<img src="images/grid_linedown.gif" align="middle" width="18">';
{ } else {
$gline .= '<img src="images/grid_linedown.gif" align="middle" width="18">'; $gline .= '<img src="images/spacer.gif" width="18" height="18" align="middle">';
} else }
{ }
$gline .= '<img src="images/spacer.gif" width="18" height="18" align="middle">';
}
}
$parent = str_replace($cfgClient[$client]['upl']['path'], "", $a_file->custom["parent"]); $parent = str_replace($cfgClient[$client]['upl']['path'], "", $a_file->custom["parent"]);
$tpl->set('d', 'DIRNAME', $mstr); $tpl->set('d', 'DIRNAME', $mstr);
$tpl->set('d', 'EDITBUTTON', ''); $tpl->set('d', 'EDITBUTTON', '');
$tpl->set('d', 'DELETEBUTTON', $deletebutton); $tpl->set('d', 'DELETEBUTTON', $deletebutton);
$tpl->set('d', 'COLLAPSE', $gline.$imgcollapse); $tpl->set('d', 'COLLAPSE', $gline . $imgcollapse);
$tpl->next(); $tpl->next();
}
}
} }
$tpl->set('d', 'DELETEBUTTON', '&nbsp;'); $tpl->set('d', 'DELETEBUTTON', '&nbsp;');
@ -459,38 +399,35 @@ $rootTreeItem->custom["level"] = 0;
uplRecursiveDBDirectoryList("", $rootTreeItem, 2); uplRecursiveDBDirectoryList("", $rootTreeItem, 2);
/* Mark all items in the expandedList as expanded */ /* Mark all items in the expandedList as expanded */
foreach ($upldbfsexpandedList as $key => $value) foreach ($upldbfsexpandedList as $key => $value) {
{ $rootTreeItem->markExpanded($value);
$rootTreeItem->markExpanded($value);
} }
/* Collapse and expand the tree */ /* Collapse and expand the tree */
if (is_string($collapse)) if (is_string($collapse)) {
{ $rootTreeItem->markCollapsed($collapse);
$rootTreeItem->markCollapsed($collapse);
} }
if (is_string($expand)) if (is_string($expand)) {
{ $rootTreeItem->markExpanded($expand);
$rootTreeItem->markExpanded($expand);
} }
$upldbfsexpandedList = Array (); $upldbfsexpandedList = Array();
$rootTreeItem->getExpandedList($upldbfsexpandedList); $rootTreeItem->getExpandedList($upldbfsexpandedList);
$currentuser->setUserProperty("system", "upl_dbfs_expandstate", serialize($upldbfsexpandedList)); $currentuser->setUserProperty("system", "upl_dbfs_expandstate", serialize($upldbfsexpandedList));
$objects = Array (); $objects = Array();
$rootTreeItem->traverse($objects); $rootTreeItem->traverse($objects);
unset ($objects[0]); unset($objects[0]);
$bgcolor = (is_int($tpl->dyn_cnt / 2)) ? $cfg["color"]["table_light"] : $cfg["color"]["table_dark"]; $bgcolor = (is_int($tpl->dyn_cnt / 2)) ? $cfg["color"]["table_light"] : $cfg["color"]["table_dark"];
$tmp_mstr = '<a href="javascript:conMultiLink(\'%s\', \'%s\', \'%s\', \'%s\')">%s</a>'; $tmp_mstr = '<a href="javascript:conMultiLink(\'%s\', \'%s\', \'%s\', \'%s\')">%s</a>';
$mstr = sprintf($tmp_mstr, 'right_top', $sess->url("main.php?area=$area&frame=3&path=$pathstring&appendparameters=$appendparameters"), $mstr = sprintf($tmp_mstr, 'right_top', $sess->url("main.php?area=$area&frame=3&path=$pathstring&appendparameters=$appendparameters"),
'right_bottom', $sess->url("main.php?area=$area&frame=4&path=$pathstring&appendparameters=$appendparameters"), 'right_bottom', $sess->url("main.php?area=$area&frame=4&path=$pathstring&appendparameters=$appendparameters"),
'<img src="images/ordner_oben.gif" alt="" border="0"><img align="middle" src="images/spacer.gif" width="5" border="0">'.$file); '<img src="images/ordner_oben.gif" alt="" border="0"><img align="middle" src="images/spacer.gif" width="5" border="0">' . $file);
$tpl->set('d', 'PATH', $pathstring); $tpl->set('d', 'PATH', $pathstring);
$tpl->set('d', 'BGCOLOR', $bgcolor); $tpl->set('d', 'BGCOLOR', $bgcolor);
@ -503,92 +440,79 @@ $tpl->next();
$dbfsc = new DBFSCollection; $dbfsc = new DBFSCollection;
$dlevels = array (); $dlevels = array();
if (is_array($objects)) if (is_array($objects)) {
{ foreach ($objects as $a_file) {
foreach ($objects as $a_file) $file = $a_file->name;
{ $depth = $a_file->custom["level"] - 1;
$file = $a_file->name; $pathstring = $a_file->id;
$depth = $a_file->custom["level"] - 1; $a_file->collapsed_icon = "images/grid_expand.gif";
$pathstring = $a_file->id; $a_file->expanded_icon = "images/grid_collapse.gif";
$a_file->collapsed_icon = "images/grid_expand.gif"; $dlevels[$depth] = $a_file->custom["lastitem"];
$a_file->expanded_icon = "images/grid_collapse.gif"; $collapse = getExpandCollapseButton($a_file);
$dlevels[$depth] = $a_file->custom["lastitem"]; $fileurl = rawurlencode($path . $file . '/');
$collapse = getExpandCollapseButton($a_file); $pathurl = rawurlencode($path);
$fileurl = rawurlencode($path.$file.'/');
$pathurl = rawurlencode($path);
if($file == 'tmp') if ($file == 'tmp') {
{ echo 'tmp2<br>';
echo 'tmp2<br>'; }
# Indent for every level
$cnt = $depth;
$indent = 18;
for ($i = 0; $i < $cnt; $i++) {
# 18 px for every level
$indent += 18;
}
# create javascript multilink
$tmp_mstr = '<a href="javascript:conMultiLink(\'%s\', \'%s\', \'%s\', \'%s\')">%s</a>';
$mstr = sprintf($tmp_mstr, 'right_bottom', $sess->url("main.php?area=$area&frame=4&path=$pathstring&appendparameters=$appendparameters"),
'right_top', $sess->url("main.php?area=$area&frame=3&path=$pathstring&appendparameters=$appendparameters"),
'<img src="images/grid_folder.gif" align="middle" border="0" alt=""><img src="images/spacer.gif" align="middle" width="5" border="0">' . $file);
$hasFiles = $dbfsc->hasFiles($pathstring);
if (!$hasFiles && $perm->have_perm_area_action($tmp_area, "upl_rmdir")) {
$deletebutton = '<a style="margin-left:10px;" title="' . i18n("Delete directory") . '" href="javascript://" onclick="event.cancelBubble=true;box.confirm(\'' . i18n("Delete directory") . '\', \'' . i18n("Do you really want to delete the following directory:") . '<b>' . $file . '</b>\', \'deleteDirectory(\\\'' . $pathstring . '\\\')\')"><img src="' . $cfg['path']['images'] . 'delete.gif" border="0" title="' . i18n("Delete directory") . '" alt="' . i18n("Delete directory") . '"></a>';
} else {
if ($hasFiles) {
$message = i18n("Directory contains files");
} else {
$message = i18n("Permission denied");
}
$deletebutton = "<img style=\"margin-left:10px;\" src=\"" . $cfg["path"]["images"] . "delete_inact.gif\" border=\"0\" alt=\"" . $message . "\" title=\"" . $message . "\">";
}
$bgcolor = (is_int($tpl->dyn_cnt / 2)) ? $cfg["color"]["table_light"] : $cfg["color"]["table_dark"];
$tpl->set('d', 'PATH', $pathstring);
$tpl->set('d', 'BGCOLOR', $bgcolor);
$tpl->set('d', 'INDENT', 0);
$gline = "";
for ($i = 1; $i < $depth; $i++) {
if ($dlevels[$i] == false && $i != 0) {
$gline .= '<img src="images/grid_linedown.gif" align="middle">';
} else {
$gline .= '<img src="images/spacer.gif" width="18" height="18" align="middle">';
}
}
$parent = str_replace($cfgClient[$client]['upl']['path'], "", $a_file->custom["parent"]);
$tpl->set('d', 'DIRNAME', $mstr);
$tpl->set('d', 'EDITBUTTON', '');
$tpl->set('d', 'DELETEBUTTON', $deletebutton);
$tpl->set('d', 'COLLAPSE', $gline . $collapse);
$tpl->next();
} }
# Indent for every level
$cnt = $depth;
$indent = 18;
for ($i = 0; $i < $cnt; $i ++)
{
# 18 px for every level
$indent += 18;
}
# create javascript multilink
$tmp_mstr = '<a href="javascript:conMultiLink(\'%s\', \'%s\', \'%s\', \'%s\')">%s</a>';
$mstr = sprintf($tmp_mstr, 'right_bottom', $sess->url("main.php?area=$area&frame=4&path=$pathstring&appendparameters=$appendparameters"),
'right_top', $sess->url("main.php?area=$area&frame=3&path=$pathstring&appendparameters=$appendparameters"),
'<img src="images/grid_folder.gif" align="middle" border="0" alt=""><img src="images/spacer.gif" align="middle" width="5" border="0">'.$file);
$hasFiles = $dbfsc->hasFiles($pathstring);
if (!$hasFiles && $perm->have_perm_area_action($tmp_area, "upl_rmdir"))
{
$deletebutton = '<a style="margin-left:10px;" title="'.i18n("Delete directory").'" href="javascript://" onclick="event.cancelBubble=true;box.confirm(\''.i18n("Delete directory").'\', \''.i18n("Do you really want to delete the following directory:").'<b>'.$file.'</b>\', \'deleteDirectory(\\\''.$pathstring.'\\\')\')"><img src="'.$cfg['path']['images'].'delete.gif" border="0" title="'.i18n("Delete directory").'" alt="'.i18n("Delete directory").'"></a>';
} else
{
if ($hasFiles)
{
$message = i18n("Directory contains files");
} else
{
$message = i18n("Permission denied");
}
$deletebutton = "<img style=\"margin-left:10px;\" src=\"".$cfg["path"]["images"]."delete_inact.gif\" border=\"0\" alt=\"".$message."\" title=\"".$message."\">";
}
$bgcolor = (is_int($tpl->dyn_cnt / 2)) ? $cfg["color"]["table_light"] : $cfg["color"]["table_dark"];
$tpl->set('d', 'PATH', $pathstring);
$tpl->set('d', 'BGCOLOR', $bgcolor);
$tpl->set('d', 'INDENT', 0);
$gline = "";
for ($i = 1; $i < $depth; $i ++)
{
if ($dlevels[$i] == false && $i != 0)
{
$gline .= '<img src="images/grid_linedown.gif" align="middle">';
} else
{
$gline .= '<img src="images/spacer.gif" width="18" height="18" align="middle">';
}
}
$parent = str_replace($cfgClient[$client]['upl']['path'], "", $a_file->custom["parent"]);
$tpl->set('d', 'DIRNAME', $mstr);
$tpl->set('d', 'EDITBUTTON', '');
$tpl->set('d', 'DELETEBUTTON', $deletebutton);
$tpl->set('d', 'COLLAPSE', $gline.$collapse);
$tpl->next();
}
} }
$tpl->set('s', 'ID_PATH', $path); $tpl->set('s', 'ID_PATH', $path);
chdir($cfg["path"]["contenido"]); chdir($cfg["path"]["contenido"]);
$tpl->generate($cfg['path']['templates'].$cfg['templates']['upl_dirs_overview']); $tpl->generate($cfg['path']['templates'] . $cfg['templates']['upl_dirs_overview']);
?> ?>

Datei anzeigen

@ -1,35 +1,35 @@
<html> <html>
<head> <head>
<title></title> <title></title>
<meta http-equiv="expires" content="0"> <meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache"> <meta http-equiv="pragma" content="no-cache">
<link rel="stylesheet" type="text/css" href="styles/contenido.css" /> <link rel="stylesheet" type="text/css" href="styles/contenido.css" />
{JAVASCRIPT} {JAVASCRIPT}
</head> </head>
<body> <body>
<table width="100%" cellspacing="0" cellpadding="0" border="0"> <table width="100%" cellspacing="0" cellpadding="0" border="0">
<!-- BEGIN:BLOCK --> <!-- BEGIN:BLOCK -->
<tr {ID} style="background-color: {BGCOLOR}" onmouseover="row.over(this)" onmouseout="row.out(this)" onclick="row.click(this)"> <tr {ID} style="background-color: {BGCOLOR}" onmouseover="row.over(this)" onmouseout="row.out(this)" onclick="row.click(this)">
<td><img alt="" width="10" src="images/spacer.gif"></td> <td><img alt="" width="10" src="images/spacer.gif"></td>
<td> <td>
<table width="100%" cellspacing="0" cellpadding="3" border="0"> <table width="100%" cellspacing="0" cellpadding="3" border="0">
<tr> <tr>
<td width="100%">{FILENAME}</td> <td width="100%">{FILENAME}</td>
<td align="right">{DELETE}</td> <td align="right">{DELETE}</td>
</tr> </tr>
</table> </table>
</td> </td>
<td><img alt="" width="5" src="images/spacer.gif"></td> <td><img alt="" width="5" src="images/spacer.gif"></td>
</tr> </tr>
<!-- END:BLOCK --> <!-- END:BLOCK -->
</table> </table>
</body> </body>
<script language="javascript"> <script language="javascript">
if (document.getElementById('marked')) { if (document.getElementById('marked')) {
row.click(document.getElementById('marked')); row.click(document.getElementById('marked'));
} }
</script> </script>
</html> </html>