Exemplo n.º 1
0
 /**
  * Get a single member's location
  * 
  * @param 		int 	Member ID
  * @param    	bool 	Format marker. $loadMemberData needs to be TRUE for this to happen
  * @param 		bool 	Load member and group data
  * @return		mixed 	Members location record, or false if non-existent
  */
 public function getMarkerByMember($memberId, $format = TRUE, $loadMemberdata = TRUE)
 {
     static $marker = array();
     if (!intval($memberId)) {
         return false;
     }
     if (isset($marker[$memberId . '-' . ($format ? '1' : '0')])) {
         $_marker = $marker[$memberId . '-' . ($format ? '1' : '0')];
     } else {
         try {
             $groupId = $this->getMemberGroupId();
             $db = \IPS\Db::i()->select('*', array('membermap_markers', 'mm'), array('mm.marker_member_id=? AND mm.marker_parent_id=?', intval($memberId), intval($groupId)));
             if ($loadMemberdata) {
                 $db->join(array('core_members', 'm'), 'mm.marker_member_id=m.member_id');
                 $db->join(array('core_groups', 'g'), 'm.member_group_id=g.g_id');
             }
             $_marker = $db->first();
             if (!$format or !$loadMemberdata) {
                 $_marker = \IPS\membermap\Markers\Markers::constructFromData($_marker);
             }
             $marker[$memberId . '-' . ($format ? '1' : '0')] = $_marker;
         } catch (\UnderflowException $e) {
             return false;
         }
     }
     return ($format and $loadMemberdata) ? $this->formatMemberMarkers(array($_marker)) : $_marker;
 }
Exemplo n.º 2
0
 /**
  * Set last file data
  *
  * @param	\IPS\downloads\File|NULL	$file	The latest file or NULL to work it out
  * @return	void
  */
 public function setlastMarker(\IPS\membermap\Markers\Markers $marker = NULL)
 {
     if ($marker === NULL) {
         try {
             $marker = \IPS\membermap\Markers\Markers::constructFromData(\IPS\Db::i()->select('*', 'membermap_markers', array('marker_parent_id=? AND marker_open=1', $this->id), 'marker_updated DESC, marker_added DESC', 1)->first());
         } catch (\UnderflowException $e) {
             $this->last_marker_id = 0;
             $this->last_marker_date = 0;
             return;
         }
     }
     $this->last_marker_id = $marker->id;
     $this->last_marker_date = $marker->updated > $marker->added ? $marker->updated : $marker->added;
 }