예제 #1
0
파일: file.php 프로젝트: JeRoNZ/concrete5-1
 public function star() {
     $fs = FileSet::createAndGetSet('Starred Files', FileSet::TYPE_STARRED);
     $files = $this->getRequestFiles();
     $r = new FileEditResponse();
     $r->setFiles($files);
     foreach($files as $f) {
         if ($f->inFileSet($fs)) {
             $fs->removeFileFromSet($f);
             $r->setAdditionalDataAttribute('star', false);
         } else {
             $fs->addFileToSet($f);
             $r->setAdditionalDataAttribute('star', true);
         }
     }
     $r->outputJSON();
 }
예제 #2
0
 public function update_thumbnail()
 {
     if ($this->validateAction()) {
         $fp = new Permissions($this->file);
         if ($fp->canEditFileProperties()) {
             $fv = $this->file->getVersionToModify();
             $sr = new FileEditResponse();
             $sr->setFile($this->file);
             $sr->setMessage(t('File updated successfully.'));
             $sr->setAdditionalDataAttribute('value', $value);
             $sr->outputJSON();
         } else {
             throw new Exception(t('Access Denied.'));
         }
     } else {
         throw new Exception(t('Access Denied.'));
     }
 }
예제 #3
0
 public function clearAttribute()
 {
     $fr = new FileEditResponse();
     $ak = FileAttributeKey::get($_REQUEST['akID']);
     if ($this->validateAction()) {
         $this->populateFiles();
         if ($this->canEdit) {
             foreach ($this->files as $f) {
                 $f->clearAttribute($ak);
                 $f->reindex();
             }
             $fr->setFiles($this->files);
             $fr->setAdditionalDataAttribute('value', false);
             $fr->setMessage(t('Attributes cleared successfully.'));
         }
     }
     $fr->outputJSON();
 }
예제 #4
0
파일: sets.php 프로젝트: ngreimel/kovent
 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();
     }
 }
예제 #5
0
 public function save()
 {
     if ($this->validateAction()) {
         $fp = new Permissions($this->file);
         if ($fp->canEditFileProperties()) {
             $fv = $this->file->getVersionToModify();
             $value = $this->request->request->get('value');
             switch ($this->request->request->get('name')) {
                 case 'fvTitle':
                     $fv->updateTitle($value);
                     break;
                 case 'fvDescription':
                     $fv->updateDescription($value);
                     break;
                 case 'fvTags':
                     $fv->updateTags($value);
                     break;
             }
             $sr = new FileEditResponse();
             $sr->setFile($this->file);
             $sr->setMessage(t('File updated successfully.'));
             $sr->setAdditionalDataAttribute('value', $value);
             $sr->outputJSON();
         } else {
             throw new Exception(t('Access Denied.'));
         }
     } else {
         throw new Exception(t('Access Denied.'));
     }
 }