Cosa fa questo pezzo di codice?

3 contenuti / 0 new
Ultimo contenuto
Cosa fa questo pezzo di codice?

Salve amici, chi mi da una mano a capire questa parte:

<?php
 
$maxdisp 
= 25;
 
$shownum  = variable_get("blogger_shownum", 0);
 
$blogger_order = variable_get("blogger_order", 0);
 
$blogger_exclude = variable_get("blogger_exclude", "'0'");
 
$blogger_case   = variable_get("blogger_case", 0);
 
$blogger_avatar = variable_get("blogger_avatar", 0);
 
$blogger_avatar_width = variable_get("blogger_avatar_width", 0);
 
$blogger_avatar_height = variable_get("blogger_avatar_height", 0);
 
$sql_counts = " SELECT DISTINCT (u.name)"
              
." FROM {users} u"
              
." INNER JOIN {node} n ON n.uid=u.uid"
              
." WHERE u.name<>'' AND n.type='blog' AND n.status=1"
              
;
 
$dse_sql_counts = db_query($sql_counts);
 
$cnt_sql_counts = db_num_rows($dse_sql_counts);
 
$sql_counts = "SELECT $cnt_sql_counts";
 
$sql = " SELECT n.uid, u.name, count(u.name) AS numitems, u.picture, n.title "
     
." FROM {node} n "
     
." INNER JOIN {users} u ON u.uid = n.uid "
     
." WHERE n.type = 'blog' AND n.status=1 "
     
." and n.uid not in ($blogger_exclude) "
     
." GROUP BY n.uid"
     
.($blogger_order<>0 ? " ORDER BY " : "")
      .(
$blogger_order==1 ? "u.name" : "")
      .(
$blogger_order==2 ? "numitems DESC, u.name" : "")
      ;
 
$sql = db_rewrite_sql($sql);
 
//$results = pager_query($sql, 1, 0, $sql_count, COMMENT_PUBLISHED, $uid, $uid);
 
$results = pager_query($sql, $maxdisp, 0, $sql_counts);
 
?>

in pratica nn riesco cosa sono quelle variabili all'inizio, ho capito che sono nelòla tabella variable ma ad esempio questo

<?php
 
and n.uid not in ($blogger_exclude)
?>
cosa significa? oppure qusto
<?php
 
.($blogger_order<>0 ? " ORDER BY " : "")
      .(
$blogger_order==1 ? "u.name" : "")
      .(
$blogger_order==2 ? "numitems DESC, u.name" : "")
      ;
?>

grazie a tutti

casa fa il codice che hai postato:

1) Preleva un po di parametri dalle variabili settate e salvate nel db di drupal:

variable_get("blogger_avatar", 0);

2)
Interroga il db estraendo il numero di post per blogger pubblicati e di tipo blog
3)
Genera una query composta per visualizzare i dati:

$sql = " SELECT n.uid, u.name, count(u.name) AS numitems, u.pictureg, n.title "
      ." FROM {node} n "
      ." INNER JOIN {users} u ON u.uid = n.uid "
      ." WHERE n.type = 'blog' AND n.status=1 "
      ." and n.uid not in ($blogger_exclude) "
      ." GROUP BY n.uid"
      .($blogger_order<>0 ? " ORDER BY " : "")
      .($blogger_order==1 ? "u.name" : "")
      .($blogger_order==2 ? "numitems DESC, u.name" : "")
      ;

Come si vede fa una query bella grossa in cui alcune variabili vengono sostituite dal php con dei valori ($blogger_exclude vedilo come una lista di id che non si vogliono avere).
Alla fine uno bello sfoggio dell'operatore ternario del php che equivale a un if ... ese ma molto compatto

Sperando di aver chiarito

Grazie Uccio, poi ho anche studiato la tabella variable e piu o meno ho capito come funzia! grazie mille