Exemple #1
0
 public function onRun()
 {
     $shares_counter = 0;
     $likes_counter = 0;
     // if(isset(post('link'))){
     $link = 'https://graph.facebook.com/';
     $url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
     //$url = "http://www.agroo.gr/blog/post/azalea-problhmata-kai-antimetwpish"; // azalea-problhmata-kai-antimetwpish
     $link .= $url;
     $json = file_get_contents($link);
     $data = json_decode($json);
     if (isset($data->likes)) {
         $like_counter = $data->likes;
     }
     if (isset($data->shares)) {
         $shares_counter = $data->shares;
     }
     $this->page['likes'] = $likes_counter;
     $this->page['shares'] = $shares_counter;
     // $url = "$_SERVER[REQUEST_URI]";
     // $slug = end((explode('/', rtrim($url, '/'))));
     $slug = $this->property('slug');
     /*}
             else{
     
                 return 'Broken Link';
                 $this->page['shares'] = 0;
             }*/
     $tempdb = DB::table('tiipiik_catalog_products')->where('slug', $slug)->first();
     $prid = $tempdb->id;
     $this->page['productid'] = $prid;
     $this->page['products'] = Product::orderByRaw("RAND()")->get();
     $query = DB::table('fotis_reviews_prod_rates')->where('product_id', '=', $prid)->get();
     if (!$query) {
         $rating = new ProdRate();
         $rating->product_id = $prid;
         $rating->total_reviews = 0;
         $rating->total_ratings = 0;
         $rating->index_rating = 0;
         $rating->total_views = 0;
         $rating->wishlist = 0;
         // new
         $rating->buy = 0;
         // new
         $rating->save();
     } else {
     }
     DB::table('fotis_reviews_prod_rates')->where('product_id', $prid)->increment('total_views');
     $query = DB::table('fotis_reviews_prod_rates')->where('product_id', '=', $prid)->get();
     $rating = $query[0]->total_ratings;
     $reviews = $query[0]->total_reviews;
     $views = $query[0]->total_views;
     $wishlist = $query[0]->wishlist;
     $buy = $query[0]->buy;
     $this->page['totalviews'] = $views;
     $this->page['wishlist'] = $wishlist;
     $this->page['buy'] = $buy;
     if ($reviews != 0 and $rating != 0) {
         $this->page['NewRating'] = $rating / $reviews;
         $index_rating = $rating / $reviews;
     } else {
         $this->page['NewRating'] = 2.5;
         $index_rating = 2.5;
     }
     $morating = $this->moratingcalc($index_rating, $views, $shares_counter, $wishlist, $buy);
     $this->page['mytotalrating'] = $morating;
     DB::table('fotis_reviews_prod_rates')->where('product_id', $prid)->update(['index_rating' => $morating]);
 }