示例#1
0
 /**
  * Method to store a record
  *
  * @access	public
  * @return	boolean	True on success
  */
 function store()
 {
     $row = $this->getTable();
     $data = JRequest::get('post');
     if ($data['minimum_level'] == '') {
         $data['minimum_level'] = NULL;
     }
     if ($data['maximum_level'] == '') {
         $data['maximum_level'] = NULL;
     }
     if ($data['minimum_rank'] == '') {
         $data['minimum_rank'] = NULL;
     }
     // convert datetimes to UTC
     $data['start_time'] = RaidPlannerHelper::getDate($data['start_time'], null, 'sql');
     $data['invite_time'] = RaidPlannerHelper::getDate($data['invite_time'], null, 'sql');
     // Bind the form fields to the table
     if (!$row->bind($data)) {
         $this->setError($this->_db->getErrorMsg());
         return false;
     }
     // Make sure the record is valid
     if (!$row->check()) {
         $this->setError($this->_db->getErrorMsg());
         return false;
     }
     // Store the raid table to the database
     if (!$row->store(true)) {
         $this->setError($this->_db->getErrorMsg());
         return false;
     }
     return $row->raid_id;
 }
示例#2
0
 public static function checkInvitations($time_before = 1440, $user_id = null)
 {
     if (!self::$invite_alert_requested) {
         if (!$user_id) {
             $user = JFactory::getUser();
             $user_id = $user->id;
         }
         if ($user_id) {
             $db = JFactory::getDBO();
             $date = RaidPlannerHelper::getDate();
             /* get user vacation first */
             $user = JUser::getInstance($user_id);
             $vac = $user->getParam('vacation', '');
             // Joomla ACL
             $query = "SELECT r.raid_id,r.location,r.start_time FROM #__raidplanner_raid AS r" . " LEFT JOIN #__user_usergroup_map AS p ON p.group_id = r.invited_group_id" . " LEFT JOIN (#__raidplanner_signups AS s,#__raidplanner_character AS c) ON (s.raid_id = r.raid_id AND c.character_id = s.character_id AND c.profile_id = p.user_id)" . " WHERE r.invited_group_id>0" . " AND s.raid_id IS NULL" . " AND p.user_id = " . intval($user_id) . " AND DATE_SUB(r.start_time,interval r.freeze_time minute) > '" . self::date2Sql($date) . "'" . " AND DATE_SUB(r.start_time,interval (r.freeze_time + " . intval($time_before) . ") minute) < '" . self::date2Sql($date) . "'";
             if ($vac != '') {
                 /* exclude vacation dates */
                 $vacs = explode("\n", $vac);
                 if (!empty($vacs)) {
                     foreach ($vacs as $vac) {
                         $vac_period = explode(" ", $vac);
                         $vac_period[0] = preg_replace('/[^0-9-]/i', '', $vac_period[0]);
                         $vac_period[1] = preg_replace('/[^0-9-]/i', '', $vac_period[1]);
                         $query .= "\nAND NOT (r.start_time>='" . $vac_period[0] . "' AND r.start_time<='" . $vac_period[1] . "')";
                     }
                 }
             }
             $db->setQuery($query);
             self::$invite_alert_requested = true;
             return $db->loadObjectList();
         }
     }
     return null;
 }
示例#3
0
	getStats();
});
</script>
<div id="filter-bar" class="btn-toolbar">
	<div class="filter-search btn-group pull-left">
		<label for="start_time_min" class="element-invisible"><?php 
echo JText::_('JDATE');
?>
</label>
		<div class="input-append input-prepend">
			<?php 
echo JHTML::_('calendar', RaidPlannerHelper::getDate(strtotime('-3 month'), null, RaidPlannerHelper::sqlDateFormat()), 'start_time', 'start_time', '%Y-%m-%d', array('class' => 'input-small'));
?>
			<span class="add-on">-</span>
			<?php 
echo JHTML::_('calendar', RaidPlannerHelper::getDate('now', null, RaidPlannerHelper::sqlDateFormat()), 'end_time', 'end_time', '%Y-%m-%d', array('class' => 'input-small'));
?>
		</div>
	</div>
	<div class="filter-search btn-group pull-left">
		<?php 
if ($this->by_chars == 1) {
    ?>
		<label for="character_id" class="element-invisible"><?php 
    echo JText::_('COM_RAIDPLANNER_CHARACTER');
    ?>
</label>
		<select name="character_id" id="character_id" class="input-normal">
			<option></option>
			<?php 
    foreach ($this->characters as $character_id => $character) {
示例#4
0
 /**
  * Saves an event, or create a new one
  **/
 function saveEvent()
 {
     $raid_id = JRequest::getVar('raid_id', null, 'INT');
     if (!$this->userIsOfficer($raid_id)) {
         return false;
     }
     $user = JFactory::getUser();
     $user_id = $user->id;
     $db = JFactory::getDBO();
     if ($raid_id == -1) {
         // insert an empty record first
         $query = "INSERT INTO #__raidplanner_raid (profile_id) VALUES (" . $user_id . ")";
         $db->setQuery($query);
         $db->query();
         $raid_id = $db->insertid();
     }
     $location = JRequest::getVar('location', null, 'default', 'STRING');
     $description = JRequest::getVar('description', null, 'default', 'STRING');
     $start_time = RaidPlannerHelper::getDate(implode(" ", JRequest::getVar('start_time', null, 'default', 'ARRAY')));
     $duration_mins = JRequest::getVar('duration_mins', 0, 'default', 'INT');
     $invite_time = RaidPlannerHelper::getDate(implode(" ", JRequest::getVar('invite_time', null, 'default', 'ARRAY')));
     $freeze_time = JRequest::getVar('freeze_time', null, 'default', 'INT');
     $minimum_level = JRequest::getVar('minimum_level', null, 'default', 'INT');
     $maximum_level = JRequest::getVar('maximum_level', null, 'default', 'INT');
     $minimum_rank = JRequest::getVar('minimum_rank', null, 'default', 'INT');
     $icon_name = JRequest::getVar('icon_name', null, 'default', 'STRING');
     $guild_id = JRequest::getVar('guild_id', null, 'default', 'INT');
     $invited_group_id = JRequest::getVar('invited_group_id', null, 'default', 'INT');
     // update the record
     $query = "UPDATE #__raidplanner_raid SET" . " location=" . $db->Quote($location) . ",description=" . $db->Quote($description) . ",raid_leader=" . $db->Quote($user->name) . ",invite_time='" . RaidPlannerHelper::date2Sql($invite_time) . "'" . ",start_time='" . RaidPlannerHelper::date2Sql($start_time) . "'" . ",duration_mins=" . intval($duration_mins) . ",freeze_time=" . intval($freeze_time) . ",profile_id=" . intval($user_id) . ",icon_name=" . $db->Quote($icon_name) . ",minimum_level=" . ($minimum_level == '' ? "NULL" : intval($minimum_level)) . ",maximum_level=" . ($maximum_level == '' ? "NULL" : intval($maximum_level)) . ",minimum_rank=" . ($minimum_rank == '' ? "NULL" : intval($minimum_rank)) . ",guild_id=" . ($guild_id == '' ? "NULL" : intval($guild_id)) . ",invited_group_id=" . ($invited_group_id == '' ? "NULL" : intval($invited_group_id)) . " WHERE raid_id=" . intval($raid_id);
     $db->setQuery($query);
     $db->query();
     $query = "UPDATE #__raidplanner_raid SET" . " raid_leader=" . $db->Quote($user->name) . " WHERE raid_id=" . intval($raid_id) . " AND raid_leader=''";
     $db->setQuery($query);
     $db->query();
     return $raid_id;
 }