/** * Cr�ation d'une malle * * @author Christophe Beyer <*****@*****.**> * @since 2005/12/06 * @param array $infos (option) informations permettant d'initialiser la malle. Index: title, node_type, node_id * @return integer l'Id de la malle cr��e ou NULL si erreur */ public function create($infos = array()) { $return = NULL; $dao = _dao("malle|malle_malles"); $new = _record("malle|malle_malles"); $new->titre = $infos['title'] ? $infos['title'] : CopixI18N::get('malle|malle.moduleDescription'); $new->date_creation = date("Y-m-d H:i:s"); $new->cle = MalleService::createKey(); $dao->insert($new); if ($new->id !== NULL) { $path2data = realpath('./static/malle'); $folder = $path2data . '/' . $new->id . '_' . $new->cle; if ($mkdir = @mkdir($folder, 0777)) { chmod($folder, 0777); $return = $new->id; } if (!$return) { MalleService::deleteDir($folder); $dao->delete($new->id); } } return $return; }
/** * Copie un fichier dans un autre dossier * * @author Christophe Beyer <*****@*****.**> * @since 2005/12/07 * @param object $rFile recordset du fichier "source" � copier (obtenu par DAO) * @param integer $folderDest Id du r�pertoire destination * @return true si l'op�ration s'est bien pass�e, false sinon */ public function copyFile($rFile, $folderDest) { //print_r($rFile); $res = false; $daoFiles = _dao("malle|malle_files"); // On ins�re d'abord dans la base $new = _record("malle|malle_files"); $new->malle = $rFile->malle; $new->folder = $folderDest; $new->nom = $rFile->nom; $new->fichier = $rFile->fichier; $new->taille = $rFile->taille; $new->type = $rFile->type; $new->cle = MalleService::createKey(); $new->date_upload = date("Y-m-d H:i:s"); $daoFiles->insert($new); if ($new->id !== NULL) { $fromFileName = $rFile->id . "_" . $rFile->fichier; $toFileName = $new->id . "_" . $new->fichier; $from = realpath('./static/malle') . '/' . $rFile->malle . '_' . $rFile->malle_cle . '/' . $fromFileName; $to = realpath('./static/malle') . '/' . $rFile->malle . '_' . $rFile->malle_cle . '/' . $toFileName; if (copy($from, $to)) { $res = true; } else { $daoFiles->delete($new->id); } } return $res; }