public function __construct(\k1lib\crudlexs\controller_base $controller_object, array $user_levels_allowed = []) { parent::__construct($controller_object, $user_levels_allowed); $this->redirect_url = isset($_GET['back-url']) ? \k1lib\urlrewrite\get_back_url() : "{$controller_object->get_controller_root_dir()}{$this->controller_object->get_board_list_url_name()}/"; if ($this->is_enabled) { $this->row_keys_text = url::set_url_rewrite_var(url::get_url_level_count(), 'row-keys-text', FALSE); $this->read_object = new \k1lib\crudlexs\reading($this->controller_object->db_table, $this->row_keys_text); } }
public function load_db_table_data($blank_data = FALSE) { $return_data = parent::load_db_table_data($blank_data); $url_action = url::set_url_rewrite_var(url::get_url_level_count(), "url_action", FALSE); $url_action_on_encoded_field = url::set_url_rewrite_var(url::get_url_level_count(), "url_action_on_encoded_field", FALSE); $url_action_on_field = $this->decrypt_field_name($url_action_on_encoded_field); if ($url_action == "unlink-uploaded-file") { \k1lib\forms\file_uploads::unlink_uploaded_file($this->db_table_data[1][$url_action_on_field]); $this->db_table_data[1][$url_action_on_field] = NULL; $this->db_table->update_data($this->db_table_data[1], $this->db_table_data_keys[1]); \k1lib\html\html_header_go(\k1lib\urlrewrite\get_back_url()); } return $return_data; }
/** * @return \k1lib\html\div|boolean */ public function start_board() { if (!parent::start_board()) { return FALSE; } if ($this->list_object->get_state()) { /** * BACK */ if ($this->back_enable && isset($_GET['back-url'])) { $back_url = \k1lib\urlrewrite\get_back_url(); $back_link = \k1lib\html\get_link_button($back_url, board_read_strings::$button_back); $back_link->append_to($this->button_div_tag); } /** * NEW BUTTON */ $related_url_keys_text = url::get_url_level_value_by_name("related_url_keys_text"); if (empty($related_url_keys_text)) { $related_url_keys_text = ""; $new_link = \k1lib\html\get_link_button(url::do_url("../{$this->controller_object->get_board_create_url_name()}/" . $related_url_keys_text), board_list_strings::$button_new); } else { $related_url_keys_text .= "/"; $new_link = \k1lib\html\get_link_button(url::do_url("../../{$this->controller_object->get_board_create_url_name()}/" . $related_url_keys_text), board_list_strings::$button_new); } if ($this->create_enable) { // $new_link = \k1lib\html\get_link_button(url::do_url("../{$this->controller_object->get_board_create_url_name()}/" . $related_url_keys_text), board_list_strings::$button_new); // $new_link = \k1lib\html\get_link_button("../{$this->controller_object->get_board_create_url_name()}/?back-url={$this_url}", board_list_strings::$button_new); $new_link->append_to($this->button_div_tag); } /** * Search */ if ($this->search_enable) { $search_iframe = new \k1lib\html\iframe(url::do_url($this->controller_object->get_controller_root_dir() . "search/?just-controller=1&caller-url=" . urlencode($_SERVER['REQUEST_URI'])), 'utility-iframe', "search-iframe"); // $this->board_content_div->append_child_tail($search_iframe); DOM::html()->body()->append_child_tail($search_iframe); // $search_iframe->append_to($this->board_content_div); $search_buttom = new \k1lib\html\a(NULL, " " . board_list_strings::$button_search, "_self"); $search_buttom->set_id("search-button"); $search_buttom->set_attrib("class", "button fi-page-search"); $search_buttom->append_to($this->button_div_tag); if (isset($_POST) && isset($_POST['from-search']) && urldecode($_POST['from-search']) == $_SERVER['REQUEST_URI']) { // if ($this->) /** * decrypt post field names */ $incomming_search_data = \k1lib\forms\check_all_incomming_vars($_POST); if ($this->list_object->get_do_table_field_name_encrypt()) { $search_data = $this->list_object->decrypt_field_names($incomming_search_data); } else { $search_data = $incomming_search_data; } $this->controller_object->db_table->set_query_filter($search_data); $search_post = \k1lib\common\serialize_var($_POST, urlencode($_SERVER['REQUEST_URI'])); /** * Clear search */ $clear_search_buttom = new \k1lib\html\a(url::do_url($_SERVER['REQUEST_URI']), board_list_strings::$button_search_cancel, "_self"); $search_buttom->set_value(" " . board_list_strings::$button_search_modify); $clear_search_buttom->set_attrib("class", "button warning"); $clear_search_buttom->append_to($this->button_div_tag); } else { $search_post = \k1lib\common\unset_serialize_var(urlencode($_SERVER['REQUEST_URI'])); } } $this->data_loaded = $this->list_object->load_db_table_data($this->show_rule_to_apply); return $this->board_content_div; } else { DOM_notification::queue_mesasage(board_base_strings::$error_mysql_table_not_opened, "alert", $this->notifications_div_id); DOM_notification::queue_title(board_base_strings::$error_mysql); $this->list_object->make_invalid(); $this->is_enabled = FALSE; return FALSE; } }
/** * @return \k1lib\html\div|boolean */ public function exec_board() { if (!$this->is_enabled) { return FALSE; } if ($this->update_object->get_state() && !empty($this->row_keys_text)) { if ($this->data_loaded) { if ($this->update_object->get_post_data_catched()) { $this->update_object->put_post_data_on_table_data(); if (!$this->skip_form_action) { if ($this->update_object->do_post_data_validation()) { $this->sql_action_result = $this->update_object->do_update(); } else { DOM_notification::queue_mesasage(board_update_strings::$error_form, "alert", $this->notifications_div_id); DOM_notification::queue_title(board_base_strings::$alert_board); } } } if ($this->apply_label_filter) { $this->update_object->apply_label_filter(); } $this->update_object->insert_inputs_on_data_row(); /** * DELETE BUTTON */ if ($this->controller_object->get_board_delete_enabled()) { $delete_url = $this->controller_object->get_controller_root_dir() . "{$this->controller_object->get_board_delete_url_name()}/{$this->row_keys_text}/"; if (\k1lib\urlrewrite\get_back_url(TRUE)) { $get_vars = ["auth-code" => md5(session_plain::get_user_hash() . $this->row_keys_text), "back-url" => \k1lib\urlrewrite\get_back_url(TRUE)]; } else { $get_vars = ["auth-code" => md5(session_plain::get_user_hash() . $this->row_keys_text)]; } $delete_link = \k1lib\html\get_link_button(url::do_url($delete_url, $get_vars), board_read_strings::$button_delete, "small"); $delete_link->append_to($this->button_div_tag); } $update_content_div = $this->update_object->do_html_object(); $update_content_div->append_to($this->board_content_div); return $this->board_content_div; } else { DOM_notification::queue_mesasage(board_base_strings::$error_mysql_table_no_data, "alert", $this->notifications_div_id, board_base_strings::$error_mysql); $this->update_object->make_invalid(); $this->is_enabled = FALSE; return FALSE; } } }
/** * Always to create the object you must have a valid DB Table object already * @param \k1lib\crudlexs\class_db_table $db_table DB Table object */ public function __construct(\k1lib\crudlexs\class_db_table $db_table, $row_keys_text = null, $custom_auth_code = null) { $this->back_url = \k1lib\urlrewrite\get_back_url(); if (!empty($row_keys_text)) { $this->row_keys_text = $row_keys_text; if (!$this->skip_auto_code_verification) { if (isset($_GET['auth-code']) || !empty($custom_auth_code)) { if (!empty($custom_auth_code)) { $auth_code = $custom_auth_code; } else { $auth_code = $_GET['auth-code']; } $auth_expected = md5(\k1lib\K1MAGIC::get_value() . $this->row_keys_text); $auth_personal_expected = md5(session_plain::get_user_hash() . $this->row_keys_text); if ($auth_code === $auth_expected || $auth_code === $auth_personal_expected) { parent::__construct($db_table); $this->auth_code = $auth_expected; $this->auth_code_personal = $auth_personal_expected; $this->row_keys_array = \k1lib\sql\table_url_text_to_keys($this->row_keys_text, $this->db_table->get_db_table_config()); $this->db_table->set_query_filter($this->row_keys_array, TRUE); $this->is_valid = TRUE; } else { DOM_notification::queue_mesasage(object_base_strings::$error_bad_auth_code, "alert", $this->notifications_div_id, common_strings::$error); $this->is_valid = FALSE; } } else { DOM_notification::queue_mesasage(object_base_strings::$alert_empty_auth_code, "alert", $this->notifications_div_id, common_strings::$alert); $this->is_valid = FALSE; } } else { parent::__construct($db_table); } } else { parent::__construct($db_table); } $this->set_object_id(get_class($this)); $this->set_css_class(get_class($this)); }
/** * @return \k1lib\html\div|boolean */ public function start_board() { if (!parent::start_board()) { return FALSE; } if (!empty($this->row_keys_text)) { if ($this->read_object->get_state()) { /** * BACK */ if ($this->back_enable && isset($_GET['back-url'])) { $back_url = \k1lib\urlrewrite\get_back_url(); $back_link = \k1lib\html\get_link_button($back_url, board_read_strings::$button_back, "small"); $back_link->append_to($this->button_div_tag); } /** * ALL DATA */ if ($this->all_data_enable) { $all_data_url = $this->controller_object->get_controller_root_dir() . "{$this->controller_object->get_board_list_url_name()}/"; $all_data_link = \k1lib\html\get_link_button(url::do_url($all_data_url, [], TRUE, ['no-rules']), board_read_strings::$button_all_data, "small"); $all_data_link->append_to($this->button_div_tag); } /** * EDIT BUTTON */ if ($this->update_enable) { $edit_url = $this->controller_object->get_controller_root_dir() . "{$this->controller_object->get_board_update_url_name()}/{$this->row_keys_text}/"; $get_vars = ["auth-code" => $this->read_object->get_auth_code()]; $edit_link = \k1lib\html\get_link_button(url::do_url($edit_url, $get_vars), board_read_strings::$button_edit, "small"); $edit_link->append_to($this->button_div_tag); } /** * DELETE BUTTON */ if ($this->delete_enable) { $delete_url = $this->controller_object->get_controller_root_dir() . "{$this->controller_object->get_board_delete_url_name()}/{$this->row_keys_text}/"; if (\k1lib\urlrewrite\get_back_url(TRUE)) { $get_vars = ["auth-code" => $this->read_object->get_auth_code_personal(), "back-url" => \k1lib\urlrewrite\get_back_url(TRUE)]; } else { $get_vars = ["auth-code" => $this->read_object->get_auth_code_personal()]; } $delete_link = \k1lib\html\get_link_button(url::do_url($delete_url, $get_vars), board_read_strings::$button_delete, "small"); $delete_link->append_to($this->button_div_tag); } $this->data_loaded = $this->read_object->load_db_table_data($this->show_rule_to_apply); return $this->board_content_div; } else { DOM_notification::queue_mesasage(board_base_strings::$error_mysql_table_not_opened, "alert", $this->notifications_div_id); DOM_notification::queue_title(board_base_strings::$error_mysql); return FALSE; } } else { return FALSE; } }
public function finish_board($do_redirect = TRUE, $custom_redirect = FALSE) { if ($this->sql_action_result !== NULL) { if ($custom_redirect === FALSE) { if (isset($_GET['back-url'])) { $get_params = []; $url_to_go = \k1lib\urlrewrite\get_back_url(); } else { $get_params = ["auth-code" => "--authcode--"]; $url_to_go = "{$this->controller_object->get_controller_root_dir()}{$this->controller_object->get_board_read_url_name()}/--rowkeys--/"; } $url_to_go = url::do_url($url_to_go, $get_params); } else { $url_to_go = url::do_url($custom_redirect); } $this->create_object->post_insert_redirect($url_to_go, $do_redirect); } }