⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 projectfile.class.php

📁 ProjectPier 源码 很好的项目管理程序
💻 PHP
📖 第 1 页 / 共 2 页
字号:
    /**    * Return file details URL    *    * @param void    * @return string    */    function getDetailsUrl() {      return get_url('files', 'file_details', array(        'id' => $this->getId(),         'active_project' => $this->getProjectId())      ); // get_url    } // getDetailsUrl        /**    * Return revisions URL    *    * @param void    * @return string    */    function getRevisionsUrl() {      return $this->getDetailsUrl() . '#revisions';    } // getRevisionsUrl        /**    * Return comments URL    *    * @param void    * @return string    */    function getCommentsUrl() {      return $this->getDetailsUrl() . '#objectComments';    } // getCommentsUrl        /**    * Return file download URL    *    * @param void    * @return string    */    function getDownloadUrl() {      return get_url('files', 'download_file', array(        'id' => $this->getId(),         'active_project' => $this->getProjectId())      ); // get_url    } // getDownloadUrl        /**    * Return edit file URL    *    * @param void    * @return string    */    function getEditUrl() {      return get_url('files', 'edit_file', array(        'id' => $this->getId(),         'active_project' => $this->getProjectId())      ); // get_url    } // getEditUrl        /**    * Return delete file URL    *    * @param void    * @return string    */    function getDeleteUrl() {      return get_url('files', 'delete_file', array(        'id' => $this->getId(),         'active_project' => $this->getProjectId())      ); // get_url    } // getDeleteUrl        // ---------------------------------------------------    //  Permissions    // ---------------------------------------------------        /**    * Check CAN_MANAGE_FILES permission    *    * @access public    * @param User $user    * @return boolean    */    function canManage(User $user) {      if (!$user->isProjectUser($this->getProject())) {        return false;      } // if      return $user->getProjectPermission($this->getProject(), ProjectUsers::CAN_MANAGE_FILES);    } // canManage        /**    * Returns value of CAN_UPLOAD_FILES permission    *    * @param User $user    * @param Project $project    * @return boolean    */    function canUpload(User $user, Project $project) {      if (!$user->isProjectUser($project)) {        return false;      } // if      return $user->getProjectPermission($project, ProjectUsers::CAN_UPLOAD_FILES);    } // canUpload        /**    * Empty implementation of abstract method. Message determins if user have view access    *    * @param void    * @return boolean    */    function canView(User $user) {      if ($this->isPrivate() && !$user->isMemberOfOwnerCompany()) {        return false;      } // if      return true;    } // canView        /**    * Returns true if user can download this file    *    * @param User $user    * @return boolean    */    function canDownload(User $user) {      return $this->canView($user);    } // canDownload        /**    * Empty implementation of abstract methods. Messages determine does user have    * permissions to add comment    *    * @param void    * @return null    */    function canAdd(User $user, Project $project) {      return $user->isAdministrator() || ProjectFile::canUpload($user, $project);    } // canAdd        /**    * Check if specific user can edit this file    *    * @access public    * @param User $user    * @return boolean    */    function canEdit(User $user) {      if (!$user->isProjectUser($this->getProject())) {        return false;      } // if            if (!$this->canManage(logged_user())) {        return false; // user don't have access to this project or can't manage files      } // if      if ($user->isAdministrator()) {        return true; // give access to admin      } // if      if ($this->isPrivate() && !$user->isMemberOfOwnerCompany()) {        return false; // reserved only for members of owner company      } // if            return true;    } // canEdit        /**    * Returns true if $user can update file options    *    * @param User $user    * @return boolean    */    function canUpdateOptions(User $user) {      return $this->canEdit($user) && $user->isMemberOfOwnerCompany();    } // canUpdateOptions        /**    * Check if specific user can delete this comment    *    * @access public    * @param User $user    * @return boolean    */    function canDelete(User $user) {      if (!$user->isProjectUser($this->getProject())) {        return false;      } // if      if ($user->isAdministrator()) {        return true;      } // if      return false;    } // canDelete        // ---------------------------------------------------    //  System    // ---------------------------------------------------        /**    * Validate before save    *    * @param array $error    * @return null    */    function validate(&$errors) {      if (!$this->validatePresenceOf('filename')) {        $errors[] = lang('filename required');      } // if    } // validate        /**    * Delete this file and all of its revisions    *    * @param void    * @return boolean    */    function delete() {      $this->clearRevisions();      $this->clearObjectRelations();      return parent::delete();    } // delete        /**    * Remove all revisions associate with this file    *    * @param void    * @return null    */    function clearRevisions() {      $revisions = $this->getRevisions();      if (is_array($revisions)) {        foreach ($revisions as $revision) {          $revision->delete();        } // foreach      } // if    } // clearRevisions        /**    * Remove all object relations from the database    *    * @param void    * @return boolean    */    function clearObjectRelations() {      return AttachedFiles::clearRelationsByFile($this);    } // clearObjectRelations        /**    * This function will return content of specific searchable column.     *     * It uses inherited behaviour for all columns except for `filecontent`. In case of this column function will return     * file content if file type is marked as searchable (text documents, office documents etc).    *    * @param string $column_name    * @return string    */    function getSearchableColumnContent($column_name) {      if ($column_name == 'filecontent') {        $file_type = $this->getFileType();                // Unknown type or type not searchable        if (!($file_type instanceof FileType) || !$file_type->getIsSearchable()) {          return null;        } // if                $content = $this->getFileContent();        if (strlen($content) < MAX_SEARCHABLE_FILE_SIZE) {          return $content;        } // if      } else {        return parent::getSearchableColumnContent($column_name);      } // if    } // getSearchableColumnContent        // ---------------------------------------------------    //  ApplicationDataObject implementation    // ---------------------------------------------------        /**    * Return object name    *    * @access public    * @param void    * @return string    */    function getObjectName() {      return $this->getFilename();    } // getObjectName        /**    * Return object type name    *    * @param void    * @return string    */    function getObjectTypeName() {      return lang('file');    } // getObjectTypeName        /**    * Return object URl    *    * @access public    * @param void    * @return string    */    function getObjectUrl() {      return $this->getDetailsurl();    } // getObjectUrl      } // ProjectFile ?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -