/** * Retrieves programs of the currently loged in user * * @return array an array of com_meego_devprogram_programs objects * null if user is not logged in */ public static function get_open_programs_of_current_user() { $programs = array(); // retrieve the user's guid based on the login name $user = self::require_login(); if (!is_object($user)) { return null; } // all devices from this user and by fellow members of the same provider $memberships = com_meego_devprogram_membutils::get_memberships_of_current_user(); foreach ($memberships as $membership) { // check status if ($membership->status == CMD_MEMBERSHIP_APPROVED) { // get device objects $devices = com_meego_devprogram_devutils::get_devices(array('provider' => $membership->provider)); // find all programs belonging all devices found before foreach ($devices as $device) { $filters = array('status' => CMD_PROGRAM_OPEN, 'device' => $device->id); $programs = array_merge($programs, self::get_programs($filters)); } } } return $programs; }
/** * Finds devices that belong to the given provider * * @param integer id of the provider * @return boolean true: if provider has devices; false otherwise */ public function has_provider_devices($id = 0) { $retval = false; if ($id) { $filters = array('provider' => $id); $devices = com_meego_devprogram_devutils::get_devices($filters); if (count($devices)) { $retval = true; } unset($filters, $devices); } return $retval; }