JezK
Edit File: admin_functions.php
<?php include_once("connect.php"); ini_set("memory_limit","512M"); ini_set('max_execution_time', 8000); session_start(); class adm_functions { function admin_login($email,$pass){ $response = ''; $db = new connect(); $m = $db->connect(); $collection = $m->adminusers; $id = ''; $query = array("username" => $email,"password"=>$pass ); $fields = array("username"); $cursor1 = $collection->find($query, $fields); foreach($cursor1 as $doc){ $_SESSION['username'] = $doc['username']; $_SESSION['adminid'] = $doc['_id']->{'$id'}; $id=$doc['_id']->{'$id'}; } if( $id == ''){ $response = "100"; }else{ $response = "200"; } return $response; } function get_registed_users(){ $db = new connect(); $m = $db->connect(); $result = ""; $collection = $m->users; $query = array("user_type"=>1); $fields = array(); $result = $collection->count($query,$fields); return $result; } function get_registed_guestusers(){ $db = new connect(); $m = $db->connect(); $result = ""; $collection = $m->users; $query = array("user_type"=>2); $fields = array(); $result = $collection->count($query,$fields); return $result; } function get_active_users(){ $db = new connect(); $m = $db->connect(); $data = ""; $collection = $m->users; //$query = array("activestatus" => "1"); $firstExpression=array("user_type"=>1); $secondExpression = array('$or'=>array(array("activestatus"=>'1'),array("activestatus"=>1))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields = array(); //$result = $collection->count($query,$fields); $result = $collection->find($query, $fields); foreach ($result as $document) { //print_r($document); $data1['name']=$document["name"]; $data1['newscount'] =$this->news_count($document['_id']->{'$id'}); $data[]=$data1; } return $data; //return $result; } function get_active_users5daysHistory($type){ $cdate=date('Y-m-d'); $prev_date = date('Y-m-d', strtotime($cdate .' -5 day')); $db = new connect(); $m = $db->connect(); $result = array(); $startdate=new MongoDate(strtotime($prev_date."T00:00:00.0Z")); $enddate=new MongoDate(strtotime($cdate."T00:00:00.0Z")); $collection = $m->userActiveHistory; if($type==0) { $firstExpression=array("user_type"=>1); $secondExpression=array("visted_date"=>array('$lte'=> $enddate, '$gte'=> $startdate)); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields = array(); } else { $firstExpression=array("uid" =>$type); $secondExpression=array("user_type"=>1); $thirdexpression=array("visted_date"=>array('$lte'=> $enddate, '$gte'=> $startdate)); $query = array('$and'=>array($firstExpression,$secondExpression,$thirdexpression)); $fields = array(); } $result = $collection->count($query,$fields); return $result; } function get_active_guestusers(){ $db = new connect(); $m = $db->connect(); $result = ""; $collection = $m->users; $firstExpression=array("user_type"=>2); $secondExpression = array('$or'=>array(array("activestatus"=>'1'),array("activestatus"=>1))); $query = array('$and'=>array($firstExpression,$secondExpression)); $result = $collection->count($query,$fields); return $result; } function getAllGuestUsers() { $db = new connect(); $m = $db->connect(); $data = array(); $data1 = array(); $collection = $m->users; $firstExpression=array('user_type'=>2); //$secondExpression=array('$or'=>array(array("activestatus"=>"1"),array("activestatus"=>1))); //$query = array('$and'=>array($firstExpression,$secondExpression)); $query = array('$and'=>array($firstExpression)); $fields = array(); $categories = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($categories as $document) { $check=$this->get_active_guestuserslast5days($document['_id']->{'$id'}); if($check>0) { $data1['name']=$document["name"]; $data1['phonenumber']=$document["phonenumber"]; $data1['activestatus']=$document["activestatus"]; $data1['status']=$document["status"]; if($document["state"]!='') $data1['state']=$this->get_statename($document["state"]); else $data1['state']=''; if($document["district"]!='') $data1['district']=$this->get_districtName($document["district"]); else $data1['district']=''; if($document["mandal"]!='') $data1['mandal']=$this->get_mandalName($document["mandal"]); else $data1['mandal']=''; if($document["city"]!='') $data1['city']=$this->get_cityName($document["city"]); else $data1['city']=''; $data1['postcount']= $this->post_count($document['_id']->{'$id'}); $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } } return $data; } function get_active_guestuserslast5days($type){ $cdate=date('Y-m-d'); $prev_date = date('Y-m-d', strtotime($cdate .' -5 day')); $db = new connect(); $m = $db->connect(); $startdate=new MongoDate(strtotime($prev_date."T00:00:00.0Z")); $enddate=new MongoDate(strtotime($cdate."T00:00:00.0Z")); $collection = $m->userActiveHistory; $firstExpression=array("user_type"=>2); $secondExpression=array("uid"=>$type); $thirdexpression=array("visted_date"=>array('$lte'=> $enddate, '$gte'=> $startdate)); $query = array('$and'=>array($firstExpression,$secondExpression,$thirdexpression)); $fields = array(); $result = $collection->count($query,$fields); return $result; } function news_count($newsid){ $db = new connect(); $m = $db->connect(); $collection = $m->news; $query = array("_id" => new MongoId($newsid)); $fields = array(); $result = $collection->count($query,$fields); return $result; } function get_news_post_count(){ $db = new connect(); $m = $db->connect(); $collection = $m->news; $query = array(); $fields = array(); $result = $collection->count($query,$fields); return $result; } function block_user($uid,$status){ $db = new connect(); $m = $db->connect(); $collection = $m->users; $query = array("_id" => new MongoId($uid)); $fields = array("status"=>$status); $result = $collection->update($query,array('$set'=>$fields)); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function newsBlock($uid,$status){ $db = new connect(); $m = $db->connect(); $collection = $m->news; $query = array("_id" => new MongoId($uid)); $fields = array("block_news"=>$status); $result = $collection->update($query,array('$set'=>$fields)); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function add_category($post){ $db = new connect(); $m = $db->connect(); $collection = $m->categories; $document = array("name_en"=>$post['categoryname_english'],"name_te"=>$post['categoryname']); $result = $collection->insert($document); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function insert_contact($post){ //print_r($post); //exit; $dt=gmdate(DATE_W3C); $db = new connect(); $m = $db->connect(); $collection = $m->admincontacts; $document = array("name"=>$post['name'],"email"=>$post['email'],"message"=>$post['message'],"created_dt"=>$dt); $result = $collection->insert($document); $email="kkreddy@krify.net"; //$email="lathif@krify.net"; $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; $headers.= 'From:Kaburu' . "\r\n"; $subject="Contact request - Kaburu"; $message="<table><tr><td>Name</td><td>:</td><td>".$post['name']."</td></tr> <tr><td>Email</td><td>:</td><td>".$post['email']."</td></tr> <tr><td>Message</td><td>:</td><td>".$post['message']."</td></tr> </table> <br><br> Regards,<br><br> ".ucfirst($post['name'])."<br>"; //echo $message;exit; $code=@mail($email,$subject,$message,$headers); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } public function insert_state($post){ $db = new connect(); $m = $db->connect(); $collection = $m->states; $code = "100"; $query = array("statename" => $post['statename'] ); $fields = array("statename"); $cursor1 = $collection->find($query, $fields); $statecount = $collection->count($query, $fields); if($statecount == 0){ $document = array("statename"=>$post['statename']); $result = $collection->insert($document); $code = "200"; } return $code; } public function insert_state2($add_state2){ $db = new connect(); $m = $db->connect(); $collection = $m->states; $code = "100"; //$query = array("statename" => $add_state2); $query =array('statename'=>array('$regex'=>'^'.$add_state2.'$','$options'=>"i")); $fields = array("statename"); $cursor1 = $collection->find($query, $fields); $statecount = $collection->count($query, $fields); if($statecount == 0){ $document = array("statename"=>$add_state2); $result = $collection->insert($document); $code = "200"; } return $code; } function update_state2($edit_state,$edit_id){ $db = new connect(); $m = $db->connect(); $collection = $m->states; $query = array("_id" => new MongoId($edit_id)); $fields = array("statename"=>$edit_state); $result = $collection->update($query,array('$set'=>$fields)); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } public function insert_district2($new_district_name,$dis_id){ $db = new connect(); $m = $db->connect(); $collection = $m->districts; $code = "100"; //$query = array("districtname" => $new_district_name,"state_id"=>$dis_id); $firstExpression =array('districtname'=>array('$regex'=>'^'.$new_district_name.'$','$options'=>"i")); $secondExpression = array("state_id"=>$dis_id); $fields = array("districtname"); $query = array('$and'=>array($firstExpression,$secondExpression)); $statecount = $collection->find($query, $fields)->count(); if($statecount == 0){ $new_district_name = str_replace('\\','',$new_district_name); $document = array("districtname"=>$new_district_name,"state_id"=>$dis_id); $result = $collection->insert($document); $code = "200"; } return $code; } //update district function update_district2($edit_dis_sid,$edit_dis_id,$edit_new_district2){ $db = new connect(); $m = $db->connect(); $collection = $m->districts; $query = array("_id" => new MongoId($edit_dis_id)); $edit_new_district2 = str_replace('\\','',$edit_new_district2); $fields = array("districtname"=>$edit_new_district2,"state_id"=>$edit_dis_sid); $result = $collection->update($query,array('$set'=>$fields)); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } public function insert_district($post){ $db = new connect(); $m = $db->connect(); $collection = $m->districts; $code = "100"; $query = array("districtname" => $post['districtname'],"state_id"=>$post['state']); $fields = array("districtname"); $cursor1 = $collection->find($query, $fields); $statecount = $collection->count($query, $fields); if($statecount == 0){ $document = array("districtname"=>$post['districtname'],"state_id"=>$post['state']); $result = $collection->insert($document); $code = "200"; } return $code; } public function insert_mandal2($mandal_district_id,$add_new_mandal2){ $db = new connect(); $m = $db->connect(); $collection = $m->mandalas; $code = "100"; $firstExpression =array('mandalname'=>array('$regex'=>'^'.$add_new_mandal2.'$','$options'=>"i")); $secondExpression = array("district_id" => $mandal_district_id); $fields = array("mandalname"); $query = array('$and'=>array($firstExpression,$secondExpression)); $statecount = $collection->find($query, $fields)->count(); if($statecount == 0){ $add_new_mandal2 = str_replace('\\','',$add_new_mandal2); $document = array("district_id"=>$mandal_district_id,"mandalname"=>$add_new_mandal2); $result = $collection->insert($document); $code = "200"; } return $code; } //update mandal function update_mandal2($edit_mandal_id,$emandal_district_id,$edit_new_mandal2){ $db = new connect(); $m = $db->connect(); $collection = $m->mandalas; $query = array("_id" => new MongoId($edit_mandal_id)); $edit_new_mandal2 = str_replace('\\','',$edit_new_mandal2); $fields = array("district_id"=>$emandal_district_id,"mandalname"=>$edit_new_mandal2); $result = $collection->update($query,array('$set'=>$fields)); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } public function insert_city2($mandal,$new_city_name){ $db = new connect(); $m = $db->connect(); $collection = $m->cities; $code = "100"; //$query = array("mandal_id" => $mandal,"cityname"=>$new_city_name); $firstExpression =array('cityname'=>array('$regex'=>'^'.$new_city_name.'$','$options'=>"i")); $secondExpression = array("mandal_id" => $mandal); $fields = array("cityname"); $query = array('$and'=>array($firstExpression,$secondExpression)); //echo json_encode($query);exit; //print_r($query);exit; //$cursor1 = $collection->find($query, $fields); $statecount = $collection->find($query, $fields)->count(); //echo "hi".$statecount;exit; if($statecount == 0){ $new_city_name = str_replace('\\','',$new_city_name); $document = array("mandal_id"=>$mandal,"cityname"=>$new_city_name); $result = $collection->insert($document); $code = "200"; } return $code; } //update city function update_city2($cityid,$mandal,$edit_city_name2){ $db = new connect(); $m = $db->connect(); $collection = $m->cities; $query = array("_id" => new MongoId($cityid)); $edit_city_name2 = str_replace('\\','',$edit_city_name2); $fields = array("cityname"=>$edit_city_name2,"mandal_id"=>$mandal); $result = $collection->update($query,array('$set'=>$fields)); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } public function insert_mandal($post){ $db = new connect(); $m = $db->connect(); $collection = $m->mandalas; $code = "100"; $query = array("district_id" => $post['district'],"mandalname"=>$post['mandalname']); $fields = array("mandalname"); $cursor1 = $collection->find($query, $fields); $statecount = $collection->count($query, $fields); if($statecount == 0){ $document = array("district_id"=>$post['district'],"mandalname"=>$post['mandalname']); $result = $collection->insert($document); $code = "200"; } return $code; } public function insert_city($post){ $db = new connect(); $m = $db->connect(); $collection = $m->cities; $code = "100"; $query = array("mandal_id" => $post['mandal'],"cityname"=>$post['cityname']); $fields = array("cityname"); $cursor1 = $collection->find($query, $fields); $statecount = $collection->count($query, $fields); if($statecount == 0){ $document = array("mandal_id"=>$post['mandal'],"cityname"=>$post['cityname']); $result = $collection->insert($document); $code = "200"; } return $code; } public function delete_state($id){ $db = new connect(); $m = $db->connect(); $collection = $m->states; $query = array("_id" => new MongoId($id)); $result = $collection->remove($query); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function get_category(){ $db = new connect(); $m = $db->connect(); $data = array(); $collection = $m->categories; $query =array(); $fields = array("_id","name_en","name_te"); $categories = $collection->find($query, $fields); $categories->sort(array('order'=>-1)); foreach ($categories as $document) { //print_r($document); $data1['name_te']=$document["name_te"]; $data1['name_en']=$document["name_en"]; $data1['id'] =$document['_id']->{'$id'}; $data1['count'] =$this->news_count_bycategory($document['_id']->{'$id'}); $data[]=$data1; } return $data; } function news_count_bycategory($cid){ $db = new connect(); $m = $db->connect(); $collection = $m->news; $query =array('category'=>$cid); $fields = array(); $count = $collection->count($query, $fields); return $count; } function insert_news($post,$file){ $db = new connect(); $m = $db->connect(); $username = $_SESSION['username']; $version_update=2; if($post['language'] == "en"){ $title = $post['newstitle']; $description = $post['descriptionenglish']; }else{ $title = $post['newstitletelugu']; $description = $post['descriptiontelugu']; } /*Commented on 24Feb2018 $filter=array("sex","sexy"); $filtertelugu=array("సెక్స్","శృంగారం"); //$searchdata = array($title,$description);*/ $filename = $file['media']['name']; $ext = pathinfo($file['media']['name'], PATHINFO_EXTENSION); $extsudio = pathinfo($file['audiomedia']['name'], PATHINFO_EXTENSION); $type = 0; if($filename != ''){ if($ext == 'gif' || $ext == 'png' || $ext == 'jpg' || $ext == 'jpeg'){ $type = 1; } else { $type = 2; } } //multiple images upload on 18Jan2018 $newmedia=array(); for($i=0;$i<count($_FILES['media_array']['name']);$i++) { $duration=date("Ymdhis"); $filename=$duration.str_replace(' ', '_',$_FILES['media_array']['name'][$i]); $target_dir = "../uploads/pics/"; $target_dir1 = "/uploads/pics/"; $target_file = $target_dir .$filename; $target_file1 = $target_dir1 .$filename; if(move_uploaded_file($_FILES["media_array"]["tmp_name"][$i], $target_file)) { $tfilename=$filename; //$media = $target_file1; $newmedia[]=$target_file1; $type="1"; $mediatype = 1; } } if($file['media']['name']!='') { $mediatype = 2; $type="2"; $duration=date("Ymdhis"); $filename=$duration.str_replace(' ', '_',$file['media']['name']); $target_dir = "../uploads/videos/"; $target_file = $target_dir .$filename; $target_dir1 = "/uploads/videos/"; $target_file1 = $target_dir1 .$filename; if(move_uploaded_file($file["media"]["tmp_name"], $target_file)) { $tfilename=$filename; $media = $target_file1; //upload video file name capture picture $image=''; $imageFileName=$duration."video.jpg"; //live server shell command shell_exec("ffmpeg -i /home/kaburu/public_html/uploads/videos/".$filename." -vcodec mjpeg -vframes 1 -an -f rawvideo -ss `ffmpeg -i /home/kaburu/public_html/uploads/videos/".$filename." 2>&1 | grep Duration | awk '{print $2}' | tr -d , | awk -F ':' '{print ($3+$2*60+$1*3600)/2}'` /home/kaburu/public_html/uploads/images/'".$imageFileName."'"); $image="/uploads/images/".$imageFileName; //dev server shell command /*shell_exec("ffmpeg -i /home/devkrify/public_html/kaburu/uploads/videos/".$filename." -vcodec mjpeg -vframes 1 -an -f rawvideo -ss `ffmpeg -i /home/devkrify/public_html/kaburu/uploads/videos/".$filename." 2>&1 | grep Duration | awk '{print $2}' | tr -d , | awk -F ':' '{print ($3+$2*60+$1*3600)/2}'` /home/devkrify/public_html/kaburu/uploads/images/'".$imageFileName."'"); $image="/uploads/images/".$imageFileName;*/ } } $resultduration=''; $duration=date("Ymdhis"); $fileaudio=$duration.str_replace(' ', '_',$file['audiomedia']['name']); $target_dir_image = "../uploads/media/"; $target_file_image = $target_dir_image .$fileaudio; $target_dirimage = "/uploads/media/"; $target_file_image1 = $target_dirimage .$fileaudio; if(move_uploaded_file($file["audiomedia"]["tmp_name"], $target_file_image)) { //$tfilename = $filename; $audio_image = $target_file_image1; $file=$fileaudio; $filepath1='/home/kaburu/public_html/uploads/media/'; //live //$filepath1='/home/devkrify/public_html/kaburu/uploads/media/'; //dev // Discriminate only the audio/video files you want if(preg_match('/[^?#]+\.(?:wma|mp3|wav|mp4|m4a)/', strtolower($file))){ $filepath =$filepath1.$fileaudio; // execute ffmpeg form linux shell and grab duration from output $result = shell_exec("ffmpeg -i ".$filepath.' 2>&1 | grep -o \'Duration: [0-9:.]*\''); $duration = str_replace('Duration: ', '', $result); // 00:05:03.25 $gotDurationTime=explode(".",$duration); $resultduration=$gotDurationTime[0]; //get the duration in seconds /*$timeArr = preg_split('/:/', str_replace('s', '', $duration[0])); $t = $this->_times[$file] = (($timeArr[3])? $timeArr[3]*1 + $timeArr[2] * 60 + $timeArr[1] * 60 * 60 : $timeArr[2] + $timeArr[1] * 60)*1000;*/ } } //$postdatetime = date('Y-m-d H:i:s'); $postdatetime = new MongoDate(strtotime(date('Y-m-d 23:59:59'))); $expdate1 = str_replace("/","-",$post['end_date']); $expdate = new MongoDate(strtotime(date('Y-m-d 23:59:59',strtotime($expdate1)))); /*foreach($filter as $k=>$val){ $found=preg_grep ('/'.$val.'/', $searchdata); if($found) { $matches[] = $found; } } foreach($filtertelugu as $k=>$val){ $found=preg_grep ('/'.$val.'/', $searchdata); if($found) { $matchestelugu[] = $found; } }*/ /*Youtube url sharing*/ if($post['youtubeUrl']!='') { $youtubeUrl=$post['youtubeUrl']; $type="3";//youtubeUrl } else { $youtubeUrl=''; } /* if (count($matches) > 0 || count($matchestelugu) > 0) { $collection = $m->filternews; $document = array("uid"=>$username,"title"=>$title,"category"=>$post['category'],'type'=>$type,'media'=>$media,'image'=>$image,'piclat'=>'','piclog'=>'','userlot'=>'','userlog'=>'','city'=>$post['city'],'state'=>$post['state'],'mandal'=>$post['mandal'],'district'=>$post['district'],"description"=>$description,"expdate"=>$expdate,'audio'=>$audio_image,'language'=>$post['language'],'version_update'=>$version_update,'postdate'=>new MongoDate(),'block_news'=>0,'editedby'=>0); } else {*/ $collection = $m->news; $document = array("uid"=>$username,"title"=>$title,"category"=>$post['category'],'type'=>$type,'media'=>$media,'image'=>$image,'piclat'=>'','piclog'=>'','userlot'=>'','userlog'=>'','city'=>$post['city'],'state'=>$post['state'],'mandal'=>$post['mandal'],'district'=>$post['district'],"description"=>$description,"expdate"=>$expdate,'audio'=>$audio_image,'language'=>$post['language'],'version_update'=>$version_update,'postdate'=>new MongoDate(),'block_news'=>0,'editedby'=>0,'youtubeUrl'=>$youtubeUrl,'duration'=>$resultduration); // } $result = $collection->insert($document); $insertid = $document['_id']->{'$id'}; //insert multiple images $dt=gmdate("Y-m-d H:m:s"); $collection = $m->news_media; for($i=0;$i<count($newmedia);$i++) { $dt=date("Y-m-d H:m:i"); $insert_images=array("media"=>$newmedia[$i],"news_id"=>$insertid,"created_dt"=>$dt); $res = $collection->insert($insert_images); } $sendNotification=$this->sendCityBasedNotification($title,$insertid,$post['language'],$post['city']); return $insertid; } function get_news(){ $db = new connect(); $m = $db->connect(); $collection = $m->news; $data = array(); $data1 = array(); $query =array(); $fields = array(); $news = $collection->find($query, $fields); foreach ($news as $document) { $data1['name']=$document["name"]; $data1['email']=$document["email"]; $data1['postcount']=$document["email"]; $data1['postcount']= $this->post_count($document['_id']->{'$id'}); $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_smslog(){ $db = new connect(); $m = $db->connect(); $collection = $m->smshistory; $query =array(); $fields = array(); $news = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($news as $document) { $data1['transid']=$document["messageid"]; $data1['status']=$document["status"]; $data1['mobilenumber']=$document["mobilenumber"]; $data1['otp']=$document["otp"]; $data1['dttime']=$document["sent_date"]; $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_smsReportsFromAdmin(){ $db = new connect(); $m = $db->connect(); $collection = $m->smsReportAdmin; $query =array(); $fields = array(); $news = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($news as $document) { //print_r($document);exit; $data1['phonenumber']=$document["phonenumber"]; $data1['message']=$document["message"]; $userData=$this->get_single_user($document["user_id"]); if(count($userData)>0) { $data1['name']=$userData["name"]; $data1['otp']=$userData["otp"]; $data1['state']=$userData["state"]; $data1['district']=$userData["district"]; $data1['mandal']=$userData["mandal"]; $data1['city']=$userData["city"]; } else { $data1['name']=""; $data1['otp']=""; $data1['state']=""; $data1['district']=""; $data1['mandal']=""; $data1['city']=""; } $data1['reportDate']=$document["reportDate"]; $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_filternews(){ $db = new connect(); $m = $db->connect(); $collection = $m->filternews; $query =array(); $fields = array(); $news = $collection->find($query, $fields)->sort(array("_id"=>-1)); //$resultdata = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($news as $document) { $data1['title']=$document["title"]; // $data1['postdate']=$document["postdate"]; $data1['postdate']=Date('Y-m-d H:i:s',$document["postdate"]->{'sec'}); $collectionadmin = $m->adminusers; $queryadmin = array(); $fieldsadmin = array(); $adminusers = $collectionadmin->find($queryadmin, $fieldsadmin); foreach ($adminusers as $admin) { $names[] = $admin['username']; } if(in_array($document["uid"], $names)) { $data1['owner'] = $this->adminusername($document["uid"]); } else { $data1['owner']=$this->user_name($document["uid"]); } $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_news_post(){ $db = new connect(); $m = $db->connect(); $collection = $m->news; $data1 = array(); $query =array(); $fields = array(); $username = $_SESSION['username']; $news = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($news as $document) { $data1['title']=$document["title"]; $data1['block_news']=$document["block_news"]; //$data1['postdate']=$document["postdate"]; $data1['postdate']=Date('Y-m-d H:i:s',$document["postdate"]->{'sec'}); $data1['id'] =$document['_id']->{'$id'}; //~ $collectionadmin = $m->adminusers; //~ $queryadmin = array(); //~ $fieldsadmin = array(); //~ $adminusers = $collectionadmin->find($queryadmin, $fieldsadmin); //~ foreach ($adminusers as $admin) //~ { //~ $names[] = $admin['username']; //~ } //~ //~ if(in_array($document["uid"], $names)) //~ { //~ $data1['owner'] = $this->adminusername($document["uid"]); //~ } //~ else //~ { //~ $data1['owner']=$this->user_name($document["uid"]); //~ } $data[]=$data1; } return $data; } function get_news_postactive(){ $db = new connect(); $m = $db->connect(); $collection = $m->news; //$todaydate = date('dd-mm-yyyy'); $todaydate = new MongoDate(); //$query =array($lt(array('expdate'=>$todaydate)); $query = array('expdate' => array('$lt'=>$todaydate) ); $fields = array(); $count = $collection->count($query, $fields); return $count; } function get_districts($stateid){ $db = new connect(); $m = $db->connect(); $collection = $m->districts; $query =array('state_id'=>$stateid); $fields = array(); $news = $collection->find($query, $fields); foreach ($news as $document) { $data1['districtname']=$document["districtname"]; $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_alldistricts(){ $db = new connect(); $m = $db->connect(); $collection = $m->districts; $query =array(); $fields = array(); $news = $collection->find($query, $fields); foreach ($news as $document) { //$this-> $data1['districtname']=$document["districtname"]; $data1['state_id']=$document["state_id"]; $data1['statename']=$this->get_statename($document["state_id"]); $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_mandals($district){ $db = new connect(); $m = $db->connect(); $collection = $m->mandalas; $query =array('district_id'=>$district); $fields = array(); $news = $collection->find($query, $fields)->sort(array("mandalname"=>1)); foreach ($news as $document) { $data1['mandalname']=$document["mandalname"]; $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_allmandals(){ $db = new connect(); $m = $db->connect(); $collection = $m->mandalas; $query =array(); $fields = array(); $news = $collection->find($query, $fields)->sort(array("mandalname"=>1)); foreach ($news as $document) { $data1['mandalname']=$document["mandalname"]; $data1['district_id']=$document["district_id"]; $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_allcities(){ $db = new connect(); $m = $db->connect(); $collection = $m->cities; $query =array(); $fields = array(); $news = $collection->find($query, $fields)->sort(array("cityname"=>1)); foreach ($news as $document) { $data1['cityname']=$document["cityname"]; $data1['mandal_id']=$document["mandal_id"]; $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_statename($sid){ $db = new connect(); $m = $db->connect(); $collection = $m->states; $query = array("_id" => new MongoId($sid)); //$query =array('state_id'=>$stateid); $fields = array('statename'); $news = $collection->find($query, $fields); foreach ($news as $document) { $statename=$document["statename"]; } return $statename; } function get_districtName($disid){ $db = new connect(); $m = $db->connect(); $districtname=''; $collection = $m->districts; $query = array("_id" => new MongoId($disid)); //$query =array('state_id'=>$stateid); $fields = array('districtname'); $news = $collection->find($query, $fields); foreach ($news as $document) { $districtname=$document["districtname"]; } return $districtname; } function get_mandalName($mandal_id){ $db = new connect(); $m = $db->connect(); $mandalname=''; $collection = $m->mandalas; $query = array("_id" => new MongoId($mandal_id)); //$query =array('state_id'=>$stateid); $fields = array('mandalname'); $news = $collection->find($query, $fields); foreach ($news as $document) { $mandalname=$document["mandalname"]; } return $mandalname; } function get_cityName($city_id){ $db = new connect(); $m = $db->connect(); $cityname=''; $collection = $m->cities; $query = array("_id" => new MongoId($city_id)); //$query =array('state_id'=>$stateid); $fields = array('cityname'); $news = $collection->find($query, $fields); foreach ($news as $document) { $cityname=$document["cityname"]; } return $cityname; } function get_single_districtname($sid){ $db = new connect(); $m = $db->connect(); $collection = $m->districts; $query = array("_id" => new MongoId($sid)); //$query =array('state_id'=>$stateid); $fields = array(); $news = $collection->find($query, $fields); foreach ($news as $document) { if($document["districtname"]!='') $data1['districtname']=$document["districtname"]; else $data1['districtname']=''; $data1['state_id']=$document["state_id"]; $data1['id'] =$document['_id']->{'$id'}; } return $data1; } function get_city($mandal){ $db = new connect(); $m = $db->connect(); $collection = $m->cities; $query =array('mandal_id'=>$mandal); $fields = array(); $news = $collection->find($query, $fields)->sort(array("cityname"=>1)); foreach ($news as $document) { $data1['cityname']=$document["cityname"]; $data1['mandal_id']=$document["mandal_id"]; $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_states(){ $db = new connect(); $m = $db->connect(); $collection = $m->states; $query =array(); $fields = array(); $news = $collection->find($query, $fields); foreach ($news as $document) { $data1['statename']=$document["statename"]; $data1['stateid'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_news_byid($newsid){ $db = new connect(); $m = $db->connect(); $collection = $m->news; $query = array("_id"=>new MongoId($newsid)); $fields = array(); $result = $collection->find($query, $fields); foreach ($result as $document) { $data1['title']=$document["title"]; $data1['postdate']=Date('Y-m-d H:i:s',$document["postdate"]->{'sec'}); $data1['media']=$document["media"]; $data1['audio']=$document["audio"]; $data1['image']=$document["image"]; $data1['language']=$document["language"]; $data1['description']=$document["description"]; //$data1['expdate']=$document["expdate"]; $data1['expdate']=Date('Y/m/d H:i:s',$document["expdate"]->{'sec'}); $data1['state']=$document["state"]; $data1['mandal']=$document["mandal"]; $data1['district']=$document["district"]; $data1['city']=$document["city"]; $data1['category']=$document["category"]; $data1['type']=$document["type"]; $data1['uid']=$document["uid"]; $data1['editedby']=$document["editedby"]; $data1['youtubeUrl']=$document["youtubeUrl"]; $collectionadmin = $m->adminusers; $queryadmin = array(); $fieldsadmin = array(); $adminusers = $collectionadmin->find($queryadmin, $fieldsadmin); foreach ($adminusers as $admin) { $names[] = $admin['username']; } if(in_array($document["uid"], $names)) { // echo $data1['owner'] = $this->adminusername($document["uid"]); $data1['owner'] = $document["uid"]; } else { $data1['owner']=$this->user_name($document["uid"]); } $data1['id'] =$document['_id']->{'$id'}; } return $data1; } function adminusername(){ $db = new connect(); $m = $db->connect(); $collection = $m->adminusers; $query = array(); $fields = array('username'); $result = $collection->find($query, $fields); foreach ($result as $document) { $name = $document['username']; } return $name; } function get_filternews_byid($newsid){ $db = new connect(); $m = $db->connect(); $collection = $m->filternews; $query = array("_id"=>new MongoId($newsid)); $fields = array(); $result = $collection->find($query, $fields); foreach ($result as $document) { $data1['title']=$document["title"]; //$data1['postdate']=$document["postdate"]; $data1['postdate']=Date('Y-m-d H:i:s',$document["postdate"]->{'sec'});; $data1['media']=$document["media"]; $data1['audio']=$document["audio"]; $data1['language']=$document["language"]; $data1['description']=$document["description"]; //$data1['expdate']=$document["expdate"]; $data1['expdate']=Date('Y/m/d H:i:s',$document["expdate"]->{'sec'});; $data1['state']=$document["state"]; $data1['mandal']=$document["mandal"]; $data1['district']=$document["district"]; $data1['city']=$document["city"]; $data1['category']=$document["category"]; $collectionadmin = $m->adminusers; $queryadmin = array(); $fieldsadmin = array(); $adminusers = $collectionadmin->find($queryadmin, $fieldsadmin); foreach ($adminusers as $admin) { $names[] = $admin['username']; } if(in_array($document["uid"], $names)) { $data1['owner'] = $this->adminusername($document["uid"]); } else { $data1['owner']=$this->user_name($document["uid"]); } $data1['id'] =$document['_id']->{'$id'}; } return $data1; } function get_districts_byid($stateid){ $db = new connect(); $m = $db->connect(); $collection = $m->districts; $query = array("state_id"=>$stateid); $fields = array(); $result = $collection->find($query, $fields); foreach ($result as $document) { $data1['districtname']=$document["districtname"]; $data1['districtid'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_mandals_byid($district){ $db = new connect(); $m = $db->connect(); $collection = $m->mandalas; $query = array("district_id"=>$district); $fields = array(); $result = $collection->find($query, $fields); foreach ($result as $document) { $data1['mandalname']=$document["mandalname"]; $data1['mandalid'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_city_byid($mandal){ $db = new connect(); $m = $db->connect(); $collection = $m->cities; $query = array("mandal_id"=>$mandal); $fields = array(); $result = $collection->find($query, $fields)->sort(array("cityname"=>1)); foreach ($result as $document) { $data1['cityname']=$document["cityname"]; $data1['cityid'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function news_delete($id){ $db = new connect(); $m = $db->connect(); $collection = $m->news; $query = array("_id" => new MongoId($id)); $fields=array(); $res = $collection->find($query, $fields); foreach ($res as $document) { if($document['media']!='' && $document['type']==2) { $removeimg='..'.$document['media']; @unlink($removeimg); } else if($document['media']!='' && $document['type']==1) { $removeimg='..'.$document['media']; @unlink($removeimg); } if($document['image']!='') { $removeimg='..'.$document['image']; @unlink($removeimg); } } $collection = $m->news; $query = array("_id" => new MongoId($id)); $result = $collection->remove($query); //delete from news_media table $collection = $m->news_media; $query = array("news_id" => $id); $fields=array("media"); $res = $collection->find($query, $fields); foreach ($res as $document) { if($document['media']!='') { $removeimg='..'.$document['media']; @unlink($removeimg); } } //media deleted $collection = $m->news_media; $query = array("news_id" => $id); $result2 = $collection->remove($query); //news like delete $collection=$m->newslikes; $query=array("newsid"=>$id); $result3=$collection->remove($query); //news comments delete $collection=$m->newscomments; $query=array("newsid"=>$id); $result4=$collection->remove($query); //reportnews delete $collection=$m->reportnews; $query=array("newsid"=>$id); $result4=$collection->remove($query); //newscommentslike delete $collection=$m->newscommentlikes; $query=array("newsid"=>$id); $result4=$collection->remove($query); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function user_name($uid){ if($uid=='') { return $data['name']='Guest'; } else { $data['name']=''; $db = new connect(); $m = $db->connect(); $collection = $m->users; $query = array("_id"=>new MongoId($uid)); $fields = array('name'); $result = $collection->find($query, $fields); foreach ($result as $document) { $data['name'] = $document['name']; } if($data['name']!='') return $data['name']; else return $data['name']='Guest'; } } function news_name($newsid){ $db = new connect(); $m = $db->connect(); $collection = $m->news; $query = array("_id"=>new MongoId($newsid)); $fields = array('title'); $result = $collection->find($query, $fields); foreach ($result as $document) { $data['title'] = $document['title']; } return $data['title']; } function get_users(){ $db = new connect(); $m = $db->connect(); $collection = $m->users; $query =array("user_type"=>1); $fields = array(); $categories = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($categories as $document) { $data1['name']=$document["name"]; $data1['phonenumber']=$document["phonenumber"]; $data1['activestatus']=$document["activestatus"]; $data1['status']=$document["status"]; if($document["state"]!='') $data1['state']=$this->get_statename($document["state"]); else $data1['state']=''; if($document["district"]!='') $data1['district']=$this->get_districtName($document["district"]); else $data1['district']=''; if($document["mandal"]!='') $data1['mandal']=$this->get_mandalName($document["mandal"]); else $data1['mandal']=''; if($document["city"]!='') $data1['city']=$this->get_cityName($document["city"]); else $data1['city']=''; $data1['postcount']= $this->post_count($document['_id']->{'$id'}); $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_inactive_users(){ $db = new connect(); $m = $db->connect(); $collection = $m->users; $firstExpression=array('user_type'=>1); $secondExpression=array('$or'=>array(array("activestatus"=>'0'),array("activestatus"=>0))); $query = array('$and'=>array($firstExpression,$secondExpression)); //$query =array("activestatus"=>'0'); $fields = array(); $categories = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($categories as $document) { $data1['name']=$document["name"]; $data1['phonenumber']=$document["phonenumber"]; $data1['activestatus']=$document["activestatus"]; $data1['status']=$document["status"]; if($document["state"]!='') $data1['state']=$this->get_statename($document["state"]); else $data1['state']=''; if($document["district"]!='') $data1['district']=$this->get_districtName($document["district"]); else $data1['district']=''; if($document["mandal"]!='') $data1['mandal']=$this->get_mandalName($document["mandal"]); else $data1['mandal']=''; if($document["city"]!='') $data1['city']=$this->get_cityName($document["city"]); else $data1['city']=''; $data1['postcount']= $this->post_count($document['_id']->{'$id'}); $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function get_blocked_users(){ $db = new connect(); $m = $db->connect(); $collection = $m->users; $firstExpression=array('user_type'=>1); $secondExpression=array('$or'=>array(array("status"=>'1'),array("status"=>1))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields = array(); $categories = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($categories as $document) { $data1['name']=$document["name"]; $data1['phonenumber']=$document["phonenumber"]; $data1['activestatus']=$document["activestatus"]; $data1['status']=$document["status"]; if($document["state"]!='') $data1['state']=$this->get_statename($document["state"]); else $data1['state']=''; if($document["district"]!='') $data1['district']=$this->get_districtName($document["district"]); else $data1['district']=''; if($document["mandal"]!='') $data1['mandal']=$this->get_mandalName($document["mandal"]); else $data1['mandal']=''; if($document["city"]!='') $data1['city']=$this->get_cityName($document["city"]); else $data1['city']=''; $data1['postcount']= $this->post_count($document['_id']->{'$id'}); $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function getAllactive_users(){ $db = new connect(); $m = $db->connect(); $collection = $m->users; $firstExpression=array('user_type'=>1); //$secondExpression=array('$or'=>array(array("activestatus"=>"1"),array("activestatus"=>1))); //$query =array("activestatus"=>"1"); $query = array('$and'=>array($firstExpression));//,$secondExpression $fields = array(); $categories = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($categories as $document) { $check=$this->get_active_users5daysHistory($document['_id']->{'$id'}); if($check>0) { $data1['name']=$document["name"]; $data1['phonenumber']=$document["phonenumber"]; $data1['activestatus']=$document["activestatus"]; $data1['status']=$document["status"]; if($document["state"]!='') $data1['state']=$this->get_statename($document["state"]); else $data1['state']=''; if($document["district"]!='') $data1['district']=$this->get_districtName($document["district"]); else $data1['district']=''; if($document["mandal"]!='') $data1['mandal']=$this->get_mandalName($document["mandal"]); else $data1['mandal']=''; if($document["city"]!='') $data1['city']=$this->get_cityName($document["city"]); else $data1['city']=''; $data1['postcount']= $this->post_count($document['_id']->{'$id'}); $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } } return $data; } function getAllNotVerifiedUsers(){ $db = new connect(); $m = $db->connect(); $collection = $m->users; $firstExpression=array('user_type'=>1); $secondExpression=array('$or'=>array(array("user_verification_status"=>'0'),array("user_verification_status"=>0))); //$query =array("user_verification_status"=>0); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields = array(); $categories = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($categories as $document) { $data1['name']=$document["name"]; $data1['phonenumber']=$document["phonenumber"]; $data1['activestatus']=$document["activestatus"]; $data1['status']=$document["status"]; $data1['otp']=$document["user_verification_code"]; if($document["state"]!='') $data1['state']=$this->get_statename($document["state"]); else $data1['state']=''; if($document["district"]!='') $data1['district']=$this->get_districtName($document["district"]); else $data1['district']=''; if($document["mandal"]!='') $data1['mandal']=$this->get_mandalName($document["mandal"]); else $data1['mandal']=''; if($document["city"]!='') $data1['city']=$this->get_cityName($document["city"]); else $data1['city']=''; $data1['postcount']= $this->post_count($document['_id']->{'$id'}); $data1['id'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } //get single user Data function get_single_user($uid){ $db = new connect(); $m = $db->connect(); $collection = $m->users; $query = array("_id" => new MongoId($uid)); $fields = array(); $categories = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($categories as $document) { $data1['name']=$document["name"]; $data1['phonenumber']=$document["phonenumber"]; $data1['activestatus']=$document["activestatus"]; $data1['status']=$document["status"]; if($document["state"]!='') $data1['state']=$this->get_statename($document["state"]); else $data1['state']=''; if($document["district"]!='') $data1['district']=$this->get_districtName($document["district"]); else $data1['district']=''; if($document["mandal"]!='') $data1['mandal']=$this->get_mandalName($document["mandal"]); else $data1['mandal']=''; if($document["city"]!='') $data1['city']=$this->get_cityName($document["city"]); else $data1['city']=''; $data1['postcount']= $this->post_count($document['_id']->{'$id'}); $data1['id'] =$document['_id']->{'$id'}; $data1['otp']=$document["user_verification_code"]; } return $data1; } function post_count($userid){ $db = new connect(); $m = $db->connect(); $collection = $m->news; $query =array('uid'=>$userid); $fields = array(); $count = $collection->count($query, $fields); return $count; } function update_category($post){ $db = new connect(); $m = $db->connect(); $collection = $m->categories; $query = array("_id" => new MongoId($post['categoryid'])); $fields = array("name_en"=>$post['editcategory_en'],"name_te"=>$post['editcategory']); $result = $collection->update($query,array('$set'=>$fields)); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function update_news($post,$file,$id){ $version_update=2; $db = new connect(); $m = $db->connect(); $collection = $m->news; if(trim($post['language_edit']) == "en"){ $title = $post['newstitle']; $description = $post['descriptionenglish']; }else{ $title = $post['newstitletelugu']; $description = $post['descriptiontelugu']; } $type= $post['mediatype']; if($file['media']['name'] != '') { $filename = $file['media']['name']; $ext = pathinfo($file['media']['name'], PATHINFO_EXTENSION); $extsudio = pathinfo($file['audiomedia']['name'], PATHINFO_EXTENSION); if($ext == 'gif' || $ext == 'png' || $ext == 'jpg' || $ext == 'jpeg'){ $type = 1; } else { $type = 2; } } //multiple images upload on 18Jan2018 $newmedia=array(); $j=0; for($i=0;$i<count($_FILES['media_array']['name']);$i++) { $duration=date("Ymdhis"); $filename=$duration.str_replace(' ', '_',$_FILES['media_array']['name'][$i]); $target_dir = "../uploads/pics/"; $target_dir1 = "/uploads/pics/"; $target_file = $target_dir .$filename; $target_file1 = $target_dir1 .$filename; if(move_uploaded_file($_FILES["media_array"]["tmp_name"][$i], $target_file)) { $tfilename=$filename; //$media = $target_file1; $newmedia[]=$target_file1; $type="1"; $mediatype = 1; if($j==0) { //remove old video file $removevideo='../'.$post['editmedia']; @unlink($removevideo); //remove old videoposter $editmediaposter='../'.$post['editmediaposter']; @unlink($editmediaposter); //Remove YoutubeLink status $rs=$this->changeYoutubeStatus($id); $j++; } } } if($file['media']['name']!='') { $mediatype = 2; $type="2"; $duration=date("Ymdhis"); $filename=$duration.str_replace(' ', '_',$file['media']['name']); $target_dir = "../uploads/videos/"; $target_file = $target_dir .$filename; $target_dir1 = "/uploads/videos/"; $target_file1 = $target_dir1 .$filename; if(move_uploaded_file($file["media"]["tmp_name"], $target_file)) { $tfilename=$filename; $media = $target_file1; $imageFileName=$duration."video.jpg"; //upload video file name capture picture $image=''; //live server shell command shell_exec("ffmpeg -i /home/kaburu/public_html/uploads/videos/".$filename." -vcodec mjpeg -vframes 1 -an -f rawvideo -ss `ffmpeg -i /home/kaburu/public_html/uploads/videos/".$filename." 2>&1 | grep Duration | awk '{print $2}' | tr -d , | awk -F ':' '{print ($3+$2*60+$1*3600)/2}'` /home/kaburu/public_html/uploads/images/'".$imageFileName."'"); $image="/uploads/images/".$imageFileName; //dev server shell command /*shell_exec("ffmpeg -i /home/devkrify/public_html/kaburu/uploads/videos/".$filename." -vcodec mjpeg -vframes 1 -an -f rawvideo -ss `ffmpeg -i /home/devkrify/public_html/kaburu/uploads/videos/".$filename." 2>&1 | grep Duration | awk '{print $2}' | tr -d , | awk -F ':' '{print ($3+$2*60+$1*3600)/2}'` /home/devkrify/public_html/kaburu/uploads/images/'".$imageFileName."'"); $image="/uploads/images/".$imageFileName;*/ //remove old video file $removevideo='../'.$post['editmedia']; @unlink($removevideo); //remove old videoposter $editmediaposter='../'.$post['editmediaposter']; @unlink($editmediaposter); //deleteNewsImages $rs=$this->deleteNewsImages($id); //Remove YoutubeLink status $rs=$this->changeYoutubeStatus($id); } } if($file['audiomedia']['name'] != '') { $resultduration=''; $duration=date("Ymdhis"); $fileaudio=$duration.$file['audiomedia']['name']; $target_dir_image = "../uploads/media/"; $target_file_image = $target_dir_image .$fileaudio; $target_dirimage = "/uploads/media/"; $target_file_image1 = $target_dirimage .$fileaudio; $j=0; if(move_uploaded_file($file["audiomedia"]["tmp_name"], $target_file_image)) { //remove old audio file $removeimg='../'.$post['editaudio']; @unlink($removeimg); //originalFile $audio_image = $target_file_image1; $file=$fileaudio; $filepath1='/home/kaburu/public_html/uploads/media/'; //live $filepath1='/home/kaburu/public_html/uploads/media/'; //live //$filepath1='/home/devkrify/public_html/kaburu/uploads/media/'; //dev // Discriminate only the audio/video files you want if(preg_match('/[^?#]+\.(?:wma|mp3|wav|mp4|m4a)/', strtolower($file))){ $filepath =$filepath1.$fileaudio; // execute ffmpeg form linux shell and grab duration from output $result = shell_exec("ffmpeg -i ".$filepath.' 2>&1 | grep -o \'Duration: [0-9:.]*\''); $duration = str_replace('Duration: ', '', $result); // 00:05:03.25 $gotDurationTime=explode(".",$duration); $resultduration=$gotDurationTime[0]; //get the duration in seconds /*$timeArr = preg_split('/:/', str_replace('s', '', $duration[0])); $t = $this->_times[$file] = (($timeArr[3])? $timeArr[3]*1 + $timeArr[2] * 60 + $timeArr[1] * 60 * 60 : $timeArr[2] + $timeArr[1] * 60)*1000;*/ } if($j==0) { //deleteNewsImages $rs=$this->deleteNewsImages($id); //remove old video file $removevideo='../'.$post['editmedia']; @unlink($removevideo); //remove old videoposter $editmediaposter='../'.$post['editmediaposter']; @unlink($editmediaposter); //Remove YoutubeLink status $rs=$this->changeYoutubeStatus($id); $j++; } } }else{ $audio_image = $post['audiopre']; } /*Youtube url sharing*/ if($post['youtubeUrl']!='') { $youtubeUrl=$post['youtubeUrl']; $type="3";//youtubeUrl //remove old video file $removevideo='../'.$post['editmedia']; @unlink($removevideo); //remove old videoposter $editmediaposter='../'.$post['editmediaposter']; @unlink($editmediaposter); //images deletion $rs=$this->deleteNewsImages($id); //where id means newsId //Remove YoutubeLink status $rs=$this->changeYoutubeStatus($id); } else { $youtubeUrl=''; } $postdatetime = date('Y-m-d H:i:s'); $postdatetime = new MongoDate(strtotime(date('Y-m-d 23:59:59'))); $expdate1 = str_replace("/","-",$post['end_date']); $expdate = new MongoDate(strtotime(date('Y-m-d 23:59:59',strtotime($expdate1)))); $query= array("_id" =>new MongoId($id)); //$fields = array("uid"=>$_SESSION['adminid'],"title"=>$title,"category"=>$post['category'],'type'=>$type,'media'=>$media,'image'=>$image,'piclat'=>'','piclog'=>'','userlot'=>'','userlog'=>'','city'=>$post['city'],'state'=>$post['state'],'mandal'=>$post['mandal'],'district'=>$post['district'],"description"=>$description,"expdate"=>$expdate,'audio'=>$audio_image,'language'=>$post['language_edit'],'version_update'=>$version_update,'postdate'=>new MongoDate(),'type'=>$type); $fields = array("uid"=>$post['uid'],"title"=>$title,"category"=>$post['category'],'piclat'=>'','piclog'=>'','userlot'=>'','userlog'=>'','city'=>$post['city'],'state'=>$post['state'],'mandal'=>$post['mandal'],'district'=>$post['district'],"description"=>$description,"expdate"=>$expdate,'language'=>$post['language_edit'],'version_update'=>$version_update,"editedby"=>(int)$post['editedby'],'postdate'=>new MongoDate(),'type'=>$type,'youtubeUrl'=>$youtubeUrl); $result = $collection->update($query,array('$set'=>$fields)); if($media!='' && $image!='') { $query1 = array("_id" =>new MongoId($id)); $fields = array('media'=>$media,'image'=>$image); $result = $collection->update($query1,array('$set'=>$fields)); } if($audio_image!='' && $resultduration!='') { $query1 = array("_id" =>new MongoId($id)); $fields = array('audio'=>$audio_image,'duration'=>$resultduration); $result = $collection->update($query1,array('$set'=>$fields)); } $insertid = $id; //insert multiple images $dt=gmdate("Y-m-d H:m:s"); $collection = $m->news_media; for($i=0;$i<count($newmedia);$i++) { $dt=date("Y-m-d H:m:i"); $insert_images=array("media"=>$newmedia[$i],"news_id"=>$insertid,"created_dt"=>$dt); $res = $collection->insert($insert_images); } if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function delete_category($id){ $db = new connect(); $m = $db->connect(); $collection = $m->categories; $query = array("_id" =>new MongoId($id)); $result = $collection->remove($query); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function check_category_news($categoryid){ $db = new connect(); $m = $db->connect(); $collection = $m->news; $query = array("category" =>$categoryid); $fields = array(); $result = $collection->count($query,$fields); return $result; } function get_reports(){ $db = new connect(); $m = $db->connect(); $collection = $m->reportnews; $query =array(); $fields = array(); $resultdata = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($resultdata as $document) { $data1['newsid']=$document["newsid"]; $data1['newstitle']=$this->news_name($document["newsid"]); $data1['uid']=$document["uid"]; //$data1['username']=$this->user_name($document["uid"]); $data1['reporttime']=$document["reporttime"]; $data1['reportid'] =$document['_id']->{'$id'}; $collectionadmin = $m->adminusers; $queryadmin = array(); $fieldsadmin = array(); $adminusers = $collectionadmin->find($queryadmin, $fieldsadmin); foreach ($adminusers as $admin) { $names[] = $admin['username']; } if(in_array($document["uid"], $names)) { $data1['username'] = $this->adminusername($document["uid"]); } else { $data1['username']=$this->user_name($document["uid"]); } $data[]=$data1; } return $data; } function get_contact(){ $db = new connect(); $m = $db->connect(); $collection = $m->contacts; $query =array(); $fields = array(); $resultdata = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($resultdata as $document) { $data1['username']=$this->user_name($document["uid"]); $data1['contactid'] =$document['_id']->{'$id'}; $data1['contactdate']=Date('Y-m-d H:i:s',$document["contactdate"]->{'sec'}); $data[]=$data1; } return $data; } function get_contact_messages(){ $db = new connect(); $m = $db->connect(); $collection = $m->admincontacts; $query =array(); $fields = array(); $resultdata = $collection->find($query, $fields)->sort(array("_id"=>-1)); foreach ($resultdata as $document) { $data1['name']=$document["name"]; $data1['email'] =$document["email"]; $data1['message']=$document["message"]; if($document["created_dt"]!='') $data1['created_dt']=date("Y-m-d",strtotime($document["created_dt"])); else $data1['created_dt']=''; $data1['contactid'] =$document['_id']->{'$id'}; $data[]=$data1; } return $data; } function getContactMessages($id){ $db = new connect(); $m = $db->connect(); $collection = $m->admincontacts; $query =array('_id'=>new MongoId($id)); $fields = array(); $resultdata = $collection->find($query, $fields); foreach ($resultdata as $document) { $data1['name']=$document["name"]; $data1['email'] =$document["email"]; $data1['message']=$document["message"]; if($document["created_dt"]!='') $data1['created_dt']=date("Y-m-d",strtotime($document["created_dt"])); else $data1['created_dt']=''; $data1['contactid'] =$document['_id']->{'$id'}; } return $data1; } function get_reports_details($id){ $db = new connect(); $m = $db->connect(); $collection = $m->reportnews; $query =array('_id'=>new MongoId($id)); $fields = array(); $resultdata = $collection->find($query, $fields); foreach ($resultdata as $document) { $data1['newsid']=$document["newsid"]; $data1['newstitle']=$this->news_name($document["newsid"]); $data1['uid']=$document["uid"]; $data1['username']=$this->user_name($document["uid"]); $data1['reporttime']=$document["reporttime"]; $data1['content']=$document["content"]; $data1['reportid'] =$document['_id']->{'$id'}; } return $data1; } function get_contact_details($id){ $db = new connect(); $m = $db->connect(); $collection = $m->contacts; $query =array('_id'=>new MongoId($id)); $fields = array(); $resultdata = $collection->find($query, $fields); foreach ($resultdata as $document) { $data1['username']=$this->user_name($document["uid"]); $data1['contactdate']=Date('Y-m-d H:i:s',$document["contactdate"]->{'sec'}); $data1['message']=$document["message"]; } return $data1; } function reports_delete($id){ $db = new connect(); $m = $db->connect(); $collection = $m->reportnews; $query = array("_id" => new MongoId($id)); $result = $collection->remove($query); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function contact_delete($id){ $db = new connect(); $m = $db->connect(); $collection = $m->contacts; $query = array("_id" => new MongoId($id)); $result = $collection->remove($query); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function contact_delete_message($id){ $db = new connect(); $m = $db->connect(); $collection = $m->admincontacts; $query = array("_id" => new MongoId($id)); $result = $collection->remove($query); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function reports_filter_delete_byedit($newsid){ $db = new connect(); $m = $db->connect(); $collection = $m->filternews; //$id = (String)$id; //$newsid = "'".trim($newsid)."'"; //$query = array("_id" =>new MongoId($newsid)); $query = array("_id" =>'58e74ca1a5ca8406148b4567'); $result = $collection->remove($query); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function reports_filter_delete($id){ $db = new connect(); $m = $db->connect(); $collection = $m->filternews; $query = array("_id" => new MongoId($id)); $result = $collection->remove($query); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function update_filtersnews($post,$file){ $db = new connect(); $m = $db->connect(); //$collection = $m->filternews; if($post['language_edit'] == "en"){ $title = $post['newstitle']; $description = $post['descriptionenglish']; }else{ $title = $post['newstitletelugu']; $description = $post['descriptiontelugu']; } $filter=array("death","died","dead","abused","sex","sexy"); $filtertelugu=array("మరణం","మరణించుట","చావు","చనిపోవుట","వేధింపులకు","సెక్స్","శృంగారం"); $searchdata = array($title,$description); $type= $post['mediatype']; if($file['media']['name'] != '') { $filename = $file['media']['name']; $ext = pathinfo($file['media']['name'], PATHINFO_EXTENSION); $extsudio = pathinfo($file['audiomedia']['name'], PATHINFO_EXTENSION); if($ext == 'gif' || $ext == 'png' || $ext == 'jpg'){ $type = 1; } else { $type = 2; } if($type == 1){ $duration=date("Ymdhis"); $filename=$duration.$file['media']['name']; $target_dir = "../uploads/pics/"; $target_dir1 = "/uploads/pics/"; $target_file = $target_dir .$filename; $target_file1 = $target_dir1 .$filename; $target_dirimage = "../uploads/images/"; $target_dirimage1 = "/uploads/images/"; $target_file_image = $target_dirimage .$filename; $target_file_image1 = $target_dirimage1 .$filename; move_uploaded_file($file["media"]["tmp_name"], $target_file_image); if(move_uploaded_file($file["media"]["tmp_name"], $target_file)) { $tfilename=$filename; $media = $target_file1; $image = $target_file_image1; } }else{ $duration=date("Ymdhis"); $filename=$duration.$file['media']['name']; $target_dir = "../uploads/videos/"; $target_file = $target_dir .$filename; $target_dir1 = "/uploads/videos/"; $target_file1 = $target_dir1 .$filename; if(move_uploaded_file($file["media"]["tmp_name"], $target_file)) { $tfilename=$filename; $media = $target_file1; } } }else{ $media = $post['imagepre']; } if($file['audiomedia']['name'] != '') { $duration=date("Ymdhis"); $fileaudio=$duration.$file['audiomedia']['name']; $target_dir_image = "../uploads/media/"; $target_file_image = $target_dir_image .$fileaudio; $target_dirimage = "/uploads/media/"; $target_file_image1 = $target_dirimage .$fileaudio; if(move_uploaded_file($file["audiomedia"]["tmp_name"], $target_file_image)) { //$tfilename = $filename; $audio_image = $target_file_image1; } }else{ $audio_image = $post['audiopre']; } foreach($filter as $k=>$val){ $found=preg_grep ('/'.$val.'/', $searchdata); if($found) { $matches[] = $found; } } foreach($filtertelugu as $k=>$val){ $found=preg_grep ('/'.$val.'/', $searchdata); if($found) { $matches_telugu[] = $found; } } $expdate1 = str_replace("/","-",$post['end_date']); $expdate = new MongoDate(strtotime(date('Y-m-d 23:59:59',strtotime($expdate1)))); if (count($matches) > 0 || count($matches_telugu) > 0) { $collection = $m->filternews; $query = array("_id" => $post['newsid']); $fields = array("uid"=>$_SESSION['username'],"title"=>$title,"category"=>$post['category'],'type'=>$type,'media'=>$media,'image'=>$image,'piclat'=>'','piclog'=>'','userlot'=>'','userlog'=>'','city'=>$post['city'],'state'=>$post['state'],'mandal'=>$post['mandal'],'district'=>$post['district'],"description"=>$description,"expdate"=>$expdate,'audio'=>$audio_image,'language'=>$post['language_edit'],'postdate'=>new MongoDate(),'type'=>$type); $result = $collection->update($query,array('$set'=>$fields)); $code = "100"; } else { /*$newsID = (String)$post['newsid']; $collectionfilter = $m->filternews; //$query1 = array("_id" =>$newsID); $id = array('_id'=>new MongoId($newsID)); $resultfilter = $collectionfilter->remove($id);*/ // echo $code = $this->reports_filter_delete_byedit($post['newsid']); $collection = $m->news; $fields = array("uid"=>$_SESSION['username'],"title"=>$title,"category"=>$post['category'],'type'=>$type,'media'=>$media,'image'=>$image,'piclat'=>'','piclog'=>'','userlot'=>'','userlog'=>'','city'=>$post['city'],'state'=>$post['state'],'mandal'=>$post['mandal'],'district'=>$post['district'],"description"=>$description,"expdate"=>$expdate,'audio'=>$audio_image,'language'=>$post['language_edit'],'postdate'=>new MongoDate(),'type'=>$type); $result = $collection->insert($fields); $code = "500"; } //$fields = array("uid"=>$_SESSION['username'],"title"=>$title,"category"=>$post['category'],'type'=>$type,'media'=>$media,'image'=>$image,'piclat'=>'','piclog'=>'','userlot'=>'','userlog'=>'','city'=>$post['city'],'state'=>$post['state'],'mandal'=>$post['mandal'],'district'=>$post['district'],"description"=>$description,"expdate"=>$post['end_date'],'audio'=>$audio_image,'language'=>$post['language'],'postdate'=>$postdatetime); return $code; } function admin_forgotpass($email){ $db = new connect(); $m = $db->connect(); $collection = $m->adminusers; $query = array("email" => $email ); $fields = array(); $cursor1 = $collection->find($query, $fields); foreach($cursor1 as $doc){ $data['username'] = $doc['username']; $data['password'] = $doc['password']; $id=$doc['_id']->{'$id'}; $to = $doc['email']; $subject = "Forgot Password"; $message = "<b>User Name:</b>".$data['username']."</br>"; $message .= "<b>Password:</b>".$data['password']; $header = "From:kusuma@krify.net \r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-type: text/html\r\n"; $retval = mail ($to,$subject,$message,$header); } if( $retval == true){ $response = "100"; }else{ $response = "200"; } return $response; } public function delete_district($id){ $db = new connect(); $m = $db->connect(); $collection = $m->districts; $query = array("_id" => new MongoId($id)); $result = $collection->remove($query); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } /*public function delete_mandal($id){ $db = new connect(); $m = $db->connect(); $collection = $m->mandalas; $query = array("_id" => new MongoId($id)); $result = $collection->remove($query); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function delete_city($id){ $db = new connect(); $m = $db->connect(); $collection = $m->cities; $query = array("_id" => new MongoId($id)); $result = $collection->remove($query); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; }*/ //update states function update_state($post){ $db = new connect(); $m = $db->connect(); $collection = $m->states; $query = array("_id" => new MongoId($post['edit_id'])); $fields = array("statename"=>$post['statename']); $result = $collection->update($query,array('$set'=>$fields)); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } //update district function update_district($post){ $db = new connect(); $m = $db->connect(); $collection = $m->districts; $query = array("_id" => new MongoId($post['edit_id'])); $fields = array("districtname"=>$post['districtname'],"state_id"=>$post['state']); $result = $collection->update($query,array('$set'=>$fields)); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } function get_single_mandalname($sid){ $db = new connect(); $m = $db->connect(); $collection = $m->mandalas; $query = array("_id" => new MongoId($sid)); //$query =array('state_id'=>$stateid); $fields = array(); $news = $collection->find($query, $fields); foreach ($news as $document) { $data1['mandalname']=$document["mandalname"]; $data1['district_id']=$document["district_id"]; $data1['id'] =$document['_id']->{'$id'}; } return $data1; } function getStateID($district_id) { $db = new connect(); $m = $db->connect(); $collection = $m->districts; $query = array("_id" => new MongoId($district_id)); $fields = array(); $news = $collection->find($query, $fields); foreach ($news as $document) { $data1['state_id']=$document["state_id"]; } return $data1; } //update mandal function update_mandal($post){ $db = new connect(); $m = $db->connect(); $collection = $m->mandalas; $query = array("_id" => new MongoId($post['edit_id'])); $fields = array("district_id"=>$post['district'],"mandalname"=>$post['mandalname']); $result = $collection->update($query,array('$set'=>$fields)); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } //city data function get_single_cityname($sid){ $db = new connect(); $m = $db->connect(); $collection = $m->cities; $query = array("_id" => new MongoId($sid)); //$query =array('state_id'=>$stateid); $fields = array(); $news = $collection->find($query, $fields); foreach ($news as $document) { $data1['cityname']=$document["cityname"]; $data1['mandal_id']=$document["mandal_id"]; $data1['id'] =$document['_id']->{'$id'}; } return $data1; } //update city function update_city($post){ $db = new connect(); $m = $db->connect(); $collection = $m->cities; $query = array("_id" => new MongoId($post['edit_id'])); $fields = array("cityname"=>$post['cityname'],"mandal_id"=>$post['mandal']); $result = $collection->update($query,array('$set'=>$fields)); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } /*mandal cities delete*/ function mandalcitiesDelete($mandalID){ $db = new connect(); $m = $db->connect(); $collection = $m->cities; $query = array("mandal_id" => $mandalID); $result = $collection->remove($query); if($result ){ $code = "200"; }else{ $code = "100"; } return $code; } //get Multiple images function getNewsMultipleImagesWithID($news_id) { $data=array(); $db = new connect(); $m = $db->connect(); $collection = $m->news_media; $query = array("news_id"=>$news_id); $result = $collection->find($query); foreach ($result as $document) { $userimg=array(); if($document['media']!='') { $userimg['image_id']=$document['_id']->{'$id'}; $userimg['image']=$document['media']; $userimg['status']=1; } if(count($userimg)>0) { $data[]=$userimg; } } return $data; } function deleteMultipleImage($id) { $db = new connect(); $m = $db->connect(); $collection = $m->news_media; $query = array("_id" => new MongoId($id)); $fields=array("media"); $res = $collection->find($query, $fields); foreach ($res as $document) { if($document['media']!='') { $removeimg='../'.$document['media']; @unlink($removeimg); } } $collection = $m->news_media; $query = array("_id" => new MongoId($id)); $result = $collection->remove($query); if($result ){ $code =1; }else{ $code =0; } return $code; } function getThePostedName($uid) { $db = new connect(); $m = $db->connect(); $collectionadmin = $m->adminusers; $adminusers = $collectionadmin->find(); foreach ($adminusers as $admin) { $names[] = $admin['username']; } if(in_array($document["uid"], $names)) { $data1['owner'] = $this->adminusername($document["uid"]); } else { $data1['owner']=$this->user_name($document["uid"]); } } function getUserPhoneNumbers($state,$usertype) { $phones=''; $db = new connect(); $m = $db->connect(); $collection=$m->users; if($usertype==0) //all register users { $query = array("state" =>$state,"user_type"=>1); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==1) //activeusers { $query = array("state" =>$state,"user_type"=>1,"activestatus"=>1); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==2) //inactive { $firstExpression=array('user_type'=>1,"state" =>$state); $secondExpression=array('$or'=>array(array("activestatus"=>'0'),array("activestatus"=>0))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==3) //notverified { $firstExpression=array('user_type'=>1,"state" =>$state); $secondExpression=array('$or'=>array(array("user_verification_status"=>'0'),array("user_verification_status"=>0))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==4) //Blocked { $firstExpression=array('user_type'=>1,"state" =>$state); $secondExpression=array('$or'=>array(array("status"=>'1'),array("status"=>1))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==5) //Guest users { $query = array('user_type'=>2,"state" =>$state); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } return $phones; } function getUserDistrictwithStatePhones($state,$usertype,$district) { $phones=''; $db = new connect(); $m = $db->connect(); $collection=$m->users; if($usertype==0) //all register users { $query = array("state" =>$state,"district"=>$district,"user_type"=>1); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==1) //activeusers { $query = array("state" =>$state,"district"=>$district,"user_type"=>1,"activestatus"=>1); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==2) //inactive { $firstExpression=array('user_type'=>1,"district"=>$district,"state" =>$state); $secondExpression=array('$or'=>array(array("activestatus"=>'0'),array("activestatus"=>0))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==3) //notverified { $firstExpression=array('user_type'=>1,"district"=>$district,"state" =>$state); $secondExpression=array('$or'=>array(array("user_verification_status"=>'0'),array("user_verification_status"=>0))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==4) //Blocked { $firstExpression=array('user_type'=>1,"state" =>$state,"district"=>$district); $secondExpression=array('$or'=>array(array("status"=>'1'),array("status"=>1))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==5) //Guest users { $query = array('user_type'=>2,"state" =>$state,"district"=>$district); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } return $phones; } function getUserDistrictStatewithMandalPhones($state,$usertype,$district,$mandal) { $phones=''; $db = new connect(); $m = $db->connect(); $collection=$m->users; if($usertype==0) //all register users { $query = array("state" =>$state,"district"=>$district,"mandal"=>$mandal,"user_type"=>1); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==1) //activeusers { $query = array("state" =>$state,"district"=>$district,"mandal"=>$mandal,"user_type"=>1,"activestatus"=>1); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==2) //inactive { $firstExpression=array('user_type'=>1,"district"=>$district,"mandal"=>$mandal,"state" =>$state); $secondExpression=array('$or'=>array(array("activestatus"=>'0'),array("activestatus"=>0))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==3) //notverified { $firstExpression=array('user_type'=>1,"district"=>$district,"state" =>$state,"mandal"=>$mandal); $secondExpression=array('$or'=>array(array("user_verification_status"=>'0'),array("user_verification_status"=>0))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==4) //Blocked { $firstExpression=array('user_type'=>1,"state" =>$state,"mandal"=>$mandal,"district"=>$district); $secondExpression=array('$or'=>array(array("status"=>'1'),array("status"=>1))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==5) //Guest users { $query = array('user_type'=>2,"state" =>$state,"mandal"=>$mandal,"district"=>$district); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } return $phones; } function getUserDistrictStateMandalwithCityPhones($state,$usertype,$district,$mandal,$city) { $phones=''; $db = new connect(); $m = $db->connect(); $collection=$m->users; if($usertype==0) //all register users { $query = array("state" =>$state,"district"=>$district,"mandal"=>$mandal,"city"=>$city,"user_type"=>1); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==1) //activeusers { $query = array("state" =>$state,"district"=>$district,"mandal"=>$mandal,"city"=>$city,"user_type"=>1,"activestatus"=>1); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==2) //inactive { $firstExpression=array('user_type'=>1,"district"=>$district,"mandal"=>$mandal,"city"=>$city,"state" =>$state); $secondExpression=array('$or'=>array(array("activestatus"=>'0'),array("activestatus"=>0))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==3) //notverified { $firstExpression=array('user_type'=>1,"district"=>$district,"state" =>$state,"city"=>$city,"mandal"=>$mandal); $secondExpression=array('$or'=>array(array("user_verification_status"=>'0'),array("user_verification_status"=>0))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==4) //Blocked { $firstExpression=array('user_type'=>1,"state" =>$state,"mandal"=>$mandal,"city"=>$city,"district"=>$district); $secondExpression=array('$or'=>array(array("status"=>'1'),array("status"=>1))); $query = array('$and'=>array($firstExpression,$secondExpression)); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } else if($usertype==5) //Guest users { $query = array('user_type'=>2,"state" =>$state,"mandal"=>$mandal,"city"=>$city,"district"=>$district); $fields=array("phonenumber"); $result = $collection->find($query,$fields); foreach($result as $document) { if($document['phonenumber']!='') $phones.=$document['phonenumber'].","; } } return $phones; } function saveNotication($post) { $db = new connect(); $m = $db->connect(); $collection = $m->users; $query =array(); $fields = array(); $news = $collection->find($query, $fields); foreach ($news as $document) { $data1['devicetype']=$document["devicetype"]; $data1['deviceid']=$document["deviceid"]; $data1['stateid'] =$document['_id']->{'$id'}; $userID =$document['_id']->{'$id'}; $deviceid = $document['deviceid']; $devicetype = $document['devicetype']; $res=$this->getuserLanguagge($document['_id']->{'$id'}); if($res['language']=="en") $alertmsg='Admin sent notification.'; else $alertmsg='అడ్మిన్ నోటిఫికేషన్ పంపింది'; $messaged=array(); $messaged['message']=$post['notification']; $messaged['notification_type']=5; $messaged['news_id']=''; $messaged['sender_id']=''; $messaged['receiver_id']=$document['_id']->{'$id'}; if($devicetype==1) { $this->sendFCM($deviceid,$messaged,$messaged['notification_type'],$alertmsg); $dt=gmdate("Y-m-d H:m:s"); $coll = $m->notifications; $document = array("notify_msg"=>$post['notification'],"sender_id"=>"","receiver_id"=>$userID,"type"=>"5","created_dt"=>$dt); $result = $coll->insert($document); }else{ $this->postIosNotification($messaged,$deviceid,$messaged['notification_type'],$alertmsg,0); //insert into notification table $dt=gmdate("Y-m-d H:m:s"); $collection = $m->notifications; $document = array("notify_msg"=>$messaged['message'],"sender_id"=>$messaged['sender_id'],"receiver_id"=>$messaged['receiver_id'],"type"=>"5","created_dt"=>$dt); $result = $collection->insert($document); } } return "200"; } function getuserLanguagge($uid) { $data=array(); $db = new connect(); $m = $db->connect(); $collection = $m->users; $query = array("_id"=>new MongoId($uid)); $fields = array('language'); $result = $collection->find($query, $fields); foreach ($result as $document) { $data['language'] = $document['language']; } return $data; } //while updating news delete the images function deleteNewsImages($newsid) { $db = new connect(); $m = $db->connect(); $collection=$m->news; $collection_media=$m->news_media; $query = array("_id"=>new MongoId($newsid)); $fields = array(); $result = $collection->find($query, $fields); foreach($result as $document) { $versiontype=$document['version_update']; $type=$document['type']; if($versiontype==1) //old version users { if($type==1) { if($document['media']!='') //remove media-image { $removeimg='../'.$document['media']; @unlink($removeimg); } if($document['image']!='') //remove image { $removeimg='../'.$document['image']; @unlink($removeimg); } } else if($type==3) { if($document['media']!='') //remove media-image { $removeimg='../'.$document['media']; @unlink($removeimg); } if($document['image']!='') //remove image { $removeimg='../'.$document['image']; @unlink($removeimg); } } } else if($versiontype==2) //new version users { if($type==1) { $query = array("news_id"=>$newsid); $fields = array(); $rs = $collection_media->find($query, $fields); foreach($rs as $doc) { $imgid=$doc['_id']->{'$id'}; $delres=$this->deleteMultipleImage($imgid); } } else if($type==3) { $query = array("news_id"=>$newsid); $fields = array(); $rs = $collection_media->find($query, $fields); foreach($rs as $doc) { $imgid=$doc['_id']->{'$id'}; $delres=$this->deleteMultipleImage($imgid); } } } else if($type==3) { $collection_news= $m->news; $query_news = array("_id"=>new MongoId($newsid)); $fields_news = array('type'=>"","youtubeUrl"=>""); $result = $collection_news->update($query_news,array('$set'=>$fields_news)); } } return true; } function changeYoutubeStatus($newsid) { $db = new connect(); $m = $db->connect(); $collection_news= $m->news; $query_news = array("_id"=>new MongoId($newsid)); $fields_news = array('type'=>"","youtubeUrl"=>"","media"=>"","image"=>""); $result = $collection_news->update($query_news,array('$set'=>$fields_news)); return true; } //send Push notification to Users using Android integrated on 11/1/2018 function sendFCM($id,$mess,$type,$alertmsg) { $body = array('type'=>$type,'alertmsg'=>$alertmsg,'message'=>$mess); $body = json_encode($body); $url = 'https://fcm.googleapis.com/fcm/send'; $fields = array ( 'to' => $id, 'data' => array ( "body" => $body, "title" => 'Kaburu', "type" => $type, "icon" => 'kaburuicon' ) ); $fields = json_encode ( $fields ); //print_r($fields); $headers = array ( 'Authorization: key=' . "AAAAttiK9x8:APA91bHiszdU1Zg326qpUZ3c8IDwGhR5gtG3_B5o9giZpAbNHUo5EQ3Fwe2o3G2TbvL3VrVTi_-SzLJgijKtdRqGAp-dYBck8xM-4tN4AqLlTQHRfpyY1UJCt-75fNKvPbmKc1R1ommX", 'Content-Type: application/json' ); $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_POST, true ); curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $fields ); $result = curl_exec ( $ch ); curl_close ( $ch ); return $result; } //send citybased notification to all users function sendCityBasedNotification($title,$insertid,$language,$city) { $returnVal=false; $db = new connect(); $m = $db->connect(); $collection = $m->users; //$query=array("deviceid"=>array('$ne'=>''),"activestatus"=>'1','city'=>$city,'city_push_status'=>array('$ne'=>0)); $firstExpression=array("deviceid"=>array('$ne'=>''),'city'=>$city,"_id"=>array('$ne'=>new MongoId($uid))); $secondExpression = array('$or'=>array(array("city_push_status"=>1),array("city_push_status"=>"1"),array("city_push_status"=>''))); $thridExpression=array('$or'=>array(array("activestatus"=>'1'),array("activestatus"=>1))); $query = array('$and'=>array($firstExpression,$secondExpression,$thridExpression)); $fields = array(); $result = $collection->find($query, $fields); //print_r($result);exit; foreach ($result as $document) { //print_r($document);exit; $deviceid = $document['deviceid']; $devicetype = $document['devicetype']; $res=$this->getuserLanguagge($document['_id']->{'$id'}); if($res['language']=="en") $alertmsg='Please check Latest News of your City in Kaburu App.'; else $alertmsg='మీ నగరం యొక్క తాజా వార్తలు కోసం కబురు యాప్ చూడండి'; $messaged=array(); $messaged['message']=$title; $messaged['notification_type']=1; $messaged['news_id']=$insertid; $messaged['sender_id']=$uid; $messaged['receiver_id']=$document['_id']->{'$id'}; if($deviceid != ''){ if($devicetype==1) { $this->sendFCM($deviceid,$messaged,$messaged['notification_type'],$alertmsg); //insert into notification table $dt=gmdate("Y-m-d H:m:s"); $collection = $m->notifications; $document = array("notify_msg"=>$messaged['message'],"sender_id"=>$messaged['sender_id'],"receiver_id"=>$messaged['receiver_id'],"type"=>"1","created_dt"=>$dt); $result = $collection->insert($document); }else{ $this->postIosNotification($messaged,$deviceid,$messaged['notification_type'],$alertmsg,0); //insert into notification table $dt=gmdate("Y-m-d H:m:s"); $collection = $m->notifications; $document = array("notify_msg"=>$messaged['message'],"sender_id"=>$messaged['sender_id'],"receiver_id"=>$messaged['receiver_id'],"type"=>"5","created_dt"=>$dt); $result = $collection->insert($document); } } }//foreach return true; } function postIosNotification($message,$device_id,$type,$alertmsg,$batchCount) { $deviceToken = $device_id; //$deviceToken = '08307de7e7d84aff21fa52e11453e769b48b638d80b70432ac35de39a6195d0b'; $type=$type; $message2=$alertmsg; $badgecount=$batchCount; $passphrase=''; $mystr= $message; //////////////////////////////////////////////////////////////////////////////// $ctx = stream_context_create(); stream_context_set_option($ctx, 'ssl', 'local_cert', '/home/kaburu/public_html/mobileapp/include/kaburupush.pem');//development mode stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase); // Open a connection to the APNS server //echo $fp = stream_socket_client( $fp = stream_socket_client( //'ssl://gateway.sandbox.push.apple.com:2195', $err, 'ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx); if (!$fp) exit("Failed to connect: $err $errstr" . PHP_EOL); //echo 'Connected to APNS' . PHP_EOL; // Create the payload body $body['aps'] = array( 'badge' => $badgecount, 'alert' => $message2, 'sound' => 'default', 'loc-args' =>$mystr, 'arg' => 'abcd_efgh', 'content-available' => 1 ); // Encode the payload as JSON $payload = json_encode($body); // Build the binary notification $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload; // Send it to the server $result = fwrite($fp, $msg, strlen($msg)); //echo $result.'<br>'; /*if (!$result) { echo 'Message not delivered' . PHP_EOL; } else { echo 'Message successfully delivered' . PHP_EOL; }*/ // Close the connection to the server fclose($fp); } }