Molto spesso si hanno a che fare con array creati da altri, e questo rende difficile conoscere cosa contiene esattamente tale array.
Ad esempio in drupal molte volte ho a che fare con gli array $node oppure $user che sono generati direttamente dal sistema; allora come fare a sapere quali informazioni contiene tale array? la risposta sta in poche semplici righe di codice:
function eget_key_array() {
global $user;
foreach($user AS $chiave=>$valore)
{
$output .= $chiave.”<br />”;
}
return $output;
}
Questa funzione richiama la variabile $user di drupal (che è un array) e per ogni suo campo divide il campo chiave dal campo valore.
A questo punto per ogni elemento dell’array abbiamo il nome della chiave salvato temporaneamente in $chiave ed il suo corrispettivo valore in $valore.
Andando a stampare $chiave e aggiungendogli un pò di formattazione possiamo ottenere a video l’elenco delle chiavi dell’array.
Questa funzione è applicabile a qualsiasi array, non solo quelli di drupal.
Recentemente mi sono imbattuto in dover caricare una funzione javascript in drupal e doverla attivare al momento del completamento del caricamento della pagina.
Poichè non si può direttamente scrivere nell’html della pagina (quindi non possiamo utilizzare il tag <body onload()> ) mi sono dovuto un pò “arrangiare” per far funzionare la cosa.
Utilizzando la funzione drupal_set_html_head() possiamo andare direttamente a scrivere del codice html all’interno del tag HEAD della pagina; in questo modo possiamo inserire un’ulteriore funzione javascript che carichi il nostro javascript al momento del caricamento della pagina.
Di seguito vi posto parte del blocco che ho creato:
…..
function slidingmenu_block($op = ‘list’,$delta = 0, $edit = array()) {
switch($op) {
case ‘list’:
$blocks[0][’info’] = t(’Sliding Menu’);
return $blocks;
case ‘view’:drupal_add_css( (drupal_get_path(’module’,’slidingmenu’).’/css/slidemenu.css’), ‘module’, ‘all’);
drupal_add_js( (drupal_get_path(’module’,’slidingmenu’).’/js/slidemenu.js’), ‘module’, ‘header’);drupal_set_html_head(”<script type=\”text/javascript\”> window.onload = function(){slideMenu.build(’sm’,200,10,10,1);} </script>”);
…..
Per poter inviare una mail in formato Html, è necessario che sia settato nel modo corretto il mime della mail; nel seguente esempio ho inviato una mail in html tramite l’autenticazione smtp.
Per poter utilizzare questo tipo di invio, è comunque necessario avere installato e configurato Pear sul vostro server (trovate una marea di documentazione online)
$body = “<html><body>Questa è una pagina html</body></html>”;
$headers = array (’From’ => $from,
‘To’ => $to,
‘Subject’ => $subject,
‘MIME-Version’ => ‘1.0′,
‘Content-Type’ => ‘text/html; charset=”utf8″‘
);
$smtp = Mail::factory(’smtp’,
array (’host’ => $host,
‘auth’ => true,
‘username’ => $username,
‘password’ => $password
)
);
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail))
{
echo(”<p>” . $mail->getMessage() . “</p>”);
}
else
{
header(”location: “http://www.example.com/error.php”);
}
In molti casi, alcuni tag non vengono accettati dal validatore W3C per svariati motivi (tag proprietari di alcuni browser, tag non ancora validati etc etc..); questo è il caso del tag <embed>.
Per risolvere questo inconveniente si può utilizzare il tag object con i seguenti accorgimenti:
- Specificare il tipo di dato che si sta utilizzando
- Inserire tutte i parametri del tag embed all’interno dei sotto-tag <param>
Di seguito vi propongo un esempio di integrazione di un’applicazione flash (realizzata con widgetbox.com)
Versione Originale con il tag <embed>
<embed src=”http://widgetserver.com/syndication/flash/wrapper/InsertWidget.swf” name=”xxxxxxxxxxxxxxxxxxxxxxxxxxxx” width=”170px” height=”423px” quality=”high” menu=”false” pluginspage=”http://www.macromedia.com/go/getflashplayer” type=”application/x-shockwave-flash” wmode=”transparent” align=”middle” flashvars=”xxxxxxxxxxxxxxxx” />
Versione con il tag <object>
<object type=”application/x-shockwave-flash” data=”http://widgetserver.com/syndication/flash/wrapper/InsertWidget.swf” width=”170″ height=”423″>
<param name=”movie” value=”mymovie.swf” />
<param name=”FlashVars” value=”xxxxxxxxxxxxxxxxxxx” />
<param name=”quality” value=”high” />
<param name=”menu” value=”false” />
<param name=”align” value=”middle” />
<img src=”noflash.png” width=”170″ height=”423″ alt=”this is not flash” />
</object>
Ho tolto un pò di proprietà giusto per renderlo un pò + facile da leggere ma comunque il tag object funziona egregiamente.
NOTA: ricordatevi di togliere anche i suffissi “px” a width e height, anche questi danno “noia” al validatore
RiflettoTV è (o meglio era, al momento in cui vi scrivo) un sito dedicato allo streaming TV su rete.
Vantava molti programmi interessanti, come il National Geografic, e servizi generici su vari temi tra cui culinaria, viaggi etc etc. .
Tra gli etc.. vantava anche la proiezione di film in qualità HD vechci e non, (personalmente ho notato nel palinsesto Robocop1, ma girando su internet ho letto che hanno trasmesso anche OceanTwelve ed altri film meno “datati”).
Poichè il servizio era molto buono (nonstante i problemi relativi allo streaming di contenuti audio/video) evidentemente insieme alla fama sono arrivati anche i controlli, che chiaramente hanno riscontrato qualcosa che non andava…
Alla fine di tutto non mi resta che dire… se ne vanno sempre i migliori …
Per chi volesse vedere finalmente un pò di arte come si deve, vi segnalo il sito della mia amica Valeria (di professione pittrice, e sennò che arte sarebbe…).

Per ora ha solo un blog su libero (yek ne deve fare di strada nel mondo dell’informatica…), cmq ve lo segnalo ugualmente :
http://blog.libero.it/ValeriaLaPiana/
Buona visione a tutti!!!
La differenza tra Italia ed Afganistan? Se rubi qualcosa in Afganistan ti tagliano una mano, in Italia te la danno.
Hale
Oggi mi sono dovuto scontrare con questa “fantastica” (notare le virgolette..) marca di computer: che dire, sono veramente dei geni!!
Sfortunatamente mia sorella ha comprato un Acer 5520G con ben 4GB di RAM e qui cominciamo a ridere (per modo di dire, perchè non c’è niente da ridere):
- Il Sistema Operativo sia un Windows Vista installato sopra è a 32bit, il ché vuol dire che al massimo vengono riconosciuti 3GB di RAM (1GB ce lo siamo già giocati…).
- Non forniscono un cd di ripristino o qualcosa di simile
- Il servizio assistenza è un 199!!! (spero che la signorina che è dall’altra parte ansimi, altrimenti meglio le chat erotiche convenzionali )
- Dulcis in fundo: sul sito i driver sono disponibili ESCLUSIVAMENTE per windows Vista (che come è noto a tutti è un ottimo sistema operativo, tanto che ha un passivo nelle vendite mostruoso).
Beh che dire, dopo tutte queste cose mi viene quasi quasi voglia di buttare via il mio mac e comprarmi solo Acer, voi che dite?
