Пример #1
0
$t->printWelcome();
$t->startMain();
$user = new User(Auth::getCurrentID());
$is_group_admin = $user->is_group_admin();
$t->startNavLinkTable();
$t->showNavLinksTable(Auth::isAdmin());
$t->endNavLinkTable();
$t->splitTable();
$order = array('number');
$announcements = $db->get_announcements(mktime());
if ($announcements) {
    showAnnouncementTable($announcements, $db->get_err());
    printCpanelBr();
}
// Valid order values in reservation retreival
$order = array('start_date', 'name', 'starttime', 'endtime', 'created', 'modified');
$res = $db->get_user_reservations(Auth::getCurrentID(), CmnFns::get_value_order($order), CmnFns::get_vert_order());
showReservationTable($res, $db->get_err());
// Print out My Reservations
printCpanelBr();
// AK: Invitations are not used in our case.
//showInvitesTable($db->get_user_invitations(Auth::getCurrentID(), true), $db->get_err());
//printCpanelBr();
//showParticipatingTable($db->get_user_invitations(Auth::getCurrentID(), false), $db->get_err());
//printCpanelBr();
if ($conf['app']['use_perms']) {
    showTrainingTable($db->get_user_permissions(Auth::getCurrentID()), $db->get_err());
}
endDataDisplayCol();
$t->endMain();
$t->printHTMLFooter();
Пример #2
0
 /**
  * Search for users matching this first and last name and return the results in an array
  * @param object $pager pager object
  * @param array $orders order to print results in
  * @param string $fname first name to search for
  * @param string $lname last name to search for
  * @param string $groupid groupid to limit users to
  * @return array of user data
  */
 function search_users(&$pager, $orders, $fname = null, $lname = null, $groupids = array())
 {
     $inner_join = '';
     $where = '';
     $values = array();
     $group_list = $this->make_in_list($groupids);
     if (!empty($groupids)) {
         $inner_join = ' INNER JOIN ' . $this->get_table(TBL_USER_GROUPS) . ' ug ON l.memberid = ug.memberid AND ug.groupid IN (' . $group_list . ')';
     }
     if (!empty($fname) || !empty($lname)) {
         $where = " WHERE fname LIKE '{$fname}%' AND lname LIKE '{$lname}%'";
     }
     $return = array();
     $order = CmnFns::get_value_order($orders);
     $vert = CmnFns::get_vert_order();
     if ($order == 'date' && !isset($_GET['vert'])) {
         // Default the date to DESC
         $vert = 'DESC';
     }
     // Set up query to get neccessary records ordered by user request first, then logical order
     $query = 'SELECT l.*' . ' FROM ' . $this->get_table(TBL_LOGIN) . ' as l' . $inner_join . $where . ' ORDER BY ' . $order . ' ' . $vert . ', l.lname, l.fname';
     $result = $this->db->limitQuery($query, $pager->getOffset(), $pager->getLimit(), $values);
     $this->check_for_error($result);
     if ($result->numRows() <= 0) {
         $this->err_msg = translate('No results');
         return false;
     }
     while ($rs = $result->fetchRow()) {
         $return[] = $this->cleanRow($rs);
     }
     $result->free();
     return $return;
 }
Пример #3
0
    $search_array1 = $db->convertSearch2SQL('msgs.from_addr', CmnFns::getGlobalVar('f_criterion', GET), CmnFns::getGlobalVar('f_string', GET));
    $search_array2 = $db->convertSearch2SQL('msgs.subject', CmnFns::getGlobalVar('s_criterion', GET), CmnFns::getGlobalVar('s_string', GET));
    $search_array3 = $db->convertSearch2SQL('recip.email', CmnFns::getGlobalVar('t_criterion', GET), CmnFns::getGlobalVar('t_string', GET));
    $search_array4 = $db->convertSearch2SQL('msgs.mail_id', CmnFns::getGlobalVar('m_criterion', GET), CmnFns::getGlobalVar('m_string', GET));
    $search_array = array_merge($search_array1, $search_array2, $search_array3, $search_array4);
    $order = array('msgs.time_num', 'from_addr', 'msgs.subject', 'spam_level', 'recip.email', 'msgs.content', 'mail_id');
    // Arbitrary type for Admin
    //$content_type = (CmnFns::get_ctype() ? CmnFns::get_ctype() : 'A');
    //echo "Before query: " . date("l dS of F Y h:i:s A") . "<br><br>";
    if (CmnFns::getGlobalVar('searchOnly', GET) != 1) {
        // Print a loading message until database returns...
        printMessage(translate('Retrieving Messages...'));
        $messages = $db->get_user_messages($content_type, $_SESSION['sessionMail'], CmnFns::get_value_order($order), CmnFns::get_vert_order(), $search_array, 1, 0, $requestedPage);
    }
    // Compute maximum number of pages
    $maxPage = ceil($db->numRows / $sizeLimit) - 1;
    // If $requestedPage > $maxPage, then redirect to $maxPage instead of $requestedPage
    if ($requestedPage > $maxPage) {
        $query_string = CmnFns::array_to_query_string($_GET, array('page'));
        $query_string = str_replace('&amp;', '&', $query_string);
        CmnFns::redirect_js($_SERVER['PHP_SELF'] . '?' . $query_string . '&page=' . $maxPage);
    }
    if (CmnFns::getGlobalVar('searchOnly', GET) != 1) {
        showMessagesTable($content_type, $messages, $requestedPage, CmnFns::get_value_order($order), CmnFns::get_vert_order(), $db->numRows);
        // Hide the message after the table loads.
        hideMessage(translate('Retrieving Messages...'));
    }
}
endDataDisplayCol();
$t->endMain();
$t->printHTMLFooter();
Пример #4
0
 /**
  * Generic database query function.
  * This will return specified fields from one table in a specified order
  * @param string $table name of table to return from
  * @param array $fields array of field values to return
  * @param string $order sql order string
  * @param int $limit limit of query
  * @param int $offset offset of limit
  * @return mixed all data found in query
  */
 function get_table_data($table, $fields = array('*'), $orders = array(), $limit = NULL, $offset = NULL, $where_clause = NULL, $where_values = array())
 {
     $return = array();
     $order = CmnFns::get_value_order($orders);
     // Get main order value
     $vert = CmnFns::get_vert_order();
     // Get vertical order
     $query = 'SELECT ' . join(', ', $fields) . ' FROM ' . $this->get_table($table) . ' ' . $where_clause . ' ' . (!empty($order) ? " ORDER BY {$order} {$vert}" : '');
     // Append any other sorting constraints
     for ($i = 1; $i < count($orders); $i++) {
         $query .= ', ' . $orders[$i];
     }
     if (!is_null($limit) && !is_null($offset)) {
         // Limit query
         $result = $this->db->limitQuery($query, $offset, $limit, $where_values);
     } else {
         // Standard query
         $result = $this->db->query($query, $where_values);
     }
     $this->check_for_error($result);
     if ($result->numRows() <= 0) {
         // Check if any records exist
         $this->err_msg = translate('There are no records in the table.', array($table));
         return false;
     }
     while ($rs = $result->fetchRow()) {
         $return[] = $this->cleanRow($rs);
     }
     $result->free();
     return $return;
 }