Work on filemanager for websites
This commit is contained in:
parent
eeda176ed6
commit
ea517da85c
@ -38,15 +38,18 @@ if (empty($module)) $module='ecm';
|
|||||||
|
|
||||||
$permtoadd = 0;
|
$permtoadd = 0;
|
||||||
$permtoupload = 0;
|
$permtoupload = 0;
|
||||||
|
$showroot = 0;
|
||||||
if ($module == 'ecm')
|
if ($module == 'ecm')
|
||||||
{
|
{
|
||||||
$permtoadd = $user->rights->ecm->setup;
|
$permtoadd = $user->rights->ecm->setup;
|
||||||
$permtoupload = $user->rights->ecm->upload;
|
$permtoupload = $user->rights->ecm->upload;
|
||||||
|
$showroot = 0;
|
||||||
}
|
}
|
||||||
if ($module == 'medias')
|
if ($module == 'medias')
|
||||||
{
|
{
|
||||||
$permtoadd = ($user->rights->mailing->creer || $user->rights->website->write);
|
$permtoadd = ($user->rights->mailing->creer || $user->rights->website->write);
|
||||||
$permtoupload = ($user->rights->mailing->creer || $user->rights->website->write);
|
$permtoupload = ($user->rights->mailing->creer || $user->rights->website->write);
|
||||||
|
$showroot = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -69,29 +72,25 @@ if (($action == 'delete' || $action == 'file_manager_delete') && empty($conf->us
|
|||||||
print '<div class="inline-block toolbarbutton centpercent">';
|
print '<div class="inline-block toolbarbutton centpercent">';
|
||||||
|
|
||||||
// Toolbar
|
// Toolbar
|
||||||
//if (preg_match('/\/ecm/', $_SERVER['PHP_SELF'])) {
|
if ($permtoadd)
|
||||||
//if ($module == 'ecm') {
|
{
|
||||||
|
print '<a href="'.DOL_URL_ROOT.'/ecm/dir_add_card.php?action=create&module='.urlencode($module).($websitekey?'&website='.$websitekey:'').($pageid?'&pageid='.$pageid:'').'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?file_manager=1&website='.$websitekey.'&pageid='.$pageid).'" class="inline-block valignmiddle toolbarbutton" title="'.dol_escape_htmltag($langs->trans('ECMAddSection')).'">';
|
||||||
if ($permtoadd)
|
print '<img class="toolbarbutton" border="0" src="'.DOL_URL_ROOT.'/theme/common/folder-new.png">';
|
||||||
{
|
print '</a>';
|
||||||
print '<a href="'.DOL_URL_ROOT.'/ecm/dir_add_card.php?action=create&module='.urlencode($module).($websitekey?'&website='.$websitekey:'').($pageid?'&pageid='.$pageid:'').'&backtopage='.urlencode($_SERVER["PHP_SELF"].'?file_manager=1&website='.$websitekey.'&pageid='.$pageid).'" class="inline-block valignmiddle toolbarbutton" title="'.dol_escape_htmltag($langs->trans('ECMAddSection')).'">';
|
}
|
||||||
print '<img class="toolbarbutton" border="0" src="'.DOL_URL_ROOT.'/theme/common/folder-new.png">';
|
else
|
||||||
print '</a>';
|
{
|
||||||
}
|
print '<a href="#" class="inline-block valignmiddle toolbarbutton" title="'.$langs->trans("NotAllowed").'">';
|
||||||
else
|
print '<img class="toolbarbutton" border="0" src="'.DOL_URL_ROOT.'/theme/common/folder-new.png">';
|
||||||
{
|
print '</a>';
|
||||||
print '<a href="#" class="inline-block valignmiddle toolbarbutton" title="'.$langs->trans("NotAllowed").'">';
|
}
|
||||||
print '<img class="toolbarbutton" border="0" src="'.DOL_URL_ROOT.'/theme/common/folder-new.png">';
|
if ($module == 'ecm')
|
||||||
print '</a>';
|
{
|
||||||
}
|
$tmpurl=((! empty($conf->use_javascript_ajax) && empty($conf->global->MAIN_ECM_DISABLE_JS))?'#':($_SERVER["PHP_SELF"].'?action=refreshmanual'.($module?'&module='.$module:'').($section?'&section='.$section:'')));
|
||||||
if ($module == 'ecm')
|
print '<a href="'.$tmpurl.'" class="inline-block valignmiddle toolbarbutton" title="'.dol_escape_htmltag($langs->trans('ReSyncListOfDir')).'">';
|
||||||
{
|
print '<img id="refreshbutton" class="toolbarbutton" border="0" src="'.DOL_URL_ROOT.'/theme/common/view-refresh.png">';
|
||||||
$tmpurl=((! empty($conf->use_javascript_ajax) && empty($conf->global->MAIN_ECM_DISABLE_JS))?'#':($_SERVER["PHP_SELF"].'?action=refreshmanual'.($module?'&module='.$module:'').($section?'&section='.$section:'')));
|
print '</a>';
|
||||||
print '<a href="'.$tmpurl.'" class="inline-block valignmiddle toolbarbutton" title="'.dol_escape_htmltag($langs->trans('ReSyncListOfDir')).'">';
|
}
|
||||||
print '<img id="refreshbutton" class="toolbarbutton" border="0" src="'.DOL_URL_ROOT.'/theme/common/view-refresh.png">';
|
|
||||||
print '</a>';
|
|
||||||
}
|
|
||||||
//}
|
|
||||||
|
|
||||||
// Start "Add new file" area
|
// Start "Add new file" area
|
||||||
$nameforformuserfile = 'formuserfileecm';
|
$nameforformuserfile = 'formuserfileecm';
|
||||||
@ -148,7 +147,7 @@ if (empty($action) || $action == 'editfile' || $action == 'file_manager' || preg
|
|||||||
|
|
||||||
print '<!-- Title for manual directories -->'."\n";
|
print '<!-- Title for manual directories -->'."\n";
|
||||||
print '<tr class="liste_titre">'."\n";
|
print '<tr class="liste_titre">'."\n";
|
||||||
print '<th class="liste_titre" align="left" colspan="6">';
|
print '<th class="liste_titre" align="left">';
|
||||||
print ' '.$langs->trans("ECMSections");
|
print ' '.$langs->trans("ECMSections");
|
||||||
print '</th></tr>';
|
print '</th></tr>';
|
||||||
|
|
||||||
@ -159,9 +158,17 @@ if (empty($action) || $action == 'editfile' || $action == 'file_manager' || preg
|
|||||||
|
|
||||||
if (! empty($conf->use_javascript_ajax) && empty($conf->global->MAIN_ECM_DISABLE_JS))
|
if (! empty($conf->use_javascript_ajax) && empty($conf->global->MAIN_ECM_DISABLE_JS))
|
||||||
{
|
{
|
||||||
print '<tr><td colspan="6">';
|
// Show the link to "Root"
|
||||||
|
if ($showroot)
|
||||||
|
{
|
||||||
|
print '<tr><td><div style="padding-left: 5px; padding-right: 5px;"><a href="'.$_SERVER["PHP_SELF"].'?file_manager=1&pageid='.$pageid.'">'.$langs->trans("Root").'</a></div></td></tr>';
|
||||||
|
}
|
||||||
|
|
||||||
// Show filemanager tree (will be filled by call of ajax enablefiletreeajax.tpl.php that execute ajaxdirtree.php)
|
|
||||||
|
|
||||||
|
print '<tr><td>';
|
||||||
|
|
||||||
|
// Show filemanager tree (will be filled by call of ajax /ecm/tpl/enablefiletreeajax.tpl.php that execute ajaxdirtree.php)
|
||||||
print '<div id="filetree" class="ecmfiletree"></div>';
|
print '<div id="filetree" class="ecmfiletree"></div>';
|
||||||
|
|
||||||
if ($action == 'deletefile') print $form->formconfirm('eeeee', $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile', '', '', 'deletefile');
|
if ($action == 'deletefile') print $form->formconfirm('eeeee', $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile', '', '', 'deletefile');
|
||||||
@ -170,7 +177,7 @@ if (empty($action) || $action == 'editfile' || $action == 'file_manager' || preg
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<tr><td colspan="6" style="padding-left: 20px">';
|
print '<tr><td style="padding-left: 20px">';
|
||||||
|
|
||||||
$_POST['modulepart'] = $module;
|
$_POST['modulepart'] = $module;
|
||||||
$_POST['openeddir'] = GETPOST('openeddir');
|
$_POST['openeddir'] = GETPOST('openeddir');
|
||||||
|
|||||||
@ -27,7 +27,7 @@ if (empty($conf) || ! is_object($conf))
|
|||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- BEGIN PHP TEMPLATE ecm/tpl/enablefiletreeajax.tpl.php -->
|
<!-- BEGIN PHP TEMPLATE ecm/tpl/enablefiletreeajax.tpl.php -->
|
||||||
<!-- Doc of fileTree plugin at http://www.abeautifulsite.net/blog/2008/03/jquery-file-tree/ -->
|
<!-- Doc of fileTree plugin at https://www.abeautifulsite.net/jquery-file-tree: http://www.abeautifulsite.net/blog/2008/03/jquery-file-tree/ -->
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
|||||||
@ -4430,7 +4430,7 @@ td.gminorheading {
|
|||||||
.ecmfiletree {
|
.ecmfiletree {
|
||||||
width: 99%;
|
width: 99%;
|
||||||
height: 99%;
|
height: 99%;
|
||||||
background: #FFF;
|
/* background: #FFF; */
|
||||||
padding-left: 2px;
|
padding-left: 2px;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -109,15 +109,30 @@ if ($websitekey)
|
|||||||
}
|
}
|
||||||
$website = $object;
|
$website = $object;
|
||||||
|
|
||||||
|
// Define pageid if pageif and pageref not received as parameter
|
||||||
|
if (empty($pageid) && empty($pageref) && $object->id > 0 && $action != 'createcontainer')
|
||||||
|
{
|
||||||
|
$pageid = $object->fk_default_home;
|
||||||
|
if (empty($pageid))
|
||||||
|
{
|
||||||
|
$array=$objectpage->fetchAll($object->id, 'ASC,ASC', 'type_container,pageurl');
|
||||||
|
if (! is_array($array) && $array < 0) dol_print_error('', $objectpage->error, $objectpage->errors);
|
||||||
|
$atleastonepage=(is_array($array) && count($array) > 0);
|
||||||
|
|
||||||
|
$firstpageid=0;$homepageid=0;
|
||||||
|
foreach($array as $key => $valpage)
|
||||||
|
{
|
||||||
|
if (empty($firstpageid)) $firstpageid=$valpage->id;
|
||||||
|
if ($object->fk_default_home && $key == $object->fk_default_home) $homepageid=$valpage->id;
|
||||||
|
}
|
||||||
|
$pageid=($homepageid?$homepageid:$firstpageid); // We choose home page and if not defined yet, we take first page
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($pageid < 0) $pageid = 0;
|
if ($pageid < 0) $pageid = 0;
|
||||||
if (($pageid > 0 || $pageref) && $action != 'addcontainer')
|
if (($pageid > 0 || $pageref) && $action != 'addcontainer')
|
||||||
{
|
{
|
||||||
$res = $objectpage->fetch($pageid, ($object->id > 0 ? $object->id : null), $pageref);
|
$res = $objectpage->fetch($pageid, ($object->id > 0 ? $object->id : null), $pageref);
|
||||||
//var_dump($res);exit;
|
|
||||||
//if ($res == 0) // Page ref not found, we check in alias
|
|
||||||
//{
|
|
||||||
// $res = $objectpage->fetch($pageid, ($object->id > 0 ? $object->id : null), $pageref);
|
|
||||||
//}
|
|
||||||
|
|
||||||
// Check if pageid is inside the new website, if not we reset param pageid
|
// Check if pageid is inside the new website, if not we reset param pageid
|
||||||
if ($object->id > 0 && ($objectpage->fk_website != $object->id))
|
if ($object->id > 0 && ($objectpage->fk_website != $object->id))
|
||||||
@ -1566,7 +1581,7 @@ if (! GETPOST('hide_websitemenu'))
|
|||||||
//var_dump($objectpage);exit;
|
//var_dump($objectpage);exit;
|
||||||
print '<div class="centpercent websitebar">';
|
print '<div class="centpercent websitebar">';
|
||||||
|
|
||||||
if (count($object->records) > 0)
|
if (count($object->records) > 0) // There is at least one web site
|
||||||
{
|
{
|
||||||
// ***** Part for web sites
|
// ***** Part for web sites
|
||||||
|
|
||||||
@ -2508,31 +2523,34 @@ if ($action == 'editmenu')
|
|||||||
|
|
||||||
if ($action == 'editsource')
|
if ($action == 'editsource')
|
||||||
{
|
{
|
||||||
/*
|
// Editing with source editor
|
||||||
* Editing with source editor
|
|
||||||
*/
|
|
||||||
|
|
||||||
$contentforedit = '';
|
$contentforedit = '';
|
||||||
/*$contentforedit.='<style scoped>'."\n"; // "scoped" means "apply to parent element only". Not yet supported by browsers
|
//$contentforedit.='<style scoped>'."\n"; // "scoped" means "apply to parent element only". Not yet supported by browsers
|
||||||
$contentforedit.=$csscontent;
|
//$contentforedit.=$csscontent;
|
||||||
$contentforedit.='</style>'."\n";*/
|
//$contentforedit.='</style>'."\n";
|
||||||
$contentforedit .= $objectpage->content;
|
$contentforedit .= $objectpage->content;
|
||||||
|
//var_dump($_SESSION["dol_screenheight"]);
|
||||||
|
$maxheightwin=480;
|
||||||
|
if (isset($_SESSION["dol_screenheight"]))
|
||||||
|
{
|
||||||
|
if ($_SESSION["dol_screenheight"] > 680) $maxheightwin = $_SESSION["dol_screenheight"]-400;
|
||||||
|
if ($_SESSION["dol_screenheight"] > 800) $maxheightwin = $_SESSION["dol_screenheight"]-490;
|
||||||
|
}
|
||||||
|
//var_dump($_SESSION["dol_screenheight"]);
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
$doleditor=new DolEditor('PAGE_CONTENT',$contentforedit,'',500,'Full','',true,true,'ace',ROWS_5,'90%');
|
$doleditor=new DolEditor('PAGE_CONTENT',$contentforedit,'',$maxheightwin,'Full','',true,true,'ace',ROWS_5,'40%');
|
||||||
$doleditor->Create(0, '', false, 'HTML Source', 'php');
|
$doleditor->Create(0, '', false, 'HTML Source', 'php');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($action == 'editcontent')
|
/*if ($action == 'editcontent')
|
||||||
{
|
{
|
||||||
/*
|
// Editing with default ckeditor
|
||||||
* Editing with default ckeditor
|
|
||||||
*/
|
|
||||||
|
|
||||||
$contentforedit = '';
|
$contentforedit = '';
|
||||||
/*$contentforedit.='<style scoped>'."\n"; // "scoped" means "apply to parent element only". Not yet supported by browsers
|
//$contentforedit.='<style scoped>'."\n"; // "scoped" means "apply to parent element only". Not yet supported by browsers
|
||||||
$contentforedit.=$csscontent;
|
//$contentforedit.=$csscontent;
|
||||||
$contentforedit.='</style>'."\n";*/
|
//$contentforedit.='</style>'."\n";
|
||||||
$contentforedit .= $objectpage->content;
|
$contentforedit .= $objectpage->content;
|
||||||
|
|
||||||
$contentforedit = preg_replace('/(<img.*src=")(?!http)/', '\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $contentforedit, -1, $nbrep);
|
$contentforedit = preg_replace('/(<img.*src=")(?!http)/', '\1'.DOL_URL_ROOT.'/viewimage.php?modulepart=medias&file=', $contentforedit, -1, $nbrep);
|
||||||
@ -2540,7 +2558,7 @@ if ($action == 'editcontent')
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
$doleditor=new DolEditor('PAGE_CONTENT',$contentforedit,'',500,'Full','',true,true,true,ROWS_5,'90%');
|
$doleditor=new DolEditor('PAGE_CONTENT',$contentforedit,'',500,'Full','',true,true,true,ROWS_5,'90%');
|
||||||
$doleditor->Create(0, '', false);
|
$doleditor->Create(0, '', false);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
print "</div>\n</form>\n";
|
print "</div>\n</form>\n";
|
||||||
|
|
||||||
@ -2562,11 +2580,16 @@ if ($action == 'preview' || $action == 'createfromclone' || $action == 'createpa
|
|||||||
// Include a html so we can benefit of the header of page.
|
// Include a html so we can benefit of the header of page.
|
||||||
// Note: We can't use iframe as it can be used to include another external html file
|
// Note: We can't use iframe as it can be used to include another external html file
|
||||||
// Note: We can't use frame as it is deprecated.
|
// Note: We can't use frame as it is deprecated.
|
||||||
|
/*if ($includepageintoaframeoradiv == 'iframe')
|
||||||
|
{
|
||||||
|
$out .= "<iframe><body></html>";
|
||||||
|
}*/
|
||||||
$out.="\n<html><head>\n";
|
$out.="\n<html><head>\n";
|
||||||
$out.=dolWebsiteReplacementOfLinks($object, $objectpage->htmlheader, 1);
|
$out.=dolWebsiteReplacementOfLinks($object, $objectpage->htmlheader, 1);
|
||||||
$out.="</head>\n";
|
$out.="</head>\n";
|
||||||
$out.="\n<body>";
|
$out.="\n<body>";
|
||||||
|
|
||||||
|
|
||||||
$out.='<div id="websitecontentundertopmenu" class="websitecontentundertopmenu">'."\n";
|
$out.='<div id="websitecontentundertopmenu" class="websitecontentundertopmenu">'."\n";
|
||||||
|
|
||||||
// REPLACEMENT OF LINKS When page called by website editor
|
// REPLACEMENT OF LINKS When page called by website editor
|
||||||
@ -2603,25 +2626,30 @@ if ($action == 'preview' || $action == 'createfromclone' || $action == 'createpa
|
|||||||
//$out.='<div id="bodywebsite" class="bodywebsite"'.($objectpage->grabbed_from ? ' contenteditable="true"' : '').'>'."\n";
|
//$out.='<div id="bodywebsite" class="bodywebsite"'.($objectpage->grabbed_from ? ' contenteditable="true"' : '').'>'."\n";
|
||||||
$out.='<div id="bodywebsite" class="bodywebsite">'."\n";
|
$out.='<div id="bodywebsite" class="bodywebsite">'."\n";
|
||||||
|
|
||||||
// TODO Add the contenteditable="true" when mode Edit Inline is on
|
|
||||||
$newcontent = $objectpage->content;
|
$newcontent = $objectpage->content;
|
||||||
|
|
||||||
|
// If mode WEBSITE_SUBCONTAINERSINLINE is on
|
||||||
|
if (! empty($conf->global->WEBSITE_SUBCONTAINERSINLINE))
|
||||||
|
{
|
||||||
|
define('USEDOLIBARRSERVER', 1);
|
||||||
|
//var_dump($filetpl);
|
||||||
|
$filephp = $filetpl;
|
||||||
|
ob_start();
|
||||||
|
include $filephp;
|
||||||
|
$newcontent = ob_get_contents();
|
||||||
|
ob_end_clean();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Change the contenteditable to "true" or "false" when mode Edit Inline is on or off
|
||||||
if (empty($conf->global->WEBSITE_EDITINLINE))
|
if (empty($conf->global->WEBSITE_EDITINLINE))
|
||||||
{
|
{
|
||||||
$newcontent = preg_replace('/(div|section)(\s[^\>]*)contenteditable="true"/', '\1\2', $newcontent);
|
$newcontent = preg_replace('/(div|section)(\s[^\>]*)contenteditable="true"/', '\1\2', $newcontent);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// TODO Add the contenteditable="true" when mode Edit Inline is on
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
$filephp = $objectpage->
|
|
||||||
ob_start();
|
|
||||||
include $filephp;
|
|
||||||
$newcontent = ob_get_contents();
|
|
||||||
ob_end_clean();
|
|
||||||
*/
|
|
||||||
|
|
||||||
$out.=dolWebsiteReplacementOfLinks($object, $newcontent)."\n";
|
$out.=dolWebsiteReplacementOfLinks($object, $newcontent)."\n";
|
||||||
|
|
||||||
$out.='</div>';
|
$out.='</div>';
|
||||||
@ -2636,9 +2664,6 @@ if ($action == 'preview' || $action == 'createfromclone' || $action == 'createpa
|
|||||||
|
|
||||||
$out.= "\n".'<!-- End page content '.$filetpl.' -->'."\n\n";
|
$out.= "\n".'<!-- End page content '.$filetpl.' -->'."\n\n";
|
||||||
|
|
||||||
// For jqueryscoped (does not work as expected)
|
|
||||||
//$out.="<script>$.scoped();</script>";
|
|
||||||
|
|
||||||
print $out;
|
print $out;
|
||||||
|
|
||||||
/*file_put_contents($filetpl, $out);
|
/*file_put_contents($filetpl, $out);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user