/** * * @param int $user_id * @param string $api_key * @param string $api_service * @param string $api_end_point * @param int $validity_start_date * @param int $validity_end_date * @param string $description * @return AccessToken */ public static function create_token($user_id = null, $api_key = null, $api_service = null, $api_end_point = null, $validity_start_date = null, $validity_end_date = null, $description = '') { $time = time(); $user_id = $user_id ? $user_id : Chamilo::user()->user_id(); $api_key = $api_key ? $api_key : uniqid('', true); $api_service = $api_service ? $api_service : self::default_service(); $api_end_point = $api_end_point ? $api_end_point : ''; $validity_start_date = $validity_start_date ? $validity_start_date : $time; $validity_end_date = $validity_end_date ? $validity_end_date : self::end_of_time(); $created_date = $time; $user_id = (int) $user_id; $api_key = Database::escape_string($api_key); $api_service = Database::escape_string($api_service); $api_end_point = Database::escape_string($api_end_point); $validity_start_date = date('Y-m-d H:i:s', $validity_start_date); $validity_end_date = date('Y-m-d H:i:s', $validity_end_date); $created_date = date('Y-m-d H:i:s', $created_date); $values = array(); $values['user_id'] = $user_id; $values['api_key'] = $api_key; $values['api_service'] = $api_service; $values['api_end_point'] = $api_end_point; $values['validity_start_date'] = $validity_start_date; $values['validity_end_date'] = $validity_end_date; $values['created_date'] = $created_date; $table = Database::get_main_table(TABLE_MAIN_USER_API_KEY); $id = Database::insert($table, $values); return AccessToken::create($id, $user_id, $api_key); }
public function run() { if (!$this->accept()) { return false; } $course = Course::current(); $pathes = Request::get('path'); $pathes = is_array($pathes) ? $pathes : array($pathes); $ids = array(); foreach ($pathes as $path) { $doc = Document::get_by_path($course, $path); if ($doc) { $ids[] = $doc->get_id(); } } if (empty($ids)) { return false; } $user = new \Portfolio\User(); $user->email = Chamilo::user()->email(); $artefact = new Portfolio\Artefact(); $artefact->url = Portfolio::download_url($ids); $portfolio = $this->get_portfolio(); $result = $portfolio->send($user, $artefact); return $result; }