sendmail su xampp (windows)

Sì, partiamo in media res. Ok, allora fai una ricerca su Google suppergiù del tipo “enable mail xampp” che poi raffini in mille altre permutazioni, perché Mecury non ne vuole sapere (o, come a me, non ti sfagiola) e finisci col credere che mai e poi mai sendmail funzionerà su Windows e che sia Unix-only. E invece c’è questo fake sendmail, e non l’hai mai saputo, o meglio: e ostinatamente non hai mai voluto accettare la sua esistenza nel tuo serverino virtuale locale.

Perché in fondo lo sai: alla fine qualcosa verrà fuori da questa/quella ricerca, magari qualcosa di datato, vecchio, stantio, non applicabile ma in qualche modo ancora valido, c’è uno spunto, ti da speranza, sai che forse, forse e ancora forse si può fare, finalmente potresti far partire le mail proprio come fosse un server vero — perché di far diventare un vecchio PC/laptop dimenticato e non più usato un efficiente server Linux per lo sviluppo web non se ne parla.

E ti ritrovi con le credenziali d’accesso di un tuo account SMTP, magari Microsoft-related (live, hotmail, e varie e-mail adolescenziali), sottomano e con php.ini e sendmail.ini aperti nell’editor.

[C:\xampp\php\]php.ini
⋮
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
⋮
[C:\xampp\php\]php5.ini
⋮
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"
⋮
[C:\xampp\sendmail\]sendmail.ini
⋮
smtp_server=smtp.live.com
⋮
auth_username={username}@hotmail.it
auth_password={password}
⋮

Rimuovere la sezione bio nel profilo in WordPress

Avete deciso di, o cause di forza maggiore vi costringono a, far sì che qualcuno debba registrarsi nel vostro sito fatto con WordPress, per leggere degli articoli, a mo’ di area riservata.

Quindi avete già aperto le iscrizioni (magari con S.A.B.R.E. avete distribuito un codice cupon), e avete fatto in modo che i sottoscrittori -o chi per loro- possano leggere gli articoli -e le pagine?- privati (magari con User Role Editor, o con una soluzione di questo tipo), magari avete anche prontamente integrato la Sidebar Login e ora non vi resta che rendere il più basico e minimale possibile l’interfaccia di WordPress per modificare il proprio profilo utente: perciò avete già installato Adminimize per nascondere il collegamento alla bacheca e avete già rimosso i campi di contatto con una soluzione di questo stampo, ma volete anche togliere la biografia dell’autore, avete trovato questa discussione, avete provato, ma in codice non va – perché avete una installazione non in lingua Inglese.

Ebbene, la soluzione multilingua che ho trovato io, integrando il codice di glebec:

    // Callback function to remove default bio field from user profile page
    function remove_plain_bio($buffer) {
        $titles = array('#<h3>'.__("About Yourself").'</h3>#','#<h3>'.__("About the user").'</h3>#');
        $buffer = preg_replace($titles,'<h3>'.__("Password").'</h3>',$buffer,1);
        $biotable = '#<h3>'.__("Password").'</h3>.+?<table.+?/tr>#s';
        $buffer   = preg_replace($biotable,'<h3>'.__("Password").'</h3> <table>',$buffer,1);
        return $buffer;
    }
    function profile_admin_buffer_start() { ob_start("remove_plain_bio"); }
    function profile_admin_buffer_end() { ob_end_flush(); }
    add_action('admin_head', 'profile_admin_buffer_start');
    add_action('admin_footer', 'profile_admin_buffer_end');

Che dire, se avete trovato utile questa soluzione, e volete condividere la vostra felicità con me, le mie liste dei desideri sono qui a lato →

Personalizzare Breadcrumb NavXT per WordPress

Se anche te, webdesigner/webdeveloper/webaddicted/blogger che utilizzi WordPress e in particolare con il plugin Breadcrumb NavXT per gestire le breadcrumb trails o briciole di pane o come-vi-piace-chiamarle, e ancora, che hai una pagina statica come pagina d’apertura del sito e un’altra per gli articoli, avete i permalink attivati con una struttura del tipo /%category%/%postname%/, e vuoi differenziare gli archivi giornalieri, mensili, annuali, forse, quest’articolo fa per te.

Ci tengo a precisare che è una funzione stupida e scritta in velocità, sicuramente c’è un modo (o più d’uno) più elegante per fare la stessa cosa.

Devi sapere che come separatore uso  &raquo; la mia pagina per gli articoli si chiama News, quindi dovrei adattare a tuo piacimento $my_sep, $page_name e $page_nice.

Nel file functions.php del vostro tema:

if (!function_exists("show_breadcrumbs")) {
    /* ==== CC BY-SA 3.0 ==== *\
    \* www.valeriovendrame.it */
    function show_breadcrumbs() {
        global $paged, $page;
        $my_page_n = $paged ? $paged : $page;
        $my_page_n = $my_page_n > 1 ? $my_page_n : false;
        $my_sep    = ' &raquo; ';
        if(function_exists('bcn_display')){
            if ( is_day() || is_month() || is_year() ) {
                $my_date['Y'] = get_the_time('Y');
                $my_date['m'] = get_the_time('m');
                $my_date['d'] = get_the_time('d');
            }
            echo "Sei in: ";  
            if ( is_front_page() ) {
                echo '<a href="'.home_url('/').'" title="'.esc_attr(get_bloginfo('name','display')).'" rel="home">'.get_bloginfo('name').'</a>';
            } else if ( is_home() ) {
                $page_name = "News";
                $page_nice = "news";
                $my_href = home_url('/').$page_nice."/";
                // $my_href = get_category_link(1);
                echo '<a href="'.$my_href.'" rel="'.$page_nice.'">'.$page_name.'</a>';
                echo $my_page_n ? $my_sep.'<a href="'.$my_href.'page/'.$my_page_n.'/" title="Pagina '.$my_page_n.'" rel="'.$page_nice.'-paged">'.$my_page_n.'</a>' : '';
            } else if ( is_day() ) {
                $my_href = get_day_link($my_date['Y'], $my_date['m'], $my_date['d']);
                printf( 'Archivio per il giorno &#39;<a href="'.$my_href.'" rel="archive-day">%s</a>&#39;' , get_the_date() );
                echo $my_page_n ? $my_sep.'<a href="'.$my_href.'page/'.$my_page_n.'/" title="Pagina '.$my_page_n.'" rel="archive-day-paged">'.$my_page_n.'</a>' : '';
            } else if ( is_month() ) {
                $my_href = get_month_link($my_date['Y'], $my_date['m']);
                printf( 'Archivio per il mese di &#39;<a href="'.$my_href.'" rel="archive-month">%s</a>&#39;', get_the_date( 'F Y' ) );
                echo $my_page_n ? $my_sep.'<a href="'.$my_href.'page/'.$my_page_n.'/" title="Pagina '.$my_page_n.'" rel="archive-month-paged">'.$my_page_n.'</a>' : '';
            } else if ( is_year() ) {
                $my_href = get_year_link($my_date['Y']);
                printf( 'Archivio per l&#39;anno &#39;<a href="'.$my_href.'" rel="archive-year">%s</a>&#39;', get_the_date( 'Y' ) );
                echo $my_page_n ? $my_sep.'<a href="'.$my_href.'page/'.$my_page_n.'/" title="Pagina '.$my_page_n.'" rel="archive-day-paged">'.$my_page_n.'</a>' : '';
            } else { bcn_display(); }
        }
    }
}

E poi, dove ti serve, basta richiamare la funzione show_breadcrumbs()

<?php show_breadcrumbs(); ?>

Ah sì, la pubblico con una licenza Creative Commons: Attribuzione – Condividi allo stesso modo 3.0 Italia (CC BY-SA 3.0), lascia il link a questo sito web (e se proprio proprio mi vuoi far felice, scegli qualcosa dalla mia wishlist →).

curl o allow_url_fopen su tophost

Se anche a te, che hai un sito con/su tophost, da un momento all’altro non funzionano più né cURLallow_url_fopen e non riesci ad attivarli da cPanel, ma non hai ancora aperto un ticket, ti riporto papale-papale la risposta alla mia richiesta di assistenza, ricevuta in tempo zero (c’ho messo di più a scrivere, e male, questo post):

Richiesta di assistenza n. XXXXXXXXX effettuata in data 07/09/2011 20:01:47 dal sig. Valerio Vendrame per il sito www.valeriovendrame.it

Vostra richiesta:

Salve, non so se sia a causa dei recenti lavori di ampliamento dei servizi. È da un po’ di tempo (forse dal passaggio alla nuvola?) che curl o allow_url_fopen non andava, ma non ci avevo dato molto peso, pensavo ad un problema temporaneo. Oggi provo ad attivare almeno curl da Configurazione PHP: mi dice che “I parametri di PHP sono stati correttamente modificati.” ma il campo modulo relativo rimane impostato su “Off”. Infatti da php_info risulta disabilitato. Grazie anticipatamente per il supporto, e grazie ancora per l’ottimo servizio ad un prezzo imbattibile! :)

Risposta del tecnico del Supporto di Primo Livello:

Gentile Valerio, innanzitutto la ringraziamo per i complimenti.

Le consigliamo, dalla sezione “configurazione PHP” del cpanel,  di passare a php4, poi tornare a php5 ed infine riattivare le librerie di cui necessita. Anche se vede errori, li ignori e proceda comunque come indicato.

Le auguriamo buona serata.

Funziona. L’unica lamentela: non ho avuto modo di ringraziarli!

rete via cavo: dispositivo non gestito

Dopo aver aggiornato Ubuntu da 10.04 a 11.04 non riesco più a connettermi alla rete lan, un laconico messaggio mi dice “Rete via cavo: Dispositivo non gestito”. Viva gli utenti linux addicted, i loro forum e i motori di ricerca. Risolto in “zero-due”!

Formula magica:

# gedit /etc/network/interfaces

(oppure, se non siete root:)

$ sudo gedit /etc/network/interfaces

il punto che ci interessa è questo:

# The primary network interface
auto eth0
iface eth0 inet dhcp

che deve diventare suppergiù così:

# The primary network interface
# auto eth0
# iface eth0 inet dhcp

Risultato ottenuto unendo le conoscenze di queste due discussioni: