Ejemplo n.º 1
0
 public static function add($name, $searchRequest, $searchColumnsObject)
 {
     $fs = parent::createAndGetSet($name, FileSet::TYPE_SAVED_SEARCH);
     $db = Loader::db();
     $v = array($fs->getFileSetID(), serialize($searchRequest), serialize($searchColumnsObject));
     $db->Execute('INSERT INTO FileSetSavedSearches (fsID, fsSearchRequest, fsResultColumns) VALUES (?, ?, ?)', $v);
     return $fs;
 }
Ejemplo n.º 2
0
 public function submit()
 {
     if ($this->validateAction()) {
         $post = $this->request->request->all();
         foreach ($post as $key => $value) {
             if (preg_match('/fsID:/', $key)) {
                 $id = explode(':', $key);
                 $fsID = $id[1];
                 $fs = Set::getByID($fsID);
                 $fsp = new \Permissions($fs);
                 foreach ($this->files as $file) {
                     if ($fsp->canAddFile($file)) {
                         switch ($value) {
                             case '0':
                                 $fs->removeFileFromSet($file);
                                 break;
                             case '1':
                                 // do nothing
                                 break;
                             case '2':
                                 $fs->addFileToSet($file);
                                 break;
                         }
                     }
                 }
             }
         }
         $fsNew = $this->request->request->get('fsNew');
         $fsNewShare = $this->request->request->get('fsNewShare');
         if (is_array($fsNew)) {
             foreach ($fsNew as $i => $name) {
                 if ($name) {
                     foreach ($this->files as $file) {
                         $type = $fsNewShare[$i] == 1 ? Set::TYPE_PUBLIC : Set::TYPE_PRIVATE;
                         $fs = Set::createAndGetSet($fsNew[$i], $type);
                         $fs->addFileToSet($file);
                     }
                 }
             }
         }
         $sets = array();
         foreach ($this->files as $file) {
             foreach ($file->getFileSets() as $set) {
                 $o = $set->getJSONObject();
                 if (!in_array($o, $sets)) {
                     $sets[] = $o;
                 }
             }
         }
         $response = new EditResponse();
         $response->setFiles($this->files);
         $response->setAdditionalDataAttribute('sets', $sets);
         $response->setMessage(t('File sets updated successfully.'));
         $response->outputJSON();
     }
 }
Ejemplo n.º 3
0
 public function submit()
 {
     $requestSets = array();
     if (is_array($this->request->request->get('fsID'))) {
         $requestSets = $this->request->request->get('fsID');
     }
     if ($this->validateAction()) {
         $sets = Set::getMySets();
         foreach ($sets as $set) {
             $fsp = new \Permissions($set);
             if (in_array($set->getFileSetID(), $requestSets) && $fsp->canAddFile($this->file) && !$this->file->inFileSet($set)) {
                 // This was checked and it wasn't in the file set previously
                 $set->addFileToSet($this->file);
             }
             if ($this->file->inFileSet($set) && !in_array($set->getFileSetID(), $requestSets) && $fsp->canAddFile($this->file)) {
                 // This was not checked but it used to be in the set.
                 $set->removeFileFromSet($this->file);
             }
         }
     }
     $fsNew = $this->request->request->get('fsNew');
     $fsNewShare = $this->request->request->get('fsNewShare');
     if (is_array($fsNew)) {
         foreach ($fsNew as $i => $name) {
             if ($name) {
                 $type = $fsNewShare[$i] == 1 ? Set::TYPE_PUBLIC : Set::TYPE_PRIVATE;
                 $fs = Set::createAndGetSet($fsNew[$i], $type);
                 $fs->addFileToSet($this->file);
             }
         }
     }
     $response = new EditResponse();
     $response->setFile($this->file);
     $response->setMessage(t('File sets updated successfully.'));
     $response->outputJSON();
 }
Ejemplo n.º 4
0
 public function attachFile(File $f)
 {
     $db = Loader::db();
     if (!is_object($f)) {
         return false;
     } else {
         $db->Execute('INSERT INTO ConversationMessageAttachments (cnvMessageID, fID) VALUES (?, ?)', array($this->getConversationMessageID(), $f->getFileID()));
         $fs = FileSet::createAndGetSet(Config::get('conversations.attachments_file_set'), FileSet::TYPE_PUBLIC, USER_SUPER_ID);
         $fsToRemove = FileSet::createAndGetSet(Config::get('conversations.attachments_pending_file_set'), FileSet::TYPE_PUBLIC, USER_SUPER_ID);
         $fs->addFileToSet($f);
         $fsToRemove->removeFileFromSet($f);
     }
     // associate with non-pending file set.
 }
Ejemplo n.º 5
0
 public function upload_files()
 {
     $files = array();
     if ($this->token->validate('upload_files')) {
         $r = $this->entityManager->getRepository('\\PortlandLabs\\Concrete5\\MigrationTool\\Entity\\Import\\Batch');
         $batch = $r->findOneById($this->request->request('id'));
         if (is_object($batch)) {
             $cf = \Core::make('helper/file');
             $fp = \FilePermissions::getGlobal();
             if (isset($_FILES['file']) && is_uploaded_file($_FILES['file']['tmp_name'])) {
                 if (!$fp->canAddFileType($cf->getExtension($_FILES['file']['name']))) {
                     throw new \Exception(Importer::getErrorMessage(Importer::E_FILE_INVALID_EXTENSION));
                 } else {
                     $ih = new Importer();
                     $response = $ih->import($_FILES['file']['tmp_name'], $_FILES['file']['name']);
                     if (!$response instanceof \Concrete\Core\File\Version) {
                         throw new \Exception(Importer::getErrorMessage($response));
                     } else {
                         $file = $response->getFile();
                         $fs = Set::getByName($batch->getID());
                         if (!is_object($fs)) {
                             $fs = Set::createAndGetSet($batch->getID(), Set::TYPE_PRIVATE);
                         }
                         $fs->addFileToSet($file);
                         $files[] = $file;
                     }
                 }
             }
         }
     }
     $this->flash('success', t('File(s) uploaded successfully'));
     $r = new \Concrete\Core\File\EditResponse();
     $r->setFiles($files);
     $r->outputJSON();
 }