/** * @param string $json_argument_array * @return integer * @throws BaseUserAccessDeniedException */ public static function count_templates($json_argument_array) { global $user; if ($user->is_admin()) { return Data_Wrapper::count_list_value_templates(); } else { throw new BaseUserAccessDeniedException(); } }
/** * @param string $json_argument_array * @return integer * @throws FileIDMissingException */ public static function count_versions($json_argument_array) { $argument_array = json_decode($json_argument_array); $file_id = $argument_array[1]; if (is_numeric($file_id)) { return Data_Wrapper::count_file_versions($file_id); } else { throw new FileIDMissingException(); } }
/** * @param string $sql * @param integer $item_id * @param object $pdf * @return object */ public static function get_data_item_report($sql, $item_id, $pdf) { global $regional; if ($sql and is_object($pdf)) { // Values $value_array = Data_Wrapper::list_item_values($sql); if (is_array($value_array) and count($value_array) >= 1) { foreach ($value_array as $key => $value) { $value_object = Value::get_instance($value['id']); $value_object_value_array = $value_object->get_value_content(false); $pdf->addPage(); $pdf->SetFont('dejavusans', 'B', 14, '', true); $pdf->Write(0, 'Value - ' . $value_object->get_name() . '', '', 0, 'C', true, 0, false, false, 0); $pdf->Write(0, '', '', 0, 'L', true, 0, false, false, 0); $pdf->SetFont('dejavusans', '', 12, '', true); if (is_array($value_object_value_array) and count($value_object_value_array) >= 1) { foreach ($value_object_value_array as $sub_key => $sub_value) { $sub_value['content'][0] = str_replace("\n", "<br />", $sub_value['content'][0]); if ($sub_value['type'] == "textarea") { $pdf->SetFont('dejavusans', 'B', 12, '', true); $pdf->MultiCell(190, 9, $sub_value['title'], 1, 'L', 1, 1, '', '', true, 0, true, true, 0, "T"); $pdf->SetFont('dejavusans', '', 12, '', true); $string_height = $pdf->getStringHeight(110, $sub_value['content'][0], true, true, '', 1); $pdf->MultiCell(190, $string_height, $sub_value['content'][0], 1, 'L', 1, 1, '', '', true, 0, true, true, 0, "T"); } else { $pdf->SetFont('dejavusans', 'B', 12, '', true); $string_height1 = $pdf->getStringHeight(80, $sub_value['title'], true, true, '', 1); $pdf->SetFont('dejavusans', '', 12, '', true); $string_height2 = $pdf->getStringHeight(110, $sub_value['content'][0], true, true, '', 1); if ($string_height1 > $string_height2) { $height = $string_height1; } else { $height = $string_height2; } $pdf->SetFont('dejavusans', 'B', 12, '', true); $pdf->MultiCell(80, $height, $sub_value['title'], 1, 'L', 1, 0, '', '', true, 0, true, true, 0, "T"); $pdf->SetFont('dejavusans', '', 12, '', true); $pdf->MultiCell(110, $height, $sub_value['content'][0], 1, 'L', 1, 1, '', '', true, 0, true, true, 0, "T"); } } } $value_object_version_array = $value_object->get_value_internal_revisions(); if (is_array($value_object_version_array) and count($value_object_version_array) >= 1) { $pdf->Write(0, '', '', 0, 'L', true, 0, false, false, 0); $header_array = array(array("name" => "name", "title" => "Name", "width" => 60), array("name" => "version", "title" => "Version", "width" => 25), array("name" => "datetime", "title" => "Date/Time", "width" => 55), array("name" => "user", "title" => "User", "width" => 50)); $report_table = new ReportTable_IO($pdf, '', '12'); $report_table->add_header($header_array); foreach ($value_object_version_array as $sub_key => $sub_value) { $value_version = clone $value_object; $value_version->open_internal_revision($sub_value); $datetime_handler = new DatetimeHandler($value_version->get_datetime()); $owner = new User($value_version->get_version_owner_id()); $line_array = array(array("name" => "name", "content" => $value_version->get_name()), array("name" => "version", "content" => $value_version->get_version()), array("name" => "datetime", "content" => $datetime_handler->get_datetime(false)), array("name" => "user", "content" => $owner->get_full_name(true))); $report_table->add_line($line_array); } } $pdf = $report_table->get_pdf(); } } // Files $file_array = Data_Wrapper::list_item_files($sql, null, null, null, null); if (is_array($file_array) and count($file_array) >= 1) { $pdf->addPage(); $pdf->SetFont('dejavusans', 'B', 14, '', true); $pdf->Write(0, 'Files', '', 0, 'C', true, 0, false, false, 0); $pdf->Write(0, '', '', 0, 'L', true, 0, false, false, 0); $pdf->SetFont('dejavusans', '', 14, '', true); $header_array = array(array("name" => "name", "title" => "Name", "width" => 62), array("name" => "version", "title" => "Version", "width" => 25), array("name" => "datetime", "title" => "Date/Time", "width" => 55), array("name" => "user", "title" => "User", "width" => 48)); $report_table = new ReportTable_IO($pdf, '', '12'); $report_table->add_header($header_array); foreach ($file_array as $key => $value) { $file = File::get_instance($value['id']); $owner = new User($value['owner_id']); $datetime_handler = new DatetimeHandler($value['datetime']); $line_array = array(array("name" => "name", "content" => $value['name']), array("name" => "version", "content" => $file->get_version()), array("name" => "datetime", "content" => $datetime_handler->get_datetime(false)), array("name" => "user", "content" => $owner->get_full_name(true))); $report_table->add_line($line_array); } $pdf = $report_table->get_pdf(); } // Parameters $parameter_array = Data_Wrapper::list_item_parameters($sql); if (is_array($parameter_array) and count($parameter_array) >= 1) { foreach ($parameter_array as $key => $value) { $parameter_object = Parameter::get_instance($value['id']); $parameter_template = new ParameterTemplate($parameter_object->get_template_id()); $parameter_template_field_array = $parameter_template->get_fields(); $parameter_template_limit_array = $parameter_template->get_limits(); $parameter_value_array = $parameter_object->get_values(); $parameter_method_array = $parameter_object->get_methods(); $parameter_status_array = $parameter_object->get_status(); $parameter_limit_array = $parameter_object->geT_limits(); $pdf->addPage(); $pdf->SetFont('dejavusans', 'B', 14, '', true); $pdf->Write(0, '' . $parameter_object->get_name() . '', '', 0, 'L', true, 0, false, false, 0); $pdf->Write(0, '', '', 0, 'L', true, 0, false, false, 0); $pdf->SetFont('dejavusans', '', 12, '', true); $header_array = array(array("name" => "parameter", "title" => "Parameter", "width" => 44), array("name" => "value", "title" => "Value", "width" => 25), array("name" => "unit", "title" => "Unit", "width" => 25), array("name" => "min", "title" => "Min", "width" => 20), array("name" => "max", "title" => "Max", "width" => 20), array("name" => "method", "title" => "Method", "width" => 30), array("name" => "status", "title" => "Status", "width" => 25)); $report_table = new ReportTable_IO($pdf, '', '12'); $report_table->add_header($header_array); if (is_array($parameter_template_field_array) and count($parameter_template_field_array) >= 1) { foreach ($parameter_template_field_array as $key => $value) { if (is_numeric($parameter_value_array[$value['pk']])) { $regionalized_value = str_replace(".", $regional->get_decimal_separator(), $parameter_value_array[$value['pk']]); } else { $regionalized_value = ""; } if (is_numeric($value['unit'])) { if ($value['unit_exponent'] < 0) { $unit_exponent = $value['unit_exponent'] * -1; $unit_prefix = MeasuringUnit::get_prefix($unit_exponent, false); } else { $unit_prefix = MeasuringUnit::get_prefix($value['unit_exponent'], true); } $measuring_unit = new MeasuringUnit($value['unit']); $unit = $unit_prefix[1] . "" . $measuring_unit->get_unit_symbol(); } elseif (is_numeric($value['unit_ratio'])) { $measuring_unit_ratio = new MeasuringUnitRatio($value['unit_ratio']); $unit = $measuring_unit_ratio->get_symbol(); } else { $unit = ""; } if ($parameter_limit_array[$value['pk']]) { if (is_numeric($parameter_limit_array[$value['pk']]['usl'])) { $usl = $parameter_limit_array[$value['pk']]['usl']; } else { $usl = ""; } if (is_numeric($parameter_limit_array[$value['pk']]['lsl'])) { $lsl = $parameter_limit_array[$value['pk']]['lsl']; } else { $lsl = ""; } } else { if (is_numeric($parameter_template_limit_array[0]['usl'][$key])) { $usl = $parameter_template_limit_array[0]['usl'][$key]; } else { $usl = ""; } if (is_numeric($parameter_template_limit_array[0]['lsl'][$key])) { $lsl = $parameter_template_limit_array[0]['lsl'][$key]; } else { $lsl = ""; } } if ($parameter_method_array[$key]) { $method = $parameter_method_array[$key]; } else { $method = "none"; } if ($parameter_status_array[$value['pk']]) { switch ($parameter_status_array[$value['pk']]) { case "max": $status = ">max"; break; case "min": $status = "<min"; break; default: $status = "OK"; break; } } else { $status = "none"; } $line_array = array(array("name" => "parameter", "content" => $value['name']), array("name" => "value", "content" => $regionalized_value), array("name" => "unit", "content" => $unit), array("name" => "min", "content" => $lsl), array("name" => "max", "content" => $usl), array("name" => "method", "content" => $method), array("name" => "status", "content" => $status)); $report_table->add_line($line_array); unset($regionalized_value); unset($unit); unset($lsl); unset($usl); unset($method); unset($status); } } $pdf = $report_table->get_pdf(); } } return $pdf; } else { return null; } }
/** * @param integer $id */ public static function get_children($id) { if (is_numeric($id) and $id != 0) { $return_array = array(); $folder = Folder::get_instance($id); $folder_array = $folder->get_subfolder_array(); if (is_array($folder_array) and count($folder_array) >= 1) { $counter = 0; foreach ($folder_array as $key => $value) { $folder = Folder::get_instance($value); $return_array[$counter][0] = -1; $return_array[$counter][1] = $value; $return_array[$counter][2] = $folder->get_name(); $return_array[$counter][3] = "folder.png"; if ($folder->is_read_access() == true) { $return_array[$counter][4] = true; } else { $return_array[$counter][4] = false; } $return_array[$counter][5] = true; // Clickable $paramquery['username'] = $_GET['username']; $paramquery['session_id'] = $_GET['session_id']; $paramquery['nav'] = "data"; $paramquery['folder_id'] = $value; $params = http_build_query($paramquery, '', '&'); $return_array[$counter][6] = $params; //link $return_array[$counter][7] = false; //open $return_array[$counter][8] = Data_Wrapper::has_folder_children($value); //has children $counter++; } } echo json_encode($return_array); } }
/** * @param string $json_argument_array * @return integer * @throws BaseAjaxArgumentMissingException */ public static function count_data($json_argument_array) { $argument_array = json_decode($json_argument_array); if (is_array($argument_array)) { $folder_id = $argument_array[0][1]; $name = $argument_array[1][1]; return Data_Wrapper::count_search_ffv($folder_id, $name); } else { throw new BaseAjaxArgumentMissingException(); } }
/** * @see FileInterface::upload_file() * @param integer $folder_id * @param array $file_array * @return integer */ public function upload_file($folder_id, $file_array) { global $user, $transaction; if ($folder_id) { $transaction_id = $transaction->begin(); $user_data = new DataUserData($user->get_user_id()); $folder = Folder::get_instance($folder_id); if ($folder->is_write_access() == true) { // check is file exists in folder via DataEntity if (Data_Wrapper::is_file_in_folder($folder_id, $file_array['name']) == false) { $target = constant("BASE_DIR") . "/" . $folder->get_path() . "/" . $file_array['name']; if (!empty($file_array['name']) or !file_exists($target)) { $file_name_array = explode(".", $file_array['name']); $file_name_array_length = substr_count($file_array['name'], "."); // Forbidden file-types if ($file_name_array[$file_name_array_length] == "php" or $file_name_array[$file_name_array_length] == "php3" or $file_name_array[$file_name_array_length] == "php4" or $file_name_array[$file_name_array_length] == "php5" or $file_name_array[$file_name_array_length] == "phtml" or $file_name_array[$file_name_array_length] == "phtm" or $file_name_array[$file_name_array_length] == "html" or $file_name_array[$file_name_array_length] == "htm" or $file_name_array[$file_name_array_length] == "cgi" or $file_name_array[$file_name_array_length] == "pl" or $file_name_array[$file_name_array_length] == "asp") { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return 7; } else { // Upload new file move_uploaded_file($file_array['tmp_name'], $target); if (($file_upload_error_no = $file_array['error']) == 0) { $file_size = filesize($target); $checksum = md5_file($target); $file_upload_precheck_event = new FileUploadPrecheckEvent($folder_id, $file_size); $event_handler = new EventHandler($file_upload_precheck_event); if ($event_handler->get_success() == false) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return 6; } if ($folder->get_quota_access($user->get_user_id(), $file_size) == true) { $folder->increase_filesize($user->get_user_id(), $file_size); $file_upload_event = new FileUploadEvent($folder_id, $file_size); $event_handler = new EventHandler($file_upload_event); if ($event_handler->get_success() == false) { // Nothing happens } // Create File /** * @todo Exception in whole method */ try { $file_id = $this->create($file_array['name'], $folder_id, $target, $user->get_user_id()); } catch (BaseException $e) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return 2; } $data_entity_id = $this->get_data_entity_id(); // Rename File $extension_array = explode(".", $target); $extension_array_length = substr_count($target, "."); if ($extension_array_length == 0) { $extension = ""; } else { $extension = "." . $extension_array[$extension_array_length]; } $new_filename = constant("BASE_DIR") . "/" . $folder->get_path() . "/" . $data_entity_id . "-1" . $extension; // Rename file with the object id if (rename($target, $new_filename) == true) { if ($transaction_id != null) { $transaction->commit($transaction_id); } return 1; } else { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return 2; } } else { // Delete File - Overquota if (unlink($target)) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return 6; } else { if ($transaction_id != null) { $transaction->rollback($transaction_id); } // Write Log - Delete Error return 6; } } } else { if ($file_upload_error_no == 1 or $file_upload_error_no == 2) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return 4; } else { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return 2; } } } // End If/Else - Forbidden File-Types } else { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return 5; } } else { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return 5; } } else { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return 8; } } else { return 3; } }