/** * Method to get a single record. * * @param integer The id of the primary key. * * @return mixed Object on success, false on failure. */ public function getItem($pk = null) { $jemsettings = JEMAdmin::config(); if ($item = parent::getItem($pk)) { $files = JEMAttachment::getAttachments('venue' . $item->id); $item->attachments = $files; } $item->author_ip = $jemsettings->storeip ? JemHelper::retrieveIP() : false; if (empty($item->id)) { $item->country = $jemsettings->defaultCountry; } if (!empty($item->locimage)) { if (strpos($item->locimage, 'images/') !== false) { # the image selected contains the images path } else { # the image selected doesn't have the /images/ path # we're looking at the locimage so we'll append the venues folder $item->locimage = 'images/jem/venues/' . $item->locimage; } } return $item; }
/** * Method to get venue data. * * @param integer The id of the venue. * @return mixed item data object on success, false on failure. */ public function getItem($itemId = null) { $jemsettings = JEMHelper::config(); // Initialise variables. $itemId = (int) (!empty($itemId)) ? $itemId : $this->getState('venue.id'); // Get a row instance. $table = $this->getTable(); // Attempt to load the row. $return = $table->load($itemId); // Check for a table object error. if ($return === false && $table->getError()) { $this->setError($table->getError()); return false; } $properties = $table->getProperties(1); $value = JArrayHelper::toObject($properties, 'JObject'); // Convert attrib field to Registry. //$registry = new JRegistry(); //$registry->loadString($value->attribs); $globalsettings = JemHelper::globalattribs(); $globalregistry = new JRegistry(); $globalregistry->loadString($globalsettings); $value->params = clone $globalregistry; //$value->params->merge($registry); // Compute selected asset permissions. $user = JFactory::getUser(); $userId = $user->get('id'); $asset = 'com_jem.venue.' . $value->id; // Check general edit permission first. if ($user->authorise('core.edit', $asset)) { $value->params->set('access-edit', true); } elseif (!empty($userId) && $user->authorise('core.edit.own', $asset)) { // Check for a valid user and that they are the owner. if ($userId == $value->created_by) { $value->params->set('access-edit', true); } } // Check edit state permission. if ($itemId) { // Existing item $value->params->set('access-change', $user->authorise('core.edit.state', $asset)); } else { $value->params->set('access-change', $user->authorise('core.edit.state', 'com_jem')); } $value->author_ip = $jemsettings->storeip ? JemHelper::retrieveIP() : false; $files = JemAttachment::getAttachments('venue' . $itemId); $value->attachments = $files; if (empty($itemId)) { $value->country = $jemsettings->defaultCountry; } if (!empty($value->locimage)) { if (strpos($value->locimage, 'images/') !== false) { # the image selected contains the images path } else { # the image selected doesn't have the /images/ path # we're looking at the locimage so we'll append the venues folder $value->locimage = 'images/jem/venues/' . $value->locimage; } } return $value; }
/** * Method to get event data. * * @param integer The id of the event. * * @return mixed item data object on success, false on failure. */ public function getItem($itemId = null) { $jemsettings = JemHelper::config(); // Initialise variables. $itemId = (int) (!empty($itemId)) ? $itemId : $this->getState('event.id'); // Get a row instance. $table = $this->getTable(); // Attempt to load the row. $return = $table->load($itemId); // Check for a table object error. if ($return === false && $table->getError()) { $this->setError($table->getError()); return false; } $properties = $table->getProperties(1); $value = JArrayHelper::toObject($properties, 'JObject'); // Backup current recurrence values if ($value->id) { $value->recurr_bak = new stdClass(); foreach (get_object_vars($value) as $k => $v) { if (strncmp('recurrence_', $k, 11) === 0) { $value->recurr_bak->{$k} = $v; } } } // Convert attrib field to Registry. $registry = new JRegistry(); $registry->loadString($value->attribs); $globalregistry = JEMHelper::globalattribs(); $value->params = clone $globalregistry; $value->params->merge($registry); // Compute selected asset permissions. $user = JFactory::getUser(); $userId = $user->get('id'); //$asset = 'com_jem.event.' . $value->id; $asset = 'com_jem'; $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select(array('count(id)')); $query->from('#__jem_register'); $query->where(array('event= ' . $db->quote($itemId), 'waiting= 0')); $db->setQuery($query); $res = $db->loadResult(); $value->booked = $res; $files = JEMAttachment::getAttachments('event' . $itemId); $value->attachments = $files; // Check general edit permission first. if ($user->authorise('core.edit', $asset)) { $value->params->set('access-edit', true); } elseif (!empty($userId) && $user->authorise('core.edit.own', $asset)) { // Check for a valid user and that they are the owner. if ($userId == $value->created_by) { $value->params->set('access-edit', true); } } // Check edit state permission. if ($itemId) { // Existing item $value->params->set('access-change', $user->authorise('core.edit.state', $asset)); } else { // New item. $catId = (int) $this->getState('event.catid'); if ($catId) { $value->params->set('access-change', $user->authorise('core.edit.state', 'com_jem.category.' . $catId)); $value->catid = $catId; } else { $value->params->set('access-change', $user->authorise('core.edit.state', 'com_jem')); } } //////////////// $venueQuery = $db->getQuery(true); $venueQuery->select(array('alias')); $venueQuery->from('#__jem_venues'); $venueQuery->where(array('id= ' . $db->quote($value->locid))); $db->setQuery($venueQuery); $venueResult = $db->loadResult(); $value->localias = $venueResult; //////////////// $value->author_ip = $jemsettings->storeip ? JemHelper::retrieveIP() : false; $value->articletext = $value->introtext; if (!empty($value->fulltext)) { $value->articletext .= '<hr id="system-readmore" />' . $value->fulltext; } return $value; }
/** * Saves the registration to the database * * @access public * @return int register id on success, else false * */ function userregister() { $user = JFactory::getUser(); $jemsettings = JEMHelper::config(); $eventid = (int) $this->_registerid; $uid = (int) $user->get('id'); $onwaiting = 0; // Must be logged in if ($uid < 1) { JError::raiseError(403, JText::_('COM_JEM_ALERTNOTAUTH')); return; } try { $event = $this->getItem($eventid); } catch (Exception $e) { $event = false; } if (empty($event)) { $this->setError(JText::_('COM_JEM_EVENT_ERROR_EVENT_NOT_FOUND')); return false; } if ($event->maxplaces > 0) { // check if the user should go on waiting list if ($event->booked >= $event->maxplaces) { if (!$event->waitinglist) { $this->setError(JText::_('COM_JEM_ERROR_REGISTER_EVENT_IS_FULL')); return false; } $onwaiting = 1; } } // IP $uip = $jemsettings->storeip ? JemHelper::retrieveIP() : false; $obj = new stdClass(); $obj->event = (int) $eventid; $obj->waiting = $onwaiting; $obj->uid = (int) $uid; $obj->uregdate = gmdate('Y-m-d H:i:s'); $obj->uip = $uip; $this->_db->insertObject('#__jem_register', $obj); return $this->_db->insertid(); }
/** * Method to get a single record. * * @param integer The id of the primary key. * * @return mixed Object on success, false on failure. */ public function getItem($pk = null) { $jemsettings = JEMAdmin::config(); if ($item = parent::getItem($pk)) { $files = JEMAttachment::getAttachments('venue'.$item->id); $item->attachments = $files; } $item->author_ip = $jemsettings->storeip ? JemHelper::retrieveIP() : false; if (empty($item->id)) { $item->country = $jemsettings->defaultCountry; } return $item; }
/** * Method to get event data. * * @param integer The id of the event. * * @return mixed item data object on success, false on failure. */ public function getItem($itemId = null) { $jemsettings = JemHelper::config(); // Initialise variables. $itemId = (int) (!empty($itemId)) ? $itemId : $this->getState('event.id'); // Get a row instance. $table = $this->getTable(); // Attempt to load the row. $return = $table->load($itemId); // Check for a table object error. if ($return === false && $table->getError()) { $this->setError($table->getError()); return false; } $properties = $table->getProperties(1); $value = JArrayHelper::toObject($properties, 'JObject'); // Convert attrib field to Registry. $registry = new JRegistry(); $registry->loadString($value->attribs); $globalsettings = JEMHelper::globalattribs(); $globalregistry = new JRegistry(); $globalregistry->loadString($globalsettings); $value->params = clone $globalregistry; $value->params->merge($registry); // Compute selected asset permissions. $user = JFactory::getUser(); $userId = $user->get('id'); //$asset = 'com_jem.event.' . $value->id; $asset = 'com_jem'; $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select(array('count(id)')); $query->from('#__jem_register'); $query->where(array('event= ' . $db->quote($itemId), 'waiting= 0')); $db->setQuery($query); $res = $db->loadResult(); $value->booked = $res; $files = JEMAttachment::getAttachments('event' . $itemId); $value->attachments = $files; ################ ## RECURRENCE ## ################ # check recurrence if ($value->recurrence_group) { # this event is part of a recurrence-group # # check for groupid & groupid_ref (recurrence_table) # - groupid = $item->recurrence_group # - groupid_ref = $item->recurrence_group # - Itemid = $item->id $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select(array('count(id)')); $query->from('#__jem_recurrence'); $query->where(array('groupid= ' . $value->recurrence_group, 'itemid= ' . $value->id, 'groupid = groupid_ref')); $db->setQuery($query); $rec_groupset_check = $db->loadResult(); if ($rec_groupset_check == '1') { $value->recurrence_groupcheck = true; } else { $value->recurrence_groupcheck = false; } } else { $value->recurrence_groupcheck = false; } ############## ## HOLIDAYS ## ############## # Retrieve dates that are holidays and enabled. $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('holiday'); $query->from('#__jem_dates'); $query->where(array('enabled = 1', 'holiday = 1')); $db->setQuery($query); $holidays = $db->loadColumn(); if ($holidays) { $value->recurrence_country_holidays = true; } else { $value->recurrence_country_holidays = false; } // Check general edit permission first. if ($user->authorise('core.edit', $asset)) { $value->params->set('access-edit', true); } elseif (!empty($userId) && $user->authorise('core.edit.own', $asset)) { // Check for a valid user and that they are the owner. if ($userId == $value->created_by) { $value->params->set('access-edit', true); } } // Check edit state permission. if ($itemId) { // Existing item $value->params->set('access-change', $user->authorise('core.edit.state', $asset)); } else { // New item. $catId = (int) $this->getState('event.catid'); if ($catId) { $value->params->set('access-change', $user->authorise('core.edit.state', 'com_jem.category.' . $catId)); $value->catid = $catId; } else { $access_change = $user->authorise('core.edit.state', 'com_jem'); $value->params->set('access-change', $access_change); } } $value->author_ip = $jemsettings->storeip ? JemHelper::retrieveIP() : false; $value->articletext = $value->introtext; if (!empty($value->fulltext)) { $value->articletext .= '<hr id="system-readmore" />' . $value->fulltext; } if (!empty($value->datimage)) { if (strpos($value->datimage, 'images/') !== false) { # the image selected contains the images path } else { # the image selected doesn't have the /images/ path # we're looking at the locimage so we'll append the venues folder $value->datimage = 'images/jem/events/' . $value->datimage; } } $admin = JFactory::getUser()->authorise('core.manage', 'com_jem'); if ($admin) { $value->admin = true; } else { $value->admin = false; } return $value; }
/** * Method to get a single record. * * @param integer The id of the primary key. * * @return mixed Object on success, false on failure. */ public function getItem($pk = null) { $jemsettings = JEMAdmin::config(); if ($item = parent::getItem($pk)) { // Convert the params field to an array. $registry = new JRegistry(); $registry->loadString($item->attribs); $item->attribs = $registry->toArray(); // Convert the metadata field to an array. $registry = new JRegistry(); $registry->loadString($item->metadata); $item->metadata = $registry->toArray(); $item->articletext = trim($item->fulltext) != '' ? $item->introtext . "<hr id=\"system-readmore\" />" . $item->fulltext : $item->introtext; $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select(array('count(id)')); $query->from('#__jem_register'); $query->where(array('event= ' . $db->quote($item->id), 'waiting= 0')); $db->setQuery($query); $res = $db->loadResult(); $item->booked = $res; $files = JEMAttachment::getAttachments('event' . $item->id); $item->attachments = $files; ################ ## RECURRENCE ## ################ # check recurrence if ($item->recurrence_group) { # this event is part of a recurrence-group # # check for groupid & groupid_ref (recurrence_table) # - groupid = $item->recurrence_group # - groupid_ref = $item->recurrence_group # - Itemid = $item->id $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select(array('count(id)')); $query->from('#__jem_recurrence'); $query->where(array('groupid= ' . $item->recurrence_group, 'itemid= ' . $item->id, 'groupid = groupid_ref')); $db->setQuery($query); $rec_groupset_check = $db->loadResult(); if ($rec_groupset_check == '1') { $item->recurrence_groupcheck = true; } else { $item->recurrence_groupcheck = false; } } else { $item->recurrence_groupcheck = false; } ############## ## HOLIDAYS ## ############## # Retrieve dates that are holidays and enabled. $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('holiday'); $query->from('#__jem_dates'); $query->where(array('enabled = 1', 'holiday = 1')); $db->setQuery($query); $holidays = $db->loadColumn(); if ($holidays) { $item->recurrence_country_holidays = true; } else { $item->recurrence_country_holidays = false; } $item->author_ip = $jemsettings->storeip ? JemHelper::retrieveIP() : false; if (empty($item->id)) { $item->country = $jemsettings->defaultCountry; } if (!empty($item->datimage)) { if (strpos($item->datimage, 'images/') !== false) { # the image selected contains the images path } else { # the image selected doesn't have the /images/ path # we're looking at the locimage so we'll append the venues folder $item->datimage = 'images/jem/events/' . $item->datimage; } } $admin = JFactory::getUser()->authorise('core.manage', 'com_jem'); if ($admin) { $item->admin = true; } else { $item->admin = false; } } return $item; }
/** * Method to get a single record. * * @param integer The id of the primary key. * * @return mixed Object on success, false on failure. */ public function getItem($pk = null) { $jemsettings = JEMAdmin::config(); if ($item = parent::getItem($pk)){ // Convert the params field to an array. $registry = new JRegistry; $registry->loadString($item->attribs); $item->attribs = $registry->toArray(); // Convert the metadata field to an array. $registry = new JRegistry; $registry->loadString($item->metadata); $item->metadata = $registry->toArray(); $item->articletext = trim($item->fulltext) != '' ? $item->introtext . "<hr id=\"system-readmore\" />" . $item->fulltext : $item->introtext; $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select(array('count(id)')); $query->from('#__jem_register'); $query->where(array('event= '.$db->quote($item->id), 'waiting= 0')); $db->setQuery($query); $res = $db->loadResult(); $item->booked = $res; $files = JEMAttachment::getAttachments('event'.$item->id); $item->attachments = $files; if ($item->id){ // Store current recurrence values $item->recurr_bak = new stdClass; foreach (get_object_vars($item) as $k => $v) { if (strncmp('recurrence_', $k, 11) === 0) { $item->recurr_bak->$k = $v; } } $item->recurrence_type = ''; $item->recurrence_number = ''; $item->recurrence_byday = ''; $item->recurrence_counter = ''; $item->recurrence_first_id = ''; $item->recurrence_limit = ''; $item->recurrence_limit_date = ''; } $item->author_ip = $jemsettings->storeip ? JemHelper::retrieveIP() : false; if (empty($item->id)){ $item->country = $jemsettings->defaultCountry; } } return $item; }
/** * Method to get venue data. * * @param integer The id of the venue. * @return mixed item data object on success, false on failure. */ public function getItem($itemId = null) { $jemsettings = JEMHelper::config(); // Initialise variables. $itemId = (int) (!empty($itemId)) ? $itemId : $this->getState('venue.id'); // Get a row instance. $table = $this->getTable(); // Attempt to load the row. $return = $table->load($itemId); // Check for a table object error. if ($return === false && $table->getError()) { $this->setError($table->getError()); return false; } $properties = $table->getProperties(1); $value = JArrayHelper::toObject($properties, 'JObject'); // Convert attrib field to Registry. //$registry = new JRegistry(); //$registry->loadString($value->attribs); $globalregistry = JemHelper::globalattribs(); $value->params = clone $globalregistry; //$value->params->merge($registry); // Compute selected asset permissions. $user = JemFactory::getUser(); // Check edit permission. $value->params->set('access-edit', $user->can('edit', 'venue', $value->id, $value->created_by)); // Check edit state permission. $value->params->set('access-change', $user->can('publish', 'venue', $value->id, $value->created_by)); $value->author_ip = $jemsettings->storeip ? JemHelper::retrieveIP() : false; $files = JemAttachment::getAttachments('venue' . $itemId); $value->attachments = $files; if (empty($itemId)) { $value->country = $jemsettings->defaultCountry; } return $value; }