rbs@u2
Home
Php_u2
Html #1
Html #2
Html #3
Html #4
JS #1
JS #2
JS #3
JS #4
JsApi #1
JsApi #2
JsApi #3
JsApi #4
JsApi_u4
all-files
ori-v2
master
user
Logout
dsg
tool css
bootstrtap 5.3
auth
profile
waste
waste_group
venue
vehicle
event
comment
notification
discover
post
scanner
to_delete
const fetch = require('node-fetch'); async function discover(v) { let url=`${v.api}/venue/follow-venue/${v.param}`; console.log(url) const res = await fetch(url,{ method: 'POST', body: JSON.stringify(v.body), headers: { 'Content-Type': 'application/json', } }); return res } async function discover(v) { let url=`${v.api}/venue/get-venue/${v.param}`; console.log(url) const res = await fetch(url,{ method: 'POST', body: JSON.stringify(v.body), headers: { 'Content-Type': 'application/json', } }); return res } async function discover(v) { let url=`${v.api}/venue/get-venues-trending/${v.param}`; console.log(url) const res = await fetch(url,{ method: 'POST', body: JSON.stringify(v.body), headers: { 'Content-Type': 'application/json', } }); return res } const venue = { discover, discover, discover, } module.exports = venue
Save
venue_id." and user_id=".$js->user_id; //echo $sql8."
"; $res=mysqli_query($db,$sql); if(mysqli_num_rows($res)==0) { $idt=array( 'venue_id'=>$js->venue_id, 'user_id'=>$js->user_id, ); Insert($db,"venue_follow",$idt,0); $dt['success']=true; $dt['message']="Venue followed"; } else { Delete($db,"venue_follow","venue_id=".$js->venue_id." and user_id=".$js->user_id,0); $dt['success']=true; $dt['message']="Venue unfollowed"; } return $dt; } function get_venue($js){ global $ar,$db; $dt=array(); //{"venue_id":"17807","user_id":67032} $sql="SELECT id,location,cover_photo as url,title,description,logo as logo_url from venues where id=".$js->venue_id; $res=mysqli_query($db,$sql); if(mysqli_num_rows($res)>0) { $r1=mysqli_fetch_assoc($res); $dt=$r1; $dt['cover_photo']['id']=$r1['id']; $dt['cover_photo']['alt']=$r1['title']; $dt['cover_photo']['type']='image'; $dt['cover_photo']['url']=$r1['url']; $dt['logo']['id']=$r1['id']; $dt['logo']['url']=$r1['logo_url']; $sql2="SELECT * from venue_events where venue_id=".$js->venue_id." order by start_date desc"; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res2)>0) { while($r2=mysqli_fetch_assoc($res2)) { $dt['events'][]=$r2; } } else { $dt['events']=[]; } } else { $dt['error']="No venue found with that id"; } return $dt; } function get_venues_trending($js){ global $ar,$db; $dt=array(); //{"user_id":67032,"page":1,"per_page":10,"paginate":false,"filters":"{}"} $page=$js->page; $limit=$js->per_page; $sql="SELECT * from `venues_trending` "; //echo $sql8."
"; $res=mysqli_query($db,$sql); $total_items=mysqli_num_rows($res); $total_pages=ceil($total_items/$limit); $start=($page-1)*$limit; $sql2 = $sql." order by id desc limit ".$start.",".$limit; $res2=mysqli_query($db,$sql2); $a=0; while($r2 = mysqli_fetch_assoc($res2)) { $dt['data'][$a]['ID']=$r2['id']; $dt['data'][$a]['cover_image']=$r2['cover_image']; $dt['data'][$a]['distance']=$r2['distance']; $dt['data'][$a]['logo']=$r2['logo']; $dt['data'][$a]['title']=$r2['title']; $dt['data'][$a]['venue_location']=$r2['venue_location']; $a++; } $dt['total_pages']=$total_pages; $dt['page']=$page; $dt['limit']=$limit; return $dt; } ?>
user_id; $sql4 = "select id from `venues` order by id desc limit 1"; $res4 = mysqli_query($db, $sql4); if(mysqli_num_rows($res4)==1) { $rw4 = mysqli_fetch_assoc($res4); $id2 = $rw4['id']+1; } else { $id2 = 1; } $idt=array( 'id'=>$id2, 'category'=>$js->category, 'user_id'=>$js->user_id, 'title'=>$js->title, 'address'=>$js->address, 'description'=>$js->description, 'lat'=>$js->lat, 'lng'=>$js->lng, 'create_at'=>time(), ); Insert($db,"venues",$idt,0); $data=$js->cover_photo; if(isset($js->cover_photo) && $js->cover_photo!=''){ $image_info = getimagesize($data); $extension = (isset($image_info["mime"]) ? explode('/', $image_info["mime"] )[1]: ""); //$dt['type']=$extension; $tmp_file=$ar['img_path']."users/tmp/".$user_id.".".$extension; $sub_folder=$ar['img_path']."/users/".$user_id; if(!is_dir($sub_folder)){ mkdir($sub_folder, 0755); } $sub_folder_p=$ar['img_path']."/users/".$user_id."/ven"; if(!is_dir($sub_folder_p)){ mkdir($sub_folder_p, 0755); } $new_file=genRandom(10).".".$extension; //$dt['newfile']=$new_file; $data = str_replace('data:image/'.$extension.';base64,', '', $data); $data = str_replace(' ','+',$data); $bin = base64_decode($data); if ($bin === false) { $dt['info']="convert invalid"; } //tmp file file_put_contents($tmp_file, $bin); ini_set('display_errors', '0'); resize_crop_image(1200,760,$tmp_file,$sub_folder_p."/".$new_file); unlink($tmp_file); $sql="SELECT `seq` from `images` where `modul`='venue' and `item_id`=".$id2." order by `seq` desc limit 1"; $res=mysqli_query($db,$sql); if(mysqli_num_rows($res)==1) { $r = mysqli_fetch_assoc($res); $seq2=$r['seq']+1; } else { $seq2=1; } $sql2="SELECT `id` from `images` order by `id` desc limit 1"; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res2)==1) { $r2 = mysqli_fetch_assoc($res2); $id3=$r2['id']+1; } else { $id3=1; } $idt=array( 'id'=>$id3, 'modul'=>'venue', 'item_id'=>$id2, 'seq'=>$seq2, 'create_at'=>time(), 'path'=>$ar['imgurl']."users/".$user_id."/ven/".$new_file, ); Insert($db,"images",$idt,0); $udt=array( 'cover_photo'=>$ar['imgurl']."users/".$user_id."/ven/".$new_file, ); Update($db,"venues",$udt,"id=".$id2,0); } //$dt['success']=true; $dt['message']="Venue added successfull"; return $dt; } function delete_venue($js){ global $ar,$db; $dt=array(); //{"user_id":"3","waste_id":"5"}; $sql="SELECT * from `venues` where id=".$js->venue_id." and user_id=".$js->user_id; //$dt['sql']=$sql; $res=mysqli_query($db,$sql); if(mysqli_num_rows($res)>0) { $r=mysqli_fetch_assoc($res); $udt=array( 'del'=>1, ); Update($db,"venues",$udt,"id=".$js->venue_id,0); //Delete($db,"waste","id=".$js->waste_id,0); $dt['success']=true; $dt['message']="Venue deleted successfully"; } else { $dt['error']=true; $dt['message']="Error delete venue"; } return $dt; } function edit_venue($js){ global $ar,$db; $dt=array(); $user_id=$js->user_id; $venue_id=$js->venue_id; if(isset($js->user_id)) { $udt=array( 'user_id'=>$js->user_id, 'lat'=>$js->lat, 'lng'=>$js->lng, 'title'=>$js->title, 'description'=>$js->description, 'category'=>$js->category, 'address'=>$js->address, 'update_at'=>time(), ); Update($db,"venues",$udt,"id=".$js->venue_id,0); if($js->cover_photo) { $data=$js->cover_photo; $image_info = getimagesize($data); $extension = (isset($image_info["mime"]) ? explode('/', $image_info["mime"] )[1]: ""); $dt['type']=$extension; $tmp_file=$ar['img_path']."users/tmp/".$js->user_id.".".$extension; $sub_folder=$ar['img_path']."/users/".$js->user_id; if(!is_dir($sub_folder)){ mkdir($sub_folder, 0755); } $sub_folder_p=$ar['img_path']."/users/".$js->user_id."/ven"; if(!is_dir($sub_folder_p)){ mkdir($sub_folder_p, 0755); } $new_file=genRandom(10).".".$extension; $dt['newfile']=$new_file; $data = str_replace('data:image/'.$extension.';base64,', '', $data); $data = str_replace(' ','+',$data); $bin = base64_decode($data); if ($bin === false) { //$dt['info']="convert invalid"; } //tmp file file_put_contents($tmp_file, $bin); ini_set('display_errors', '0'); resize_crop_image(1200,760,$tmp_file,$sub_folder_p."/".$new_file); unlink($tmp_file); $sql="SELECT `seq` from `images` where `modul`='venue' and `item_id`=".$js->venue_id." order by `seq` desc limit 1"; $res=mysqli_query($db,$sql); if(mysqli_num_rows($res)==1) { $r = mysqli_fetch_assoc($res); $seq2=$r['seq']+1; } else { $seq2=1; } $sql3="SELECT `id` from `images` order by `id` desc limit 1"; $res3=mysqli_query($db,$sql3); if(mysqli_num_rows($res3)==1) { $r3 = mysqli_fetch_assoc($res3); $id3=$r3['id']+1; } else { $id3=1; } $idt=array( 'id'=>$id3, 'modul'=>'venue', 'item_id'=>$js->venue_id, 'seq'=>$seq2, 'create_at'=>time(), 'path'=>$ar['imgurl']."users/".$js->user_id."/ven/".$new_file, ); Insert($db,"images",$idt,0); $udt=array( 'cover_photo'=>$ar['imgurl']."users/".$js->user_id."/ven/".$new_file, ); Update($db,"venues",$udt,"id=".$js->venue_id,0); } $dt['success']=true; $dt['message']="Update venue successfully"; //$dt['id']=$id2; } else { $dt['error']=true; $dt['message']="Error update venue"; } //$dt['col']=$js; return $dt; } function get_user_venue($js){ global $ar,$db; $dt=array(); $sql="SELECT * from `venues` where del=0 and user_id=".$js->user_id; //echo $sql8."
"; $res=mysqli_query($db,$sql); $total_items=mysqli_num_rows($res); $total_pages=ceil($total_items/$js->limit); $start=($js->page-1)*$js->limit; $sql2 = $sql." order by create_at desc limit ".$start.",".$js->limit; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res)>0) { $c=0; while($r1 = mysqli_fetch_assoc($res2)) { $dt['data'][$c]=$r1; $sql3="SELECT `path` as url from images where `item_id`='".$r1['id']."' and modul='venue'"; //echo $sql8."
"; $res3=mysqli_query($db,$sql3); $d=0; while($r3 = mysqli_fetch_assoc($res3)) { $dt['data'][$c]['media'][$d]=$r3; $d++; } $c++; } $dt['success']=true; $dt['page']=$js->page; $dt['limit']=$js->limit; $dt['total_pages']=$total_pages; $dt['total_items']=$total_items; } else { //$dt['error']=true; //$dt['error']="No posts found for the user"; $dt['data']=[]; $dt['message']="No tagged posts found for the user"; } return $dt; } function get_venue($js){ global $ar,$db; $dt=array(); $sql="SELECT * from `venues` where id=".$js->venue_id; //echo $sql8."
"; $res=mysqli_query($db,$sql); if(mysqli_num_rows($res)>0) { $r1 = mysqli_fetch_assoc($res); $dt['data']=$r1; $sql3="SELECT `path` as url from images where `item_id`='".$r1['id']."' and modul='venue'"; //echo $sql8."
"; $res3=mysqli_query($db,$sql3); $d=0; while($r3 = mysqli_fetch_assoc($res3)) { $dt['data']['media'][$d]=$r3; $d++; } $dt['success']=true; } else { //$dt['error']=true; //$dt['error']="No posts found for the user"; $dt['data']=[]; $dt['message']="No tagged posts found for the user"; } return $dt; } function get_venues($js){ global $ar,$db; $dt=array(); $sql="SELECT * from `venues` where del=0"; //echo $sql8."
"; $res=mysqli_query($db,$sql); $total_items=mysqli_num_rows($res); $total_pages=ceil($total_items/$js->limit); $start=($js->page-1)*$js->limit; $sql2 = $sql." order by create_at desc limit ".$start.",".$js->limit; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res)>0) { $c=0; while($r1 = mysqli_fetch_assoc($res2)) { $dt['data'][$c]=$r1; $sql3="SELECT `path` as url from images where `item_id`='".$r1['id']."' and modul='venue'"; //echo $sql8."
"; $res3=mysqli_query($db,$sql3); $d=0; while($r3 = mysqli_fetch_assoc($res3)) { $dt['data'][$c]['media'][$d]=$r3; $d++; } $c++; } $dt['success']=true; $dt['page']=$js->page; $dt['limit']=$js->limit; $dt['total_pages']=$total_pages; $dt['total_items']=$total_items; } else { //$dt['error']=true; //$dt['error']="No posts found for the user"; $dt['data']=[]; $dt['message']="No tagged posts found for the user"; } return $dt; } function like_venue($js){ global $ar,$db; $dt=array(); $sql2="SELECT `id` from `user_venue_liked` order by `id` desc limit 1"; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res2)==1) { $r2 = mysqli_fetch_assoc($res2); $id2=$r2['id']+1; } else { $id2=1; } $sql1="SELECT * from `user_venue_liked` where venue_id=".$js->venue_id." and user_id=".$js->user_id; $res1=mysqli_query($db,$sql1); if(mysqli_num_rows($res1)==1) { Delete($db,"user_venue_liked","venue_id=".$js->venue_id." and user_id=".$js->user_id,0); $dt['success']=true; $dt['message']="Venue un-liked"; } else { $idt=array( 'id'=>$id2, 'venue_id'=>$js->venue_id, 'user_id'=>$js->user_id, ); Insert($db,"user_venue_liked",$idt,0); $dt['success']=true; $dt['message']="Venue liked"; } return $dt; } function save_venue($js){ global $ar,$db; $dt=array(); $sql2="SELECT `id` from `user_venue_saved` order by `id` desc limit 1"; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res2)==1) { $r2 = mysqli_fetch_assoc($res2); $id2=$r2['id']+1; } else { $id2=1; } $sql1="SELECT * from `user_venue_saved` where venue_id=".$js->venue_id." and user_id=".$js->user_id; $res1=mysqli_query($db,$sql1); if(mysqli_num_rows($res1)==1) { Delete($db,"user_venue_saved","venue_id=".$js->venue_id." and user_id=".$js->user_id,0); $dt['success']=true; $dt['message']="Venue un-save"; } else { $idt=array( 'id'=>$id2, 'venue_id'=>$js->venue_id, 'user_id'=>$js->user_id, ); Insert($db,"user_venue_saved",$idt,0); $dt['success']=true; $dt['message']="Venue saved"; } return $dt; } function update_venue_cover_photo($js){ global $ar,$db; $dt=array(); $user_id=$js->user_id; $venue_id=$js->venue_id; $data=$js->cover_photo; if(isset($js->cover_photo) && $js->cover_photo!=''){ $image_info = getimagesize($data); $extension = (isset($image_info["mime"]) ? explode('/', $image_info["mime"] )[1]: ""); //$dt['type']=$extension; $tmp_file=$ar['img_path']."users/tmp/".$user_id.".".$extension; $sub_folder=$ar['img_path']."/users/".$user_id; if(!is_dir($sub_folder)){ mkdir($sub_folder, 0755); } $sub_folder_p=$ar['img_path']."/users/".$user_id."/ven"; if(!is_dir($sub_folder_p)){ mkdir($sub_folder_p, 0755); } $new_file=genRandom(10).".".$extension; //$dt['newfile']=$new_file; $data = str_replace('data:image/'.$extension.';base64,', '', $data); $data = str_replace(' ','+',$data); $bin = base64_decode($data); if ($bin === false) { $dt['info']="convert invalid"; } //tmp file file_put_contents($tmp_file, $bin); ini_set('display_errors', '0'); resize_crop_image(1200,760,$tmp_file,$sub_folder_p."/".$new_file); unlink($tmp_file); $sql="SELECT `seq` from `images` where `modul`='venue' and `item_id`=".$js->venue_id." order by `seq` desc limit 1"; $res=mysqli_query($db,$sql); if(mysqli_num_rows($res)==1) { $r = mysqli_fetch_assoc($res); $seq2=$r['seq']+1; } else { $seq2=1; } $sql2="SELECT `id` from `images` order by `id` desc limit 1"; $res2=mysqli_query($db,$sql2); if(mysqli_num_rows($res2)==1) { $r2 = mysqli_fetch_assoc($res2); $id3=$r2['id']+1; } else { $id3=1; } $idt=array( 'id'=>$id3, 'modul'=>'venue', 'item_id'=>$js->venue_id, 'seq'=>$seq2, 'create_at'=>time(), 'path'=>$ar['imgurl']."users/".$user_id."/ven/".$new_file, ); Insert($db,"images",$idt,0); $udt=array( 'cover_photo'=>$ar['imgurl']."users/".$user_id."/ven/".$new_file, ); Update($db,"venues",$udt,"id=".$js->venue_id,0); //$dt['idt']=$idt; //$dt['udt']=$udt; $dt['success']=true; $dt['message']="Cover photo update"; } else { $dt['error']=true; $dt['message']="Error update cover photo"; } //$dt['image_url']=$ar['imgurl']."users/".$user_id."/w/".$new_file; return $dt; } ?>
Save
export const maybeFollowVenue = async (venueId) => { const user = await getSessionUser(); if (!user || !user.id) { return null; } const response = await fetch(`${API_URL}/wp-json/app/v1/follow-venue`, { cache: "no-cache", method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ venue_id: venueId, user_id: user.id }), }); const data = await response.json(); return data; } export const fetchVenue = async (venueId) => { const user = await getSessionUser(); const response = await fetch(`${API_URL}/wp-json/app/v1/get-venue`, { cache: "no-cache", method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ venue_id: venueId, user_id: user?.id }), }); const data = await response.json(); if (response.status !== 200) { throw new Error(data.message); } return data; } export const fetchTrendingVenues = async (page, paginate = false, filters = '{}') => { try { const user = await getSessionUser(); if (!user) { throw new Error('Session user not found'); } const response = await fetch(`${API_URL}/wp-json/app/v1/get-venues-trending`, { method: "POST", cache: "force-cache", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, page, per_page: 10, paginate, filters }), }); const data = await response.json(); return data; } catch (error) { console.error(error); return null; } };
import { API_URL, TIMEOUT_MS_HIGHER } from "./consts.js" import { getSessionUser } from "./auth.js"; export const addVenue = async (data) => { try { const user = await getSessionUser() if (!user) return setTimeout(() => { controller.abort() }, TIMEOUT_MS_HIGH) const response = await fetch(`${API_URL}/venue/add-venue`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ ...data, user_id: user.id, }) }) const res = await response.json() return res } catch (error) { if (error.name === 'AbortError') { throw { message: "Failed to add your venue, your connection timed out", name: "TimeOutError" }; } else { throw error; // Rethrow any other errors } } } export const deleteVenue = async (venueId) => { const user = await getSessionUser() if (!user) return const response = await fetch(`${API_URL}/venue/delete-venue`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, venue_id: venueId }), }) const data = await response.json() return data } export const editVenue = async (venueId, data) => { try { const user = await getSessionUser() if (!user) return setTimeout(() => { controller.abort() }, TIMEOUT_MS_HIGH) const response = await fetch(`${API_URL}/venue/edit-venue`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ ...data, venue_id: venueId, user_id: user.id, }) }) const res = await response.json() return res } catch (error) { if (error.name === 'AbortError') { throw { message: "Failed to edit venue, your connection timed out", name: "TimeOutError" }; } else { throw error; // Rethrow any other errors } } } export const getVenueByUserId = async (profilId, page = 1, limit = 10) => { const response = await fetch(`${API_URL}/venue/get-user-venues`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: profilId, page, limit }), }) const data = await response.json() if (response.status !== 200) { return { data: [], total_pages: 0, page: 1, limit } } return data } export const getVenueById = async (venueId) => { const user = await getSessionUser(); const response = await fetch(`${API_URL}/venue/get-venue`, { cache: "no-cache", method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ venue_id: venueId, user_id: user.id }), }); const data = await response.json(); if (response.status !== 200) { throw new Error(data.message); } return data; } export const getVenues = async (page = 1, limit = 10) => { const response = await fetch(`${API_URL}/venue/get-venues`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, page, limit }), }) const data = await response.json() if (response.status !== 200) { return { data: [], total_pages: 0, page: 1, limit } } return data } export const LikeVenue = async (venueId) => { const user = await getSessionUser() if (!user) return const response = await fetch(`${API_URL}/venue/like-venue`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, venue_id: venueId }), }) const data = await response.json() return data } export const SaveVenue = async (venueId) => { const user = await getSessionUser() if (!user) return const response = await fetch(`${API_URL}/venue/save-venue`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, venue_id: venueId }), }) const data = await response.json() return data } export const updateVenueCoverImage = async (wasteId, cover_photo) => { try { const user = await getSessionUser(); if (!user) return; setTimeout(() => { controller.abort() }, TIMEOUT_MS_HIGHER) const response = await fetch(`${API_URL}/venue/update-venue-cover-photo`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, waste_id: wasteId, cover_photo }) }); const data = await response.json(); return data; } catch (error) { if (error.name === 'AbortError') { throw { message: "Failed to update cover photo, your connection timed out", name: "TimeOutError" }; } else { throw error; // Rethrow any other errors } } };
Save
venue
-- follow-venue
-- get-venue
-- get-venues-trending