Beispiel #1
0
    /**
     * Helper main function
     * @param $actionsHtml String HTML code showing the action buttons
     * @param $content String The content of this element
     * @param $dbId Int DB id of the object
     * @param $order Int order of this item in the DB
     * @param $params Array parameters (if any)
     * @return String HTML to be inserted in the view
     */
    public function ContentFile($actionsHtml = '', $content = '', $dbId = 0, $order = 0, $params = array('level' => 1), $moduleName = 'adminpages', $pagstructureId = 0, $sharedInIds = '')
    {
        $eventsInfo = SafactivitylogOp::getAuthorNLastEditorForContent($dbId, $moduleName);
        $module = 'publicms';
        $params2 = array('mode' => 'filids', 'layout' => 'none', 'viewl' => 'list', 'noviewswitch' => 'Y', 'ids' => $content);
        $this->view->flist = array();
        $sql = '';
        $fltr = new Zend_Filter_Digits();
        if ($params2['mode'] == 'filids' && isset($params2['ids'])) {
            $ids = array();
            foreach (explode(',', $params2['ids']) as $id) {
                $ids[] = $fltr->filter($id);
            }
        }
        if (is_array($params) && isset($params['type']) && $params['type'] == "categories") {
            // Load the files id based on their category
            $linkedFiles = new FilfoldersFilfiles();
            $ids = array();
            foreach (preg_split('/,/', $content) as $category) {
                $ids[] = $linkedFiles->getFilfilesLinkedTo($category);
            }
        }
        $this->view->viewl = 'list';
        $this->view->noviewswitch = 'Y';
        $oFile = new Filfiles();
        $params2['flist'] = $oFile->getFileInfosByIdList($ids);
        $toret = '<li
                    class="' . $params['addClass'] . ' sydney_editor_li"
                    dbparams="' . $content . '"
                    type=""
                    editclass="files"
                    dbid="' . $dbId . '"
                    dborder="' . $order . '"
                    data-content-type="file-block"
                    pagstructureid="' . $pagstructureId . '"
                    sharedinids="' . $sharedInIds . '">
		' . $actionsHtml . '
			<div class="content">
				' . $this->view->partial('file/filelist.phtml', $module, $params2) . '
			</div>
			<p class="lastUpdatedContent sydney_editor_p">' . $eventsInfo['firstEvent'] . '<br />' . $eventsInfo['lastEvent'] . '</p>
		</li>';
        return $toret;
    }
Beispiel #2
0
 /**
  *
  * @todo TODO check the security here
  * @return void
  */
 public function viewfolercontentAction()
 {
     $this->view->ajaxurl .= 'viewfolercontent/';
     $ftype = false;
     $folderIds = false;
     $filesIds = array();
     $this->view->vmode = 'list';
     $r = $this->getRequest();
     if (isset($r->vmode)) {
         $this->view->vmode = $r->vmode;
     }
     if (isset($r->paperexecpt)) {
         $this->view->paperexecpt = $r->paperexecpt;
     }
     if (isset($r->ajsrt)) {
         $this->view->ajsrt = $r->ajsrt;
     }
     if (isset($r->fids)) {
         $folderIds = preg_split('/,/', $r->fids);
         foreach ($folderIds as $fid) {
             if (preg_match('/^[0-9]{1,90}$/', $fid)) {
                 $corDB = new FilfoldersFilfiles();
                 $tempArray = array_merge($filesIds, $corDB->getFilfilesLinkedTo($fid));
                 $filesIds = $tempArray;
             }
         }
         $filsDB = new Filfiles();
         if (sizeof($filesIds) > 0) {
             $files = $filsDB->fetchAll("id IN (" . implode(',', $filesIds) . ") ", null, "datecreated DESC");
         } else {
             $files = array();
         }
         if (isset($r->format) && $r->format == 'json') {
             $this->view->files = $files->toArray();
         } else {
             $this->view->files = $files;
         }
     }
 }
Beispiel #3
0
 /**
  *
  * @return void
  */
 public function filelistAction()
 {
     $this->view->ajaxurl = '/publicms/file/filelist/';
     $request = $this->getRequest();
     $way = 'DESC';
     $srchstr = '';
     $dorder = 'datecreated';
     if (isset($request->srchstr) && $request->srchstr != '') {
         $srchstr = trim($request->srchstr);
     }
     $this->view->srchstr = $srchstr;
     $this->view->showOverlay = $request->getParam('overlay', true);
     $this->view->ajsrt = 'label';
     if (isset($request->ajsrt)) {
         // $this->view->ajsrt = $r->ajsrt;
         // $this->view->ajaxurl .= 'ajsrt/'.$this->view->ajsrt.'/';
         if ($request->ajsrt == 'date') {
             $dorder = 'filfiles.datecreated';
         }
         if ($request->ajsrt == 'label') {
             $dorder = 'filfiles.label';
         }
         if ($request->ajsrt == 'size') {
             $dorder = 'filfiles.fweight';
         }
         if ($request->ajsrt == 'user') {
             $dorder = 'u.fname,u.lname';
         }
         $this->view->ajsrt = $request->ajsrt;
     }
     if (isset($request->way)) {
         if ($request->way == 'DESC') {
             $way = '';
         }
     }
     $this->view->ajaxurl .= 'way/' . $way . '/';
     $this->view->flist = array();
     $sql = '';
     $fltr = new Zend_Filter_Digits();
     if (isset($request->id)) {
         $this->view->ajaxurl .= 'id/' . $request->id . '/';
         $folderid = $fltr->filter($request->id);
         $sql = "SELECT\n\t\t\t\t\t\tfilfiles.id,\n\t\t\t\t\t\tfilfiles.label,\n\t\t\t\t\t\tfilfiles.desc,\n\t\t\t\t\t\tfilfiles.keywords,\n\t\t\t\t\t\tfilfiles.datecreated,\n\t\t\t\t\t\tfilfiles.filename,\n\t\t\t\t\t\tfilfiles.path,\n\t\t\t\t\t\tfilfiles.type,\n\t\t\t\t\t\tu.fname,\n\t\t\t\t\t\tu.lname,\n\t\t\t\t\t\tfilfiles.fweight\n\t\t\t\t\tFROM\n\t\t\t\t\t\tfilfiles,\n\t\t\t\t\t\tfilfolders,\n\t\t\t\t\t\tfilfolders_filfiles,\n\t\t\t\t\t\tusers as u\n\t\t\t\t\tWHERE ";
         if ($srchstr != '') {
             $sql .= ' filfiles.label LIKE ' . $this->_db->quote('%' . $srchstr . '%') . ' AND ';
         }
         $sql .= "\n\t\t\t\t\t\tfilfiles.users_id = u.id AND\n\t\t\t\t\t\tfilfolders_filfiles.filfiles_id = filfiles.id AND\n\t\t\t\t\t\tfilfolders_filfiles.filfolders_id = filfolders.id AND\n\t\t\t\t\t\tfilfolders.id = '" . $folderid . "' AND\n\t\t\t\t\t\tfilfiles.safinstances_id = '" . $this->safinstancesId . "'\n\t\t\t\t\tGROUP BY filfiles.id\n\t\t\t\t\tORDER BY\n\t\t\t\t\t\t" . $dorder . " {$way}\n\t\t\t\t\t";
     } elseif ($request->mode == 'filids' && isset($request->ids)) {
         $params = $request->params;
         if (is_string($params) && !empty($params)) {
             $params = unserialize(urldecode($params));
         }
         $ids = array();
         $this->view->ajaxurl .= 'mode/' . $request->mode . '/ids/' . $request->ids . '/params/' . urlencode(serialize($params)) . '/';
         if (isset($params) && key_exists('type', $params) && $params['type'] == "categories") {
             // Load the files id based on their category
             $linkedFiles = new FilfoldersFilfiles();
             foreach (preg_split('/,/', $request->ids) as $category) {
                 $ids[] = $linkedFiles->getFilfilesLinkedTo($category);
             }
         } else {
             foreach (explode(',', $request->ids) as $id) {
                 $ids[] = $fltr->filter($id);
             }
         }
         $oFile = new Filfiles();
         $this->view->flist = $oFile->getFileInfosByIdList($ids, explode(',', $dorder . ($way ? ' ' . $way : '')));
     }
     if (isset($request->viewl)) {
         $this->view->viewl = $r->viewl;
         $this->view->ajaxurl .= 'viewl/' . $r->viewl . '/';
     }
     if (isset($request->noviewswitch)) {
         $this->view->noviewswitch = $request->noviewswitch;
         $this->view->ajaxurl .= 'noviewswitch/' . $request->noviewswitch . '/';
     }
     if ($sql != '') {
         $this->view->flist = $this->_db->fetchAll($sql);
     }
     /**
      * Params for lightboxview
      * AS : 20 Aug. 2013
      */
     // If vtype is 'lightbox' we display the lightbox view
     if (isset($request->vtype) && $request->vtype == 'lightbox') {
         $allParams = $request->getParams();
         if (!$allParams['nbrCols']) {
             $allParams['nbrCols'] = 6;
         }
         if (!isset($allParams['thumbWidth'])) {
             $allParams['thumbWidth'] = 200;
         }
         if (!isset($allParams['fullimgWidth'])) {
             $allParams['fullimgWidth'] = 600;
         }
         if (!isset($allParams['uselightbox'])) {
             $allParams['uselightbox'] = true;
         }
         if (!isset($allParams['lfrom'])) {
             $allParams['lfrom'] = 0;
         }
         if (!isset($allParams['loffset'])) {
             $allParams['loffset'] = $allParams['nbrCols'] * 3;
         }
         if (!isset($allParams['searchtool'])) {
             $allParams['searchtool'] = true;
         }
         if (!isset($allParams['downloadable'])) {
             $allParams['downloadable'] = true;
         }
         if (isset($allParams['addClass'])) {
             unset($allParams['addClass']);
         }
         $this->view->allParams = $allParams;
         $this->render('lightbox');
     }
 }