/**
  *
  * @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);
 }
예제 #2
0
    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;
    }