Esempio n. 1
0
 /**
  * 
  * @return \k1lib\html\div
  */
 public function do_pagination()
 {
     $div_pagination = new \k1lib\html\div("k1lib-crudlexs-list-pagination clearfix", $this->get_object_id() . "-pagination");
     $div_scroller = $div_pagination->append_div("float-left pagination-scroller");
     $div_page_chooser = $div_pagination->append_div("float-left pagination-rows");
     if ($this->db_table_data && self::$rows_per_page <= $this->total_rows) {
         $page_get_var_name = $this->get_object_id() . "-page";
         $rows_get_var_name = $this->get_object_id() . "-rows";
         $this_url = APP_URL . \k1lib\urlrewrite\url::get_this_url() . "#" . $this->get_object_id() . "-pagination";
         if ($this->actual_page > 2) {
             $this->page_first = url::do_url($this_url, [$page_get_var_name => 1, $rows_get_var_name => self::$rows_per_page]);
         } else {
             $this->page_first = "#";
         }
         if ($this->actual_page > 1) {
             $this->page_previous = url::do_url($this_url, [$page_get_var_name => $this->actual_page - 1, $rows_get_var_name => self::$rows_per_page]);
         } else {
             $this->page_previous = "#";
         }
         if ($this->actual_page < $this->total_pages) {
             $this->page_next = url::do_url($this_url, [$page_get_var_name => $this->actual_page + 1, $rows_get_var_name => self::$rows_per_page]);
         } else {
             $this->page_next = "#";
         }
         if ($this->actual_page <= $this->total_pages - 2) {
             $this->page_last = url::do_url($this_url, [$page_get_var_name => $this->total_pages, $rows_get_var_name => self::$rows_per_page]);
         } else {
             $this->page_last = "#";
         }
         /**
          * HTML UL- LI construction
          */
         $ul = new \k1lib\html\ul("pagination k1lib-crudlexs " . $this->get_object_id());
         $ul->append_to($div_scroller);
         // First page LI
         $li = $ul->append_li();
         //    function append_a($href = NULL, $label = NULL, $target = NULL, $alt = NULL, $class = NULL, $id = NULL) {
         $a = $li->append_a($this->page_first, "‹‹", "_self", "k1lib-crudlexs-first-page");
         if ($this->page_first == "#") {
             $a->set_attrib("class", "disabled");
         }
         // Previuos page LI
         $li = $ul->append_li("");
         $a = $li->append_a($this->page_previous, "‹", "_self", "k1lib-crudlexs-previous-page");
         if ($this->page_previous == "#") {
             $a->set_attrib("class", "disabled");
         }
         /**
          * Page GOTO selector
          */
         $page_selector = new \k1lib\html\select("goto_page", "k1lib-crudlexs-page-goto", $this->get_object_id() . "-page-goto");
         $page_selector->set_attrib("onChange", "use_select_option_to_url_go(this)");
         for ($i = 1; $i <= $this->total_pages; $i++) {
             $option_url = url::do_url($this_url, [$page_get_var_name => $i, $rows_get_var_name => self::$rows_per_page]);
             $option = $page_selector->append_option($option_url, $i, $this->actual_page == $i ? TRUE : FALSE);
         }
         $ul->append_li()->append_child($page_selector);
         // Next page LI
         $li = $ul->append_li("");
         $a = $li->append_a($this->page_next, "›", "_self", "k1lib-crudlexs-next-page");
         if ($this->page_next == "#") {
             $a->set_attrib("class", "disabled");
         }
         // Last page LI
         $li = $ul->append_li("");
         $a = $li->append_a($this->page_last, "››", "_self", "k1lib-crudlexs-last-page");
         if ($this->page_last == "#") {
             $a->set_attrib("class", "disabled");
         }
         /**
          * PAGE ROWS selector
          */
         $num_rows_selector = new \k1lib\html\select("goto_page", "k1lib-crudlexs-page-goto", $this->get_object_id() . "-page-rows-goto");
         $num_rows_selector->set_attrib("onChange", "use_select_option_to_url_go(this)");
         foreach (self::$rows_per_page_options as $num_rows) {
             if ($num_rows <= $this->total_rows) {
                 $option_url = url::do_url($this_url, [$page_get_var_name => 1, $rows_get_var_name => $num_rows]);
                 $option = $num_rows_selector->append_option($option_url, $num_rows, self::$rows_per_page == $num_rows ? TRUE : FALSE);
             } else {
                 break;
             }
         }
         if ($this->total_rows <= self::$rows_limit_to_all) {
             $option_url = url::do_url($this_url, [$page_get_var_name => 1, $rows_get_var_name => $this->total_rows]);
             $option = $num_rows_selector->append_option($option_url, $this->total_rows, self::$rows_per_page == $this->total_rows ? TRUE : FALSE);
         }
         $label = new \k1lib\html\label("Show", $this->get_object_id() . "-page-rows-goto");
         $label->set_attrib("style", "display:inline");
         $label->append_to($div_page_chooser);
         $num_rows_selector->append_to($div_page_chooser);
     }
     return $div_pagination;
 }
Esempio n. 2
0
 static function insert_messases_on_DOM($order = 'asc')
 {
     if (isset($_SESSION['k1lib_notifications']) && empty(self::$data)) {
         self::$data =& $_SESSION['k1lib_notifications'];
     }
     if (isset($_SESSION['k1lib_notifications_titles']) && empty(self::$data_titles)) {
         self::$data_titles =& $_SESSION['k1lib_notifications_titles'];
     }
     if (isset(self::$data[self::$section_name]) && !empty(self::$data[self::$section_name])) {
         if ($order == 'asc') {
             self::$data[self::$section_name] = array_reverse(self::$data[self::$section_name]);
         }
         $tag_object = DOM::html()->body()->get_element_by_id("k1lib-output");
         foreach (self::$data[self::$section_name] as $tag_id => $types_messages) {
             if ($tag_object->get_attribute("id") != $tag_id) {
                 $tag_object = DOM::html()->body()->get_element_by_id($tag_id);
                 if (empty($tag_object)) {
                     if (DOM::html()->body()->header()) {
                         $tag_object = DOM::html()->body()->header()->append_div(NULL, $tag_id);
                     } else {
                         $tag_object = DOM::html()->body()->append_child_head(new \k1lib\html\div(NULL, $tag_id));
                     }
                 }
                 // else no needed
             }
             // else no needed
             foreach ($types_messages as $type => $messages) {
                 $call_out = new \k1lib\html\foundation\callout();
                 $call_out->set_class($type);
                 if (isset(self::$data_titles[self::$section_name][$type]) && !empty(self::$data_titles[self::$section_name][$type])) {
                     $call_out->set_title(self::$data_titles[self::$section_name][$type]);
                 }
                 if (count($messages) === 1) {
                     $call_out->set_message($messages[0]);
                     $call_out->append_to($tag_object);
                 } else {
                     $ul = new \k1lib\html\ul();
                     foreach ($messages as $message) {
                         $ul->append_li($message);
                     }
                     $call_out->set_message($ul);
                     $call_out->append_to($tag_object);
                 }
             }
         }
     }
     unset($_SESSION['k1lib_notifications']);
     unset($_SESSION['k1lib_notifications_titles']);
 }