Advertisement
vanchelo

Untitled

Nov 5th, 2012
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.08 KB | None | 0 0
  1. <?php
  2. $time_start = microtime(true);
  3. $c = $modx->newQuery('modResource');
  4. $c->select(array('id','pagetitle','longtitle','content'));
  5. $c->where(array('id:>=' => 6));
  6.  
  7. $c->limit(10);
  8.  
  9. if($c->prepare() && $c->stmt->execute()) {
  10.     $collection = $c->stmt->fetchAll(PDO::FETCH_ASSOC);
  11. }
  12.  
  13. function makePlaceholders($arr = array()) {
  14.     $tmp = array();
  15.     foreach ($arr as $k => $v) {
  16.         $tmp['pl'][$k] = '[[+'.$k.']]';
  17.         $tmp['vl'][$k] = $v;
  18.     }
  19.     return $tmp;
  20. }
  21.  
  22. $output = '';
  23. $i=0;
  24. $chunk = $modx->getObject('modChunk',array('name' => 'tpl'));
  25. $chunk = $chunk->getContent();
  26.  
  27. foreach ($collection as $res) {
  28.     $arr = makePlaceholders($res);
  29.     $output .= str_replace($arr['pl'],$arr['vl'],$chunk);
  30.     $i++;
  31. }
  32.  
  33. $time_end = microtime(true);
  34. $time = $time_end - $time_start;
  35. echo 'Ресурсов: ' . $i . '<br />';
  36. echo 'Памяти скушано: ' . round(memory_get_peak_usage(true)/(1024*1024),2) . 'Мб<br />';
  37. echo 'Время работы сниппета ' . $time . ' сек <br />';
  38.  
  39. $output = preg_replace('/\[\[(.*?)\]\]/', '', $output);
  40.  
  41. return $output;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement