示例#1
0
             $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) {
示例#2
0
}
$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;
         }
     }
 }
示例#4
0
    $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;
示例#6
0
$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
 ********************************************************************/
示例#7
0
$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;