26 if (! defined(
'DISABLE_JS_GRAHP')) define(
'DISABLE_JS_GRAPH', 1);
 
   29 require 
'../main.inc.php';
 
   30 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
 
   31 require_once DOL_DOCUMENT_ROOT.
'/ecm/class/htmlecm.form.class.php';
 
   32 require_once DOL_DOCUMENT_ROOT.
'/ecm/class/ecmdirectory.class.php';
 
   35 $langs->loadLangs(array(
"ecm", 
"companies", 
"other", 
"users", 
"orders", 
"propal", 
"bills", 
"contracts", 
"categories"));
 
   38 $socid      = 
GETPOST(
'socid', 
'int');
 
   39 $action     = 
GETPOST(
'action', 
'alpha');
 
   40 $cancel     = 
GETPOST(
'cancel', 
'aZ09');
 
   41 $backtopage = 
GETPOST(
'backtopage', 
'alpha');
 
   42 $confirm    = 
GETPOST(
'confirm', 
'alpha');
 
   44 $module  = 
GETPOST(
'module', 
'alpha');
 
   45 $website = 
GETPOST(
'website', 
'alpha');
 
   46 $pageid  = 
GETPOST(
'pageid', 
'int');
 
   52 if ($user->socid > 0) {
 
   54   $socid = $user->socid;
 
   57 $section = $urlsection = 
GETPOST(
'section', 
'alpha');
 
   58 if (empty($urlsection)) {
 
   62 if ($module == 
'ecm') {
 
   63   $upload_dir = $conf->ecm->dir_output.
'/'.$urlsection;
 
   66   $upload_dir = $conf->medias->multidir_output[$conf->entity];
 
   69 $limit = 
GETPOST(
'limit', 
'int') ? 
GETPOST(
'limit', 
'int') : $conf->liste_limit;
 
   70 $sortfield = 
GETPOST(
'sortfield', 
'aZ09comma');
 
   71 $sortorder = 
GETPOST(
'sortorder', 
'aZ09comma');
 
   73 if (empty($page) || $page == -1) {
 
   76 $offset = $limit * $page;
 
   77 $pageprev = $page - 1;
 
   78 $pagenext = $page + 1;
 
   87 if (!empty($section)) {
 
   88   $result = $ecmdir->fetch($section);
 
   97 $permissiontoupload = 0;
 
   98 if ($module == 
'ecm') {
 
   99   $permissiontoadd = $user->rights->ecm->setup;
 
  100   $permissiontoupload = $user->rights->ecm->upload;
 
  102 if ($module == 
'medias') {
 
  103   $permissiontoadd = ($user->rights->mailing->creer || $user->rights->website->write);
 
  104   $permissiontoupload = ($user->rights->mailing->creer || $user->rights->website->write);
 
  107 if (!$permissiontoadd) {
 
  118 if ($action == 
'add' && $permissiontoadd) {
 
  120     if (!empty($backtopage)) {
 
  121       header(
"Location: ".$backtopage);
 
  124       header(
"Location: ".DOL_URL_ROOT.
'/ecm/index.php?action=file_manager'.($module ? 
'&module='.$module : 
''));
 
  129   $ref = (string) 
GETPOST(
"ref", 
'alpha');
 
  131   $desc = (string) 
GETPOST(
"desc", 
'alpha');
 
  132   $catParent = 
GETPOST(
"catParent", 
'alpha'); 
 
  133   if ($catParent == 
'-1') {
 
  140     setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentities(
"Label")), 
null, 
'errors');
 
  146     if ($module == 
'ecm') {
 
  148       $ecmdir->label          = $label;
 
  149       $ecmdir->description    = $desc;
 
  150       $ecmdir->fk_parent      = (int) $catParent;
 
  152       $id = $ecmdir->create($user);
 
  155         $langs->load(
"errors");
 
  161       if ($module == 
'medias') {
 
  162         $dirfornewdir = $conf->medias->multidir_output[$conf->entity];
 
  164       if (empty($dirfornewdir)) {
 
  170         $fullpathofdir = $dirfornewdir.
'/'.($catParent ? $catParent.
'/' : 
'').$label;
 
  171         $result = 
dol_mkdir($fullpathofdir, DOL_DATA_ROOT);
 
  173           $langs->load(
"errors");
 
  174           setEventMessages($langs->trans(
'ErrorFailToCreateDir', $label), 
null, 
'errors');
 
  177           setEventMessages($langs->trans(
"ECMSectionWasCreated", $label), 
null, 
'mesgs');
 
  184     if (!empty($backtopage)) {
 
  185       header(
"Location: ".$backtopage);
 
  188       header(
"Location: ".DOL_URL_ROOT.
'/ecm/index.php?action=file_manager');
 
  192 } elseif ($action == 
'confirm_deletesection' && $confirm == 
'yes' && $permissiontoadd) {
 
  194   $result = $ecmdir->delete($user);
 
  195   setEventMessages($langs->trans(
"ECMSectionWasRemoved", $ecmdir->label), 
null, 
'mesgs');
 
  205 llxHeader(
'', $langs->trans(
"ECMNewSection"));
 
  210 if ($action == 
'create') {
 
  214   print 
'<form action="'.$_SERVER[
"PHP_SELF"].
'" method="POST">';
 
  215   print 
'<input type="hidden" name="token" value="'.newToken().
'">';
 
  216   print 
'<input type="hidden" name="action" value="add">';
 
  217   print 
'<input type="hidden" name="module" value="'.dol_escape_htmltag($module).
'">';
 
  218   print 
'<input type="hidden" name="backtopage" value="'.dol_escape_htmltag($backtopage).
'">';
 
  220     print 
'<input type="hidden" name="website" value="'.dol_escape_htmltag($website).
'">';
 
  223     print 
'<input type="hidden" name="pageid" value="'.dol_escape_htmltag($pageid).
'">';
 
  226   $title = $langs->trans(
"ECMNewSection");
 
  231   print 
'<table class="border centpercent">';
 
  234   print 
'<tr><td class="titlefieldcreate fieldrequired">'.$langs->trans(
"Label").
'</td><td><input name="label" class="minwidth100" maxlength="32" value="'.(
GETPOST(
"label", 
'alpha') ? 
GETPOST(
"label", 
'alpha') : $ecmdir->label).
'" autofocus></td></tr>'.
"\n";
 
  236   print 
'<tr><td>'.$langs->trans(
"AddIn").
'</td><td>';
 
  237   print $formecm->selectAllSections((
GETPOST(
"catParent", 
'alpha') ? 
GETPOST(
"catParent", 
'alpha') : $ecmdir->fk_parent), 
'catParent', $module);
 
  238   print 
'</td></tr>'.
"\n";
 
  241   if ($module == 
'ecm') {
 
  242     print 
'<tr><td class="tdtop">'.$langs->trans(
"Description").
'</td><td>';
 
  243     print 
'<textarea name="desc" rows="4" class="quatrevingtpercent">';
 
  244     print $ecmdir->description;
 
  246     print 
'</td></tr>'.
"\n";
 
  253   print 
'<div class="center">';
 
  254   print 
'<input type="submit" class="button" name="create" value="'.$langs->trans(
"Create").
'">';
 
  255   print 
'     ';
 
  256   print 
'<input type="submit" class="button button-cancel" name="cancel" value="'.$langs->trans(
"Cancel").
'">';
 
  262 if (empty($action) || $action == 
'delete_section') {
 
  279   if ($action == 
'delete_section') {
 
  280     print 
$form->formconfirm($_SERVER[
"PHP_SELF"].
'?section='.$section, $langs->trans(
'DeleteSection'), $langs->trans(
'ConfirmDeleteSection', $ecmdir->label), 
'confirm_deletesection');
 
  285   print 
'<div class="tabsAction">';
 
  288   print 
dolGetButtonAction($langs->trans(
'Delete'), 
'', 
'delete', $_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'&action=delete&token='.
newToken(), 
'', $user->rights->ecm->setup);
 
if(!defined('NOREQUIRESOC')) if(!defined('NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined('NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined('NOREQUIREAJAX')) llxHeader()
Empty header.
 
Class to manage ECM directories.
 
if($cancel &&! $id) if($action=='add' &&! $cancel) if($action=='delete') if($id) $form
Actions.
 
load_fiche_titre($titre, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
 
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='')
Show tabs of a record.
 
dol_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
 
dol_get_fiche_end($notab=0)
Return tab footer of a card.
 
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='')
Set event messages in dol_events session object.
 
newToken()
Return the value of token currently saved into session with name 'newtoken'.
 
dolGetButtonAction($label, $text='', $actionType='default', $url='', $id='', $userRight=1, $params=array())
Function dolGetButtonAction.
 
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
 
dol_sanitizeFileName($str, $newstr='_', $unaccent=1)
Clean a string to use it as a file name.
 
GETPOSTISSET($paramname)
Return true if we are in a context of submitting the parameter $paramname from a POST of a form.
 
dol_mkdir($dir, $dataroot='', $newmask='')
Creation of a directory (this can create recursive subdir)
 
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.