Exemplo n.º 1
0
/**
 * Validate that the current logged in user has a certain
 * view level access.
 */
function user_has_view_level($view_level)
{
    // Map access level to internal ID
    $db = JFactory::getDBO();
    $query = $db->getQuery(true);
    $query->select(array('id'))->from($db->quoteName('#__viewlevels'))->where(array($db->quoteName('title') . ' = ' . $db->quote($view_level)));
    $db->setQuery($query);
    try {
        $db->execute();
    } catch (Exception $e) {
        send_error_report('View level lookup exception', $e->getMessage());
        return false;
    }
    $results = $db->loadAssocList();
    if (count($results) != 1) {
        send_error_report('View level not found', $view_level);
        return false;
    }
    $level_id = $results[0]['id'];
    $app = JFactory::getApplication('site');
    $user = JFactory::getUser();
    return in_array($level_id, $user->getAuthorisedViewLevels());
}
Exemplo n.º 2
0
/**
 * Create a new giftcard for the products specified.
 */
function new_giftcard($data, $payment)
{
    $columns = array();
    $values = array();
    $db = JFactory::getDBO();
    $columns[] = 'expire';
    $values[] = 'DATE_ADD(CURDATE(), INTERVAL 1 YEAR)';
    $dataColumnMap = array('name' => 'person', 'email' => 'email', 'contact' => 'contact', 'phone' => 'phone');
    foreach ($dataColumnMap as $key => $value) {
        $columns[] = $value;
        $values[] = $db->quote($data[$key]);
    }
    // Insert mail if we have it
    if (isset($data['mail'])) {
        $columns[] = 'mail';
        $values[] = $db->quote($data['mail']);
    }
    $columns[] = 'note';
    $values[] = $db->quote($payment['note']);
    $columns[] = 'product_jump';
    $values[] = 1;
    if ($data['media'] != null && in_array('photo', $data['media'])) {
        $columns[] = 'product_photo';
        $values[] = 1;
    }
    if ($data['media'] != null && in_array('video', $data['media'])) {
        $columns[] = 'product_video';
        $values[] = 1;
    }
    $columns[] = 'product_credit';
    $values[] = 0;
    $query = $db->getQuery(true);
    $query->insert($db->quoteName('#__giftcards'))->columns($db->quoteName($columns))->values(implode(',', $values));
    $db->setQuery($query);
    try {
        $db->execute();
    } catch (Exception $e) {
        send_error_report('Database insert giftcard exception', $e->getMessage());
        return false;
    }
    return $db->insertid();
}
Exemplo n.º 3
0
        } else {
            if ($type == 'pilot') {
                $query = 'SELECT m.InternalNo, FirstName, LastName, IFNULL(Club, "LFK") as Club, MAX(YEAR(lr.regdate)) as Year FROM skywin.member AS m, skywin.loadrole AS lr WHERE pilot="Y" AND m.internalno = lr.internalno AND lr.roletype = "PILOT" GROUP BY m.internalno';
            } else {
                if ($type == 'tandem') {
                    $query = 'SELECT m.InternalNo, FirstName, LastName, m.Club, MAX(mi.Year) as Year FROM skywin.memberinstruct AS mi, skywin.member AS m WHERE m.InternalNo = mi.InternalNo AND InstructType = "T" GROUP BY m.InternalNo';
                } else {
                    if ($type == 'foto') {
                        $query = 'SELECT InternalNo, FirstName, LastName, Club, Year FROM skywin.member WHERE video="Y"';
                    } else {
                        if ($type == 'member') {
                            $query = 'SELECT NULLIF(MemberNo, 0) as MemberNo, FirstName, LastName, Address1, Address2, phone1.PhoneNo as PhoneWork, phone2.PhoneNo as PhoneHome, phone3.PhoneNo as PhoneMobile, Emailaddress FROM skywin.member ' . 'LEFT JOIN skywin.memberphone phone1 ON phone1.InternalNo = member.InternalNo AND phone1.PhoneType = "A" LEFT JOIN skywin.memberphone phone2 ON phone2.InternalNo = member.InternalNo AND phone2.PhoneType = "B" ' . 'LEFT JOIN skywin.memberphone phone3 ON phone3.InternalNo = member.InternalNo AND phone3.PhoneType = "M" WHERE (pilot="Y" or (club = "LFK" and year > YEAR(NOW()) - 5 and membertype != "PAX")) and LastName != "Övrig"';
                        } else {
                            exit('[]');
                        }
                    }
                }
            }
        }
    }
}
$db = JFactory::getDBO();
$db->setQuery($query);
try {
    $db->execute();
} catch (Exception $e) {
    send_error_report('Staff DB exception', $e->getMessage());
    internal_error('Database exception');
}
$results = $db->loadAssocList();
echo json_encode($results, JSON_UNESCAPED_UNICODE);
Exemplo n.º 4
0
     if ($payment_info['is_complete'] !== true) {
         // Do not go futher if this is not a COMPLETED IPN.
         exit;
     }
     $giftcard = new_giftcard($data, $payment_info);
     if ($giftcard === false) {
         send_error_report('new_giftcard failed', 'Failed to create new giftcard');
         exit;
     }
     if ($payment_info['is_giftcard']) {
         mail_giftcard($data, $giftcard);
     } else {
         // Use the newly created gift card
         $data['cardid'] = $giftcard;
         if (!new_booking($data, IS_TEST)) {
             send_error_report('new_booking failed', 'Failed to store new booking');
             exit;
         }
     }
     // Payment done!
     // User wants to pay later or has a gift card, just book him
 } else {
     if ($payment == 'later' || $payment == 'giftcard') {
         validate_data(false, $_POST);
         if (!new_booking($_POST, IS_TEST)) {
             header("Location: /bokningsfel.html");
             exit;
         }
         success('/tack-foer-din-bokning.html', 'jump', $payment);
     } else {
         // Unknown payment type :(