PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/demo2024feb.kerihosting.com/wp-content/plugins/wp-automatic/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/demo2024feb.kerihosting.com/wp-content/plugins/wp-automatic/core.flicker.php |
<?php // Main Class require_once 'core.php'; Class WpAutomaticFlicker extends wp_automatic{ /* * ---* youtube get links --- */ function flicker_fetch_items($keyword, $camp) { echo "<br>so I should now get some images from flicker for keyword :" . $keyword; $api_key = trim(get_option ( 'wp_automatic_flicker', '' )); if (trim ( $api_key ) == '') { echo '<br>Flicker Api key required '; exit (); } // ini options $camp_opt = unserialize ( $camp->camp_options ); if( stristr($camp->camp_general, 'a:') ) $camp->camp_general=base64_encode($camp->camp_general); $camp_general = unserialize ( base64_decode( $camp->camp_general ) ); $camp_general=array_map('wp_automatic_stripslashes', $camp_general); $sortby = $camp_general ['cg_fl_order']; // get start-index for this keyword $query = "select keyword_start ,keyword_id from {$this->wp_prefix}automatic_keywords where keyword_name='$keyword' and keyword_camp={$camp->camp_id}"; $rows = $this->db->get_results ( $query ); $row = $rows [0]; $kid = $row->keyword_id; $start = $row->keyword_start; if ($start == 0) $start = 1; if ($start == - 1) { echo '<- exhausted keyword'; if( ! in_array( 'OPT_FL_CACHE' , $camp_opt )){ $start =1; echo '<br>Cache disabled resetting index to 1'; }else{ //check if it is reactivated or still deactivated if($this->is_deactivated($camp->camp_id, $keyword)){ $start =1; }else{ //still deactivated return false; } } } echo ' index:' . $start; // update start index to start+1 $nextstart = $start + 1; $query = "update {$this->wp_prefix}automatic_keywords set keyword_start = $nextstart where keyword_id=$kid "; $this->db->query ( $query ); // get items $orderby = $camp_general ['cg_fl_order']; $flink = "https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=$api_key&format=php_serial&page=$start&sort=$sortby"; if (in_array ( 'OPT_FL_USER', $camp_opt )) { echo '<br>Fetching images for specific user ' . $camp_general ['cg_fl_user']; //if album $cg_fl_user_album = ''; $isAlbum = false; // flag to know this is an album call $cg_fl_user_album = $camp_general['cg_fl_user_album']; if(trim($cg_fl_user_album) != ''){ $flink = "https://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=$api_key&format=php_serial&page=$start&photoset_id=".trim($cg_fl_user_album); $isAlbum = true; } $flink = $flink . '&user_id=' . $camp_general ['cg_fl_user']; // if keyword * if (trim ( $keyword ) == '*') { echo '<br>No filtering get all '; } else { // specific keyword $flink = $flink . '&text=' . urlencode($keyword); } } else { // no specific user just text $flink = $flink . '&text=' . urlencode($keyword); } // echo '<br>Flink:'.$flink; //licensing license if(in_array('OPT_FL_LICENSE', $camp_opt)){ $licenses = array(); if(in_array('OPT_FL_LICENSE_0', $camp_opt)) $licenses[] = 0; if(in_array('OPT_FL_LICENSE_1', $camp_opt)) $licenses[] = 1; if(in_array('OPT_FL_LICENSE_2', $camp_opt)) $licenses[] = 2; if(in_array('OPT_FL_LICENSE_3', $camp_opt)) $licenses[] = 3; if(in_array('OPT_FL_LICENSE_4', $camp_opt)) $licenses[] = 4; if(in_array('OPT_FL_LICENSE_5', $camp_opt)) $licenses[] = 5; if(in_array('OPT_FL_LICENSE_6', $camp_opt)) $licenses[] = 6; if(in_array('OPT_FL_LICENSE_7', $camp_opt)) $licenses[] = 7; if(in_array('OPT_FL_LICENSE_8', $camp_opt)) $licenses[] = 8; if(count($licenses) > 0 ) $flink.="&license=".implode(',', $licenses); } // curl get $x = 'error'; $url = $flink; curl_setopt ( $this->ch, CURLOPT_HTTPGET, 1 ); curl_setopt ( $this->ch, CURLOPT_URL, trim ( $url ) ); while ( trim ( $x ) != '' ) { $exec = curl_exec ( $this->ch ); $x = curl_error ( $this->ch ); } $result = unserialize ( $exec ); if (is_array ( $result )) { echo '<br>Valid array returned from flicker '; //if photoset $imgs = array(); if( $isAlbum ){ if(is_array($result ['photoset'] ['photo'])){ $imgs = $result ['photoset'] ['photo']; } }else{ $imgs = $result ['photos'] ['photo']; } if (is_array ( $imgs )) { echo '<br>Valid reply array returned with ' . count ( $imgs ) . ' child'; if (count ( $imgs ) == 0) { echo '<br>Keyword have no more images deactivating...'; $query = "update {$this->wp_prefix}automatic_keywords set keyword_start = -1 where keyword_id=$kid "; $this->db->query ( $query ); if(! in_array('OPT_NO_DEACTIVATE', $camp_opt)) $this->deactivate_key($camp->camp_id, $keyword); } } else { echo '<br>Did not find valid image array in the response '; $imgs = array (); } } else { echo '<br>Flicker did not reuturn valid reply array '; } /* * disable keyword if no new items if (count ( $search ) == 0) { echo '<br>No more vids for this keyword deactivating it ..'; $query = "update {$this->wp_prefix}automatic_keywords set keyword_start = -1 where keyword_id=$kid"; $this->db->query ( $query ); return; } */ echo '<ol>'; foreach ( $imgs as $itm ) { $id = $itm ['id']; $data = serialize ( $itm ); $item_link = 'http://flicker.com/' . $itm ['owner'] . '/' . $id; echo '<li> Link:'.$item_link; if( $this->is_execluded($camp->camp_id, $item_link) ){ echo '<-- Execluded'; continue; } if ( ! $this->is_duplicate($item_link) ) { $query = "INSERT INTO {$this->wp_prefix}automatic_general ( item_id , item_status , item_data ,item_type) values ( '$id', '0', '$data' ,'fl_{$camp->camp_id}_$keyword') "; $this->db->query ( $query ); } else { echo ' <- duplicated <a href="'.get_edit_post_link($this->duplicate_id).'">#'.$this->duplicate_id.'</a>'; } } echo '</ol>'; } /* * ---* flicker post --- */ function flicker_get_post($camp) { $api_key = get_option ( 'wp_automatic_flicker', '' ); if (trim ( $api_key ) == '') { echo '<br>Flicker Api key required visit settings and add it '; exit (); } $camp_opt = unserialize ( $camp->camp_options ); $keywords = explode ( ',', $camp->camp_keywords ); foreach ( $keywords as $keyword ) { $keyword = trim($keyword); //update last keyword update_post_meta($camp->camp_id, 'last_keyword', trim($keyword)); if (trim ( $keyword ) != '') { // getting links from the db for that keyword $query = "select * from {$this->wp_prefix}automatic_general where item_type= 'fl_{$camp->camp_id}_$keyword' "; $this->used_keyword=$keyword; $res = $this->db->get_results ( $query ); // when no links lets get new links if (count ( $res ) == 0) { //clean any old cache for this keyword $query_delete = "delete from {$this->wp_prefix}automatic_general where item_type='fl_{$camp->camp_id}_$keyword' "; $this->db->query ( $query_delete ); $this->flicker_fetch_items ( $keyword, $camp ); // getting links from the db for that keyword $res = $this->db->get_results ( $query ); } //check if already duplicated //deleting duplicated items $res_count = count($res); for($i=0;$i< $res_count ;$i++){ $t_row = $res[$i]; $t_data = unserialize ( $t_row->item_data ); $t_link_url='http://flicker.com/' . $t_data ['owner'] . '/' . $t_row->item_id; if( $this->is_duplicate($t_link_url) ){ //duplicated item let's delete unset($res[$i]); echo '<br>Flicker image ('. $t_data ['title'] .') found cached but duplicated <a href="'.get_permalink($this->duplicate_id).'">#'.$this->duplicate_id.'</a>' ; //delete the item $query = "delete from {$this->wp_prefix}automatic_general where id={$t_row->id} and item_type= 'fl_{$camp->camp_id}_$keyword' "; $this->db->query ( $query ); }else{ break; } } // check again if valid links found for that keyword otherwise skip it if (count ( $res ) > 0) { // lets process that link $ret = $res [$i]; $data = unserialize ( $ret->item_data ); $temp ['img_title'] = $data ['title']; $temp ['img_author'] = $data ['owner']; $temp ['img_src'] = "http://farm{$data['farm']}.staticflickr.com/{$data['server']}/{$data['id']}_{$data['secret']}.jpg"; $temp ['img_src_s'] = "http://farm{$data['farm']}.staticflickr.com/{$data['server']}/{$data['id']}_{$data['secret']}_s.jpg"; $temp ['img_src_q'] = "http://farm{$data['farm']}.staticflickr.com/{$data['server']}/{$data['id']}_{$data['secret']}_q.jpg"; $temp ['img_src_t'] = "http://farm{$data['farm']}.staticflickr.com/{$data['server']}/{$data['id']}_{$data['secret']}_t.jpg"; $temp ['img_src_m'] = "http://farm{$data['farm']}.staticflickr.com/{$data['server']}/{$data['id']}_{$data['secret']}_m.jpg"; $temp ['img_src_n'] = "http://farm{$data['farm']}.staticflickr.com/{$data['server']}/{$data['id']}_{$data['secret']}_n.jpg"; $temp ['img_src_z'] = "http://farm{$data['farm']}.staticflickr.com/{$data['server']}/{$data['id']}_{$data['secret']}_z.jpg"; $temp ['img_src_c'] = "http://farm{$data['farm']}.staticflickr.com/{$data['server']}/{$data['id']}_{$data['secret']}_c.jpg"; $temp ['img_src_b'] = "http://farm{$data['farm']}.staticflickr.com/{$data['server']}/{$data['id']}_{$data['secret']}_b.jpg"; $temp ['img_src_o'] = $temp ['img_src_k'] = $temp ['img_src_h'] = $temp ['img_src_b']; $temp ['img_link'] = 'http://flicker.com/' . $data ['owner'] . '/' . $ret->item_id; echo '<br>Found Link:<a href="'.$temp['img_link'].'">'.$temp ['img_title'].'</a>'; // getting photo description // curl get $x = 'error'; $url = "https://api.flickr.com/services/rest/?method=flickr.photos.getInfo&api_key=".trim($api_key)."&photo_id={$ret->item_id}&format=php_serial"; // echo '<br>Photo details flink:'.$url; curl_setopt ( $this->ch, CURLOPT_HTTPGET, 1 ); curl_setopt ( $this->ch, CURLOPT_URL, trim ( $url ) ); while ( trim ( $x ) != '' ) { $exec = curl_exec ( $this->ch ); $x = curl_error ( $this->ch ); } $exec = unserialize ( $exec ); if (! is_array ( $exec )) { echo '<br> Not valid array '; } else { $temp ['img_author_name'] = $exec ['photo'] ['owner'] ['username']; $temp ['img_description'] = $exec ['photo'] ['description'] ['_content']; $temp ['img_date_posted'] = date ( 'Y-m-d H:i:s', $exec ['photo'] ['dates'] ['posted'] ); $temp ['img_date_taken'] = $exec ['photo'] ['dates'] ['taken']; $temp ['img_viewed'] = $exec ['photo'] ['views']; $tags = ''; foreach ( $exec ['photo'] ['tags'] ['tag'] as $tag ) { $tags = $tags . ' , ' . $tag ['raw']; } $temp ['img_tags'] = $tags; } // update the link status to 1 $query = "delete from {$this->wp_prefix}automatic_general where id={$ret->id}"; $this->db->query ( $query ); // if cache not active let's delete the cached videos and reset indexes if (! in_array ( 'OPT_FL_CACHE', $camp_opt )) { echo '<br>Cache disabled claring cache ...'; $query = "delete from {$this->wp_prefix}automatic_general where item_type='fl_{$camp->camp_id}_$keyword' "; $this->db->query ( $query ); // reset index $query = "update {$this->wp_prefix}automatic_keywords set keyword_start =1 where keyword_camp={$camp->camp_id}"; $this->db->query ( $query ); } //big sizes _o , _k , _h if(stristr($camp->camp_post_content, 'img_src_o') || stristr($camp->camp_post_content, 'img_src_k') || stristr($camp->camp_post_content, 'img_src_h') || stristr($camp->camp_post_custom_v, 'img_src_o') || stristr($camp->camp_post_custom_v, 'img_src_k') || stristr($camp->camp_post_custom_v, 'img_src_h') ){ echo '<br>Getting big images sizes from Flicker for img with id:'.$data['id'].'...'; $furl = "https://api.flickr.com/services/rest/?method=flickr.photos.getSizes&api_key=$api_key&format=php_serial&photo_id=".$data['id']; //curl get $x='error'; curl_setopt($this->ch, CURLOPT_HTTPGET, 1); curl_setopt($this->ch, CURLOPT_URL, trim($furl)); $exec=curl_exec($this->ch); $x=curl_error($this->ch); if(stristr($exec, '{s')){ $sizesArr = unserialize($exec); $sizes = $sizesArr['sizes']['size'] ; foreach ($sizes as $size){ if(stristr($size['source'], '_o')){ $temp ['img_src_o'] = $size['source']; }elseif(stristr($size['source'], '_k')){ $temp ['img_src_k'] = $size['source']; }elseif(stristr($size['source'], '_h')){ $temp ['img_src_h'] = $size['source']; } } }else{ echo '<br>Not valid reply from Flicker for sizes ignoring...'; } } return $temp; } else { echo '<br>No links found for this keyword'; } } // if trim } // foreach keyword } }