Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > W3C - Usabilità - Accessibilità - Qualità
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti

W3C - Usabilità - Accessibilità - Qualità Consigli e linee guida per siti fruibili e di qualità

Hey Amico Visitatore,
Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione W3C - Usabilità - Accessibilità - Qualità


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 25-09-08, 15:10   #1 (permalink)
Esperta
 
L'avatar di pikadilly
 
Data di registrazione: Dec 2006
Ubicazione: Old City
Messaggi: 6,290
Invia un messaggio tramite ICQ a pikadilly
Wordpress e una funzione php che non mi valida la pagina

La questione è abbastanza pelosa, ci sono di mezzo wordpress, una funzione di php, la validazione e purtroppo la mia pignoleria.

Sto parlando di un plugin per wordpress che restituisce un solo errore alla validazione, e questo errore è da ricercarsi nel file php del plugin, ovvero questo:

Codice PHP:
<?php

/*

Plugin Name: Whydowork Adsense 

Plugin URI: http://www.whydowork.com/blog/whydowork-adsense-plugin/

Description: Insert Adsense code in your pages without modifying the template. Show different ads for articles older than 7 days (or as old as you wish).

Author: Whydowork

Version: 1.2

Author URI: http://whydowork.com/

*/

        
function whydowork_session(){

      
$_SESSION['whydowork_posx'] = '';

      
$_SESSION['whydowork_nri'] = 0;

    }

        function 
whydowork_adsense_install(){

      
add_option("whydowork_adsense_admin",'on');

            
add_option('whydowork_adsense_oldday''7');

            
add_option('whydowork_exclude''');

            for (
$i=1;$i<11;$i++){add_option('whydowork_code_'.$i'ADSENSE CODE #'.$i);}

            for (
$i=1;$i<=3;$i++){

                
add_option('whydowork_front_code_'.$i'FALSE');

                
add_option('whydowork_front_pos_'.$i'top');

                
add_option('whydowork_front_post_'.$i'1');

                
add_option('whydowork_page_code'.$i'FALSE');

                
add_option('whydowork_page_pos'.$i'top');

                
add_option('whydowork_single_code'.$i'FALSE');

                
add_option('whydowork_single_pos'.$i'top');

                
add_option('whydowork_singleold_code'.$i'top');

                
add_option('whydowork_singleold_pos'.$i'top');

            }

        }

        function 
whydowork_adsense_menu(){

            if (
function_exists('add_options_page')){

                
add_options_page('Whydowork Adsense''Whydowork Adsense'9'whydowork_adsense''whydowork_adsense_display');

            }

        }

        

        

        function 
whydowork_align($align_bd,$align){

            if (
$align_bd == $align) return ' selected="selected"';

            else return 
'';

        }

        function 
whydowork_generate_align_menu($pos){

      
$pos 'whydowork_'.$pos;

            
$align_bd get_option($pos);



            
$output '            <td align="right" width="15%">Alignment of Ads: </td>'."\n";

            
$output .= '            <td align="left" width="15%" colspan="2">'."\n";

            
$output .= '                <select name="'.$pos.'">'."\n";

            
$output .= '                    <option value="top"'.whydowork_align($align_bd,'top').'>Top</option>'."\n";

            
$output .= '                    <option value="top-middle"'.whydowork_align($align_bd,'top-middle').'>Top middle</option>'."\n";

            
$output .= '                    <option value="top-left"'.whydowork_align($align_bd,'top-left').'>Top Left</option>'."\n";

            
$output .= '                    <option value="top-right"'.whydowork_align($align_bd,'top-right').'>Top Right</option>'."\n";

            
$output .= '                    <option value="middle"'.whydowork_align($align_bd,'middle').'>Middle</option>'."\n";

            
$output .= '                    <option value="middle-left"'.whydowork_align($align_bd,'middle-left').'>Middle Left</option>'."\n";

            
$output .= '                    <option value="middle-right"'.whydowork_align($align_bd,'middle-right').'>Middle Right</option>'."\n";

            
$output .= '                    <option value="bottom"'.whydowork_align($align_bd,'bottom').'>Bottom</option>'."\n";

            
$output .= '                    <option value="random"'.whydowork_align($align_bd,'random').'>Random</option>'."\n";

            
$output .= '                </select>'."\n";

            
$output .= '            </td>';

            return 
$output;

        }

        

        function 
whydowork_generate_code_menu($code){

      
$code 'whydowork_'.$code;

            
$code_nr get_option($code);

            

            
$output '            <td align="right" width="15%">Code #: </td>'."\n";

            
$output .= '            <td align="left" width="15%">'."\n";

            
$output .= '                <select name="'.$code.'">'."\n";

            
$output .= '                    <option value="FALSE"';

            if (
$code_nr == FALSE){$output .= ' selected="selected"';}

            
$output .= '>No code</option>'."\n";

            for (
$i=1;$i<11;$i++){

                
$output .= '                    <option value="'.$i.'"';

                if (
$code_nr == $i){$output .= ' selected="selected"';}

                
$output .= '>'.$i.'</option>'."\n";

            }

            
$output .= '                </select>'."\n";

            
$output .= '            </td>';

            return 
$output;

        }

    

    function 
whydowork_adsense_display(){

        if(
$_POST['Submit']){

          
update_option("whydowork_adsense_admin"$_POST['whydowork_adsense_admin']);

          

          
// OLD DAY

          
$oldday $_POST['whydowork_adsense_oldday'];

          if (
$oldday<=0){$oldday=1;}

          
update_option("whydowork_adsense_oldday"$oldday);

          

          
// EXCLUDE

          
update_option("whydowork_exclude"$_POST['whydowork_exclude']);

          

          
// CODE

          
update_option("whydowork_code_".$_POST['idx'], $_POST['whydowork_code']);



          for (
$i=1;$i<=3;$i++){

            
// FRONT PAGE

            
update_option('whydowork_front_code_'.$i$_POST['whydowork_front_code_'.$i]);

            
update_option('whydowork_front_pos_'.$i$_POST['whydowork_front_pos_'.$i]);

            
update_option('whydowork_front_post_'.$i$_POST['whydowork_front_post_'.$i]);

            

            
// PAGE

            
update_option('whydowork_page_code_'.$i$_POST['whydowork_page_code_'.$i]);

            
update_option('whydowork_page_pos_'.$i$_POST['whydowork_page_pos_'.$i]);

            

            
// SINGLE PAGE

            
update_option('whydowork_single_code_'.$i$_POST['whydowork_single_code_'.$i]);

            
update_option('whydowork_single_pos_'.$i$_POST['whydowork_single_pos_'.$i]);

            

            
// SINGLE PAGE - OLD

            
update_option('whydowork_singleold_code_'.$i$_POST['whydowork_singleold_code_'.$i]);

            
update_option('whydowork_singleold_pos_'.$i$_POST['whydowork_singleold_pos_'.$i]);

          }

          echo 
'<div id="message" class="updated fade"><p>Update successful!</p></div>';

      }

      
$idx 1;

      if (isset(
$_GET['idcode'])) $idx $_GET['idcode'];

      if (
$idx 10 || $idx 1$idx 1;

      

      
$code stripslashes(get_option('whydowork_code_'.$idx));



      
// SET CODE

      
$output '<div class="wrap" align="center">'."\n";

      
$output .= '<form method="post" action="'.$_SERVER['REQUEST_URI'].'">'."\n";

      
$output .= '<input type="hidden" name="idx" value="'.$idx.'" />';

      for (
$i=1;$i<11;$i++){

        
$output .= '    [<a href="?page=whydowork_adsense&idcode='.$i.'"><font color="';

        

        if (
$i == $idx$output .= '#ff0000';

        else 
$output .= '#000000';

        

        
$output .= '">Code #'.$i.'</font></a>]'."\n";

        

        if (
$i != 10){$output .= ' - ';}

      }

      
$output .= '</div>'."\n";

      

      
$output .= '<div class="wrap">'."\n";

      
$output .= '    <table width="100%" border="0" cellspacing="0" cellpadding="6">'."\n";

      
$output .= '        <tr>'."\n";

      
$output .= '            <td align="left" colspan="2"><h2>Set code #'.$idx.'</h2></td>'."\n";

      
$output .= '        </tr>'."\n";

      
$output .= '        <tr>'."\n";

      
$output .= '            <td align="right" valign="top" width="15%">Ads Code #'.$idx.': </td>'."\n";

      
$output .= '            <td align="left"><textarea name="whydowork_code" cols="60" rows="7">'.$code.'</textarea></td>'."\n";

      
$output .= '        </tr>'."\n";

      
$output .= '        <tr>'."\n";

      
$output .= '            <td align="right" width="15%" valign="top">Preview: </td>'."\n";

      
$output .= '            <td align="left" colspan="3"><div style="border: 1px solid black;">'.$code.'</div></td>'."\n";

      
$output .= '        </tr>'."\n";

      
$output .= '    </table>'."\n";

      
$output .= '</div>'."\n";

      

      
// GENERAL OPTIONS

      
$output .= '<div class="wrap">'."\n";

      
$output .= '    <h2>General options</h2>'."\n";

      
$output .= '    <p>If the post doesn\'t have at least 2 paragraph, the ads from the middle position will not show.</p>'."\n";

      
$output .= '    <p>Show adsense to administrator? &nbsp;&nbsp;<input name="whydowork_adsense_admin" type="checkbox"';

      if (
get_option('whydowork_adsense_admin') == 'on'$output .= ' checked="checked" ';

      
$output .= '/>';

      
$output .= '    <table width="100%" border="0" cellspacing="0" cellpadding="6">'."\n";



      
// EXCLUDE POSTS OR/AND PAGES

      
$output .= '        <tr>'."\n";

      
$output .= '            <td align="left" colspan="6"><h2>Exclude posts or/and pages</h2></td>'."\n";

      
$output .= '        </tr>'."\n";

      
$output .= '        <tr>'."\n";

      
$output .= '            <td align="right" width="15%" valign="top">Exclude: </td>'."\n";

      
$output .= '            <td align="left" colspan="5"><input type="text" name="whydowork_exclude" value="'.get_option('whydowork_exclude').'" /> (Write here the post ID. Example: 1,5,4)<br />Enter multiple "ID" comma separated.<br />"ID" can be found at "Manage" page.</td>'."\n";

      
$output .= '        </tr>'."\n";



      
// Front Page

      
$output .= '        <tr>'."\n";

      
$output .= '            <td align="left" colspan="6"><h2>Front Page(categories, archive)</h2></td>'."\n";

      
$output .= '        </tr>'."\n";

      for (
$j=1;$j<=3;$j++){            

        
$output .= '        <tr>'."\n";

        
$output .= whydowork_generate_code_menu('front_code_'.$j);

        
$output .= whydowork_generate_align_menu('front_pos_'.$j);

        
$output .= '            <td align="right" width="15%">Show to post number: </td>'."\n";

        
$output .= '            <td align="left">'."\n";

        
$output .= '                <select name="whydowork_front_post_'.$j.'">'."\n";

        
$post_nr get_option('whydowork_front_post_'.$j);

        for (
$i=1;$i<11;$i++){

          
$selected '';

          if (
$i == $post_nr){$selected ' selected="selected"';}

          
$output .= '                    <option value="'.$i.'"'.$selected.'>'.$i.'</option>'."\n";

        }

        
$output .= '                </select>'."\n";

        
$output .= '            </td>';

        
$output .= '        </tr>'."\n";

      }

      

      
// PAGE

      
$output .= '        <tr>'."\n";

      
$output .= '            <td align="left" colspan="6"><h2>Page</h2></td>'."\n";

      
$output .= '        </tr>'."\n";

      for (
$j=1;$j<=3;$j++){        

        
$output .= '        <tr>'."\n";

        
$output .= whydowork_generate_code_menu('page_code_'.$j);

        
$output .= whydowork_generate_align_menu('page_pos_'.$j);

        
$output .= '        </tr>'."\n";

      }

      

      
// Single page

      
$output .= '        <tr>'."\n";

      
$output .= '            <td align="left" colspan="6"><h2>Single page</h2></td>'."\n";

      
$output .= '        </tr>'."\n";

      for (
$j=1;$j<=3;$j++){            

        
$output .= '        <tr>'."\n";

        
$output .= whydowork_generate_code_menu('single_code_'.$j);

        
$output .= whydowork_generate_align_menu('single_pos_'.$j);

        
$output .= '        </tr>'."\n";

      }

      

      
// Single page - OLD

      
$output .= '        <tr>'."\n";

      
$output .= '            <td align="left" colspan="6"><h2>Single Page(older than x days)</h2></td>'."\n";

      
$output .= '        </tr>'."\n";

      for (
$j=1;$j<=3;$j++){            

        
$output .= '        <tr>'."\n";

        
$output .= whydowork_generate_code_menu('singleold_code_'.$j);

        
$output .= whydowork_generate_align_menu('singleold_pos_'.$j);

        
$output .= '        </tr>'."\n";

      }

      
$output .= '        <tr>'."\n";

      
$output .= '            <td align="right" width="15%">Use these settings for articles older than: </td>'."\n";

      
$output .= '            <td align="left" colspan="5"><input type="text" name="whydowork_adsense_oldday" value="'.get_option('whydowork_adsense_oldday').'" /> day</td>';

      
$output .= '        </tr>'."\n";



      
$output .= '        <tr>'."\n";

      
$output .= '            <td align="center" colspan="6">'."\n";

      
$output .= '                <input type="submit" name="Submit" class="button" value="Update" />&nbsp;&nbsp;'."\n";

      
$output .= '            </td>'."\n";

      
$output .= '        </tr>'."\n";

      
$output .= '    </table>'."\n";

      
$output .= '</form>';

      
$output .= '</div>'."\n";

      echo 
$output;

    }

    



    function 
whydowork_show_code($idx,$content){

      
$output $content;

            for (
$j=1;$j<=3;$j++){

                
$codeid get_option('whydowork_'.$idx.'_code_'.$j);



                
$verify TRUE;

                if (
$idx == 'front'){

                    
$post_nr get_option('whydowork_front_post_'.$j);

                    if (
$_SESSION['whydowork_nri'] != $post_nr$verify FALSE;

                }



                if (
$codeid != 'FALSE' && $verify){

                    
$align get_option('whydowork_'.$idx.'_pos_'.$j);

                    
$_SESSION['whydowork_posx'] .= $align;

                }

            }



      for (
$i=1;$i<=3;$i++){

        
$verify TRUE;

        if (
$idx == 'front'){

          
$post_nr get_option('whydowork_front_post_'.$i);

          if (
$_SESSION['whydowork_nri'] != $post_nr$verify FALSE;

        }



        
$code_id get_option('whydowork_'.$idx.'_code_'.$i);

        

        if (
$code_id != 'FALSE' && $verify){

          
$align get_option('whydowork_'.$idx.'_pos_'.$i);

          

          if (
$align == 'random'){

            
$whydowork_posx $_SESSION['whydowork_posx'];

            
$align_array = array();

            if (!
ereg('top',$whydowork_posx)){

              
$align_array[] = 'top';

              
$align_array[] = 'top-middle';

              
$align_array[] = 'top-left';

              
$align_array[] = 'top-right';

            }

            if (!
ereg('middle',$whydowork_posx)){

              
$align_array[] = 'middle';

              
$align_array[] = 'middle-left';

              
$align_array[] = 'middle-right';

            }

            if (!
ereg('bottom',$whydowork_posx)){

              
$align_array[] = 'bottom';

            }

            

            
$rand rand(0count($align_array)-1);

            
$align $align_array[$rand];

            
$_SESSION['whydowork_posx'] .= $align;

          }

          
$output1 explode('<p></p>'$output);

          
$c_o1 count($output1);

          

          
$code stripslashes(get_option('whydowork_code_'.$code_id));

          

          if (
$align == 'top'){                $output '<p>'.$code.'</p>'.$output;}

          elseif (
$align == 'top-middle'){        $output '<p style="text-align: center;">'.$code.'</p>'.$output;}

          elseif (
$align == 'top-left'){        $output '<p style="float: left;margin: 4px;">'.$code.'</p>'.$output.'<p></p>';}

          elseif (
$align == 'top-right'){        $output '<p style="float: right;margin: 4px;">'.$code.'</p>'.$output.'<p></p>';}

          elseif (
$align == 'bottom'){        $output $output.'<p style="text-align: center;">'.$code.'</p>';}

          elseif (
ereg('middle',$align) && $c_o1>1){

            
$output ='';

            for (
$j=0;$j<$c_o1;$j++){

              if (
$j == intval(($c_o1/2)-0.5)){

                if (
$align == 'middle'){            $output.= $output1[$j].''.$code.'</p>';}

                elseif (
$align == 'middle-left'){    $output .= $output1[$j].'</p><p style="float: left;margin: 4px;">'.$code.'</p>';}

                elseif (
$align == 'middle-right'){    $output .= $output1[$j].'</p><p style="float: right;margin: 4px;">'.$code.'</p>';}

              }

              else {

                if (
$j != 0){$output .= '</p>';}

                
$output .= $output1[$j];

              }

            }

          }

        }

      }

      return 
$output;

    }



    function 
whydowork_adsense_filter($content){

        global 
$id,$user_level;

        
$output $content;



    if (
$user_level != 10 || get_option('whydowork_adsense_admin') == 'on'){

      
$exclude FALSE;

      
$whydowork_exclude chop(get_option('whydowork_exclude'));

      if (
ereg(',',$whydowork_exclude)){

        
$whydowork_exclude explode(',',$whydowork_exclude);

        for (
$i=0;$i<count($whydowork_exclude);$i++){

          if (
$id == $whydowork_exclude[$i] || $exclude == TRUE$exclude TRUE;

        }

      }

      elseif (
$whydowork_exclude == $id && $whydowork_exclude != ''$exclude TRUE;

      

      if (
ereg('<!-no-adsense-->',$output)) $exclude TRUE;

      

      if (!
$exclude){    

        if (
is_single()){

          
$whydowork_soc 0;

          for (
$i=1;$i<=3;$i++){

            
$code_id get_option('whydowork_singleold_code_'.$i);

            if (
$code_id == 'FALSE'$whydowork_soc += 1;

          }

          

          
$oldday get_option('whydowork_adsense_oldday');

          
$expire time() - $oldday*24*60*60;

          if (
get_the_time('U') < $expire && $whydowork_soc != 3$output whydowork_show_code('singleold',$output);  // Single Post - Old day

          
else $output whydowork_show_code('single',$output); // Single Post

        
}

        else {

          if (
is_page()) $output whydowork_show_code('page',$output); // Page

          
else {  // Categories, Archive, Front page

            
$_SESSION['whydowork_nri'] += 1;

            
$output whydowork_show_code('front',$output);

          }

        }

      }

    }

        return 
$output;

    }







/* START WIDGET CODE */

function widget_whydowork_adsense_init(){

    if (!
function_exists('register_sidebar_widget')) return;



    function 
widget_whydowork_adsense($args){

    global 
$user_level;

    
extract($args);

    echo 
$before_widget;

    if (
$user_level != 10 || get_option('whydowork_adsense_admin') == 'on'){

      
$title htmlspecialchars(get_option('whydowork_adsense_widget_title'));

      echo 
$before_title.$title.$after_title;

      echo 
'<ul>'."\n";

      echo 
'  <li>'.stripslashes(get_option('whydowork_adsense_widget_code')).'</li>'."\n";

      echo 
'</ul>'."\n";

    }

    echo 
$after_widget;

    }

    function 
widget_whydowork_adsense_options() {

        if (
$_POST['whydowork_adsense_title']){

            
$widget_title strip_tags(stripslashes($_POST['whydowork_adsense_title']));

            
update_option('whydowork_adsense_widget_title'$widget_title);

            
update_option('whydowork_adsense_widget_code'$_POST['whydowork_adsense_code']);

        }

        
$widget_title htmlspecialchars(get_option('whydowork_adsense_widget_title'));

        
$code stripslashes(get_option('whydowork_adsense_widget_code'));

    
$output .= '<table width="100%" border="0" cellspacing="0" cellpadding="6">'."\n";

    
$output .= '    <tr>'."\n";

    
$output .= '        <td align="right" valign="top" width="25%">Widget Title: </td>'."\n";

    
$output .= '        <td align="left"><input type="text" name="whydowork_adsense_title" value="'.$widget_title.'" /></td>'."\n";

    
$output .= '    </tr>'."\n";

    
$output .= '    <tr>'."\n";

    
$output .= '        <td align="right" width="25%" valign="top">Code: </td>'."\n";

    
$output .= '        <td align="left" colspan="3"><textarea name="whydowork_adsense_code" cols="25" rows="5">'.$code.'</textarea></td>'."\n";

    
$output .= '    </tr>'."\n";

    
$output .= '</table>'."\n";

    echo 
$output;

    }

    
register_sidebar_widget('Whydowork Adsense''widget_whydowork_adsense');

    
register_widget_control('Whydowork Adsense''widget_whydowork_adsense_options'350200);

}



  
// Add action

  
add_action('plugins_loaded''widget_whydowork_adsense_init');

    
add_action('wp_head''whydowork_session');

  
add_action('activate_whydowork_adsense.php''whydowork_adsense_install');

  
add_action('admin_menu''whydowork_adsense_menu');

  

  
// Add filter

    
add_filter('the_content''whydowork_adsense_filter'25);

    
add_filter('the_excerpt''whydowork_adsense_filter'25);

?>
C'è una funzione, che si shiama explode, nel file è questa:

$output1 = explode('</p>', $output);

Se io la lascio così, il validatore mi restituisce un errore, e il blog mi fa apparire gli adsense giusti, ovvero nella posizione top e middle. Se metto un tag di apertura del paragrafo, ovvero

$output1 = explode('<p></p>', $output);

Allora il validatore mi da risultati positivi, ma dal blog sparisce il blocco degli ads di mezzo dagli articoli.

E se tolgo la chiusura del tag p, il blog restituisce proprio un errore di sintassi, ovviamente.

Che parte del file php devo modificare per fare in modo che il validatore non mi dica ciò:

Quote:
Line 90, Column 2: document type does not allow element "p" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag.<p>Essere così fatalista non è da me e non è mia intenzione far passare questa i
The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.
One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").
Il post è un pò lungo, ma volevo spiegare bene la situazione. Grazie mille.
pikadilly non in linea   Rispondi citando
Vecchio 25-09-08, 15:32   #2 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,847
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Ciao pika
vado in linea teorica ovviamente dato che non ho mai usato o visto quel plugin
la funzione explode serve ad esplodere (separare) una stringa ogni volta che, in questo caso, incontra un fine paragrafo (</p>) creandoti in questo caso un array $output1, quindi conta quanti pezzi di stringa ha questo array e dopo aver aggiunto (a seconda della posizione) dei pezzi di codice, cicla il contenuto dell'array per dare il definitivo output, mi sa che in tutti questi passaggi scappi qualcosa e quindi alcuni tag vadano a farsi benedire o dove non dovrebbero, forse sarebbe più utile vedere il contenuto di $output e l'html della pagina risultante per capire dove sta l'inguacchio
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn non in linea   Rispondi citando
Vecchio 25-09-08, 15:49   #3 (permalink)
Esperta
 
L'avatar di pikadilly
 
Data di registrazione: Dec 2006
Ubicazione: Old City
Messaggi: 6,290
Invia un messaggio tramite ICQ a pikadilly
Ok, cedo. Allora, l'html è visibile quì:

blog.pikadilly.it, qualsiasi articolo apri e tenti di validare ti dà quell'errore, per output che intendi? Cioè la funzione l'ho capita, ma l'altro dato non so dove pescarlo.

Intanto grazie mille Sam.

Lascio il blog invalidato per far capire, per me è un dolore enorme.

LOL
pikadilly non in linea   Rispondi citando
Vecchio 25-09-08, 20:42   #4 (permalink)
Moderatore
 
L'avatar di Elvino
 
Data di registrazione: Jul 2006
Ubicazione: prov di Vicenza
Messaggi: 531
Invia un messaggio tramite MSN a Elvino Invia un messaggio tramite Skype a Elvino
Prova con:
Codice PHP:
<?php
/*
Plugin Name: Whydowork Adsense 
Plugin URI: http://www.whydowork.com/blog/whydowork-adsense-plugin/
Description: Insert Adsense code in your pages without modifying the template. Show different ads for articles older than 7 days (or as old as you wish).
Author: Whydowork
Version: 1.2
Author URI: http://whydowork.com/
*/
        
function whydowork_session(){
      
$_SESSION['whydowork_posx'] = '';
      
$_SESSION['whydowork_nri'] = 0;
    }
        function 
whydowork_adsense_install(){
      
add_option("whydowork_adsense_admin",'on');
            
add_option('whydowork_adsense_oldday''7');
            
add_option('whydowork_exclude''');
            for (
$i=1;$i<11;$i++){add_option('whydowork_code_'.$i'ADSENSE CODE #'.$i);}
            for (
$i=1;$i<=3;$i++){
                
add_option('whydowork_front_code_'.$i'FALSE');
                
add_option('whydowork_front_pos_'.$i'top');
                
add_option('whydowork_front_post_'.$i'1');
                
add_option('whydowork_page_code'.$i'FALSE');
                
add_option('whydowork_page_pos'.$i'top');
                
add_option('whydowork_single_code'.$i'FALSE');
                
add_option('whydowork_single_pos'.$i'top');
                
add_option('whydowork_singleold_code'.$i'top');
                
add_option('whydowork_singleold_pos'.$i'top');
            }
        }
        function 
whydowork_adsense_menu(){
            if (
function_exists('add_options_page')){
                
add_options_page('Whydowork Adsense''Whydowork Adsense'9'whydowork_adsense''whydowork_adsense_display');
            }
        }
        
        
        function 
whydowork_align($align_bd,$align){
            if (
$align_bd == $align) return ' selected="selected"';
            else return 
'';
        }
        function 
whydowork_generate_align_menu($pos){
      
$pos 'whydowork_'.$pos;
            
$align_bd get_option($pos);

            
$output '            <td align="right" width="15%">Alignment of Ads: </td>'."\n";
            
$output .= '            <td align="left" width="15%" colspan="2">'."\n";
            
$output .= '                <select name="'.$pos.'">'."\n";
            
$output .= '                    <option value="top"'.whydowork_align($align_bd,'top').'>Top</option>'."\n";
            
$output .= '                    <option value="top-middle"'.whydowork_align($align_bd,'top-middle').'>Top middle</option>'."\n";
            
$output .= '                    <option value="top-left"'.whydowork_align($align_bd,'top-left').'>Top Left</option>'."\n";
            
$output .= '                    <option value="top-right"'.whydowork_align($align_bd,'top-right').'>Top Right</option>'."\n";
            
$output .= '                    <option value="middle"'.whydowork_align($align_bd,'middle').'>Middle</option>'."\n";
            
$output .= '                    <option value="middle-left"'.whydowork_align($align_bd,'middle-left').'>Middle Left</option>'."\n";
            
$output .= '                    <option value="middle-right"'.whydowork_align($align_bd,'middle-right').'>Middle Right</option>'."\n";
            
$output .= '                    <option value="bottom"'.whydowork_align($align_bd,'bottom').'>Bottom</option>'."\n";
            
$output .= '                    <option value="random"'.whydowork_align($align_bd,'random').'>Random</option>'."\n";
            
$output .= '                </select>'."\n";
            
$output .= '            </td>';
            return 
$output;
        }
        
        function 
whydowork_generate_code_menu($code){
      
$code 'whydowork_'.$code;
            
$code_nr get_option($code);
            
            
$output '            <td align="right" width="15%">Code #: </td>'."\n";
            
$output .= '            <td align="left" width="15%">'."\n";
            
$output .= '                <select name="'.$code.'">'."\n";
            
$output .= '                    <option value="FALSE"';
            if (
$code_nr == FALSE){$output .= ' selected="selected"';}
            
$output .= '>No code</option>'."\n";
            for (
$i=1;$i<11;$i++){
                
$output .= '                    <option value="'.$i.'"';
                if (
$code_nr == $i){$output .= ' selected="selected"';}
                
$output .= '>'.$i.'</option>'."\n";
            }
            
$output .= '                </select>'."\n";
            
$output .= '            </td>';
            return 
$output;
        }
    
    function 
whydowork_adsense_display(){
        if(
$_POST['Submit']){
          
update_option("whydowork_adsense_admin"$_POST['whydowork_adsense_admin']);
          
          
// OLD DAY
          
$oldday $_POST['whydowork_adsense_oldday'];
          if (
$oldday<=0){$oldday=1;}
          
update_option("whydowork_adsense_oldday"$oldday);
          
          
// EXCLUDE
          
update_option("whydowork_exclude"$_POST['whydowork_exclude']);
          
          
// CODE
          
update_option("whydowork_code_".$_POST['idx'], $_POST['whydowork_code']);

          for (
$i=1;$i<=3;$i++){
            
// FRONT PAGE
            
update_option('whydowork_front_code_'.$i$_POST['whydowork_front_code_'.$i]);
            
update_option('whydowork_front_pos_'.$i$_POST['whydowork_front_pos_'.$i]);
            
update_option('whydowork_front_post_'.$i$_POST['whydowork_front_post_'.$i]);
            
            
// PAGE
            
update_option('whydowork_page_code_'.$i$_POST['whydowork_page_code_'.$i]);
            
update_option('whydowork_page_pos_'.$i$_POST['whydowork_page_pos_'.$i]);
            
            
// SINGLE PAGE
            
update_option('whydowork_single_code_'.$i$_POST['whydowork_single_code_'.$i]);
            
update_option('whydowork_single_pos_'.$i$_POST['whydowork_single_pos_'.$i]);
            
            
// SINGLE PAGE - OLD
            
update_option('whydowork_singleold_code_'.$i$_POST['whydowork_singleold_code_'.$i]);
            
update_option('whydowork_singleold_pos_'.$i$_POST['whydowork_singleold_pos_'.$i]);
          }
          echo 
'<div id="message" class="updated fade"><p>Update successful!</p></div>';
      }
      
$idx 1;
      if (isset(
$_GET['idcode'])) $idx $_GET['idcode'];
      if (
$idx 10 || $idx 1$idx 1;
      
      
$code stripslashes(get_option('whydowork_code_'.$idx));

      
// SET CODE
      
$output '<div class="wrap" align="center">'."\n";
      
$output .= '<form method="post" action="'.$_SERVER['REQUEST_URI'].'">'."\n";
      
$output .= '<input type="hidden" name="idx" value="'.$idx.'" />';
      for (
$i=1;$i<11;$i++){
        
$output .= '    [<a href="?page=whydowork_adsense&idcode='.$i.'"><font color="';
        
        if (
$i == $idx$output .= '#ff0000';
        else 
$output .= '#000000';
        
        
$output .= '">Code #'.$i.'</font></a>]'."\n";
        
        if (
$i != 10){$output .= ' - ';}
      }
      
$output .= '</div>'."\n";
      
      
$output .= '<div class="wrap">'."\n";
      
$output .= '    <table width="100%" border="0" cellspacing="0" cellpadding="6">'."\n";
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="left" colspan="2"><h2>Set code #'.$idx.'</h2></td>'."\n";
      
$output .= '        </tr>'."\n";
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="right" valign="top" width="15%">Ads Code #'.$idx.': </td>'."\n";
      
$output .= '            <td align="left"><textarea name="whydowork_code" cols="60" rows="7">'.$code.'</textarea></td>'."\n";
      
$output .= '        </tr>'."\n";
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="right" width="15%" valign="top">Preview: </td>'."\n";
      
$output .= '            <td align="left" colspan="3"><div style="border: 1px solid black;">'.$code.'</div></td>'."\n";
      
$output .= '        </tr>'."\n";
      
$output .= '    </table>'."\n";
      
$output .= '</div>'."\n";
      
      
// GENERAL OPTIONS
      
$output .= '<div class="wrap">'."\n";
      
$output .= '    <h2>General options</h2>'."\n";
      
$output .= '    <p>If the post doesn\'t have at least 2 paragraph, the ads from the middle position will not show.</p>'."\n";
      
$output .= '    <p>Show adsense to administrator? &nbsp;&nbsp;<input name="whydowork_adsense_admin" type="checkbox"';
      if (
get_option('whydowork_adsense_admin') == 'on'$output .= ' checked="checked" ';
      
$output .= '/>';
      
$output .= '    <table width="100%" border="0" cellspacing="0" cellpadding="6">'."\n";

      
// EXCLUDE POSTS OR/AND PAGES
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="left" colspan="6"><h2>Exclude posts or/and pages</h2></td>'."\n";
      
$output .= '        </tr>'."\n";
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="right" width="15%" valign="top">Exclude: </td>'."\n";
      
$output .= '            <td align="left" colspan="5"><input type="text" name="whydowork_exclude" value="'.get_option('whydowork_exclude').'" /> (Write here the post ID. Example: 1,5,4)<br />Enter multiple "ID" comma separated.<br />"ID" can be found at "Manage" page.</td>'."\n";
      
$output .= '        </tr>'."\n";

      
// Front Page
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="left" colspan="6"><h2>Front Page(categories, archive)</h2></td>'."\n";
      
$output .= '        </tr>'."\n";
      for (
$j=1;$j<=3;$j++){            
        
$output .= '        <tr>'."\n";
        
$output .= whydowork_generate_code_menu('front_code_'.$j);
        
$output .= whydowork_generate_align_menu('front_pos_'.$j);
        
$output .= '            <td align="right" width="15%">Show to post number: </td>'."\n";
        
$output .= '            <td align="left">'."\n";
        
$output .= '                <select name="whydowork_front_post_'.$j.'">'."\n";
        
$post_nr get_option('whydowork_front_post_'.$j);
        for (
$i=1;$i<11;$i++){
          
$selected '';
          if (
$i == $post_nr){$selected ' selected="selected"';}
          
$output .= '                    <option value="'.$i.'"'.$selected.'>'.$i.'</option>'."\n";
        }
        
$output .= '                </select>'."\n";
        
$output .= '            </td>';
        
$output .= '        </tr>'."\n";
      }
      
      
// PAGE
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="left" colspan="6"><h2>Page</h2></td>'."\n";
      
$output .= '        </tr>'."\n";
      for (
$j=1;$j<=3;$j++){        
        
$output .= '        <tr>'."\n";
        
$output .= whydowork_generate_code_menu('page_code_'.$j);
        
$output .= whydowork_generate_align_menu('page_pos_'.$j);
        
$output .= '        </tr>'."\n";
      }
      
      
// Single page
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="left" colspan="6"><h2>Single page</h2></td>'."\n";
      
$output .= '        </tr>'."\n";
      for (
$j=1;$j<=3;$j++){            
        
$output .= '        <tr>'."\n";
        
$output .= whydowork_generate_code_menu('single_code_'.$j);
        
$output .= whydowork_generate_align_menu('single_pos_'.$j);
        
$output .= '        </tr>'."\n";
      }
      
      
// Single page - OLD
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="left" colspan="6"><h2>Single Page(older than x days)</h2></td>'."\n";
      
$output .= '        </tr>'."\n";
      for (
$j=1;$j<=3;$j++){            
        
$output .= '        <tr>'."\n";
        
$output .= whydowork_generate_code_menu('singleold_code_'.$j);
        
$output .= whydowork_generate_align_menu('singleold_pos_'.$j);
        
$output .= '        </tr>'."\n";
      }
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="right" width="15%">Use these settings for articles older than: </td>'."\n";
      
$output .= '            <td align="left" colspan="5"><input type="text" name="whydowork_adsense_oldday" value="'.get_option('whydowork_adsense_oldday').'" /> day</td>';
      
$output .= '        </tr>'."\n";

      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="center" colspan="6">'."\n";
      
$output .= '                <input type="submit" name="Submit" class="button" value="Update" />&nbsp;&nbsp;'."\n";
      
$output .= '            </td>'."\n";
      
$output .= '        </tr>'."\n";
      
$output .= '    </table>'."\n";
      
$output .= '</form>';
      
$output .= '</div>'."\n";
      echo 
$output;
    }
    

    function 
whydowork_show_code($idx,$content){
      
$output $content;
            for (
$j=1;$j<=3;$j++){
                
$codeid get_option('whydowork_'.$idx.'_code_'.$j);

                
$verify TRUE;
                if (
$idx == 'front'){
                    
$post_nr get_option('whydowork_front_post_'.$j);
                    if (
$_SESSION['whydowork_nri'] != $post_nr$verify FALSE;
                }

                if (
$codeid != 'FALSE' && $verify){
                    
$align get_option('whydowork_'.$idx.'_pos_'.$j);
                    
$_SESSION['whydowork_posx'] .= $align;
                }
            }

      for (
$i=1;$i<=3;$i++){
        
$verify TRUE;
        if (
$idx == 'front'){
          
$post_nr get_option('whydowork_front_post_'.$i);
          if (
$_SESSION['whydowork_nri'] != $post_nr$verify FALSE;
        }

        
$code_id get_option('whydowork_'.$idx.'_code_'.$i);
        
        if (
$code_id != 'FALSE' && $verify){
          
$align get_option('whydowork_'.$idx.'_pos_'.$i);
          
          if (
$align == 'random'){
            
$whydowork_posx $_SESSION['whydowork_posx'];
            
$align_array = array();
            if (!
ereg('top',$whydowork_posx)){
              
$align_array[] = 'top';
              
$align_array[] = 'top-middle';
              
$align_array[] = 'top-left';
              
$align_array[] = 'top-right';
            }
            if (!
ereg('middle',$whydowork_posx)){
              
$align_array[] = 'middle';
              
$align_array[] = 'middle-left';
              
$align_array[] = 'middle-right';
            }
            if (!
ereg('bottom',$whydowork_posx)){
              
$align_array[] = 'bottom';
            }
            
            
$rand rand(0count($align_array)-1);
            
$align $align_array[$rand];
            
$_SESSION['whydowork_posx'] .= $align;
          }
          
$output1 explode('</p>'$output);
          
$c_o1 count($output1);
          
          
$code stripslashes(get_option('whydowork_code_'.$code_id));
          
          if (
$align == 'top'){                $output '<p>'.$code.'</p>'.$output;}
          elseif (
$align == 'top-middle'){        $output '<p style="text-align: center;">'.$code.'</p>'.$output;}
          elseif (
$align == 'top-left'){        $output '<p style="float: left;margin: 4px;">'.$code.'</p>'.$output.'<p></p>';}
          elseif (
$align == 'top-right'){        $output '<p style="float: right;margin: 4px;">'.$code.'</p>'.$output.'<p></p>';}
          elseif (
$align == 'bottom'){        $output $output.'<p style="text-align: center;">'.$code.'</p>';}
          elseif (
ereg('middle',$align) && $c_o1>1){
            
$output ='';
            for (
$j=0;$j<$c_o1;$j++){
              if (
$j == intval(($c_o1/2)-0.5)){
                if (
$align == 'middle'){            $output.= $output1[$j].'</p><p>'.$code.'';}
                elseif (
$align == 'middle-left'){    $output .= $output1[$j].'</p><p style="float: left;margin: 4px;">'.$code.'</p>';}
                elseif (
$align == 'middle-right'){    $output .= $output1[$j].'</p><p style="float: right;margin: 4px;">'.$code.'</p>';}
              }
              else {
                if (
$j != 0){$output .= '</p>';}
                
$output .= $output1[$j];
              }
            }
          }
        }
      }
      return 
$output;
    }

    function 
whydowork_adsense_filter($content){
        global 
$id,$user_level;
        
$output $content;

    if (
$user_level != 10 || get_option('whydowork_adsense_admin') == 'on'){
      
$exclude FALSE;
      
$whydowork_exclude chop(get_option('whydowork_exclude'));
      if (
ereg(',',$whydowork_exclude)){
        
$whydowork_exclude explode(',',$whydowork_exclude);
        for (
$i=0;$i<count($whydowork_exclude);$i++){
          if (
$id == $whydowork_exclude[$i] || $exclude == TRUE$exclude TRUE;
        }
      }
      elseif (
$whydowork_exclude == $id && $whydowork_exclude != ''$exclude TRUE;
      
      if (
ereg('<!-no-adsense-->',$output)) $exclude TRUE;
      
      if (!
$exclude){    
        if (
is_single()){
          
$whydowork_soc 0;
          for (
$i=1;$i<=3;$i++){
            
$code_id get_option('whydowork_singleold_code_'.$i);
            if (
$code_id == 'FALSE'$whydowork_soc += 1;
          }
          
          
$oldday get_option('whydowork_adsense_oldday');
          
$expire time() - $oldday*24*60*60;
          if (
get_the_time('U') < $expire && $whydowork_soc != 3$output whydowork_show_code('singleold',$output);  // Single Post - Old day
          
else $output whydowork_show_code('single',$output); // Single Post
        
}
        else {
          if (
is_page()) $output whydowork_show_code('page',$output); // Page
          
else {  // Categories, Archive, Front page
            
$_SESSION['whydowork_nri'] += 1;
            
$output whydowork_show_code('front',$output);
          }
        }
      }
    }
        return 
$output;
    }



/* START WIDGET CODE */
function widget_whydowork_adsense_init(){
    if (!
function_exists('register_sidebar_widget')) return;

    function 
widget_whydowork_adsense($args){
    global 
$user_level;
    
extract($args);
    echo 
$before_widget;
    if (
$user_level != 10 || get_option('whydowork_adsense_admin') == 'on'){
      
$title htmlspecialchars(get_option('whydowork_adsense_widget_title'));
      echo 
$before_title.$title.$after_title;
      echo 
'<ul>'."\n";
      echo 
'  <li>'.stripslashes(get_option('whydowork_adsense_widget_code')).'</li>'."\n";
      echo 
'</ul>'."\n";
    }
    echo 
$after_widget;
    }
    function 
widget_whydowork_adsense_options() {
        if (
$_POST['whydowork_adsense_title']){
            
$widget_title strip_tags(stripslashes($_POST['whydowork_adsense_title']));
            
update_option('whydowork_adsense_widget_title'$widget_title);
            
update_option('whydowork_adsense_widget_code'$_POST['whydowork_adsense_code']);
        }
        
$widget_title htmlspecialchars(get_option('whydowork_adsense_widget_title'));
        
$code stripslashes(get_option('whydowork_adsense_widget_code'));
    
$output .= '<table width="100%" border="0" cellspacing="0" cellpadding="6">'."\n";
    
$output .= '    <tr>'."\n";
    
$output .= '        <td align="right" valign="top" width="25%">Widget Title: </td>'."\n";
    
$output .= '        <td align="left"><input type="text" name="whydowork_adsense_title" value="'.$widget_title.'" /></td>'."\n";
    
$output .= '    </tr>'."\n";
    
$output .= '    <tr>'."\n";
    
$output .= '        <td align="right" width="25%" valign="top">Code: </td>'."\n";
    
$output .= '        <td align="left" colspan="3"><textarea name="whydowork_adsense_code" cols="25" rows="5">'.$code.'</textarea></td>'."\n";
    
$output .= '    </tr>'."\n";
    
$output .= '</table>'."\n";
    echo 
$output;
    }
    
register_sidebar_widget('Whydowork Adsense''widget_whydowork_adsense');
    
register_widget_control('Whydowork Adsense''widget_whydowork_adsense_options'350200);
}

  
// Add action
  
add_action('plugins_loaded''widget_whydowork_adsense_init');
    
add_action('wp_head''whydowork_session');
  
add_action('activate_whydowork_adsense.php''whydowork_adsense_install');
  
add_action('admin_menu''whydowork_adsense_menu');
  
  
// Add filter
    
add_filter('the_content''whydowork_adsense_filter'25);
    
add_filter('the_excerpt''whydowork_adsense_filter'25);
?>
Ciao
__________________
Elvino non in linea   Rispondi citando
Vecchio 26-09-08, 08:45   #5 (permalink)
Esperta
 
L'avatar di pikadilly
 
Data di registrazione: Dec 2006
Ubicazione: Old City
Messaggi: 6,290
Invia un messaggio tramite ICQ a pikadilly
Ciao Elvino, ti ringrazio dell'aiuto, ma ora restituisce undici errori.
pikadilly non in linea   Rispondi citando
Vecchio 26-09-08, 15:04   #6 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,847
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Dall'HTML della pagina ho visto che si è mangiato tutti i fine paragrafo dell'articolo, bisogna vedere come mai nella ricostruzione dell'articolo per inserire il codice Adsense non riposiziona i fine paragrafo.....più tardi posso vedere di studiarci .
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn non in linea   Rispondi citando
Vecchio 26-09-08, 17:29   #7 (permalink)
Esperta
 
L'avatar di pikadilly
 
Data di registrazione: Dec 2006
Ubicazione: Old City
Messaggi: 6,290
Invia un messaggio tramite ICQ a pikadilly
Ringrazio e chiedo venia, la mia è pignoleria perchè il plugin funziona, la pagina pure, è solo un fatto di validazione.
pikadilly non in linea   Rispondi citando
Vecchio 26-09-08, 20:09   #8 (permalink)
Moderatore
 
L'avatar di Elvino
 
Data di registrazione: Jul 2006
Ubicazione: prov di Vicenza
Messaggi: 531
Invia un messaggio tramite MSN a Elvino Invia un messaggio tramite Skype a Elvino
Quote:
pikadilly Visualizza il messaggio
Ciao Elvino, ti ringrazio dell'aiuto, ma ora restituisce undici errori.
e adesso?
Codice PHP:
<?php
/*
Plugin Name: Whydowork Adsense 
Plugin URI: http://www.whydowork.com/blog/whydowork-adsense-plugin/
Description: Insert Adsense code in your pages without modifying the template. Show different ads for articles older than 7 days (or as old as you wish).
Author: Whydowork
Version: 1.2
Author URI: http://whydowork.com/
*/
        
function whydowork_session(){
      
$_SESSION['whydowork_posx'] = '';
      
$_SESSION['whydowork_nri'] = 0;
    }
        function 
whydowork_adsense_install(){
      
add_option("whydowork_adsense_admin",'on');
            
add_option('whydowork_adsense_oldday''7');
            
add_option('whydowork_exclude''');
            for (
$i=1;$i<11;$i++){add_option('whydowork_code_'.$i'ADSENSE CODE #'.$i);}
            for (
$i=1;$i<=3;$i++){
                
add_option('whydowork_front_code_'.$i'FALSE');
                
add_option('whydowork_front_pos_'.$i'top');
                
add_option('whydowork_front_post_'.$i'1');
                
add_option('whydowork_page_code'.$i'FALSE');
                
add_option('whydowork_page_pos'.$i'top');
                
add_option('whydowork_single_code'.$i'FALSE');
                
add_option('whydowork_single_pos'.$i'top');
                
add_option('whydowork_singleold_code'.$i'top');
                
add_option('whydowork_singleold_pos'.$i'top');
            }
        }
        function 
whydowork_adsense_menu(){
            if (
function_exists('add_options_page')){
                
add_options_page('Whydowork Adsense''Whydowork Adsense'9'whydowork_adsense''whydowork_adsense_display');
            }
        }
        
        
        function 
whydowork_align($align_bd,$align){
            if (
$align_bd == $align) return ' selected="selected"';
            else return 
'';
        }
        function 
whydowork_generate_align_menu($pos){
      
$pos 'whydowork_'.$pos;
            
$align_bd get_option($pos);

            
$output '            <td align="right" width="15%">Alignment of Ads: </td>'."\n";
            
$output .= '            <td align="left" width="15%" colspan="2">'."\n";
            
$output .= '                <select name="'.$pos.'">'."\n";
            
$output .= '                    <option value="top"'.whydowork_align($align_bd,'top').'>Top</option>'."\n";
            
$output .= '                    <option value="top-middle"'.whydowork_align($align_bd,'top-middle').'>Top middle</option>'."\n";
            
$output .= '                    <option value="top-left"'.whydowork_align($align_bd,'top-left').'>Top Left</option>'."\n";
            
$output .= '                    <option value="top-right"'.whydowork_align($align_bd,'top-right').'>Top Right</option>'."\n";
            
$output .= '                    <option value="middle"'.whydowork_align($align_bd,'middle').'>Middle</option>'."\n";
            
$output .= '                    <option value="middle-left"'.whydowork_align($align_bd,'middle-left').'>Middle Left</option>'."\n";
            
$output .= '                    <option value="middle-right"'.whydowork_align($align_bd,'middle-right').'>Middle Right</option>'."\n";
            
$output .= '                    <option value="bottom"'.whydowork_align($align_bd,'bottom').'>Bottom</option>'."\n";
            
$output .= '                    <option value="random"'.whydowork_align($align_bd,'random').'>Random</option>'."\n";
            
$output .= '                </select>'."\n";
            
$output .= '            </td>';
            return 
$output;
        }
        
        function 
whydowork_generate_code_menu($code){
      
$code 'whydowork_'.$code;
            
$code_nr get_option($code);
            
            
$output '            <td align="right" width="15%">Code #: </td>'."\n";
            
$output .= '            <td align="left" width="15%">'."\n";
            
$output .= '                <select name="'.$code.'">'."\n";
            
$output .= '                    <option value="FALSE"';
            if (
$code_nr == FALSE){$output .= ' selected="selected"';}
            
$output .= '>No code</option>'."\n";
            for (
$i=1;$i<11;$i++){
                
$output .= '                    <option value="'.$i.'"';
                if (
$code_nr == $i){$output .= ' selected="selected"';}
                
$output .= '>'.$i.'</option>'."\n";
            }
            
$output .= '                </select>'."\n";
            
$output .= '            </td>';
            return 
$output;
        }
    
    function 
whydowork_adsense_display(){
        if(
$_POST['Submit']){
          
update_option("whydowork_adsense_admin"$_POST['whydowork_adsense_admin']);
          
          
// OLD DAY
          
$oldday $_POST['whydowork_adsense_oldday'];
          if (
$oldday<=0){$oldday=1;}
          
update_option("whydowork_adsense_oldday"$oldday);
          
          
// EXCLUDE
          
update_option("whydowork_exclude"$_POST['whydowork_exclude']);
          
          
// CODE
          
update_option("whydowork_code_".$_POST['idx'], $_POST['whydowork_code']);

          for (
$i=1;$i<=3;$i++){
            
// FRONT PAGE
            
update_option('whydowork_front_code_'.$i$_POST['whydowork_front_code_'.$i]);
            
update_option('whydowork_front_pos_'.$i$_POST['whydowork_front_pos_'.$i]);
            
update_option('whydowork_front_post_'.$i$_POST['whydowork_front_post_'.$i]);
            
            
// PAGE
            
update_option('whydowork_page_code_'.$i$_POST['whydowork_page_code_'.$i]);
            
update_option('whydowork_page_pos_'.$i$_POST['whydowork_page_pos_'.$i]);
            
            
// SINGLE PAGE
            
update_option('whydowork_single_code_'.$i$_POST['whydowork_single_code_'.$i]);
            
update_option('whydowork_single_pos_'.$i$_POST['whydowork_single_pos_'.$i]);
            
            
// SINGLE PAGE - OLD
            
update_option('whydowork_singleold_code_'.$i$_POST['whydowork_singleold_code_'.$i]);
            
update_option('whydowork_singleold_pos_'.$i$_POST['whydowork_singleold_pos_'.$i]);
          }
          echo 
'<div id="message" class="updated fade"><p>Update successful!</p></div>';
      }
      
$idx 1;
      if (isset(
$_GET['idcode'])) $idx $_GET['idcode'];
      if (
$idx 10 || $idx 1$idx 1;
      
      
$code stripslashes(get_option('whydowork_code_'.$idx));

      
// SET CODE
      
$output '<div class="wrap" align="center">'."\n";
      
$output .= '<form method="post" action="'.$_SERVER['REQUEST_URI'].'">'."\n";
      
$output .= '<input type="hidden" name="idx" value="'.$idx.'" />';
      for (
$i=1;$i<11;$i++){
        
$output .= '    [<a href="?page=whydowork_adsense&idcode='.$i.'"><font color="';
        
        if (
$i == $idx$output .= '#ff0000';
        else 
$output .= '#000000';
        
        
$output .= '">Code #'.$i.'</font></a>]'."\n";
        
        if (
$i != 10){$output .= ' - ';}
      }
      
$output .= '</div>'."\n";
      
      
$output .= '<div class="wrap">'."\n";
      
$output .= '    <table width="100%" border="0" cellspacing="0" cellpadding="6">'."\n";
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="left" colspan="2"><h2>Set code #'.$idx.'</h2></td>'."\n";
      
$output .= '        </tr>'."\n";
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="right" valign="top" width="15%">Ads Code #'.$idx.': </td>'."\n";
      
$output .= '            <td align="left"><textarea name="whydowork_code" cols="60" rows="7">'.$code.'</textarea></td>'."\n";
      
$output .= '        </tr>'."\n";
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="right" width="15%" valign="top">Preview: </td>'."\n";
      
$output .= '            <td align="left" colspan="3"><div style="border: 1px solid black;">'.$code.'</div></td>'."\n";
      
$output .= '        </tr>'."\n";
      
$output .= '    </table>'."\n";
      
$output .= '</div>'."\n";
      
      
// GENERAL OPTIONS
      
$output .= '<div class="wrap">'."\n";
      
$output .= '    <h2>General options</h2>'."\n";
      
$output .= '    <p>If the post doesn\'t have at least 2 paragraph, the ads from the middle position will not show.</p>'."\n";
      
$output .= '    <p>Show adsense to administrator? &nbsp;&nbsp;<input name="whydowork_adsense_admin" type="checkbox"';
      if (
get_option('whydowork_adsense_admin') == 'on'$output .= ' checked="checked" ';
      
$output .= '/>';
      
$output .= '    <table width="100%" border="0" cellspacing="0" cellpadding="6">'."\n";

      
// EXCLUDE POSTS OR/AND PAGES
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="left" colspan="6"><h2>Exclude posts or/and pages</h2></td>'."\n";
      
$output .= '        </tr>'."\n";
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="right" width="15%" valign="top">Exclude: </td>'."\n";
      
$output .= '            <td align="left" colspan="5"><input type="text" name="whydowork_exclude" value="'.get_option('whydowork_exclude').'" /> (Write here the post ID. Example: 1,5,4)<br />Enter multiple "ID" comma separated.<br />"ID" can be found at "Manage" page.</td>'."\n";
      
$output .= '        </tr>'."\n";

      
// Front Page
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="left" colspan="6"><h2>Front Page(categories, archive)</h2></td>'."\n";
      
$output .= '        </tr>'."\n";
      for (
$j=1;$j<=3;$j++){            
        
$output .= '        <tr>'."\n";
        
$output .= whydowork_generate_code_menu('front_code_'.$j);
        
$output .= whydowork_generate_align_menu('front_pos_'.$j);
        
$output .= '            <td align="right" width="15%">Show to post number: </td>'."\n";
        
$output .= '            <td align="left">'."\n";
        
$output .= '                <select name="whydowork_front_post_'.$j.'">'."\n";
        
$post_nr get_option('whydowork_front_post_'.$j);
        for (
$i=1;$i<11;$i++){
          
$selected '';
          if (
$i == $post_nr){$selected ' selected="selected"';}
          
$output .= '                    <option value="'.$i.'"'.$selected.'>'.$i.'</option>'."\n";
        }
        
$output .= '                </select>'."\n";
        
$output .= '            </td>';
        
$output .= '        </tr>'."\n";
      }
      
      
// PAGE
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="left" colspan="6"><h2>Page</h2></td>'."\n";
      
$output .= '        </tr>'."\n";
      for (
$j=1;$j<=3;$j++){        
        
$output .= '        <tr>'."\n";
        
$output .= whydowork_generate_code_menu('page_code_'.$j);
        
$output .= whydowork_generate_align_menu('page_pos_'.$j);
        
$output .= '        </tr>'."\n";
      }
      
      
// Single page
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="left" colspan="6"><h2>Single page</h2></td>'."\n";
      
$output .= '        </tr>'."\n";
      for (
$j=1;$j<=3;$j++){            
        
$output .= '        <tr>'."\n";
        
$output .= whydowork_generate_code_menu('single_code_'.$j);
        
$output .= whydowork_generate_align_menu('single_pos_'.$j);
        
$output .= '        </tr>'."\n";
      }
      
      
// Single page - OLD
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="left" colspan="6"><h2>Single Page(older than x days)</h2></td>'."\n";
      
$output .= '        </tr>'."\n";
      for (
$j=1;$j<=3;$j++){            
        
$output .= '        <tr>'."\n";
        
$output .= whydowork_generate_code_menu('singleold_code_'.$j);
        
$output .= whydowork_generate_align_menu('singleold_pos_'.$j);
        
$output .= '        </tr>'."\n";
      }
      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="right" width="15%">Use these settings for articles older than: </td>'."\n";
      
$output .= '            <td align="left" colspan="5"><input type="text" name="whydowork_adsense_oldday" value="'.get_option('whydowork_adsense_oldday').'" /> day</td>';
      
$output .= '        </tr>'."\n";

      
$output .= '        <tr>'."\n";
      
$output .= '            <td align="center" colspan="6">'."\n";
      
$output .= '                <input type="submit" name="Submit" class="button" value="Update" />&nbsp;&nbsp;'."\n";
      
$output .= '            </td>'."\n";
      
$output .= '        </tr>'."\n";
      
$output .= '    </table>'."\n";
      
$output .= '</form>';
      
$output .= '</div>'."\n";
      echo 
$output;
    }
    

    function 
whydowork_show_code($idx,$content){
      
$output $content;
            for (
$j=1;$j<=3;$j++){
                
$codeid get_option('whydowork_'.$idx.'_code_'.$j);

                
$verify TRUE;
                if (
$idx == 'front'){
                    
$post_nr get_option('whydowork_front_post_'.$j);
                    if (
$_SESSION['whydowork_nri'] != $post_nr$verify FALSE;
                }

                if (
$codeid != 'FALSE' && $verify){
                    
$align get_option('whydowork_'.$idx.'_pos_'.$j);
                    
$_SESSION['whydowork_posx'] .= $align;
                }
            }

      for (
$i=1;$i<=3;$i++){
        
$verify TRUE;
        if (
$idx == 'front'){
          
$post_nr get_option('whydowork_front_post_'.$i);
          if (
$_SESSION['whydowork_nri'] != $post_nr$verify FALSE;
        }

        
$code_id get_option('whydowork_'.$idx.'_code_'.$i);
        
        if (
$code_id != 'FALSE' && $verify){
          
$align get_option('whydowork_'.$idx.'_pos_'.$i);
          
          if (
$align == 'random'){
            
$whydowork_posx $_SESSION['whydowork_posx'];
            
$align_array = array();
            if (!
ereg('top',$whydowork_posx)){
              
$align_array[] = 'top';
              
$align_array[] = 'top-middle';
              
$align_array[] = 'top-left';
              
$align_array[] = 'top-right';
            }
            if (!
ereg('middle',$whydowork_posx)){
              
$align_array[] = 'middle';
              
$align_array[] = 'middle-left';
              
$align_array[] = 'middle-right';
            }
            if (!
ereg('bottom',$whydowork_posx)){
              
$align_array[] = 'bottom';
            }
            
            
$rand rand(0count($align_array)-1);
            
$align $align_array[$rand];
            
$_SESSION['whydowork_posx'] .= $align;
          }
          
$output1 explode('</p>'$output);
          
$c_o1 count($output1);
          
          
$code stripslashes(get_option('whydowork_code_'.$code_id));
          
          if (
$align == 'top'){                $output '<p>'.$code.'</p>'.$output;}
          elseif (
$align == 'top-middle'){        $output '<p style="text-align: center;">'.$code.'</p>'.$output;}
          elseif (
$align == 'top-left'){        $output '<p style="float: left;margin: 4px;">'.$code.'</p>'.$output.'<p></p>';}
          elseif (
$align == 'top-right'){        $output '<p style="float: right;margin: 4px;">'.$code.'</p>'.$output.'<p></p>';}
          elseif (
$align == 'bottom'){        $output $output.'<p style="text-align: center;">'.$code.'</p>';}
          elseif (
ereg('middle',$align) && $c_o1>1){
            
$output ='';
            for (
$j=0;$j<$c_o1;$j++){
              if (
$j == intval(($c_o1/2)-0.5)){
                if (
$align == 'middle'){            $output.= '</p>'.$output1[$j].'</p><p>'.$code.'';}
                elseif (
$align == 'middle-left'){    $output .= $output1[$j].'</p><p style="float: left;margin: 4px;">'.$code.'</p>';}
                elseif (
$align == 'middle-right'){    $output .= $output1[$j].'</p><p style="float: right;margin: 4px;">'.$code.'</p>';}
              }
              else {
                if (
$j != 0){$output .= '</p>';}
                
$output .= $output1[$j];
              }
            }
          }
        }
      }
      return 
$output;
    }

    function 
whydowork_adsense_filter($content){
        global 
$id,$user_level;
        
$output $content;

    if (
$user_level != 10 || get_option('whydowork_adsense_admin') == 'on'){
      
$exclude FALSE;
      
$whydowork_exclude chop(get_option('whydowork_exclude'));
      if (
ereg(',',$whydowork_exclude)){
        
$whydowork_exclude explode(',',$whydowork_exclude);
        for (
$i=0;$i<count($whydowork_exclude);$i++){
          if (
$id == $whydowork_exclude[$i] || $exclude == TRUE$exclude TRUE;
        }
      }
      elseif (
$whydowork_exclude == $id && $whydowork_exclude != ''$exclude TRUE;
      
      if (
ereg('<!-no-adsense-->',$output)) $exclude TRUE;
      
      if (!
$exclude){    
        if (
is_single()){
          
$whydowork_soc 0;
          for (
$i=1;$i<=3;$i++){
            
$code_id get_option('whydowork_singleold_code_'.$i);
            if (
$code_id == 'FALSE'$whydowork_soc += 1;
          }
          
          
$oldday get_option('whydowork_adsense_oldday');
          
$expire time() - $oldday*24*60*60;
          if (
get_the_time('U') < $expire && $whydowork_soc != 3$output whydowork_show_code('singleold',$output);  // Single Post - Old day
          
else $output whydowork_show_code('single',$output); // Single Post
        
}
        else {
          if (
is_page()) $output whydowork_show_code('page',$output); // Page
          
else {  // Categories, Archive, Front page
            
$_SESSION['whydowork_nri'] += 1;
            
$output whydowork_show_code('front',$output);
          }
        }
      }
    }
        return 
$output;
    }



/* START WIDGET CODE */
function widget_whydowork_adsense_init(){
    if (!
function_exists('register_sidebar_widget')) return;

    function 
widget_whydowork_adsense($args){
    global 
$user_level;
    
extract($args);
    echo 
$before_widget;
    if (
$user_level != 10 || get_option('whydowork_adsense_admin') == 'on'){
      
$title htmlspecialchars(get_option('whydowork_adsense_widget_title'));
      echo 
$before_title.$title.$after_title;
      echo 
'<ul>'."\n";
      echo 
'  <li>'.stripslashes(get_option('whydowork_adsense_widget_code')).'</li>'."\n";
      echo 
'</ul>'."\n";
    }
    echo 
$after_widget;
    }
    function 
widget_whydowork_adsense_options() {
        if (
$_POST['whydowork_adsense_title']){
            
$widget_title strip_tags(stripslashes($_POST['whydowork_adsense_title']));
            
update_option('whydowork_adsense_widget_title'$widget_title);
            
update_option('whydowork_adsense_widget_code'$_POST['whydowork_adsense_code']);
        }
        
$widget_title htmlspecialchars(get_option('whydowork_adsense_widget_title'));
        
$code stripslashes(get_option('whydowork_adsense_widget_code'));
    
$output .= '<table width="100%" border="0" cellspacing="0" cellpadding="6">'."\n";
    
$output .= '    <tr>'."\n";
    
$output .= '        <td align="right" valign="top" width="25%">Widget Title: </td>'."\n";
    
$output .= '        <td align="left"><input type="text" name="whydowork_adsense_title" value="'.$widget_title.'" /></td>'."\n";
    
$output .= '    </tr>'."\n";
    
$output .= '    <tr>'."\n";
    
$output .= '        <td align="right" width="25%" valign="top">Code: </td>'."\n";
    
$output .= '        <td align="left" colspan="3"><textarea name="whydowork_adsense_code" cols="25" rows="5">'.$code.'</textarea></td>'."\n";
    
$output .= '    </tr>'."\n";
    
$output .= '</table>'."\n";
    echo 
$output;
    }
    
register_sidebar_widget('Whydowork Adsense''widget_whydowork_adsense');
    
register_widget_control('Whydowork Adsense''widget_whydowork_adsense_options'350200);
}

  
// Add action
  
add_action('plugins_loaded''widget_whydowork_adsense_init');
    
add_action('wp_head''whydowork_session');
  
add_action('activate_whydowork_adsense.php''whydowork_adsense_install');
  
add_action('admin_menu''whydowork_adsense_menu');
  
  
// Add filter
    
add_filter('the_content''whydowork_adsense_filter'25);
    
add_filter('the_excerpt''whydowork_adsense_filter'25);
?>
__________________
Elvino non in linea   Rispondi citando
Vecchio 26-09-08, 21:20   #9 (permalink)
Esperta
 
L'avatar di pikadilly
 
Data di registrazione: Dec 2006
Ubicazione: Old City
Messaggi: 6,290
Invia un messaggio tramite ICQ a pikadilly
Funza!!! Ok, che hai fatto per farlo funzionare? Intanto ti ringrazio veramente tanto e ringrazio Samyorn perchè, scommetto tutto quello che ho, che si è legato al dito la questione.

Insomma ringrazio entrambi veramente, siete stati molto disponibili...

Dicaci, Elvino, che hai modificato?

Ultima modifica di pikadilly : 26-09-08 21:25.
pikadilly non in linea   Rispondi citando
Vecchio 27-09-08, 14:36   #10 (permalink)
Moderatore
 
L'avatar di Elvino
 
Data di registrazione: Jul 2006
Ubicazione: prov di Vicenza
Messaggi: 531
Invia un messaggio tramite MSN a Elvino Invia un messaggio tramite Skype a Elvino
Quote:
pikadilly Visualizza il messaggio
.
Dicaci, Elvino, che hai modificato?
Dico dico...

riga 310:
sostituito:
Codice PHP:
if ($align == 'middle'){            $output.= $output1[$j].'</p><p style="float: left;">'.$code.'</p>';} 
con:
Codice PHP:
if ($align == 'middle'){            $output.= '</p>'.$output1[$j].'</p><p>'.$code;} 
A quando una pizza?

Ciau
__________________
Elvino non in linea   Rispondi citando
Vecchio 27-09-08, 14:47   #11 (permalink)
Esperta
 
L'avatar di pikadilly
 
Data di registrazione: Dec 2006
Ubicazione: Old City
Messaggi: 6,290
Invia un messaggio tramite ICQ a pikadilly
Fammi pensare, ho due birre, una cena e ora anche una pizza in sospeso, bisogna che Giorgio mi mette a disposizione un taccuino su cui segnare i debiti eno-gastronomici che ho in giro per il forum.

Penso che questo thread sarà molto utile ai pignoli come me, ti ringrazio di nuovo per il prezioso aiuto.
pikadilly non in linea   Rispondi citando
Rispondi
Tags: ,



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 01:52.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.