コード例 #1
0
ファイル: attendees.php プロジェクト: jaanusnurmoja/redjoomla
 /**
  * Method to get the registered users
  *
  * @access	public
  * @return	object
  * @since	0.9
  * @todo Complete CB integration
  */
 function getRegisters($all_fields = false, $admin = false)
 {
     // make sure the init is done
     $this->getEvent();
     // first, get all submissions
     $query = ' SELECT r.*, r.waitinglist, r.confirmed, r.confirmdate, r.submit_key, r.cancelled, u.name, pg.name as pricegroup ' . ' FROM #__redevent_register AS r ' . ' INNER JOIN #__rwf_submitters AS s ON s.id = r.sid ' . ' LEFT JOIN #__redevent_pricegroups AS pg ON pg.id = r.pricegroup_id ' . ' LEFT JOIN #__users AS u ON r.uid = u.id ';
     $query .= $this->_buildContentWhere();
     $this->_db->setQuery($query);
     $submitters = $this->_db->loadObjectList();
     // get answers
     $sids = array();
     if (count($submitters)) {
         foreach ($submitters as $s) {
             $sids[] = $s->sid;
         }
     }
     $event = $this->getEvent();
     $rfcore = new RedFormCore();
     $answers = $rfcore->getSidsAnswers($sids);
     // add answers to registers
     foreach ($submitters as $k => $s) {
         if (isset($answers[$s->sid])) {
             $submitters[$k]->answers = $answers[$s->sid];
         } else {
             $submitters[$k]->answers = null;
         }
     }
     return $submitters;
 }
コード例 #2
0
ファイル: csvtool.php プロジェクト: jaanusnurmoja/redjoomla
 /**
  * Method to get the registered users
  *
  * @access	public
  * @return	object
  * @since	0.9
  * @todo Complete CB integration
  */
 function getRegisters($form_id, $events = null, $category_id = 0, $venue_id = 0, $state_filter = 0, $filter_attending = 0)
 {
     // first, get all submissions
     $query = ' SELECT e.title, e.course_code, x.id as xref, x.dates, v.venue, ' . ' r.*, r.waitinglist, r.confirmed, r.confirmdate, r.submit_key, u.name, pg.name as pricegroup ' . ' FROM #__redevent_register AS r ' . ' INNER JOIN #__rwf_submitters AS s ON s.id = r.sid ' . ' INNER JOIN #__redevent_event_venue_xref AS x ON x.id = r.xref ' . ' INNER JOIN #__redevent_events AS e ON e.id = x.eventid ' . ' INNER JOIN #__redevent_event_category_xref AS xcat ON xcat.event_id = e.id ' . ' INNER JOIN #__redevent_venues AS v ON v.id = x.venueid ' . ' LEFT JOIN #__redevent_pricegroups AS pg ON pg.id = r.pricegroup_id ' . ' LEFT JOIN #__users AS u ON r.uid = u.id ';
     $where = array();
     $where[] = ' r.confirmed = 1 ';
     $where[] = ' r.cancelled = 0 ';
     $where[] = ' s.form_id = ' . $form_id;
     if ($events && count($events)) {
         $where[] = 'e.id in (' . implode(',', $events) . ')';
     }
     if ($category_id) {
         $where[] = ' xcat.category_id = ' . $category_id;
     }
     if ($venue_id) {
         $where[] = ' x.venueid = ' . $venue_id;
     }
     switch ($state_filter) {
         case 0:
             $where[] = ' x.published = 1 ';
             break;
         case 1:
             $where[] = ' x.published = -1 ';
             break;
         case 2:
             $where[] = ' x.published <> 0 ';
             break;
     }
     switch ($filter_attending) {
         case 1:
             $where[] = ' r.waitinglist = 0 ';
             break;
         case 2:
             $where[] = ' r.waitinglist = 1 ';
             break;
     }
     $query .= ' WHERE ' . implode(' AND ', $where);
     $query .= ' GROUP BY r.id ';
     $query .= ' ORDER BY e.title, x.dates ';
     $this->_db->setQuery($query);
     $submitters = $this->_db->loadObjectList();
     // get answers
     $sids = array();
     if (count($submitters)) {
         foreach ($submitters as $s) {
             $sids[] = $s->sid;
         }
     }
     $rfcore = new RedFormCore();
     $answers = $rfcore->getSidsAnswers($sids);
     // add answers to registers
     foreach ($submitters as $k => $s) {
         if (isset($answers[$s->sid])) {
             $submitters[$k]->answers = $answers[$s->sid];
         } else {
             $submitters[$k]->answers = null;
         }
     }
     return $submitters;
 }