/** * Filters images, upload and replace on text item content * @param $current_item array Current post data to be saved * @param $campaign array Current campaign data * @param $feed object Feed database object * @param $item object SimplePie_Item object */ function Item_images(&$current_item, &$campaign, &$feed, &$item) { if($this->cfg['imgcache'] || $campaign['campaign_imgcache']) { $images = $this->parseImages($current_item['content']); $current_item['images'] = $images[2]; //lista de url de imagenes $itemUrl = $this->getReadUrl($item->get_permalink()); if( $this->cfg['nonstatic'] ) { $current_item['images'] = NoNStatic :: imgfind($current_item,$campaign,$item ); } if( sizeof($current_item['images']) ) { // Si hay alguna imagen en el contenido trigger_error(__('Uploading images.', WPeMatico :: TEXTDOMAIN ),E_USER_NOTICE); //trigger_error(print_r($current_item['images'],true),E_USER_NOTICE); $img_new_url = array(); foreach($current_item['images'] as $imagen_src) { trigger_error(__('Uploading image...', WPeMatico :: TEXTDOMAIN ).$imagen_src,E_USER_NOTICE); if($this->campaign['campaign_cancel_imgcache']) { if($this->cfg['gralnolinkimg'] || $this->campaign['campaign_nolinkimg']) $current_item['content'] = str_replace($imagen_src, '', $current_item['content']); // Si no quiere linkar las img al server borro el link de la imagen }else { //$imagen_src = str_replace('_s.','_n.', $imagen_src); //Trae la imagen grande en vez del thumb $imagen_src_real = $this->getRelativeUrl($itemUrl, $imagen_src); $bits = @file_get_contents($imagen_src_real); $name = str_replace(array(' ','%20'),'_',substr(strrchr($imagen_src, "/"),1)); $afile = wp_upload_bits( $name, NULL, $bits); if(!$afile['error']) { trigger_error($afile['url'],E_USER_NOTICE); $current_item['content'] = str_replace($imagen_src, $afile['url'], $current_item['content']); $img_new_url[] = $afile['url']; } else { // Si no la pudo subir intento con mi funcion trigger_error('wp_upload_bits error:'.print_r($afile,true).', trying custom function.',E_USER_WARNING); $upload_dir = wp_upload_dir(); $imagen_dst = $upload_dir['path'] . str_replace('/','',strrchr($imagen_src, '/')); $imagen_dst_url = $upload_dir['url']. '/' . str_replace('/','',strrchr($imagen_src, '/')); if(in_array(str_replace('.','',strrchr($imagen_dst, '.')),explode(',','jpg,gif,png,tif,bmp'))) { // -------- Controlo extensiones permitidas trigger_error('imagen_src='.$imagen_src.' <b>to</b> imagen_dst='.$imagen_dst.'<br>',E_USER_NOTICE); $newfile = $this->guarda_imagen($imagen_src_real, $imagen_dst); if($newfile) { $current_item['content'] = str_replace($imagen_src, $imagen_dst_url, $current_item['content']); $img_new_url[] = $imagen_dst_url; } else { if($this->cfg['gralnolinkimg'] || $this->campaign['campaign_nolinkimg']) $current_item['content'] = str_replace($imagen_src, '', $current_item['content']); // Si no quiere linkar las img al server borro el link de la imagen trigger_error('Upload file failed:'.$imagen_dst,E_USER_WARNING); } }else { trigger_error('Extension not allowed:'.$imagen_dst,E_USER_WARNING); } } } } $current_item['images'] = (array)$img_new_url; } // // Si hay alguna imagen en el contenido } return $current_item; } // item images
/** * Filters images, upload and replace on text item content * @param $current_item array Current post data to be saved * @param $campaign array Current campaign data * @param $item object SimplePie_Item object */ function Get_Item_images($current_item, $campaign, $feed, $item) { if ($this->cfg['imgcache'] || $campaign['campaign_imgcache']) { $images = $this->parseImages($current_item['content']); $current_item['images'] = $images[2]; //lista de url de imagenes if ($this->cfg['nonstatic']) { $current_item['images'] = NoNStatic::imgfind($current_item, $campaign, $item); } $current_item['images'] = array_values(array_unique($current_item['images'])); //$current_item['images'] = array_map('urldecode', $current_item['images'] ); } return $current_item; }