little fixes and git admin
Dieser Commit ist enthalten in:
Ursprung
a7f1f3edb4
Commit
dbaaa6ffa5
|
@ -13,3 +13,5 @@
|
|||
!/cms/data/layouts/
|
||||
/cms/data/layouts/*
|
||||
/conlite/includes/include.style_edit_form_1.php
|
||||
/cms/config.local.php
|
||||
/cms/dflip/
|
||||
|
|
|
@ -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,7 +31,6 @@
|
|||
* }}
|
||||
*
|
||||
*/
|
||||
|
||||
if (!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
fileValidateFilename($filename, true);
|
||||
|
||||
// FIXME: Should be replaced against file_put_contents($path . $filename, FILE_BINARY | LOCK_EX | FILE_APPEND)
|
||||
cFileHandler::validateFilename($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,27 +233,12 @@ 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;
|
||||
$sCode = cFileHandler::read($path . $filename);
|
||||
if (!empty($sCode)) {
|
||||
$sCode = mb_convert_encoding($sCode, 'UTF-8', 'OLD-ENCODING');
|
||||
}
|
||||
|
||||
do {
|
||||
$_data = fread($handle, 4096);
|
||||
if (strlen($_data) == 0) {
|
||||
break;
|
||||
return $sCode;
|
||||
}
|
||||
$sFileContents .= $_data;
|
||||
} while(true);
|
||||
|
||||
fclose($handle);
|
||||
return $sFileContents;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 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)) {
|
||||
if (cFileHandler::create($path . $filename)) {
|
||||
return true;
|
||||
} else {
|
||||
$notification->displayNotification("error", $path.$filename." ".i18n("Unable to change file access permission."));
|
||||
exit;
|
||||
}
|
||||
} 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,7 +284,7 @@ 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);
|
||||
|
||||
|
@ -331,16 +293,15 @@ function renameFile($sOldFile, $sNewFile, $path) {
|
|||
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,7 +29,6 @@
|
|||
* }}
|
||||
*
|
||||
*/
|
||||
|
||||
if (!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
}
|
||||
|
@ -45,8 +45,7 @@ $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
|
||||
|
@ -56,11 +55,9 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
$sTempFilename = stripslashes($_REQUEST['tmp_file']);
|
||||
$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";
|
||||
}else
|
||||
{
|
||||
} else {
|
||||
$sFilename .= stripslashes($_REQUEST['file']);
|
||||
}
|
||||
|
||||
|
@ -83,8 +80,7 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
$aFileInfo = getFileInformation($client, $sTempFilename, $sTypeContent, $db);
|
||||
|
||||
# create new file
|
||||
if ( $_REQUEST['action'] == $sActionCreate AND $_REQUEST['status'] == 'send')
|
||||
{
|
||||
if ($_REQUEST['action'] == $sActionCreate AND $_REQUEST['status'] == 'send') {
|
||||
$sTempFilename = $sFilename;
|
||||
createFile($sFilename, $path);
|
||||
$bEdit = fileEdit($sFilename, $_REQUEST['code'], $path);
|
||||
|
@ -99,10 +95,8 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
}
|
||||
|
||||
# edit selected file
|
||||
if ( $_REQUEST['action'] == $sActionEdit AND $_REQUEST['status'] == 'send')
|
||||
{
|
||||
if ($sFilename != $sTempFilename)
|
||||
{
|
||||
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;
|
||||
|
@ -111,8 +105,7 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
right_top.location.href = href;
|
||||
}
|
||||
</script>";
|
||||
}else
|
||||
{
|
||||
} else {
|
||||
$sTempFilename = $sFilename;
|
||||
}
|
||||
|
||||
|
@ -135,23 +128,18 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
/**
|
||||
* END TRACK VERSION
|
||||
* */
|
||||
|
||||
$bEdit = fileEdit($sFilename, $_REQUEST['code'], $path);
|
||||
|
||||
}
|
||||
|
||||
# generate edit form
|
||||
if (isset($_REQUEST['action']))
|
||||
{
|
||||
if (isset($_REQUEST['action'])) {
|
||||
$aFileInfo = getFileInformation($client, $sFilename, $sTypeContent, $db);
|
||||
|
||||
$sAction = ($bEdit) ? $sActionEdit : $_REQUEST['action'];
|
||||
|
||||
if ($_REQUEST['action'] == $sActionEdit)
|
||||
{
|
||||
if ($_REQUEST['action'] == $sActionEdit) {
|
||||
$sCode = getFileContent($sFilename, $path);
|
||||
}else
|
||||
{
|
||||
} else {
|
||||
$sCode = stripslashes($_REQUEST['code']); # stripslashes is required here in case of creating a new file
|
||||
}
|
||||
|
||||
|
@ -183,8 +171,6 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
|
||||
$page->addScript('reload', $sReloadScript);
|
||||
$page->render();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Project:
|
||||
* Contenido Content Management System
|
||||
|
@ -28,7 +29,6 @@
|
|||
* }}
|
||||
*
|
||||
*/
|
||||
|
||||
if (!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
}
|
||||
|
@ -46,8 +46,7 @@ $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
|
||||
|
@ -71,11 +70,9 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
$sTempFilename = stripslashes($_REQUEST['tmp_file']);
|
||||
$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";
|
||||
}else
|
||||
{
|
||||
} else {
|
||||
$sFilename .= stripslashes($_REQUEST['file']);
|
||||
}
|
||||
|
||||
|
@ -98,8 +95,7 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
$aFileInfo = getFileInformation($client, $sTempFilename, $sTypeContent, $db);
|
||||
|
||||
# create new file
|
||||
if ( $_REQUEST['action'] == $sActionCreate AND $_REQUEST['status'] == 'send')
|
||||
{
|
||||
if ($_REQUEST['action'] == $sActionCreate AND $_REQUEST['status'] == 'send') {
|
||||
$sTempFilename = $sFilename;
|
||||
createFile($sFilename, $path);
|
||||
$bEdit = fileEdit($sFilename, $_REQUEST['code'], $path);
|
||||
|
@ -114,10 +110,8 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
}
|
||||
|
||||
# edit selected file
|
||||
if ( $_REQUEST['action'] == $sActionEdit AND $_REQUEST['status'] == 'send')
|
||||
{
|
||||
if ($sFilename != $sTempFilename)
|
||||
{
|
||||
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;
|
||||
|
@ -126,8 +120,7 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
right_top.location.href = href;
|
||||
}
|
||||
</script>";
|
||||
}else
|
||||
{
|
||||
} else {
|
||||
$sTempFilename = $sFilename;
|
||||
}
|
||||
|
||||
|
@ -154,10 +147,7 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
/**
|
||||
* END TRACK VERSION
|
||||
* */
|
||||
|
||||
|
||||
$bEdit = fileEdit($sFilename, $_REQUEST['code'], $path);
|
||||
|
||||
}
|
||||
|
||||
# generate edit form
|
||||
|
@ -165,17 +155,14 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
|
||||
$sAction = ($bEdit) ? $sActionEdit : $_REQUEST['action'];
|
||||
|
||||
if ($_REQUEST['action'] == $sActionEdit)
|
||||
{
|
||||
if ($_REQUEST['action'] == $sActionEdit) {
|
||||
$sCode = getFileContent($sFilename, $path);
|
||||
}else
|
||||
{
|
||||
} 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%");
|
||||
|
@ -189,7 +176,6 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
$ta_code = new cHTMLTextarea("code", clHtmlSpecialChars($sCode), 100, 35, "code");
|
||||
$descr = new cHTMLTextarea("description", clHtmlSpecialChars($aFileInfo["description"]), 100, 5);
|
||||
|
||||
|
||||
$ta_code->setStyle("font-family: monospace;width: 100%;");
|
||||
$descr->setStyle("font-family: monospace;width: 100%;");
|
||||
$ta_code->updateAttributes(array("wrap" => getEffectiveSetting('style_editor', 'wrap', 'off')));
|
||||
|
@ -207,5 +193,4 @@ if (!$perm->have_perm_area_action($area, $action))
|
|||
$page->render();
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Project:
|
||||
* Contenido Content Management System
|
||||
|
@ -27,7 +28,6 @@
|
|||
* }}
|
||||
*
|
||||
*/
|
||||
|
||||
if (!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
}
|
||||
|
@ -76,44 +76,68 @@ $sScriptTemplate = '
|
|||
$tpl->set('s', 'JAVASCRIPT', $sScriptTemplate);
|
||||
|
||||
# delete file
|
||||
if ($action == $sActionDelete)
|
||||
{
|
||||
if (!strrchr($_REQUEST['delfile'], "/"))
|
||||
{
|
||||
if (file_exists($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))
|
||||
{
|
||||
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))
|
||||
{
|
||||
} 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))
|
||||
{
|
||||
if (is_array($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"];
|
||||
$tpl->set('d', 'BGCOLOR', $bgcolor);
|
||||
|
@ -131,11 +155,9 @@ if ($handle = opendir($path))
|
|||
$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))
|
||||
{
|
||||
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
|
||||
{
|
||||
} else {
|
||||
$tpl->set('d', 'DELETE', '');
|
||||
}
|
||||
|
||||
|
@ -146,16 +168,13 @@ if ($handle = opendir($path))
|
|||
}
|
||||
|
||||
$tpl->next();
|
||||
|
||||
}
|
||||
}
|
||||
}else
|
||||
{
|
||||
} else {
|
||||
if ((int) $client > 0) {
|
||||
$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,7 +28,6 @@
|
|||
* }}
|
||||
*
|
||||
*/
|
||||
|
||||
if (!defined('CON_FRAMEWORK')) {
|
||||
die('Illegal call');
|
||||
}
|
||||
|
@ -43,29 +43,22 @@ if (!(int) $client > 0) {
|
|||
return;
|
||||
}
|
||||
|
||||
function getExpandCollapseButton($item)
|
||||
{
|
||||
function getExpandCollapseButton($item) {
|
||||
global $sess, $PHP_SELF, $frame, $area, $appendparameters;
|
||||
$selflink = "main.php";
|
||||
|
||||
if (count($item->subitems) > 0)
|
||||
{
|
||||
if ($item->collapsed == true)
|
||||
{
|
||||
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
|
||||
{
|
||||
} 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"])
|
||||
{
|
||||
} else {
|
||||
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">';
|
||||
}
|
||||
}
|
||||
|
@ -76,8 +69,7 @@ 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"))
|
||||
{
|
||||
if (!isset($path) && $sess->is_registered("upl_last_path")) {
|
||||
$path = $upl_last_path;
|
||||
}
|
||||
|
||||
|
@ -93,24 +85,19 @@ if ($tmp_area == "") {
|
|||
$uplexpandedList = unserialize($currentuser->getUserProperty("system", "upl_expandstate"));
|
||||
$upldbfsexpandedList = unserialize($currentuser->getUserProperty("system", "upl_dbfs_expandstate"));
|
||||
|
||||
if (!is_array($uplexpandedList))
|
||||
{
|
||||
if (!is_array($uplexpandedList)) {
|
||||
$uplexpandedList = array();
|
||||
}
|
||||
|
||||
if (!is_array($upldbfsexpandedList))
|
||||
{
|
||||
if (!is_array($upldbfsexpandedList)) {
|
||||
$upldbfsexpandedList = array();
|
||||
}
|
||||
|
||||
if ($action == "upl_renamedir")
|
||||
{
|
||||
if ($perm->have_perm_area_action("upl", "upl_renamedir"))
|
||||
{
|
||||
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))
|
||||
{
|
||||
if (in_array($cfgClient[$client]['upl']['path'] . $parent . $oldname . "/", $uplexpandedList)) {
|
||||
$uplexpandedList[] = $cfgClient[$client]['upl']['path'] . $parent . $newname . "/";
|
||||
}
|
||||
}
|
||||
|
@ -121,41 +108,31 @@ if ($action == "upl_renamedir")
|
|||
###################
|
||||
$dbfs = new DBFSCollection;
|
||||
|
||||
if ($action == "upl_delete")
|
||||
{
|
||||
if (is_dbfs($path))
|
||||
{
|
||||
if ($action == "upl_delete") {
|
||||
if (is_dbfs($path)) {
|
||||
$dbfs->remove($path . "/.");
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
/* Check for files */
|
||||
if (uplHasFiles($path))
|
||||
{
|
||||
if (uplHasFiles($path)) {
|
||||
$failedFiles = array();
|
||||
|
||||
$directory = opendir($cfgClient[$client]["upl"]["path"] . $path);
|
||||
while (false !== ($dir_entry = readdir($directory)))
|
||||
{
|
||||
if ($dir_entry != "." && $dir_entry != "..")
|
||||
{
|
||||
while (false !== ($dir_entry = readdir($directory))) {
|
||||
if ($dir_entry != "." && $dir_entry != "..") {
|
||||
$res = @ unlink($cfgClient[$client]["upl"]["path"] . $path . $dir_entry);
|
||||
|
||||
if ($res == false)
|
||||
{
|
||||
if ($res == false) {
|
||||
$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));
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
$res = @ rmdir($cfgClient[$client]['upl']['path'] . $path);
|
||||
if ($res == false)
|
||||
{
|
||||
if ($res == false) {
|
||||
$notification->displayNotification("warning", sprintf(i18n("Failed to remove directory %s"), $path));
|
||||
}
|
||||
}
|
||||
|
@ -206,19 +183,16 @@ if (count($aInvalidDirectories) > 0) {
|
|||
}
|
||||
|
||||
/* Mark all items in the expandedList as expanded */
|
||||
foreach ($uplexpandedList as $key => $value)
|
||||
{
|
||||
foreach ($uplexpandedList as $key => $value) {
|
||||
$rootTreeItem->markExpanded($value);
|
||||
}
|
||||
|
||||
/* Collapse and expand the tree */
|
||||
if (is_string($collapse))
|
||||
{
|
||||
if (is_string($collapse)) {
|
||||
$rootTreeItem->markCollapsed($collapse);
|
||||
}
|
||||
|
||||
if (is_string($expand))
|
||||
{
|
||||
if (is_string($expand)) {
|
||||
$rootTreeItem->markExpanded($expand);
|
||||
}
|
||||
|
||||
|
@ -233,77 +207,56 @@ unset ($objects[0]);
|
|||
|
||||
$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");
|
||||
$cattree = conFetchCategoryTree();
|
||||
$marray = array();
|
||||
|
||||
foreach ($cattree as $key => $catitem)
|
||||
{
|
||||
foreach ($cattree as $key => $catitem) {
|
||||
$no_start = true;
|
||||
$no_online = true;
|
||||
$no_start = !strHasStartArticle($catitem["idcat"], $lang);
|
||||
|
||||
$no_online = !$catitem["visible"];
|
||||
|
||||
if ($catitem["visible"] == 1)
|
||||
{
|
||||
if ($catitem["public"] == 0)
|
||||
{
|
||||
if ($no_start || $no_online)
|
||||
{
|
||||
if ($catitem["visible"] == 1) {
|
||||
if ($catitem["public"] == 0) {
|
||||
if ($no_start || $no_online) {
|
||||
# Error found
|
||||
$tmp_img = "folder_on_error_locked.gif";
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
# No error found
|
||||
$tmp_img = "folder_on_locked.gif";
|
||||
}
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
# Category is public
|
||||
if ($no_start || $no_online)
|
||||
{
|
||||
if ($no_start || $no_online) {
|
||||
# Error found
|
||||
$tmp_img = "folder_on_error.gif";
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
# No error found
|
||||
$tmp_img = "folder_on.gif";
|
||||
}
|
||||
}
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
# Category is offline
|
||||
if ($catitem['public'] == 0)
|
||||
{
|
||||
if ($catitem['public'] == 0) {
|
||||
# Category is locked
|
||||
if ($no_start || $no_online)
|
||||
{
|
||||
if ($no_start || $no_online) {
|
||||
# Error found
|
||||
$tmp_img = "folder_off_error_locked.gif";
|
||||
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
# No error found
|
||||
$tmp_img = "folder_off_locked.gif";
|
||||
|
||||
}
|
||||
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
# Category is public
|
||||
if ($no_start || $no_online)
|
||||
{
|
||||
if ($no_start || $no_online) {
|
||||
# Error found
|
||||
$tmp_img = "folder_off_error.gif";
|
||||
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
# No error found
|
||||
$tmp_img = "folder_off.gif";
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -335,8 +288,7 @@ if ($appendparameters == "filebrowser")
|
|||
|
||||
$tpl->set('s', 'CATBROWSER', $mtree->render());
|
||||
$tpl->set('s', 'APPENDPARAMETERS', 'url += \'&appendparameters=' . $appendparameters . '\'');
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
$tpl->set('s', 'CATBROWSER', '');
|
||||
$tpl->set('s', 'APPENDPARAMETERS', 'url += \'&appendparameters=' . $appendparameters . '\'');
|
||||
}
|
||||
|
@ -360,11 +312,8 @@ $tpl->set('d', 'DELETEBUTTON', '');
|
|||
$tpl->set('d', 'COLLAPSE', '');
|
||||
$tpl->next();
|
||||
|
||||
|
||||
if (is_array($objects))
|
||||
{
|
||||
foreach ($objects as $a_file)
|
||||
{
|
||||
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);
|
||||
|
@ -379,8 +328,7 @@ if (is_array($objects))
|
|||
$cnt = $depth;
|
||||
$indent = 18;
|
||||
|
||||
for ($i = 0; $i < $cnt; $i ++)
|
||||
{
|
||||
for ($i = 0; $i < $cnt; $i++) {
|
||||
$indent += 18;
|
||||
}
|
||||
|
||||
|
@ -395,16 +343,12 @@ if (is_array($objects))
|
|||
$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>';
|
||||
} else
|
||||
{
|
||||
if ($hasFiles)
|
||||
{
|
||||
} else {
|
||||
if ($hasFiles) {
|
||||
$message = i18n("Directory contains files");
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
$message = i18n("Permission denied");
|
||||
}
|
||||
|
||||
|
@ -419,13 +363,10 @@ if (is_array($objects))
|
|||
|
||||
$gline = "";
|
||||
|
||||
for ($i = 1; $i < $depth; $i ++)
|
||||
{
|
||||
if ($dlevels[$i] == false && $i != 0)
|
||||
{
|
||||
for ($i = 1; $i < $depth; $i++) {
|
||||
if ($dlevels[$i] == false && $i != 0) {
|
||||
$gline .= '<img src="images/grid_linedown.gif" align="middle" width="18">';
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
$gline .= '<img src="images/spacer.gif" width="18" height="18" align="middle">';
|
||||
}
|
||||
}
|
||||
|
@ -438,7 +379,6 @@ if (is_array($objects))
|
|||
|
||||
$tpl->set('d', 'COLLAPSE', $gline . $imgcollapse);
|
||||
$tpl->next();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -459,19 +399,16 @@ $rootTreeItem->custom["level"] = 0;
|
|||
uplRecursiveDBDirectoryList("", $rootTreeItem, 2);
|
||||
|
||||
/* Mark all items in the expandedList as expanded */
|
||||
foreach ($upldbfsexpandedList as $key => $value)
|
||||
{
|
||||
foreach ($upldbfsexpandedList as $key => $value) {
|
||||
$rootTreeItem->markExpanded($value);
|
||||
}
|
||||
|
||||
/* Collapse and expand the tree */
|
||||
if (is_string($collapse))
|
||||
{
|
||||
if (is_string($collapse)) {
|
||||
$rootTreeItem->markCollapsed($collapse);
|
||||
}
|
||||
|
||||
if (is_string($expand))
|
||||
{
|
||||
if (is_string($expand)) {
|
||||
$rootTreeItem->markExpanded($expand);
|
||||
}
|
||||
|
||||
|
@ -505,10 +442,8 @@ $dbfsc = new DBFSCollection;
|
|||
|
||||
$dlevels = array();
|
||||
|
||||
if (is_array($objects))
|
||||
{
|
||||
foreach ($objects as $a_file)
|
||||
{
|
||||
if (is_array($objects)) {
|
||||
foreach ($objects as $a_file) {
|
||||
$file = $a_file->name;
|
||||
$depth = $a_file->custom["level"] - 1;
|
||||
$pathstring = $a_file->id;
|
||||
|
@ -519,8 +454,7 @@ if (is_array($objects))
|
|||
$fileurl = rawurlencode($path . $file . '/');
|
||||
$pathurl = rawurlencode($path);
|
||||
|
||||
if($file == 'tmp')
|
||||
{
|
||||
if ($file == 'tmp') {
|
||||
echo 'tmp2<br>';
|
||||
}
|
||||
|
||||
|
@ -528,8 +462,7 @@ if (is_array($objects))
|
|||
$cnt = $depth;
|
||||
$indent = 18;
|
||||
|
||||
for ($i = 0; $i < $cnt; $i ++)
|
||||
{
|
||||
for ($i = 0; $i < $cnt; $i++) {
|
||||
# 18 px for every level
|
||||
$indent += 18;
|
||||
}
|
||||
|
@ -542,16 +475,12 @@ if (is_array($objects))
|
|||
|
||||
$hasFiles = $dbfsc->hasFiles($pathstring);
|
||||
|
||||
if (!$hasFiles && $perm->have_perm_area_action($tmp_area, "upl_rmdir"))
|
||||
{
|
||||
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)
|
||||
{
|
||||
} else {
|
||||
if ($hasFiles) {
|
||||
$message = i18n("Directory contains files");
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
$message = i18n("Permission denied");
|
||||
}
|
||||
|
||||
|
@ -566,13 +495,10 @@ if (is_array($objects))
|
|||
|
||||
$gline = "";
|
||||
|
||||
for ($i = 1; $i < $depth; $i ++)
|
||||
{
|
||||
if ($dlevels[$i] == false && $i != 0)
|
||||
{
|
||||
for ($i = 1; $i < $depth; $i++) {
|
||||
if ($dlevels[$i] == false && $i != 0) {
|
||||
$gline .= '<img src="images/grid_linedown.gif" align="middle">';
|
||||
} else
|
||||
{
|
||||
} else {
|
||||
$gline .= '<img src="images/spacer.gif" width="18" height="18" align="middle">';
|
||||
}
|
||||
}
|
||||
|
@ -583,12 +509,10 @@ if (is_array($objects))
|
|||
$tpl->set('d', 'DELETEBUTTON', $deletebutton);
|
||||
$tpl->set('d', 'COLLAPSE', $gline . $collapse);
|
||||
$tpl->next();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$tpl->set('s', 'ID_PATH', $path);
|
||||
chdir($cfg["path"]["contenido"]);
|
||||
$tpl->generate($cfg['path']['templates'] . $cfg['templates']['upl_dirs_overview']);
|
||||
|
||||
?>
|
Laden…
In neuem Issue referenzieren