Example #1
0
 /**
  * @see EventListenerInterface::listen_events()
  * @param object $event_object
  * @return bool
  */
 public static function listen_events($event_object)
 {
     if ($event_object instanceof UserDeletePrecheckEvent) {
         $project_array = self::list_user_related_projects($event_object->get_user_id(), false);
         if (is_array($project_array)) {
             if (count($project_array) >= 1) {
                 return false;
             }
         }
     }
     if ($event_object instanceof OrganisationUnitDeletePrecheckEvent) {
         $project_array = self::list_organisation_unit_related_projects($event_object->get_organisation_unit_id(), true);
         if (is_array($project_array)) {
             if (count($project_array) >= 1) {
                 return false;
             }
         }
     }
     if ($event_object instanceof FileUploadPrecheckEvent) {
         $folder_id = $event_object->get_folder_id();
         if (($project_id = ProjectFolder::get_project_id_by_folder_id($folder_id)) != null) {
             $project = new Project($project_id);
             $project_quota = $project->get_quota();
             $project_filesize = $project->get_filesize();
             $new_project_filesize = $project_filesize + $event_object->get_filesize();
             if ($project_quota <= $new_project_filesize and $project_quota != 0) {
                 return false;
             }
         }
     }
     if ($event_object instanceof FileUploadEvent) {
         $folder_id = $event_object->get_folder_id();
         if (($project_id = ProjectFolder::get_project_id_by_folder_id($folder_id)) != null) {
             $project = new Project($project_id);
             $new_project_filesize = $project->get_filesize() + $event_object->get_filesize();
             if ($project->set_filesize($new_project_filesize) == false) {
                 return false;
             }
         }
     }
     if ($event_object instanceof FileDeleteEvent) {
         $folder_id = $event_object->get_folder_id();
         if (($project_id = ProjectFolder::get_project_id_by_folder_id($folder_id)) != null) {
             $project = new Project($project_id);
             $new_project_filesize = $project->get_filesize() - $event_object->get_filesize();
             if ($project->set_filesize($new_project_filesize) == false) {
                 return false;
             }
         }
     }
     if ($event_object instanceof FileVersionDeleteEvent) {
         $folder_id = $event_object->get_folder_id();
         if (($project_id = ProjectFolder::get_project_id_by_folder_id($folder_id)) != null) {
             $project = new Project($project_id);
             $new_project_filesize = $project->get_filesize() - $event_object->get_filesize();
             if ($project->set_filesize($new_project_filesize) == false) {
                 return false;
             }
         }
     }
     return true;
 }
Example #2
0
 /**
  * @throws ProjectIDMissingException
  * @throws ProjectSecuriyAccessDeniedException
  */
 public static function detail()
 {
     global $project_security;
     if ($_GET['project_id']) {
         if ($project_security->is_access(1, false) == true) {
             $project = new Project($_GET['project_id']);
             $project_owner = new User($project->get_owner_id());
             $template = new HTMLTemplate("project/detail.html");
             $template->set_var("get_array", serialize($_GET));
             $template->set_var("title", $project->get_name());
             $template->set_var("owner", $project_owner->get_full_name(false));
             $create_datetime = new DatetimeHandler($project->get_datetime());
             $template->set_var("created_at", $create_datetime->get_datetime());
             $template->set_var("template", $project->get_template_name());
             $template->set_var("permissions", "");
             $template->set_var("size", Convert::convert_byte_1024($project->get_filesize()));
             $template->set_var("quota", Convert::convert_byte_1024($project->get_quota()));
             $owner_paramquery = array();
             $owner_paramquery['username'] = $_GET['username'];
             $owner_paramquery['session_id'] = $_GET['session_id'];
             $owner_paramquery['nav'] = "project";
             $owner_paramquery['run'] = "common_dialog";
             $owner_paramquery['dialog'] = "user_detail";
             $owner_paramquery['id'] = $project->get_owner_id();
             $owner_params = http_build_query($owner_paramquery, '', '&#38;');
             $template->set_var("owner_params", $owner_params);
             $template->output();
         } else {
             throw new ProjectSecurityAccessDeniedxception();
         }
     } else {
         throw new ProjectIDMissingException();
     }
 }