/**
  * Return owner project. If project_id field does not exists NULL is returned
  *
  * @param void
  * @return Project
  */
 function getProject()
 {
     if ($this->isNew() && function_exists('active_project')) {
         if (active_project()) {
             return active_project();
         } else {
             return personal_project();
         }
     }
     // if
     if (is_null($this->project)) {
         if ($this->columnExists('project_id')) {
             $this->project = Projects::findById($this->getProjectId());
         } else {
             //Logger::log("WARNING: Calling getProject() on an object with multiple workspaces.");
             $wo = WorkspaceObjects::findOne(array('conditions' => "`object_manager` = '" . get_class($this->manager()) . "' AND `object_id` = " . $this->getId()));
             if ($wo instanceof WorkspaceObject) {
                 $this->project = $wo->getWorkspace();
             }
         }
     }
     // if
     return $this->project;
 }
 function fckimagesupload()
 {
     try {
         if (isset($_FILES['NewFile']) && !is_null($_FILES['NewFile']['tmp_name'])) {
             $oFile = $_FILES['NewFile'];
         } else {
             $sErrorNumber = '202';
             echo $this->SendUploadResults($sErrorNumber);
             return;
         }
         $sErrorNumber = '0';
         $sFileName = $oFile['name'];
         $file = new ProjectFile();
         $file->setFilename($sFileName);
         $file->setIsVisible(true);
         $file->setIsPrivate(false);
         $file->setIsImportant(false);
         $file->setCommentsEnabled(true);
         $file->setAnonymousCommentsEnabled(false);
         $file->setCreatedOn(new DateTimeValue(time()));
         DB::beginWork();
         $file->save();
         $workspaces = array(personal_project());
         if (is_array($workspaces)) {
             foreach ($workspaces as $ws) {
                 $file->addToWorkspace($ws);
             }
         }
         $revision = $file->handleUploadedFile($oFile, true, '');
         ApplicationLogs::createLog($file, $workspaces, ApplicationLogs::ACTION_ADD);
         DB::commit();
         echo $this->SendUploadResults($sErrorNumber, $file->getDownloadUrl(), $file->getFilename());
     } catch (Exception $e) {
         DB::rollback();
         $sErrorNumber = '202';
         echo $this->SendUploadResults($sErrorNumber);
     }
 }
Пример #3
0
/**
 * Return active project if we are on company website
 *
 * @access public
 * @param void
 * @return Project
 */
function active_or_personal_project()
{
    $act = active_project();
    return $act ? $act : personal_project();
}