/** * getAlbumsInCategoryById * * get all albums in a given category ID. * * @return array $albums / array */ public function getAlbumsInCategoryById($category_id) { $cid = $this->escapeString($category_id); $query = "SELECT\n\t\t\t\t\ta.album_id,a.album_name,a.album_artist,a.album_description,a.album_price,\n\t\t\t\t\ta.album_release_year,i.image_path,i.image_title,g.genre_name\n\t\t\t\t\tFROM \n\t\t\t\t\talbums AS a,\n\t\t\t\t\timages AS i,\n\t\t\t\t\tgenres AS g,\n\t\t\t\t\timages_to_albums AS i_t_a,\n\t\t\t\t\tgenres_to_albums AS g_t_a\n\t\t\t\t\tWHERE g_t_a.genre_id = '{$cid}'\n\t\t\t\t\tAND g.genre_id = g_t_a.genre_id\n\t\t\t\t\tAND a.album_id = g_t_a.album_id \n\t\t\t\t\tAND i_t_a.album_id = a.album_id\n\t\t\t\t\tAND i.image_id = i_t_a.image_id"; $results = $this->_db->query($query); $results_count = count($results); if ($results_count > 0) { $albums = array('data' => array()); foreach ($results as $v) { array_push($albums['data'], $v); } $albums['success'] = true; return $albums; } apiConf::$ERROR = 'get albums in category failed'; }
/** * get albums by array of id's * @param array $arrayIds array of id's * @return array albums data. */ public function getAlbumsByIds($arrayIds) { $array = $this->escapeString($arrayIds); $query = "SELECT\n\t\t\t\ta.album_id,a.album_name,a.album_artist,a.album_price,\n\t\t\t\ti.image_path,i.image_title\n\t\t\t\tFROM \n\t\t\t\talbums AS a,\n\t\t\t\timages AS i,\n\t\t\t\timages_to_albums AS i_t_a\n\t\t\t\tWHERE a.album_id = i_t_a.image_id\n\t\t\t\tAND i.image_id = i_t_a.image_id\n\t\t\t\tAND "; $array_count = count($array); if ($array_count == 0) { apiConf::$ERROR = 'no ids found'; } else { if ($array_count == 1) { $id = $array[0]; $query .= "a.album_id='{$id}'"; } else { $i = 0; $query .= "("; foreach ($array as $value) { $i++; $query .= "a.album_id='{$value}'"; if ($i < $array_count) { $query .= " OR "; } } $query .= ")"; } $results = $this->query($query); $results_count = count($results); if ($results_count > 0) { $albums = array('data' => array()); foreach ($results as $v) { array_push($albums['data'], $v); } $albums['success'] = true; return $albums; } apiConf::$ERROR = 'get albums failed'; } }
/** * check if albums are available. * @param object $data album ids and amount * @return array error data. */ private function checkAvilable($data) { $albums_ids = $this->escapeString($data['albums']); $albums_amount = $this->escapeString($data['amount']); $albums_count = count($albums_ids); if ($albums_count < 0) { apiConf::$ERROR = 'no ids found'; } else { $query = "SELECT album_stock, album_id\n\t\t\t\t\t\tFROM albums_stock \n\t\t\t\t\t\tWHERE "; $i = 0; foreach ($albums_ids as $value) { $i++; $query .= "album_id='{$value}'"; if ($i < $albums_count) { $query .= " OR "; } } $available_data = $this->query($query); $available_data_count = count($available_data); if ($available_data_count < 0) { apiConf::$ERROR = 'no albums in lists'; } else { $arr = array(); $i = 0; foreach ($available_data as $value) { if ($value['album_stock'] < $albums_amount[$i]) { $arr[$i] = 'Only ' . $value['album_stock'] . ' more units in stack'; } } } } return $arr; }
/** * add user via facebook * @param int $id user facebook id. * @param string $token token from facebook. * @param string $sign string from facebook. * @param string $firstname user firstname. * @param string $lastname user lastname. * @param string $email user email */ public function addFacebookUser($id, $token, $sign, $firstname, $lastname, $email) { $arr = $this->escapeString(array($token, $sign, $firstname, $lastname, $email, $id)); $t = $arr[0]; $s = $arr[1]; $f = $arr[2]; $l = $arr[3]; $e = $arr[4]; $i = $arr[5]; $p = md5($arr[5]); // Password is md5(facebook id) $fb = new FBLogin(); $res = $fb->createSession($t, $s); if ($res) { $query = "INSERT INTO users (`user_email`, `user_password`, `user_firstname`, `user_lastname`) \n\t\t\t\t\t\tVALUES ('{$e}', '{$p}', '{$f}', '{$l}')"; if ($this->_db->query($query)) { $user_id = $this->_db->insert_id; $query = "INSERT INTO fb_users (`user_id`, `user_fb_uid`) \n\t\t\t\t\t\tVALUES ('{$user_id}', '{$i}')"; if ($this->_db->query($query)) { Config::$USER_VARIFIED = true; $arr = array(); $arr['success'] = true; $this->activateUser($e); $arr['auth'] = Config::$USER_AUTH; $this->_db->close(); return $arr; } $this->_db->close(); apiConf::$ERROR = 'facebook registary failed'; } $this->_db->close(); apiConf::$ERROR = 'regular facebook registration failed'; } $this->_db->close(); apiConf::$ERROR = 'facebook validation failed'; }
/** * RCaddFacebookUser * * add user via facebook. * * @param int $id user facebook id. * * @param string $token token from facebook. * * @param string $sign string from facebook. * * @param string $firstname user firstname. * * @param string $lastname user lastname. * * @param string $email user email */ public function RCaddFacebookUser($details_raw) { $details = json_decode($details_raw, true); if (isset($details['id']) && isset($details['token']) && isset($details['sign']) && isset($details['firstname']) && isset($details['lastname']) && isset($details['email'])) { echo json_encode($this->CaddFacebookUser($details['id'], $details['token'], $details['sign'], $details['firstname'], $details['lastname'], $details['email'])); } else { apiConf::$ERROR = 'no params'; } }