function index() { $group_category = (int) @$_GET['cat_group_category']; $input = Input::Instance(); $category = new Category(); $db = Database::Instance(); $return = array(); $msgerror = null; $searchtxt = $input->get($this->inputtext); $liked = array("name_product" => $searchtxt, 'description_product' => $searchtxt); $likedstr = " (\n name_product LIKE '%{$searchtxt}%' OR description_product LIKE '%{$searchtxt}%' OR\n name_product_en LIKE '%{$searchtxt}%' OR description_product_en LIKE '%{$searchtxt}%'\n ) "; /* Count of Rows */ $result = $db->select("count(*) as total")->from("product")->where($likedstr); if ($group_category > 0) { $result = $result->from("product_has_category")->where(array('category_id_category' => $group_category))->where("product_id_product = id_product"); } $result = $result->get(); foreach ($result as $row) { $total = $row->total; } /* Class Pagination */ $this->pages = new Pagination(array('base_url' => "" . $this->__("search") . "/items/" . $this->__("page") . "/", 'uri_segment' => 'pagina', 'total_items' => $total, 'items_per_page' => $category->max_items_per_category, 'style' => $category->getstyle_pagination())); /* List of Products */ $result = $db->select("*")->from("product")->orderby(array("update_product" => "DESC"))->where("{$likedstr}")->limit($category->max_items_per_category)->offset($this->pages->sql_offset); /*Condition Category group*/ if ($group_category > 0) { $result = $result->from("product_has_category")->where(array('category_id_category' => $group_category))->where("product_id_product = id_product"); } /* Build The Result */ $result = $result->get(); foreach ($result as $row) { Basic::currency($row->price_product); if ($row->price_offer_product > 0) { Basic::currency($row->price_offer_product); $row->price_product = "<strike>" . $row->price_product . "</strike> {$this->separator_price} " . $row->price_offer_product; } $row->href_add_product = url::base() . $this->__("cart") . "/" . $this->__("add") . "/id/{$row->id_product}"; $row->href_detail_product = url::base() . $this->__("product") . "/" . $this->__("detail") . "/" . Basic::urlizar($row->name_product) . "/id/{$row->id_product}"; $return[] = $row; } /* Error Detecting */ if (count($return) < 1 or $searchtxt == null) { $return = array(); $msgerror = __("No se encontraron resultados", false); $this->pages = null; } // $this->content = View::factory("main/search_list_products") $this->title = __('Resultados de la búsqueda', false); $this->content = View::factory("main/list_products")->set('product', $return)->set('title', __('Resultados de la búsqueda', false))->set('msgerror', $msgerror)->set('pages', $this->pages)->render(); }
public function password_recovery() { $id = 0; $passto = false; $errors = array(); $msg = ""; if ($this->ispost()) { $input = Input::Instance(); $mail = $input->post('mail'); if ($mail == '') { $errors[] = __("El Email no puede estar vacio", false); } else { if (valid::email($mail) == false) { $errors[] = __("El Email no es valido", false); } else { $orm = $this->table->db2cls(); $result = $orm->load($mail, 'mail_client'); $id = (int) $result->id_client; if ($id == 0) { $errors[] = __("El Email no existe", false); } else { $passto = true; $passwordgenorig = basics::passwordgenerator(); $passwordgen = fpp::cryptme($passwordgenorig); $result->password_client = $passwordgen; $href = html::anchor($this->href_store); basics::mail_html_utf8($mail, __('Recuperación de clave de acceso', false), __("Estimado Cliente, <br/>Su nueva contraseña es", false) . " {$passwordgenorig} <br/>{$href}", $this->mail_store, "Floreria Rosabel"); $passto = true; $result->save(); } } } $msg = $passto == false ? basics::diverror($errors) : basics::diverror(array(__("E-mail enviado, revise su buzón", false))); } $this->content = View::factory("main/recovery_password")->set("msg", $msg)->render(); }