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'); const waste_group = {
Warning
: Undefined array key "name" in
/home/u340524018/domains/agniaga.com/public_html/sub/u2/cp/inc.filejsapi_u4.php
on line
291
Warning
: foreach() argument must be of type array|object, null given in
/home/u340524018/domains/agniaga.com/public_html/sub/u2/cp/inc.filejsapi_u4.php
on line
291
} module.exports = waste_group
Save
user_id)) { $idt=array( 'id'=>$id2, 'user_id'=>$js->user_id, 'lat'=>$js->lat, 'lng'=>$js->lng, 'label'=>$js->label, 'category'=>$js->category, 'vehicle_id'=>$js->vehicle_id, 'remark'=>$js->remark, 'create_at'=>time(), ); //$dt['idt']=$idt; Insert($db,"waste_group",$idt,0); if(isset($js->cover_photo) && $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."/wg"; 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`='waste_group' 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; } $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'=>'waste_group', 'item_id'=>$id2, 'seq'=>$seq2, 'create_at'=>time(), 'path'=>$ar['imgurl']."users/".$js->user_id."/wg/".$new_file, ); Insert($db,"images",$idt,0); $udt=array( 'cover_photo'=>$ar['imgurl']."users/".$js->user_id."/wg/".$new_file, ); Update($db,"waste_group",$udt,"id=".$id2,0); } $dt['success']=true; $dt['message']="Waste Group Added successfully"; $dt['id']=$id2; } else { $dt['error']=true; $dt['message']="Error Added Waste Group"; } //$dt['col']=$js; return $dt; } function delete_waste_group($js){ global $ar,$db; $dt=array(); //{"user_id":"3","waste_id":"5"}; $sql="SELECT * from `waste_group` where user_id=".$js->user_id." and id=".$js->waste_group_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,"waste_group",$udt,"id=".$js->waste_group_id,0); $dt['success']=true; $dt['message']="Waste Group deleted successfully"; } return $dt; } function drop_waste_group($js){ global $ar,$db; $dt=array(); $udt=array( 'quantity_total'=>$js->quantity_total, 'drop_to'=>$js->receiver_id, 'drop_venue'=>$js->receiver_venue_id, 'drop_at'=>time(), ); Update($db,"waste_group",$udt,"id=".$js->waste_group_id,0); if(isset($js->cover_photo) && $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."/wg"; 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`='waste_group_drop' and `item_id`=".$js->waste_group_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'=>'waste_group_drop', 'item_id'=>$js->waste_group_id, 'seq'=>$seq2, 'create_at'=>time(), 'path'=>$ar['imgurl']."users/".$js->user_id."/wg/".$new_file, ); Insert($db,"images",$idt,0); $udt=array( 'drop_photo'=>$ar['imgurl']."users/".$js->user_id."/wg/".$new_file, ); Update($db,"waste_group",$udt,"id=".$js->waste_group_id,0); } $dt['success']=true; $dt['message']="Group waste drop successfull"; return $dt; } function edit_waste_group($js){ global $ar,$db; $dt=array(); if(isset($js->user_id)) { $udt=array( 'user_id'=>$js->user_id, 'lat'=>$js->lat, 'lng'=>$js->lng, 'label'=>$js->label, 'category'=>$js->category, 'vehicle_id'=>$js->vehicle_id, 'remark'=>$js->remark, 'update_at'=>time(), ); //$dt['idt']=$idt; Update($db,"waste_group",$udt,"id=".$js->waste_group_id,0); if(isset($js->cover_photo) && $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."/wg"; 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`='waste_group' and `item_id`=".$js->waste_group_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'=>'waste_group', 'item_id'=>$js->waste_group_id, 'seq'=>$seq2, 'create_at'=>time(), 'path'=>$ar['imgurl']."users/".$js->user_id."/wg/".$new_file, ); Insert($db,"images",$idt,0); $udt=array( 'cover_photo'=>$ar['imgurl']."users/".$js->user_id."/wg/".$new_file, ); Update($db,"waste_group",$udt,"id=".$js->waste_group_id,0); } $dt['success']=true; $dt['message']="Waste Group Edit successfully"; $dt['id']=$id2; } else { $dt['error']=true; $dt['message']="Error Edit Waste Group"; } //$dt['col']=$js; return $dt; } function get_user_waste_group($js){ global $ar,$db; $dt=array(); $sql="SELECT * from waste_group 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); $dt['sql']=$sql2; if(mysqli_num_rows($res)>0) { $c=0; while($r1 = mysqli_fetch_assoc($res2)) { $dt['data'][$c]=$r1; $sql3="SELECT `path` as url,id from images where `item_id`='".$r1['id']."' and modul='waste_group'"; //echo $sql8."
"; $res3=mysqli_query($db,$sql3); $d=0; while($r3 = mysqli_fetch_assoc($res3)) { $dt['data'][$c]['media'][$d]=$r3; $d++; } $sql4="SELECT a.* from wastes a JOIN waste_to_group b ON a.id=b.waste_id where b.`waste_group_id`=".$r1['id']; //echo $sql8."
"; $res4=mysqli_query($db,$sql4); $e=0; while($r4 = mysqli_fetch_assoc($res4)) { $dt['data'][$c]['waste'][$e]=$r4; $e++; } $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 data from this user"; } return $dt; } function get_waste_group($js){ global $ar,$db; $dt=array(); $sql="SELECT * from `waste_group` where del=0 and id=".$js->waste_group_id; //echo $sql8."
"; $dt['sql'][]=$sql; $res=mysqli_query($db,$sql); $total_items=mysqli_num_rows($res); if(mysqli_num_rows($res)>0) { $r1 = mysqli_fetch_assoc($res); $dt['data']=$r1; $sql3="SELECT * from images where `item_id`='".$r1['id']."' and modul='waste_group'"; //echo $sql8."
"; $dt['sql'][]=$sql3; $res3=mysqli_query($db,$sql3); $d=0; while($r3 = mysqli_fetch_assoc($res3)) { $dt['data']['media'][$d]=$r3; $d++; } $sql4="SELECT a.* from wastes a JOIN waste_to_group b ON a.id=b.waste_id where b.`waste_group_id`=".$r1['id']; //echo $sql8."
"; $dt['sql'][]=$sql4; $res4=mysqli_query($db,$sql4); $e=0; while($r4 = mysqli_fetch_assoc($res4)) { $dt['data']['waste'][$e]=$r4; $e++; } $dt['success']=true; } else { $dt['data']=[]; $dt['message']="Data not available"; } return $dt; } function get_waste_groups($js){ global $ar,$db; $dt=array(); $sql="SELECT * from `waste_group` 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); $dt['sql']=$sql2; if(mysqli_num_rows($res)>0) { $c=0; while($r1 = mysqli_fetch_assoc($res2)) { $dt['data'][$c]=$r1; $sql3="SELECT * from images where `item_id`='".$r1['id']."' and modul='waste_group'"; //echo $sql8."
"; $res3=mysqli_query($db,$sql3); $d=0; while($r3 = mysqli_fetch_assoc($res3)) { $dt['data'][$c]['media'][$d]=$r3; $d++; } $sql4="SELECT a.* from wastes a JOIN waste_to_group b ON a.id=b.waste_id where b.`waste_group_id`=".$r1['id']; //echo $sql8."
"; $res4=mysqli_query($db,$sql4); $e=0; while($r4 = mysqli_fetch_assoc($res4)) { $dt['data'][$c]['waste'][$e]=$r4; $e++; } $c++; } $dt['success']=true; $dt['page']=$js->page; $dt['limit']=$js->limit; $dt['total_items']=$total_items; $dt['total_pages']=$total_pages; } else { $dt['data']=[]; $dt['message']="Data not found"; } return $dt; } function like_waste_group($js){ global $ar,$db; $dt=array(); $sql2="SELECT `id` from `user_waste_group_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_waste_group_liked` where waste_group_id=".$js->waste_group_id." and user_id=".$js->user_id; $res1=mysqli_query($db,$sql1); if(mysqli_num_rows($res1)==1) { Delete($db,"user_waste_group_liked","waste_group_id=".$js->waste_group_id." and user_id=".$js->user_id,0); $dt['success']=true; $dt['message']="Waste Group un-liked"; } else { $idt=array( 'id'=>$id2, 'waste_group_id'=>$js->waste_group_id, 'user_id'=>$js->user_id, ); Insert($db,"user_waste_group_liked",$idt,0); $dt['success']=true; $dt['message']="Waste group liked"; } return $dt; } function save_waste_group($js){ global $ar,$db; $dt=array(); $sql2="SELECT `id` from `user_waste_group_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_waste_group_saved` where waste_group_id=".$js->waste_group_id." and user_id=".$js->user_id; $res1=mysqli_query($db,$sql1); if(mysqli_num_rows($res1)==1) { Delete($db,"user_waste_group_saved","waste_group_id=".$js->waste_group_id." and user_id=".$js->user_id,0); $dt['success']=true; $dt['message']="Waste Group un-saved"; } else { $idt=array( 'id'=>$id2, 'waste_group_id'=>$js->waste_group_id, 'user_id'=>$js->user_id, ); Insert($db,"user_waste_group_saved",$idt,0); $dt['success']=true; $dt['message']="Waste group saved"; } return $dt; } function update_waste_group_cover_photo($js){ global $ar,$db; $dt=array(); $user_id=$js->user_id; $waste_group_id=$js->waste_group_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."/wg"; 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`='waste_group' and `item_id`=".$js->waste_group_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'=>'waste_group', 'item_id'=>$js->waste_group_id, 'seq'=>$seq2, 'create_at'=>time(), 'path'=>$ar['imgurl']."users/".$user_id."/wg/".$new_file, ); Insert($db,"images",$idt,0); $udt=array( 'cover_photo'=>$ar['imgurl']."users/".$user_id."/wg/".$new_file, ); Update($db,"waste_group",$udt,"id=".$js->waste_group_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
import { API_URL, TIMEOUT_MS_HIGHER } from "./consts.js" import { getSessionUser } from "./auth.js"; export const addWasteGroup = async (data) => { try { const user = await getSessionUser(); if (!user || !user.id) return null; const response = await fetch(`${API_URL}/waste_group/add-waste-group`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, ...data }), }); const res = await response.json(); return res; } catch (e) { console.error("Error updating post", e.message); return null; } }; export const deleteWasteGroup = async (wasteGroupId) => { const user = await getSessionUser() if (!user) return const response = await fetch(`${API_URL}/waste_group/delete-waste-group`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, waste_group_id: wasteGroupId }), }) const data = await response.json() return data } export const dropWasteGroup = async (wasteGroupId, ownerId) => { const user = await getSessionUser() if (!user) return try { const response = await fetch(`${API_URL}/waste_group/drop-waste-group`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, waste_group_id: wasteGroupId }), }) const data = await response.json() if (!response.ok || response.status !== 200) { throw new Error(data.message) } return data } catch (e) { console.error("Error drop waste group") throw new Error(e.message) } } export const editWasteGroup = async (wasteGroupId, data) => { try { const user = await getSessionUser(); if (!user || !user.id) return null; const response = await fetch(`${API_URL}/waste_group/edit-waste-group`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, waste_group_id: wasteGeroupId, ...data }), }); const res = await response.json(); return res; } catch (e) { console.error("Error updating waste", e.message); return null; } }; export const getWasteGroupByUserId = async (profilId, page = 1, limit = 10) => { const response = await fetch(`${API_URL}/waste_group/get-user-waste-group`, { 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 getWasteGroup = async (wasteGroupId) => { const response = await fetch(`${API_URL}/waste_group/get-waste-group`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, waste_group_id: wasteGroupId, }), }) const data = await response.json() if (response.status !== 200) { return { data: [], total_pages: 0, page: 1, limit } } return data } export const getWasteGroups = async (page = 1, limit = 10) => { const response = await fetch(`${API_URL}/waste_group/get-waste-groups`, { 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 LikeWasteGroup = async (wasteGroupId) => { const user = await getSessionUser() if (!user) return const response = await fetch(`${API_URL}/waste_group/like-waste-group`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, waste_group_id: wasteGroupId }), }) const data = await response.json() return data } export const SaveWasteGroup = async (wasteGroupId) => { const user = await getSessionUser() if (!user) return const response = await fetch(`${API_URL}/waste_group/save-waste-group`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ user_id: user.id, waste_group_id: wasteGroupId }), }) const data = await response.json() return data } export const updateWasteGroupCoverImage = async (wasteId, cover_photo) => { try { const user = await getSessionUser(); if (!user) return; setTimeout(() => { controller.abort() }, TIMEOUT_MS_HIGHER) const response = await fetch(`${API_URL}/waste_group/update-waste-group-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
waste_group