public static function get_structur_with_session($session_id)
 {
     $report_list = report::get_list_with_session($session_id);
     if (count($report_list) > 0) {
         $rn = new report_navigation();
         $report_nav_list = $rn->get_list();
         //Turn Report Navigation List into Report Navigation Structur List
         $rns_list = array();
         for ($i = 0; $i < count($report_nav_list); $i++) {
             $rns_list[] = $report_nav_list[$i]->to_report_navigation_structur();
         }
         //Create Structur
         for ($i = 0; $i < count($rns_list); $i++) {
             $rns = $rns_list[$i];
             for ($j = 0; $j < count($rns_list); $j++) {
                 if ($i != $j) {
                     if ($rns->add_navigation($rns_list[$j])) {
                         array_splice($rns_list, $j, 1);
                         $j--;
                     }
                 }
             }
         }
         $rnr = new report_navigation_report();
         $rnr_list = $rnr->get_list();
         for ($i = 0; $i < count($rnr_list); $i++) {
             for ($j = 0; $j < count($report_list); $j++) {
                 if ($report_list[$j]->id === $rnr_list[$i]->report_id) {
                     for ($k = 0; $k < count($rns_list); $k++) {
                         $rns_list[$k]->add_navigation(new report_navigation_structur(0, $report_list[$j]->name, $rnr_list[$i]->report_navigation_id, $report_list[$j]->id, $report_list[$j]->description));
                     }
                     $j = count($report_list);
                 }
             }
         }
         return $rns_list;
     } else {
         return null;
     }
 }
Esempio n. 2
0
 public static function load_structur_with_session($id, $session_id)
 {
     global $dbconnection;
     $object = new report();
     $reportlist = $object->get_list_with_session($session_id);
     $found = false;
     for ($i = 0; $i < count($reportlist); $i++) {
         if ($reportlist[$i]->id * 1 === $id * 1) {
             $object = $reportlist[$i];
             $found = true;
         }
     }
     if ($found === false) {
         return null;
     }
     $rw = new report_wrapper();
     $rw->id = $object->id;
     $rw->name = $object->name;
     $rw->report_element_list = ormlib::get_list_from_instance(new report_element(), array("report_id"), array($id));
     for ($i = 0; $i < count($rw->report_element_list); $i++) {
         $rw->report_element_field_list = array_merge($rw->report_element_field_list, ormlib::get_list_from_instance(new report_element_field(), array("report_element_id"), array($rw->report_element_list[$i]->id)));
     }
     for ($i = 0; $i < count($rw->report_element_field_list); $i++) {
         $rw->report_element_metadata_mapping[] = ormlib::get_from_instance(new metadata_field(), array("id"), array($rw->report_element_field_list[$i]->metadata_field_id));
     }
     $help = ormlib::get_list_from_instance(new report_metadata_condition(), array("report_id"), array($rw->id));
     for ($i = 0; $i < count($help); $i++) {
         $rw->report_metadata_field_condition[] = ormlib::get_from_instance(new metadata_field(), array("id"), array($help[$i]->metadata_field_id));
         $table = ormlib::get_from_instance(new metadata_table(), array("id"), array($rw->report_metadata_field_condition[$i]->metadata_table_id));
         $values = array();
         if ($rw->report_metadata_field_condition[$i]->type * 1 === 1) {
             $result = $dbconnection->do_query_data_response("select " . $rw->report_metadata_field_condition[$i]->name_in_table . " from " . $table->name . " group by " . $rw->report_metadata_field_condition[$i]->name_in_table);
             while ($myrow = mysql_fetch_array($result)) {
                 $values[] = $myrow[0];
             }
         }
         $rw->report_values[$rw->report_metadata_field_condition[$i]->name] = $values;
     }
     return $rw;
 }