Exemple #1
0
 /**
  * @param sfGuardUser $user
  * @param $type
  * @param $create_if_not_exists
  * @return mixed
  */
 public function getNotDeletableForUser(sfGuardUser $user, $type, $create_if_not_exists = true)
 {
     $folder = $this->createQuery('f')->whereIn('f.user_id', sfGuardUserTable::getInstance()->getUsersInTeamIDs($user))->andWhere('f.deletable = ?', 0)->andWhere('f.type = ?', $type)->fetchOne();
     if (!$folder && $create_if_not_exists) {
         $folder = new Folder();
         $folder->setName('Default');
         $folder->setUserId($user->getId());
         $folder->setDeletable(0);
         $folder->setType($type);
         $folder->save();
     }
     return $folder;
 }
Exemple #2
0
 /**
  * @description Apply settings
  */
 public function save()
 {
     if ($this->isset == false) {
         // If the file does not exist check his way, create a folder that does not exist
         $folder = new Folder(dirname($this->path));
         $folder->save();
     }
     $mode = self::MODE_ADD_CONTENT;
     if ($this->newContentReplace) {
         $mode = self::MODE_REPLACE_CONTENT;
     }
     $this->write($mode);
     // and set configs to file
     $this->update();
 }
Exemple #3
0
 public function executeNewFolder(sfWebRequest $request)
 {
     $this->forward404Unless($request->isXmlHttpRequest());
     $folder = new Folder();
     $folder->setName('New ' . InterfaceLabelTable::getInstance()->get($this->getuser()->getGuardUser(), InterfaceLabelTable::FOLDER_TYPE));
     $folder->setUser($this->getUser()->getGuardUser());
     $folder->setType(Folder::TYPE_ROADMAP);
     if (!Folder::getInstance()->getNotDeletableForUser($this->getUser()->getGuardUser(), Folder::TYPE_ROADMAP, false)) {
         $folder->setDeletable(false);
     }
     $folder->save();
     // Create log
     $log = new Log();
     $log->injectDataAndPersist($folder, $this->getUser()->getGuardUser(), array('action' => 'new'));
     return $this->renderText(json_encode($folder->getRowData()));
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $data = Input::except(array('_token', '_method'));
     $trimmedData = $this->trimData($data, array());
     $folder = Folder::where('name', $trimmedData['name'])->get()->first();
     if (!empty($folder)) {
         Session::flash('flash_error', trans('message.folder.error.already_exist'));
         return Redirect::route('secured.folder.create')->withInput();
     }
     $currentUser = $this->getCurrentUser();
     $folder = new Folder();
     $folder->fill($trimmedData);
     $folder->owner_id = $currentUser->id;
     if (!$folder->save()) {
         $errors = $folder->errors();
         return Redirect::route('secured.folder.create')->withInput()->withErrors($errors);
     }
     return Redirect::route('secured.folder.index');
 }
 public function handleRoadmaps()
 {
     $default_folders = array();
     $conn = Doctrine_Manager::getInstance()->connection();
     $roadmaps = $conn->execute("SELECT id, user_id from `roadmap` WHERE folder_id is NULL")->fetchAll();
     foreach ($roadmaps as $roadmap) {
         if (!array_key_exists($roadmap['user_id'], $default_folders)) {
             $folder = $conn->execute("SELECT id from `folder` WHERE `user_id` = :user_id and `type` = '" . Folder::TYPE_ROADMAP . "' and `deletable` = 0 LIMIT 1;", array(':user_id' => $roadmap['user_id']))->fetchAll();
             if (count($folder)) {
                 $default_folders[$roadmap['user_id']] = $folder[0]['id'];
             } else {
                 $folder = new Folder();
                 $folder->setName('Default');
                 $folder->setUserId($roadmap['user_id']);
                 $folder->setDeletable(0);
                 $folder->setType(Folder::TYPE_ROADMAP);
                 $folder->save();
                 $default_folders[$roadmap['user_id']] = $folder->getId();
             }
         }
         $conn->execute("UPDATE `roadmap` SET `folder_id` = :folder_id WHERE id = :id", array(':folder_id' => $default_folders[$roadmap['user_id']], ':id' => $roadmap['id']));
     }
 }
Exemple #6
0
 $userManager->create();
 $admin = new User();
 $admin->setLogin($_['login']);
 $admin->setPassword($_['password'], $cryptographicSalt);
 $admin->save();
 $_SESSION['currentUser'] = serialize($admin);
 // DOSSIERS DE FLUX, RECRÉE LE DOSSIER GÉNÉRAL SI NÉCESSAIRE
 $folderManager = new Folder();
 $folderManager->create();
 if ($folderManager->rowCount() == 0) {
     //Création du dossier général
     $folder = new Folder();
     $folder->setName(_t('GENERAL_FOLDER'));
     $folder->setParent(-1);
     $folder->setIsopen(1);
     $folder->save();
 }
 // REMET À ZÉRO LA CONFIGURATION
 $configurationManager = new Configuration();
 if ($configurationManager->tableExists()) {
     $configurationManager->truncate();
 }
 $configurationManager->create();
 $configurationManager->add('articleDisplayAnonymous', '0');
 $configurationManager->add('articleDisplayAuthor', '1');
 $configurationManager->add('articleDisplayDate', '1');
 $configurationManager->add('articleDisplayFolderSort', '1');
 $configurationManager->add('articleDisplayHomeSort', '1');
 $configurationManager->add('articleDisplayLink', '1');
 $configurationManager->add('articleDisplayMode', 'summary');
 $configurationManager->add('articlePerPages', '5');
Exemple #7
0
 public function executeAccountCreate()
 {
     $this->setLayout(false);
     //assign vars
     $folder = Document::getDocumentByExclusiveTag("categories_folder_" . SECTION);
     if ($folder) {
         $cats = Document::getChildrenOf($folder->getId(), "Category");
         foreach ($cats as $cat) {
             $categories[$cat->getId()] = $cat->getlabel();
         }
     }
     $first = array(0 => "all categories");
     $categories = $first + $categories;
     $this->categories = $categories;
     if ($this->media) {
         $this->cv = $this->media;
     } elseif ($this->user && $this->type == "user") {
         $cv_id = $this->user->getCv();
         $cv = Document::getDocumentInstance($cv_id);
         $this->cv = $cv;
         $accpage = Document::getDocumentByExclusiveTag("website_page_account");
         if ($accpage) {
             $this->accountPageUrl = $accpage->getHref(false);
         }
     }
     if ($this->media) {
         $this->logo = $this->media;
     } elseif ($this->user && $this->type == "company") {
         $logo_id = $this->company->getLogo();
         $logo = Document::getDocumentInstance($logo_id);
         $this->logo = $logo;
         $accpage = Document::getDocumentByExclusiveTag("website_page_account");
         if ($accpage) {
             $this->accountPageUrl = $accpage->getHref(false);
         }
     }
     if ($this->getRequestParameter('submitted') == "submitted") {
         $new = false;
         $search = array(",", "/", "\\", "[", "]", "?", "!", "@", "#", "\$", "~", "&", "'", '"', "=", "-", ":", ";", "*", "%", "+", "(", ")", "{", "}", "|", "§", "<", ">", "_", "“", "�?", "„", "`");
         $replace = array("", "", "", "", "", "", "", "", "", "", "", "", " ", " ", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "");
         $params = $this->getRequest()->getParameterHolder()->getAll();
         foreach ($params as $key => $param) {
             if (!is_array($param)) {
                 ${$key} = trim($param);
             } else {
                 ${$key} = $param;
             }
         }
         if ($this->user) {
             if ($this->user->getLogin() == "admin") {
                 UtilsHelper::setFlashMsg("Admin account cannot be edited in frontend");
                 $this->noform = true;
                 return "Success";
             }
             UtilsHelper::setFlashMsg("Your profile has been successfully updated", UtilsHelper::MSG_SUCCESS);
         } else {
             $new = true;
             $code = md5(time());
             $this->user = new User();
             $this->user->setBackend(0);
             // MAKE SURE NO ACCESS TO ADMIN IS ALLOWED
             $this->user->setActivationCode($code);
         }
         if ($this->type == "company") {
             $this->user->setFirstname($firstname);
             $this->user->setLastname($lastname);
             $this->user->setEmail($email);
             $this->user->setPhone($phone);
             if (!empty($password)) {
                 $this->user->setPassword($password);
             }
         }
         ////////// GET SAVE FOLDERS //////////////
         $userFolders = array();
         $mediaFolders = array();
         $alphaFolder = false;
         $mediaAlphaFolder = false;
         $rootfolderUser = Rootfolder::getRootfolderByModule('user');
         $rootfolderMedia = Rootfolder::getRootfolderByModule('media');
         if ($rootfolderUser) {
             $folders = Document::getChildrenOf($rootfolderUser->getId(), 'Folder');
         }
         if ($rootfolderMedia) {
             $foldersMedia = Document::getChildrenOf($rootfolderMedia->getId(), 'Folder');
         }
         foreach ($folders as $folder) {
             $userFolders[$folder->getLabel()] = $folder->getId();
         }
         foreach ($foldersMedia as $folder) {
             $mediaFolders[$folder->getLabel()] = $folder->getId();
         }
         $title = @str_replace($search, $replace, $firstname);
         $title = trim(@str_replace('  ', ' ', $title));
         $title = mb_strtoupper($title);
         $firstLetter = mb_substr($title, 0, 1);
         if (array_key_exists($firstLetter, $userFolders)) {
             $alphaFolder = Document::getDocumentInstance($userFolders[$firstLetter]);
         }
         if (array_key_exists($firstLetter, $mediaFolders)) {
             $mediaAlphaFolder = Document::getDocumentInstance($mediaFolders[$firstLetter]);
         }
         if (!$alphaFolder) {
             $alphaFolder = new Folder();
             $alphaFolder->setLabel($firstLetter);
             $alphaFolder->save(null, $rootfolderUser);
         }
         if (!$mediaAlphaFolder) {
             $mediaAlphaFolder = new Folder();
             $mediaAlphaFolder->setLabel($firstLetter);
             $mediaAlphaFolder->save(null, $rootfolderMedia);
         }
         ////////////////////////////////////////
         if ($this->type == "user") {
             if ($this->media) {
                 $this->user->setCv($this->media->getId());
             }
             $this->user->setEducation($education);
             $jobtypes = "";
             foreach ($job_types as $jt) {
                 $jobtypes .= "|";
                 $jobtypes .= $jt;
             }
             $this->user->setJobType($jobtypes);
             $saved = $this->user->save(null, $alphaFolder);
         } elseif ($this->type == "company") {
             if (!$this->company) {
                 $this->company = new Company();
             }
             $company_folder = Document::getDocumentByExclusiveTag("company_folder_" . $accountType);
             $this->company->setLabel($label);
             $this->company->setAccountType($accountType);
             $this->company->setDescription($description);
             $this->company->setCountry($country);
             $this->company->setCity($city);
             $this->company->setAddress($address);
             $this->company->setZip($xip);
             $this->company->setWeb($web);
             if ($this->media) {
                 $this->company->setLogo($this->media->getId());
             }
             if ($company_folder) {
                 $this->company->save(null, $company_folder);
             } else {
                 $this->company->save();
             }
             $saved = $this->user->save(null, $this->company);
         }
         if ($this->media) {
             $this->media->save(null, $mediaAlphaFolder);
         }
         if ($saved) {
             if ($new) {
                 $this->user->setPublicationStatus(UtilsHelper::STATUS_WAITING);
                 $confirmMailPage = Document::getDocumentByExclusiveTag('website_page_confirm');
                 if ($confirmMailPage) {
                     $data = array();
                     $data["user"] = $this->user;
                     $data["password"] = $password;
                     $data["comfirmUrl"] = $confirmMailPage->getHref();
                     $data["code"] = $code;
                     $this->getUser()->setAttribute('registrationData', $data);
                     $body = $this->getPresentationFor("user", "registrationMail");
                     try {
                         UtilsHelper::sendEmail($email, $body, "Thank you for registering with Us");
                         UtilsHelper::setFlashMsg("Please check your email to confirm your registration", UtilsHelper::MSG_SUCCESS);
                         $this->noform = true;
                     } catch (Exception $e) {
                         UtilsHelper::setFlashMsg("There was a problem while registering our account, please try again");
                         if ($this->user) {
                             $this->user->delete();
                         }
                         if ($this->company) {
                             $this->company->delete();
                         }
                         if ($this->media) {
                             $this->media->delete();
                         }
                     }
                 }
             }
         }
     }
 }
 public function testQuoting()
 {
     $this->assertEmpty(Folder::model()->findByPk("'"));
     $this->assertEmpty(Folder::model()->ancestorsOf("'")->findAll());
     $this->assertEmpty(Folder::model()->childrenOf("'")->findAll());
     $this->assertEmpty(Folder::model()->parentOf("'")->findAll());
     $this->assertEmpty(Folder::model()->deleteNode("'"));
     $this->assertEmpty(Folder::model()->descendantsOf("'")->findAll());
     $this->assertEmpty(Folder::model()->fullPathOf("'")->findAll());
     $this->assertEmpty(Folder::model()->pathOf("'")->findAll());
     $this->assertEmpty(Folder::model()->unorderedPathOf("'")->findAll());
     /** @var Folder $folder5 */
     $folder5 = Folder::model()->findByPk(5);
     try {
         $folder5->moveTo("'");
         $this->fail();
     } catch (CDbException $e) {
         $this->assertEquals(201, $e->getCode());
     }
     $newFolder = new Folder();
     $newFolder->name = 'Folder';
     $this->assertTrue($newFolder->save());
     $this->assertEquals(1, $newFolder->appendTo("'"));
     try {
         Folder::model()->markAsRoot("'");
         $this->fail();
     } catch (CDbException $e) {
         // http://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html
         $this->assertEquals('1452', $e->errorInfo[1]);
     }
 }
Exemple #9
0
 private function saveFolder(\Request $request)
 {
     $folder_id = $request->getVar('folder_id');
     if ($folder_id) {
         $folder = new Folder($folder_id);
     } else {
         $folder = new Folder();
         $folder->setFtype($request->getVar('ftype'));
     }
     $folder->setTitle($request->getVar('title'));
     if (empty($folder->title)) {
         $this->sendErrorHeader('<div class="alert alert-danger"><i class="fa fa-times fa-lg"></i> May not use an empty folder name.</div>');
         return;
     }
     $db = \Database::newDB();
     $db->addTable('folders')->addFieldConditional('title', $folder->title);
     $result = $db->selectOneRow();
     // if a duplicate row is found (with a different id) then force an error
     if (!empty($result) && $result['id'] != $folder_id) {
         $this->sendErrorHeader('<div class="alert alert-danger"><i class="fa fa-times fa-lg"></i> A folder with this name already exists</div>');
     } else {
         $folder->save();
         echo $folder->id;
     }
 }
Exemple #10
0
function InitData($project_name)
{
    $listPageType = 'list_types';
    $c = new Criteria();
    $c->add(ListsPeer::LIST_ID, $listPageType);
    $listExist = ListsPeer::doSelectOne($c);
    if (!$listExist) {
        echo "Creating list 'list_type'...\n";
        $newList = new Lists();
        $newList->setLabel('List Types');
        $newList->setListid($listPageType);
        $newList->setListtype('system');
        $newList->save();
        $newItem = new Listitem();
        $newItem->setLabel('System list');
        $newItem->setValue('system');
        $newItem->save(null, $newList);
        $newItem = new Listitem();
        $newItem->setLabel('Static list');
        $newItem->setValue('static');
        $newItem->save(null, $newList);
        $newItem = new Listitem();
        $newItem->setLabel('Editable list');
        $newItem->setValue('editable');
        $newItem->save(null, $newList);
    }
    $listPageType = 'page_types';
    $c = new Criteria();
    $c->add(ListsPeer::LIST_ID, $listPageType);
    $listExist = ListsPeer::doSelectOne($c);
    if (!$listExist) {
        echo "Creating list 'page_types'...\n";
        $newList = new Lists();
        $newList->setLabel('Page Types');
        $newList->setListid($listPageType);
        $newList->setListtype('system');
        $newList->save();
        $newItem = new Listitem();
        $newItem->setLabel('Content page');
        $newItem->setValue('CONTENT');
        $newItem->save(null, $newList);
        $newItem = new Listitem();
        $newItem->setLabel('Page reference');
        $newItem->setValue('REFERENCE');
        $newItem->save(null, $newList);
        $newItem = new Listitem();
        $newItem->setLabel('External page');
        $newItem->setValue('EXTERNAL');
        $newItem->save(null, $newList);
    }
    $cultureType = 'culture';
    $c = new Criteria();
    $c->add(ListsPeer::LIST_ID, $cultureType);
    $listExist = ListsPeer::doSelectOne($c);
    if (!$listExist) {
        echo "Creating list 'culture'...\n";
        $newList = new Lists();
        $newList->setLabel('Culture');
        $newList->setListid($cultureType);
        $newList->setListtype('system');
        $newList->save();
        $newItem = new Listitem();
        $newItem->setLabel('english');
        $newItem->setValue('en');
        $newItem->save(null, $newList);
        /*		$newItem = new Listitem();
        		$newItem->setLabel('български');
        		$newItem->setValue('bg');
        		$newItem->save(null, $newList);*/
    }
    $userType = 'usertype';
    $c = new Criteria();
    $c->add(ListsPeer::LIST_ID, $userType);
    $listExist = ListsPeer::doSelectOne($c);
    if (!$listExist) {
        echo "Creating list 'user types'...\n";
        $newList = new Lists();
        $newList->setLabel('User Types');
        $newList->setListid($userType);
        $newList->setListtype('system');
        $newList->save();
        $newItem = new Listitem();
        $newItem->setLabel('Administrator (all rights)');
        $newItem->setValue('admin');
        $newItem->save(null, $newList);
        $newItem = new Listitem();
        $newItem->setLabel('Editor (no access to administration modules)');
        $newItem->setValue('editor');
        $newItem->save(null, $newList);
        $newItem = new Listitem();
        $newItem->setLabel('Editor (edit and save existing items)');
        $newItem->setValue('restricted_editor');
        $newItem->save(null, $newList);
    }
    $Mailinglist_Folder = Document::getDocumentByExclusiveTag('newsletter_folder_mailinglist');
    if (!$Mailinglist_Folder) {
        $Newsletter_Root = Rootfolder::getRootfolderByModule('Newsletter');
        $Mailinglist_Folder = new Folder();
        $Mailinglist_Folder->setLabel('Mailing lists');
        $Mailinglist_Folder->save(null, $Newsletter_Root);
        Document::addTag($Mailinglist_Folder, 'newsletter_folder_mailinglist');
    }
    $def_site = Document::getDocumentByExclusiveTag('website_website_default');
    if (!$def_site) {
        $website_root = Rootfolder::getRootfolderByModule('Website');
        $def_site = new Website();
        $def_site->setLabel(UtilsHelper::mb_ucfirst($project_name));
        $def_site->save(null, $website_root);
        Document::addTag($def_site, 'website_website_default');
    }
    $homePage = Document::getDocumentByExclusiveTag('website_page_home');
    if (!$homePage) {
        $homePage = new Page();
        $homePage->setLabel('Home');
        $homePage->setPageType('CONTENT');
        $homePage->setNavigationTitle('Home');
        $homePage->setTemplate('default');
        $homePage->save(null, $def_site);
        Document::addTag($homePage, 'website_page_home');
    }
}
 public function addFolder()
 {
     $parent = $this->getRequestParam('parent_id', NULL);
     $name = $this->getRequestParam('name', '');
     $response = new AjaxResponse();
     if ($parent >= 0 && !empty($name)) {
         try {
             $folder = new Folder();
             $folder->name = $name;
             $folder->parent = Folder::find('_id', $parent);
             $folder->save();
             $response->success = true;
             $response->message = System::getLanguage()->_('SuccessAddFolder');
             $response->data = $folder->toJSON();
         } catch (InvalidFolderNameException $e) {
             $response->success = false;
             $response->message = System::getLanguage()->_('ErrorInvalidFolderName');
         } catch (FolderAlreadyExistsException $e) {
             $response->success = false;
             $response->message = System::getLanguage()->_('ErrorFolderAlreadyExists');
         } catch (Exception $e) {
             $response->success = false;
             $response->message = System::getLanguage()->_('ErrorInvalidParameter');
         }
     } else {
         if (empty($name)) {
             $response->success = false;
             $response->message = System::getLanguage()->_('ErrorEmptyFolderName');
         } else {
             $response->success = false;
             $response->message = System::getLanguage()->_('ErrorInvalidParameter');
         }
     }
     $response->send();
 }