$expandedsectionarray[] = $sectioncursor; } } $_SESSION['dol_ecmexpandedsectionarray'] = join(',', $expandedsectionarray); } //print $_SESSION['dol_ecmexpandedsectionarray'].'<br>'; $nbofentries = 0; $oldvallevel = 0; $var = true; foreach ($sqltree as $key => $val) { $var = false; $ecmdirstatic->id = $val['id']; $ecmdirstatic->ref = $val['label']; // Refresh cache if (preg_match('/refresh/i', $action)) { $result = $ecmdirstatic->fetch($val['id']); $ecmdirstatic->ref = $ecmdirstatic->label; $result = $ecmdirstatic->refreshcachenboffile(0); $val['cachenbofdoc'] = $result; } //$fullpathparent=preg_replace('/(_[^_]+)$/i','',$val['fullpath']); // Define showline $showline = 0; // If directory is son of expanded directory, we show line if (in_array($val['id_mere'], $expandedsectionarray)) { $showline = 4; } elseif ($val['id'] != $section && $val['id_mere'] == $ecmdirstatic->motherof[$section]) { $showline = 3; } elseif (preg_match('/' . $val['fullpath'] . '_/i', $fullpathselected . '_')) { $showline = 2; } elseif ($val['level'] < 2) {
} $offset = $conf->liste_limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) { $sortorder = "ASC"; } if (!$sortfield) { $sortfield = "fullname"; } if ($module == 'invoice_supplier' && $sortfield == "fullname") { $sortfield = "level1name"; } $ecmdir = new EcmDirectory($db); if ($section) { $result = $ecmdir->fetch($section); if (!$result > 0) { dol_print_error($db, $ecmdir->error); exit; } } $form = new Form($db); $ecmdirstatic = new EcmDirectory($db); $userstatic = new User($db); $error = 0; /* * Actions */ // Upload file if (GETPOST("sendit") && !empty($conf->global->MAIN_UPLOAD_DOC)) { // Define relativepath and upload_dir
/** * Create record into database * * @param User $user User that create * @return int <0 if KO, >0 if OK */ function create($user) { global $conf, $langs; $error = 0; $now = dol_now(); // Clean parameters $this->label = dol_sanitizeFileName(trim($this->label)); $this->fk_parent = trim($this->fk_parent); $this->description = trim($this->description); $this->date_c = $now; $this->fk_user_c = $user->id; if ($this->fk_parent <= 0) { $this->fk_parent = 0; } // Check if same directory does not exists with this name $relativepath = $this->label; if ($this->fk_parent) { $parent = new EcmDirectory($this->db); $parent->fetch($this->fk_parent); $relativepath = $parent->getRelativePath() . $relativepath; } $relativepath = preg_replace('/([\\/])+/i', '/', $relativepath); // Avoid duplicate / or \ //print $relativepath.'<br>'; $cat = new EcmDirectory($this->db); $cate_arbo = $cat->get_full_arbo(1); $pathfound = 0; foreach ($cate_arbo as $key => $categ) { $path = str_replace($this->forbiddenchars, '_', $categ['fulllabel']); //print $path.'<br>'; if ($path == $relativepath) { $pathfound = 1; break; } } if ($pathfound) { $this->error = "ErrorDirAlreadyExists"; dol_syslog(get_class($this) . "::create " . $this->error, LOG_WARNING); return -1; } else { $this->db->begin(); // Insert request $sql = "INSERT INTO " . MAIN_DB_PREFIX . "ecm_directories("; $sql .= "label,"; $sql .= "entity,"; $sql .= "fk_parent,"; $sql .= "description,"; $sql .= "cachenbofdoc,"; $sql .= "date_c,"; $sql .= "fk_user_c"; $sql .= ") VALUES ("; $sql .= " '" . $this->db->escape($this->label) . "',"; $sql .= " '" . $conf->entity . "',"; $sql .= " '" . $this->fk_parent . "',"; $sql .= " '" . $this->db->escape($this->description) . "',"; $sql .= " " . $this->cachenbofdoc . ","; $sql .= " '" . $this->db->idate($this->date_c) . "',"; $sql .= " '" . $this->fk_user_c . "'"; $sql .= ")"; dol_syslog(get_class($this) . "::create sql=" . $sql, LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX . "ecm_directories"); $dir = $conf->ecm->dir_output . '/' . $this->getRelativePath(); $result = dol_mkdir($dir); if ($result < 0) { $error++; $this->error = "ErrorFailedToCreateDir"; } // Appel des triggers include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; $interface = new Interfaces($this->db); $result = $interface->run_triggers('MYECMDIR_CREATE', $this, $user, $langs, $conf); if ($result < 0) { $error++; $this->errors = $interface->errors; } // Fin appel triggers if (!$error) { $this->db->commit(); return $this->id; } else { $this->db->rollback(); return -1; } } else { $this->error = "Error " . $this->db->lasterror(); dol_syslog(get_class($this) . "::create " . $this->error, LOG_ERR); $this->db->rollback(); return -1; } } }
$totalsize += $file['size']; } $head = ecm_prepare_head($ecmdir); dol_fiche_head($head, 'card', $langs->trans("ECMSectionManual"), '', 'dir'); if ($_GET["action"] == 'edit') { print '<form name="update" action="' . $_SERVER["PHP_SELF"] . '" method="POST">'; print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">'; print '<input type="hidden" name="section" value="' . $section . '">'; print '<input type="hidden" name="action" value="update">'; } print '<table class="border" width="100%">'; print '<tr><td width="30%">' . $langs->trans("Ref") . '</td><td>'; $s = ''; $tmpecmdir = new EcmDirectory($db); // Need to create a new one $tmpecmdir->fetch($ecmdir->id); $result = 1; $i = 0; while ($tmpecmdir && $result > 0) { $tmpecmdir->ref = $tmpecmdir->label; if ($i == 0 && $_GET["action"] == 'edit') { $s = '<input type="text" name="label" size="40" maxlength="32" value="' . $tmpecmdir->label . '">'; } else { $s = $tmpecmdir->getNomUrl(1) . $s; } if ($tmpecmdir->fk_parent) { $s = ' -> ' . $s; $result = $tmpecmdir->fetch($tmpecmdir->fk_parent); } else { $tmpecmdir = 0; }
if (!$sortfield) { $sortfield = "label"; } $section = GETPOST("section"); if (!$section) { dol_print_error('', 'Error, section parameter missing'); exit; } $urlfile = GETPOST("urlfile"); if (!$urlfile) { dol_print_error('', "ErrorParamNotDefined"); exit; } // Load ecm object $ecmdir = new EcmDirectory($db); $result = $ecmdir->fetch(GETPOST("section")); if (!$result > 0) { dol_print_error($db, $ecmdir->error); exit; } $relativepath = $ecmdir->getRelativePath(); $upload_dir = $conf->ecm->dir_output . '/' . $relativepath; /* $ecmfile = new ECMFile($db); if (! empty($_GET["fileid"])) { $result=$ecmfile->fetch($_GET["fileid"]); if (! $result > 0) { dol_print_error($db,$ecmfile->error); exit;
$page = GETPOST("page", 'int'); if ($page == -1) { $page = 0; } $offset = $conf->liste_limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) { $sortorder = "ASC"; } if (!$sortfield) { $sortfield = "label"; } $ecmdir = new EcmDirectory($db); if (!empty($_REQUEST["section"])) { $result = $ecmdir->fetch($_REQUEST["section"]); if (!$result > 0) { dol_print_error($db, $ecmdir->error); exit; } } /******************************************************************* * ACTIONS * * Put here all code to do according to value of "action" parameter ********************************************************************/ /******************************************************************* * PAGE * * Put here all code to do according to value of "action" parameter ********************************************************************/
$page = GETPOST("page", 'int'); if ($page == -1) { $page = 0; } $offset = $conf->liste_limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (!$sortorder) { $sortorder = "ASC"; } if (!$sortfield) { $sortfield = "label"; } $ecmdir = new EcmDirectory($db); if (!empty($_GET["section"])) { $result = $ecmdir->fetch($_GET["section"]); if (!$result > 0) { dol_print_error($db, $ecmdir->error); exit; } } /******************************************************************* * ACTIONS * * Put here all code to do according to value of "action" parameter ********************************************************************/ // Action ajout d'un produit ou service if ($_POST["action"] == 'add' && $user->rights->ecm->setup) { if (!empty($_POST["cancel"])) { Header("Location: " . DOL_URL_ROOT . '/ecm/index.php?action=file_manager'); exit;