[ Index ]

Source Code Reference for V1.00

title

Body

[close]

/modules/forums/ -> view_pdf.php (source)

   1  <?php /* $Id: view_pdf.php 40 2008-02-11 12:11:44Z pedroix $ $URL: https://web2project.svn.sourceforge.net/svnroot/web2project/trunk/modules/forums/view_pdf.php $ */
   2  if (!defined('W2P_BASE_DIR')) {
   3      die('You should not call this file directly.');
   4  }
   5  $AppUI->savePlace();
   6  $sort = w2PgetParam($_REQUEST, 'sort', 'asc');
   7  $forum_id = w2PgetParam($_REQUEST, 'forum_id', 0);
   8  $message_id = w2PgetParam($_REQUEST, 'message_id', 0);
   9  $perms = &$AppUI->acl();
  10  
  11  if (!$perms->checkModuleItem('forums', 'view', $message_id)) {
  12      $AppUI->redirect('m=public&a=access_denied');
  13  }
  14  
  15  $q = new DBQuery;
  16  $q->addTable('forums');
  17  $q->addTable('forum_messages');
  18  $q->addQuery('forum_messages.*,    contact_first_name, contact_last_name, contact_email, user_username, forum_moderated, visit_user');
  19  $q->addJoin('forum_visits', 'v', 'visit_user = ' . (int)$AppUI->user_id . ' AND visit_forum = ' . (int)$forum_id . ' AND visit_message = forum_messages.message_id');
  20  $q->addJoin('users', 'u', 'message_author = u.user_id', 'inner');
  21  $q->addJoin('contacts', 'con', 'contact_id = user_contact', 'inner');
  22  $q->addWhere('forum_id = message_forum AND (message_id = ' . (int)$message_id . ' OR message_parent = ' . (int)$message_id . ')');
  23  if (w2PgetConfig('forum_descendent_order') || w2PgetParam($_REQUEST, 'sort', 0)) {
  24      $q->addOrder('message_date ' . $sort);
  25  }
  26  
  27  $messages = $q->loadList();
  28  
  29  $x = false;
  30  
  31  $date = new CDate();
  32  $pdfdata = array();
  33  $pdfhead = array('Date', 'User', 'Message');
  34  
  35  $new_messages = array();
  36  
  37  foreach ($messages as $row) {
  38      // Find the parent message - the topic.
  39      if ($row['message_id'] == $message_id)
  40          $topic = $row['message_title'];
  41  
  42      $q = new DBQuery;
  43      $q->addTable('forum_messages');
  44      $q->addTable('users');
  45      $q->addQuery('DISTINCT contact_email, contact_first_name, contact_last_name, user_username');
  46      $q->addJoin('contacts', 'con', 'contact_id = user_contact', 'inner');
  47      $q->addWhere('users.user_id = ' . (int)$row['message_editor']);
  48      $editor = $q->loadList();
  49  
  50      $date = intval($row['message_date']) ? new CDate($row['message_date']) : null;
  51  
  52      $pdfdata[] = array($row['message_date'], $row['contact_first_name'] . ' ' . $row['contact_last_name'], '<b>' . $row['message_title'] . '</b>' . $row['message_body']);
  53  }
  54  
  55  $font_dir = W2P_BASE_DIR . '/lib/ezpdf/fonts';
  56  $temp_dir = W2P_BASE_DIR . '/files/temp';
  57  require ($AppUI->getLibraryClass('ezpdf/class.ezpdf'));
  58  
  59  $pdf = &new Cezpdf($paper = 'A4', $orientation = 'portrait');
  60  $pdf->ezSetCmMargins(1, 2, 1.5, 1.5);
  61  $pdf->selectFont($font_dir . '/Helvetica.afm');
  62  $pdf->ezText('Project: ' . $forum['project_name'] . '   Forum: ' . $forum['forum_name']);
  63  $pdf->ezText('Topic: ' . $topic);
  64  $pdf->ezText('');
  65  $options = array('showLines' => 1, 'showHeadings' => 1, 'fontSize' => 8, 'rowGap' => 2, 'colGap' => 5, 'xPos' => 50, 'xOrientation' => 'right', 'width' => '500');
  66  
  67  $pdf->ezTable($pdfdata, $pdfhead, null, $options);
  68  
  69  $pdf->ezStream();
  70  ?>


Generated: Fri Jan 9 03:00:02 2009 Cross-referenced by PHPXref 0.7