/** * * @param string $folderName * @param strin(32) $folderParent * @return Ambigous <>|number */ public function createFolder ($folderName, $folderParent = "/", $action = "createifnotexists") { $validActions = array ("createifnotexists","create","update"); if (! in_array( $action, $validActions )) { $action = "createifnotexists"; } //Clean Folder and Parent names (delete spaces...) $folderName = trim( $folderName ); $folderParent = trim( $folderParent ); //Try to Load the folder (Foldername+FolderParent) $oCriteria = new Criteria( 'workflow' ); $oCriteria->add( AppFolderPeer::FOLDER_NAME, $folderName ); $oCriteria->add( AppFolderPeer::FOLDER_PARENT_UID, $folderParent ); $oDataset = AppFolderPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); if ($aRow = $oDataset->getRow()) { //Folder exist, then return the ID $response['success'] = false; $response['message'] = $response['error'] = "Can't create folder <br /> A folder with same name already exist. <br /> $folderName"; $response['folderUID'] = $aRow['FOLDER_UID']; //return ($aRow ['FOLDER_UID']); return ($response); } else { //Folder doesn't exist. Create and return the ID $folderUID = G::GenerateUniqueID(); $tr = new AppFolder(); $tr->setFolderUid( $folderUID ); $tr->setFolderParentUid( $folderParent ); $tr->setFolderName( $folderName ); $tr->setFolderCreateDate( 'now' ); $tr->setFolderUpdateDate( 'now' ); if ($tr->validate()) { // we save it, since we get no validation errors, or do whatever else you like. $res = $tr->save(); $response['success'] = true; $response['message'] = "Folder successfully created. <br /> $folderName"; $response['folderUID'] = $folderUID; return ($response); //return $folderUID; } else { // Something went wrong. We can now get the validationFailures and handle them. $msg = ''; $validationFailuresArray = $tr->getValidationFailures(); foreach ($validationFailuresArray as $objValidationFailure) { $msg .= $objValidationFailure->getMessage() . "<br/>"; } $response['success'] = false; $response['message'] = $response['error'] = "Can't create folder \n A \n " . $msg; return ($response); } } }
$FolderCreateDate = 'now'; $FolderUpdateDate = 'now'; require_once "classes/model/AppFolder.php"; //if exists the row in the database propel will update it, otherwise will insert. $tr = AppFolderPeer::retrieveByPK($FolderUid); if (!(is_object($tr) && get_class($tr) == 'AppFolder')) { $tr = new AppFolder(); } $tr->setFolderUid($FolderUid); $tr->setFolderParentUid($FolderParentUid); $tr->setFolderName($FolderName); $tr->setFolderCreateDate($FolderCreateDate); $tr->setFolderUpdateDate($FolderUpdateDate); if ($tr->validate()) { // we save it, since we get no validation errors, or do whatever else you like. $res = $tr->save(); } else { // Something went wrong. We can now get the validationFailures and handle them. $msg = ''; $validationFailuresArray = $tr->getValidationFailures(); foreach ($validationFailuresArray as $objValidationFailure) { $msg .= $objValidationFailure->getMessage() . "<br/>"; } //return array ( 'codError' => -100, 'rowsAffected' => 0, 'message' => $msg ); } //return array ( 'codError' => 0, 'rowsAffected' => $res, 'message' => ''); //to do: uniform coderror structures for all classes //if ( $res['codError'] < 0 ) { // G::SendMessageText ( $res['message'] , 'error' ); //} G::Header('location: appFolderList');