$fid = $friend['id']; if ($uid == $fid) { header("Location: profile.php"); } //<--connect button $row = $db->select('members', "id='{$uid}'"); $user = $row[0]; $row = $db->select('members', "id='{$fid}'"); $friend = $row[0]; //check if request is recieve if (check_in_array($fid, $user['r_list'])) { $button = '<button class="ui-btn ui-btn-inline ui-btn-e" onclick="confirm_friend(' . $fid . ');">Confirm friend</button><button class="ui-btn ui-btn-inline" onclick="cancel_friend(' . $fid . ');">Not now</button>'; } else { if (check_in_array($fid, $user['f_list'])) { $button = '<button class="ui-btn ui-btn-inline" onclick="friend_toggle(' . $fid . ');">unfriend</button>'; } elseif (check_in_array($uid, $friend['r_list'])) { $button = '<button class="ui-btn ui-btn-inline" disabled="">Add friend</button><button class="ui-btn ui-btn-inline ui-icon-delete ui-btn-icon-notext" onclick="friend_toggle(' . $fid . ');">Cancel</button>'; } else { $button = '<button class="ui-btn ui-btn-inline" onclick="friend_toggle(' . $fid . ');">Add friend</button>'; } } //connect button--> //<--profile picture url if ($friend['fb_login']) { $img_url = 'https://graph.facebook.com/' . $_SESSION['user']['username'] . '/picture?type=large'; } else { $img_url = 'avatar.jpg'; } //profile picture url--> //<--load posts $p_html = '';
function like_toggle($id) { $this->check_login(); //get exist lid list as array $row = $this->db->select('posts', "id='{$id}'"); $l_list = $row[0]['lid']; //check if post is liked if (check_in_array($this->uid, $l_list)) { //if post is liked then unlike it $l_list = remove_array($this->uid, $l_list); } else { //add new id to array $l_list = add_array($this->uid, $l_list); } //insert new fid to DB $data['lid'] = $l_list; if ($this->db->update('posts', "id='{$id}'", $data)) { return 1; } else { return mysql_error(); } }
public function lay_du_lieu_bai_viet($data = array('type' => '2', 'so_bai_viet' => '10', 'vi_tri_bat_dau' => '0', 'params' => array('id_bai_viet' => '656', 'idLoai' => '7'))) { $type = array('1' => 'Lấy bài viết mới nhất hiển thị lên featured (1, n)', '2' => 'Lấy bài viết mới nhất của loại bài viết cha (1,n)| Lấy bài viết mới của loại bài viết (1,n)', '3' => 'Lấy bài viết nổi bật mới nhất (1,n)', '4' => 'Lấy bài viết nổi bật của một loại cha (1,n)| Lấy bài viết cố định mới nhất của một loại ko là cha (1,n)', '5' => 'Lấy bài viết cố định mới nhất (1,n)', '6' => 'Lấy bài viết cố định của một loại cha (1,n)| Lấy bài viết cố định mới nhất của một loại ko là cha (1,n)'); $result['is_error'] = 0; /** flag error */ $result['data'] = array(); $attribute = array('type', 'so_bai_viet', 'vi_tri_bat_dau', 'params'); $error = check_error($attribute, $data); /** check all param */ if (!empty($error)) { $result['is_error'] = 1; $result['data'] = $error; return $result; } $error = check_in_array($data['type'], $type, 'type'); if (!empty($error)) { $result['is_error'] = 1; $result['data'] = $error; return $result; } $params = $data['params']; $sql = ''; switch ($data['type']) { case '1': /** Lấy bài viết mới nhất hiển thị lên featured */ /** check params array */ $attribute = array('id_bai_viet'); $error = check_error($attribute, $params); if (!empty($error)) { $result['is_error'] = 1; $result['data'] = $error; return $result; } else { $result['is_error'] = 0; /** tắt lỗi đi */ $where = $params['id_bai_viet'] == '0' ? "" : "WHERE idPO != '" . $params['id_bai_viet'] . "'"; $sql = "SELECT `idPO`,`idCL`,`idLoai`,`idSub`,`TieuDe`,`TieuDeKD`,`Title`,`Des`,`Keyword`,`TomTat`,`NoiDung`,`UrlHinh`,`NgayDang`,`AnHien`,`NoiBat`,`SoLanXem`,`idGroup` FROM mk_post " . $where . " ORDER BY NgayDang DESC"; /** Nếu số bài viết bằng 0 thì lấy tất cả bài viết */ $sql .= $data['so_bai_viet'] != '0' ? " LIMIT " . $data['vi_tri_bat_dau'] . ',' . $data['so_bai_viet'] : ""; } break; case '2': /** Lấy bài viết mới nhất của loại bài viết cha */ /** check params array */ $attribute = array('id_bai_viet', 'idLoai'); $error = check_error($attribute, $params); if (!empty($error)) { $result['is_error'] = 1; $result['data'] = $error; return $result; } $result['is_error'] = 0; /** tắt lỗi đi */ /** check is parent */ /** Lấy bài viết của mới nhất của cha */ if ($this->checkParent($params['idLoai'])) { $where = " WHERE "; $where .= " AnHien = '1' AND "; $where .= " idCL = '" . $params['idLoai'] . "'"; $where .= $params['id_bai_viet'] == '0' ? "" : " AND idPO != '" . $params['id_bai_viet'] . "'"; $sql = "SELECT `idPO`,`idCL`,`idLoai`,`idSub`,`TieuDe`,`TieuDeKD`,`Title`,`Des`,`Keyword`,`TomTat`,`NoiDung`,`UrlHinh`,`NgayDang`,`AnHien`,`NoiBat`,`SoLanXem`,`idGroup` FROM mk_post " . $where . " ORDER BY NgayDang DESC"; /** Nếu số bài viết bằng 0 thì lấy tất cả bài viết */ $sql .= $data['so_bai_viet'] != '0' ? " LIMIT " . $data['vi_tri_bat_dau'] . ',' . $data['so_bai_viet'] : ""; } else { $where = " WHERE "; $where .= " AnHien = '1' AND "; $where .= " idLoai = '" . $params['idLoai'] . "'"; $where .= $params['id_bai_viet'] == '0' ? "" : " AND idPO != '" . $params['id_bai_viet'] . "'"; $sql = "SELECT `idPO`,`idCL`,`idLoai`,`idSub`,`TieuDe`,`TieuDeKD`,`Title`,`Des`,`Keyword`,`TomTat`,`NoiDung`,`UrlHinh`,`NgayDang`,`AnHien`,`NoiBat`,`SoLanXem`,`idGroup` FROM mk_post " . $where . " ORDER BY NgayDang DESC"; /** Nếu số bài viết bằng 0 thì lấy tất cả bài viết */ $sql .= $data['so_bai_viet'] != '0' ? " LIMIT " . $data['vi_tri_bat_dau'] . ',' . $data['so_bai_viet'] : ""; } break; case '3': /** Lấy bài viết nổi bật mới nhất (có thể hiển thị lên featured) */ /** check params array */ $attribute = array('id_bai_viet'); $error = check_error($attribute, $params); if (!empty($error)) { $result['is_error'] = 1; $result['data'] = $error; return $result; } else { $result['is_error'] = 0; /** tắt lỗi đi */ $where = " WHERE `NoiBat`='1' "; $where .= $params['id_bai_viet'] == '0' ? "" : " idPO != '" . $params['id_bai_viet'] . "'"; $sql = "SELECT `idPO`,`idCL`,`idLoai`,`idSub`,`TieuDe`,`TieuDeKD`,`Title`,`Des`,`Keyword`,`TomTat`,`NoiDung`,`UrlHinh`,`NgayDang`,`AnHien`,`NoiBat`,`SoLanXem`,`idGroup` FROM mk_post " . $where . " ORDER BY NgayDang DESC"; /** Nếu số bài viết bằng 0 thì lấy tất cả bài viết */ $sql .= $data['so_bai_viet'] != '0' ? " LIMIT " . $data['vi_tri_bat_dau'] . ',' . $data['so_bai_viet'] : ""; } break; case '4': /** Lấy bài viết nổi bật mới nhất của loại bài viết cha hoặc con */ /** check params array */ $attribute = array('id_bai_viet', 'idLoai'); $error = check_error($attribute, $params); if (!empty($error)) { $result['is_error'] = 1; $result['data'] = $error; return $result; } $result['is_error'] = 0; /** tắt lỗi đi */ /** check is parent */ /** Lấy bài viết của mới nhất của cha */ if ($this->checkParent($params['idLoai'])) { $where = " WHERE "; $where .= " AnHien = '1' AND `NoiBat`= '1' AND "; $where .= " idCL = '" . $params['idLoai'] . "'"; $where .= $params['id_bai_viet'] == '0' ? "" : " AND idPO != '" . $params['id_bai_viet'] . "'"; $sql = "SELECT `idPO`,`idCL`,`idLoai`,`idSub`,`TieuDe`,`TieuDeKD`,`Title`,`Des`,`Keyword`,`TomTat`,`NoiDung`,`UrlHinh`,`NgayDang`,`AnHien`,`NoiBat`,`SoLanXem`,`idGroup` FROM mk_post " . $where . " ORDER BY NgayDang DESC"; /** Nếu số bài viết bằng 0 thì lấy tất cả bài viết */ $sql .= $data['so_bai_viet'] != '0' ? " LIMIT " . $data['vi_tri_bat_dau'] . ',' . $data['so_bai_viet'] : ""; } else { $where = " WHERE "; $where .= " AnHien = '1' AND `NoiBat`= '1' AND "; $where .= " idLoai = '" . $params['idLoai'] . "'"; $where .= $params['id_bai_viet'] == '0' ? "" : " AND idPO != '" . $params['id_bai_viet'] . "'"; $sql = "SELECT `idPO`,`idCL`,`idLoai`,`idSub`,`TieuDe`,`TieuDeKD`,`Title`,`Des`,`Keyword`,`TomTat`,`NoiDung`,`UrlHinh`,`NgayDang`,`AnHien`,`NoiBat`,`SoLanXem`,`idGroup` FROM mk_post " . $where . " ORDER BY NgayDang DESC"; /** Nếu số bài viết bằng 0 thì lấy tất cả bài viết */ $sql .= $data['so_bai_viet'] != '0' ? " LIMIT " . $data['vi_tri_bat_dau'] . ',' . $data['so_bai_viet'] : ""; } break; case '5': /** Lấy bài viết cố định mới nhất (có thể hiển thị lên featured) */ /** check params array */ $attribute = array('id_bai_viet'); $error = check_error($attribute, $params); if (!empty($error)) { $result['is_error'] = 1; $result['data'] = $error; return $result; } else { $result['is_error'] = 0; /** tắt lỗi đi */ $where = " WHERE `Hieu`='1' AND `AnHien`='1' "; $where .= $params['id_bai_viet'] == '0' ? "" : " idPO != '" . $params['id_bai_viet'] . "'"; $sql = "SELECT `idPO`,`idCL`,`idLoai`,`idSub`,`TieuDe`,`TieuDeKD`,`Title`,`Des`,`Keyword`,`TomTat`,`NoiDung`,`UrlHinh`,`NgayDang`,`AnHien`,`NoiBat`,`SoLanXem`,`idGroup` FROM mk_post " . $where . " ORDER BY NgayDang DESC"; /** Nếu số bài viết bằng 0 thì lấy tất cả bài viết */ $sql .= $data['so_bai_viet'] != '0' ? " LIMIT " . $data['vi_tri_bat_dau'] . ',' . $data['so_bai_viet'] : ""; } break; case '6': /** Lấy bài viết nổi bật mới nhất của loại bài viết cha hoặc con*/ /** check params array */ $attribute = array('id_bai_viet', 'idLoai'); $error = check_error($attribute, $params); if (!empty($error)) { $result['is_error'] = 1; $result['data'] = $error; return $result; } $result['is_error'] = 0; /** tắt lỗi đi */ /** check is parent */ /** Lấy bài viết của mới nhất của cha */ if ($this->checkParent($params['idLoai'])) { $where = " WHERE "; $where .= " AnHien = '1' AND `Hieu`= '1' AND "; $where .= " idCL = '" . $params['idLoai'] . "'"; $where .= $params['id_bai_viet'] == '0' ? "" : " AND idPO != '" . $params['id_bai_viet'] . "'"; $sql = "SELECT `idPO`,`idCL`,`idLoai`,`idSub`,`TieuDe`,`TieuDeKD`,`Title`,`Des`,`Keyword`,`TomTat`,`NoiDung`,`UrlHinh`,`NgayDang`,`AnHien`,`NoiBat`,`SoLanXem`,`idGroup` FROM mk_post " . $where . " ORDER BY NgayDang DESC"; /** Nếu số bài viết bằng 0 thì lấy tất cả bài viết */ $sql .= $data['so_bai_viet'] != '0' ? " LIMIT " . $data['vi_tri_bat_dau'] . ',' . $data['so_bai_viet'] : ""; } else { $where = " WHERE "; $where .= " AnHien = '1' AND `Hieu`= '1' AND "; $where .= " idLoai = '" . $params['idLoai'] . "'"; $where .= $params['id_bai_viet'] == '0' ? "" : " AND idPO != '" . $params['id_bai_viet'] . "'"; $sql = "SELECT `idPO`,`idCL`,`idLoai`,`idSub`,`TieuDe`,`TieuDeKD`,`Title`,`Des`,`Keyword`,`TomTat`,`NoiDung`,`UrlHinh`,`NgayDang`,`AnHien`,`NoiBat`,`SoLanXem`,`idGroup` FROM mk_post " . $where . " ORDER BY NgayDang DESC"; /** Nếu số bài viết bằng 0 thì lấy tất cả bài viết */ $sql .= $data['so_bai_viet'] != '0' ? " LIMIT " . $data['vi_tri_bat_dau'] . ',' . $data['so_bai_viet'] : ""; } default: $sql = ''; break; } try { if ($sql != '') { $result['is_error'] = 0; $this->load->database(); $query = $this->db->query($sql); $result['data'] = $query->result_object(); $this->db->close(); } else { $result['is_error'] = 1; $result['data'] = 'Khong tim thay cac lua chon truy van'; } /** Kiểm tra dữ liệu của mảng rỗng */ if (count($result['data']) == 0) { $result['is_error'] = 1; $result['data'] = 'Không tồn tại giá trị'; } else { $result['is_error'] = 0; } } catch (Exception $e) { $result['is_error'] = 1; $result['data'] = $e->getMessage() . ': line ' . $e->getLine(); } return $result; }
public function index() { $this->load->model('Catalogmodel'); $this->load->model('Postmodel'); $this->load->helper('page'); $this->load->helper('underscore'); $this->load->helper('url'); $this->load->helper('dev'); $devices = array('1' => 'computer', '2' => 'tablet', '3' => 'phone'); /** * các phần trong trang web hỗ trợ trong hàm này */ $parts = array('head' => 'Phần hiển thị phần head của web (load các thư viện cần thiết)', 'header' => 'Phần hiển thị phần header của web (chưa viết)', 'menu' => 'Hiển thị phần menu của web => tùy vào tham số params mà tùy chọn hàm', 'top_head' => 'Phần html thông thường nằm trên cùng của web', 'menu_khampha' => 'Phần menu khám phá', 'submenu' => 'Phần menu con của menu', 'menu_vs_bai_viet' => 'Phần bài viết với menu => tùy vào tham số params'); $result['is_error'] = 1; $result['data'] = 'Khong tim thay du lieu'; /** * Kiểm tra giá trị null và giá trị âm */ $attribute = array('part', 'device', 'params'); $error = check_error($attribute, $this->input->post()); if (!empty($error)) { /** * Nếu có lỗi */ $result['is_error'] = 1; $result['data'] = $error; echo json_encode($result); return; } /** * Kiểm tra có các thành phần => Lấy tham số */ $part = $this->input->post('part'); $device = $this->input->post('device'); $params = $this->input->post('params'); /** * Kiểm tra các giá trị có trong options */ /** * ------------------------------------------------------------------* */ $error = null; $result['line'] = __LINE__; $error = check_in_array($part, $parts, 'part'); if (count($error) != 0) { /** * Nếu có lỗi */ $result['is_error'] = 1; $result['data'] = $error; echo json_encode($result); return; } /** * Nếu không có lỗi */ $result['is_error'] = 0; $key_part = array_keys($parts); /** * get list key */ switch ($part) { /** * case submenu * * @param * string idLoai Loai bai viet cha */ case $key_part[5]: $attr_submenu = array('idLoai'); $error_submenu = check_error($attr_submenu, $params); if (count($error_submenu) != 0) { $result['is_error'] = '1'; $result['data'] = $error_submenu; echo json_encode($result); return; } // $error = $ $dataCat = array('type' => 'parent', 'idParent' => $params['idLoai'], 'AnHien' => '1', 'soluong' => '0'); $catList = $this->Catalogmodel->Lay_Danh_Sach_Loai_Bai_Viet($dataCat); $result['data'] = submenu($device, $catList); break; /** * case submenu * * @param * string idLoai Loai bai viet cha */ /** * case submenu * * @param * string idLoai Loai bai viet cha */ case $key_part[6]: $attr_submenu = array('idLoai'); $error_submenu = check_error($attr_submenu, $params); if (count($error_submenu) != 0) { $result['is_error'] = '1'; $result['data'] = $error_submenu; echo json_encode($result); return; } /** * Kiểm tra xem idLoai là cha hay con * 1. * Nếu idLoai là cha thì load cả 2 phần menu + phần bài viết * 2. Nếu idLoai là con thì load 1 phần bài viết */ if ($this->Postmodel->checkParent($params['idLoai'])) { /** * Nếu idLoai là cha */ /** * Hiển thị menu con */ $catChildrenOptions = array('type' => 'children', 'idParent' => $params['idLoai'], 'AnHien' => '1', 'soluong' => '6'); $data_catChildrenShow = $this->Catalogmodel->Lay_Danh_Sach_Loai_Bai_Viet($catChildrenOptions); /** * Hiển thị bài viết nổi bật */ $post_bv = array('type' => '2', 'so_bai_viet' => '1', 'vi_tri_bat_dau' => '0', 'params' => array('id_bai_viet' => '0', 'idLoai' => $params['idLoai'])); $data_post_bv = $this->Postmodel->lay_du_lieu_bai_viet($post_bv); /** * Hiển thị danh sách bài viết liên quan */ $post_baiviet_list = array('type' => '2', 'so_bai_viet' => '3', 'vi_tri_bat_dau' => '0', 'params' => array('id_bai_viet' => $data_post_bv['data'][0]->idPO, 'idLoai' => $params['idLoai'])); /** * options menu_vs_bai_viet: Hiển thị menu và bài viết */ $data_bv = array('options' => '0', 'params' => array('menu' => $data_catChildrenShow, 'one_post' => $data_post_bv, 'list_post' => $this->Postmodel->lay_du_lieu_bai_viet($post_baiviet_list), 'idLoai' => $params['idLoai'])); $menu_vs_bai_viet = menu_vs_bai_viet($data_bv); $result['data'] = $menu_vs_bai_viet['is_error'] == '0' ? $menu_vs_bai_viet['data'] : 'Bi loi dong: ' . __LINE__ . ' on file: ' . __FILE__; } else { /** * Nếu idLoai là con */ } break; default: $result['data'] = 'default'; break; } echo json_encode($result); }
/** * Hiển thị phần menu và bài viết, phần thời gian làm việc * $data['options'] = 0 => Hiển thị phần bài viết nổi bật và danh sách bài viết * $data['options'] = 1 => Hiển thị phần bài viết nổi bật và danh sách bài viết, thêm danh sách menu ở trên * @param array $data = array('options'=>'0|1','params' => array('one_post'=>array(),'list_post'=>array(), 'idLoai'=>'string')) * @return string $result html to show menu + post, time work */ function menu_vs_bai_viet($data = array('options' => '0', 'params' => array('menu' => array(), 'one_post' => array(), 'list_post' => array()))) { $options = array('0' => 'Hiển thị phần bài viết nổi bật và danh sách các bài viết', '1' => 'Hiển thị phần bài viết nổi bật và danh sách bài viết, thêm danh sách các menu'); $result['is_error'] = '1'; $result['data'] = ''; $error = check_in_array($data['options'], $options, 'type'); $attribute = array('options', 'params'); $error = check_error($attribute, $data); if (count($error) != 0) { $result['is_error'] = '1'; $result['data'] = $error; return $result; } else { $params = $data['params']; $xhtml = ''; switch ($data['options']) { case '0': $result['is_error'] = '0'; $xhtml = isset($params['idLoai']) ? '<li data="' . $params['idLoai'] . '">' : ''; /** Hiển thị menu con */ $xhtml .= menu_bai_viet(array('type' => '1', 'data' => $params['menu'])); /** Hiển thị bài viết nổi bật */ $xhtml .= isset($params['idLoai']) ? '<ul data="' . $params['idLoai'] . '">' : ''; $xhtml .= isset($params['idLoai']) ? '<li data="' . $params['idLoai'] . '">' : ''; $xhtml .= bai_viet_noi_bat_featured(array('type' => '1', 'data' => $params['one_post'])); /** Hiển thị danh sách bài viết liên quan */ $xhtml .= '<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">' . bai_viet_noi_bat_featured(array('type' => '1', 'data' => $params['list_post'])) . '</div>'; $xhtml .= '<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">' . slider_thoigianlamviec() . '</div>'; $xhtml .= isset($params['idLoai']) ? '</li>' : ''; $xhtml .= isset($params['idLoai']) ? '</ul>' : ''; break; case '1': $result['is_error'] = '0'; $xhtml = isset($params['idLoai']) ? '<li data="' . $params['idLoai'] . '">' : ''; /** Hiển thị bài viết nổi bật */ $xhtml .= bai_viet_noi_bat_featured(array('type' => '1', 'data' => $params['one_post'])); /** Hiển thị danh sách bài viết liên quan */ $xhtml .= '<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">' . bai_viet_noi_bat_featured(array('type' => '1', 'data' => $params['list_post'])) . '</div>'; $xhtml .= '<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">' . slider_thoigianlamviec() . '</div>'; $xhtml .= isset($params['idLoai']) ? '</li>' : ''; break; default: break; } } $result['data'] = $xhtml; return $result; }