php hiba,,,

Nitrocad képe

Üdv!

Drupal 4.7 alatt volt egy jó kis kód amivel az aktív szavazásokat lehetett random kiíratni blokkban:

$sql = db_rewrite_sql("SELECT n.nid FROM {node} n INNER JOIN {poll} p ON p.nid = n.nid WHERE n.status = 1 AND p.active = 1 AND n.moderate = 0 AND n.sticky=1 ORDER BY RAND()");
$nid = db_result(db_query_range($sql, 0, 1));
if (!$nid) {
  $sql = db_rewrite_sql("SELECT n.nid FROM {node} n INNER JOIN {poll} p ON p.nid = n.nid WHERE n.status = 1 AND p.active = 1 AND n.moderate = 0 ORDER BY RAND()");
  $nid = db_result(db_query_range($sql, 0, 1));
}
if ($nid) {
  $poll = node_load(array('type' => 'poll', 'nid' => $nid, 'moderate' => 0, 'status' => 1));
  if ($poll->nid) {
    // poll_view() dumps the output into $poll->body.
    poll_view($poll, 1, 0, 1);
  }
}
return $poll->body;

Viszont 5.0 alatt vagy felette nem ad vissza semmit, gyanítom hogy a kiíratással lesz a gond de nem vagyok benne biztos.

Tud vki segíteni?

Thx! Adam

Nitrocad képe

Tud vki segíteni a témában, fontos lenne.

Thx

0
0

D. Adam

RaptoR képe

Alapul véve a 5.1-es szavazás modult, kicsit módosítva a poll_block() függvényt nálam működik a következő kód:

function tesztmodul_block($op = 'list', $delta = 0) {
  if (user_access('access content')) {
    if ($op == 'list') {
      $blocks[0]['info'] = t('Random poll');
      return $blocks;
    }
    else if ($op == 'view') {
      $sql = db_rewrite_sql("SELECT n.created FROM {node} n INNER JOIN {poll} p ON p.nid = n.nid WHERE n.status = 1 AND p.active = 1 ORDER BY RAND()");
      $timestamp = db_result(db_query($sql));
      if ($timestamp) {
        $poll = node_load(array('type' => 'poll', 'created' => $timestamp, 'status' => 1));
 
        if ($poll->nid) {
          $poll = poll_view($poll, TRUE, FALSE, TRUE);
        }
      }
      $block['subject'] = t('Poll');
      $block['content'] = drupal_render($poll->content);
      return $block;
    }
  }
}

Ha csak simán bemásoltam az idevágó részt a Blokk hozzáadása menünél, úgy nálam se ment, egy tömböt adott csak vissza. Szóval hozz létre egy modult a sites/all/modules-ben, nevezed át ezt a függvényt a_modul_neve_block-ra, és már csak engedélyezned kell a blokkot.

0
0
Nitrocad képe

Köszi a gyors segítséget!

0
0

D. Adam