table_name = $wpdb->prefix.'adlemons'; $this->blogurl = get_bloginfo('url'); $zones = $this->get_zones_from_api($this->blogurl); $this->zones = $zones; add_action('admin_menu', array(&$this, 'adlemons_menu')); } // ---------------------------------------------------------------------- menu function adlemons_menu() { $iconlink = plugins_url().'/'. substr(plugin_basename(__FILE__),0,strpos(plugin_basename(__FILE__),"/")) . '/menu_icon.png'; add_menu_page('AdLemons Plugin', 'AdLemons', 'administrator', 8, array(&$this,'overview'), $iconlink); } function overview() { $blogurl = $this->blogurl; $this->print_overview_info(); $zones = $this->get_zones_from_api($blogurl); $this->zones = $zones; } // creamos la subpagina de opciones function print_overview_info() { echo '
'; echo '

AdLemons

'; echo '
'; echo __('Ya has instalado el plugin de AdLemons para WordPress. Enhorabuena!', 'adlemons'); echo '

'; echo __('Ahora solo te queda colocar las zonas en su lugar, para hacerlo acude a Apariencia > Widgets y arrastra cada widget de zona creada en AdLemons en su sitio del sidebar y ¡listo!
', 'adlemons'); echo '
'; echo __('Si tienes dudas puedes acudir a la base de conocimiento de AdLemons http://adlemons.com/base o ponerte en contacto con nosotros en: http://adlemons.com/es/contacto', 'adlemons'); $code = ""; if(is_string($zones)) { $zones = json_decode($this->zones); $code = $zones[0]->code; } if($code == '00') { echo '
'; echo '
'; echo __('Atención: No hemos encontrado zonas para tu blog en AdLemons','adlemons'); echo '
'; echo __('Puede ser por dos motivos: ','adlemons'); echo '

'; echo '
    '; echo __('
  1. Todavía no has dado de alta tu blog en AdLemons, en ese caso, puedes hacerlo registrándote en http://panel.adlemons.com/register y dándo de alta el blog y las zonas publicitarias que quieras vender, luego vuelve aquí y actualiza esta página.

  2. ','adlemons'); echo __('
  3. Existe alguna diferencia entre el el dominio del blog dado de alta en AdLemons y el que aparece en la barra de navegación realmente, en ese caso te recomendamos que des de alta de nuevo el blog con la url correcta, para que el plugin pueda detectarla sin problemas.
  4. ','adlemons'); echo '
'; echo '
'; } echo '
'; } function get_zones_from_api($urlparam) { if(!empty($urlparam)) { $zonesjson = $this->do_post_request('http://panel.adlemons.com/api/get_zones_by_url', 'site_url='.$urlparam); $zones = json_decode($zonesjson); }else{ $zones = false; } return $zones; } function create_adlemonsZone_widget($widget_id, $widget_name, $widget_callback, $widget_loc, $widget_param) { global $wpdb; wp_register_sidebar_widget($widget_id, $widget_name, $widget_callback, $widget_param); } // página de configuración function config_page() { add_options_page('AdLemons', 'AdLemons', 8, 'AdLemons_options', array(&$this, 'options_plugin')); } // ----- Do a PHP Post without cURL function do_post_request($url, $params) { $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POSTFIELDS, $params); $data = curl_exec($ch); curl_close($ch); return $data; } // ejecuta resultado function init($atts) { global $wpdb; // options (config) $this->opt = $wpdb->get_row('SELECT * FROM '.$this->table_name.' LIMIT 1', ARRAY_A); // atributes (user) extract(shortcode_atts(array('frase' => $this->opt['frase']), $atts)); include('file.php'); } } // END class adlemons ------------------------------------------------------------------------ // -------------------------------------------------------------------------- widget wordpress function widget_adlemons_init() { $plugin_dir = basename(dirname(__FILE__)); load_plugin_textdomain( 'adlemons', false, $plugin_dir ); $adlemonsPlugin = new adlemons(); $zones = $adlemonsPlugin->zones; $code = ""; if(is_string($zones)) { $nozonecodearray = json_decode($zones); $code = $nozonecodearray[0]->code; } $params = "uh"; $i = 0; if($code != '00') { foreach($zones as $zone) { //Obtemeos el script code $params = widget_adlemons_get_scriptcode($zone->zone_url); //Rellenamos su contenedor widget_adlemons.$i wp_register_sidebar_widget('widget_adlemons'.$i, "AdLemons :: ".$zone->zone_name, 'widget_adlemons'.$i, $options="", $params); //incrementamos contador $i $i = $i + 1; } } widget_adlemons_check_widgets($zones); } // Check if a widget is allocated or not function widget_adlemons_check_widgets($zones) { $i=0; $url = "http://panel.adlemons.com/api/update_zonelocation"; $hash = "Z8JuY74zRr"; $code = ""; if(is_string($zones)) { $nozonecodearray = json_decode($zones); $code = $nozonecodearray[0]->code; } if($code != '00') { foreach($zones as $zone) { //Si la zona está colocada y su estado inicial no lo estaba, lo seteamos a colocada if(is_active_widget('widget_adlemons'.$i) && $zone->zone_loc != 1) widget_adlemons_do_post_request($url, 'hash='.$hash.'&zone_id='.$zone->zone_id.'&zone_loc=1'); //Si la zona inicial no está colocada, y su estado inicial si lo estaba, lo seteamos a no colocada if(!is_active_widget('widget_adlemons'.$i) && $zone->zone_loc == 1) widget_adlemons_do_post_request($url, 'hash='.$hash.'&zone_id='.$zone->zone_id.'&zone_loc=0'); $i += 1; } } } // ----- Do a PHP Post without cURL function widget_adlemons_do_post_request($url, $params) { $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POSTFIELDS, $params); $data = curl_exec($ch); curl_close($ch); return $data; } function widget_adlemons_get_scriptcode($jsurl) { $scriptcode = ""; return $scriptcode; } function widget_adlemons_create_widgets() { $zones = $adlemonsPlugin->get_zones_from_api(get_bloginfo('url')); print_r($zones); } // -------------------------------------------- Widget Containers // Contenido widget function widget_adlemons0($args, $params) { extract($args); // extrae before_widget, before_title, after_title, after_widget echo $params; } // Contenido widget function widget_adlemons1($args, $params) { extract($args); // extrae before_widget, before_title, after_title, after_widget echo $params; } // Contenido widget function widget_adlemons2($args, $params) { extract($args); // extrae before_widget, before_title, after_title, after_widget echo $params; } // Contenido widget function widget_adlemons3($args, $params) { extract($args); // extrae before_widget, before_title, after_title, after_widget echo $params; } // Contenido widget function widget_adlemons4($args, $params) { extract($args); // extrae before_widget, before_title, after_title, after_widget echo $params; } // Contenido widget function widget_adlemons5($args, $params) { extract($args); // extrae before_widget, before_title, after_title, after_widget echo $params; } // Contenido widget function widget_adlemons6($args, $params) { extract($args); // extrae before_widget, before_title, after_title, after_widget echo $params; } // Contenido widget function widget_adlemons7($args, $params) { extract($args); // extrae before_widget, before_title, after_title, after_widget echo $params; } // Contenido widget function widget_adlemons8($args, $params) { extract($args); // extrae before_widget, before_title, after_title, after_widget echo $params; } // Contenido widget function widget_adlemons9($args, $params) { extract($args); // extrae before_widget, before_title, after_title, after_widget echo $params; } // End Widget Containers -------------------------------------------- // cargamos widgets al cargar WordPress add_action("plugins_loaded", "widget_adlemons_init"); // ----------------------------------------------------------------- ?>