/** * {@inheritdoc} */ public static function fromArray(array $values) { $message = new self(); $values = array_merge(['provider' => null, 'token' => null], $values); $message->setProvider($values['provider']); $message->setToken($values['token']); return $message; }
/** * Create a video using LocalFile framework * @param string $provider provider whose API will be used to fetch video data * @param string $videoId id of video, assigned by provider * @param Title $title Title object stemming from name of video * @param string $description description of video * @param boolean $undercover upload a video without creating the associated article * @param array $overrideMetadata one or more metadata fields that override API response * @return FileRepoStatus On success, the value member contains the * archive name, or an empty string if it was a new file. */ public static function uploadVideo($provider, $videoId, &$title, $description = null, $undercover = false, $overrideMetadata = array()) { wfProfileIn(__METHOD__); $oUploader = new self(); $oUploader->setProvider($provider); $oUploader->setVideoId($videoId); $oUploader->setDescription($description); if (!empty($undercover)) { $oUploader->hideAction(); } $oUploader->overrideMetadata($overrideMetadata); $r = $oUploader->upload($title); wfProfileOut(__METHOD__); return $r; }
/** * {@inheritdoc} */ public static function fromArray(array $values) { $message = new self(); $values = array_merge(['provider' => null, 'timestamp_snapshot' => null, 'altitude' => null, 'latitude' => null, 'longitude' => null, 'speed' => null, 'course' => null, 'horizontal_accuracy' => null, 'vertical_accuracy' => null, 'provider_status' => null, 'floor' => null, 'location_type' => null], $values); $message->setProvider($values['provider']); $message->setTimestampSnapshot($values['timestamp_snapshot']); $message->setAltitude($values['altitude']); $message->setLatitude($values['latitude']); $message->setLongitude($values['longitude']); $message->setSpeed($values['speed']); $message->setCourse($values['course']); $message->setHorizontalAccuracy($values['horizontal_accuracy']); $message->setVerticalAccuracy($values['vertical_accuracy']); $message->setProviderStatus($values['provider_status']); $message->setFloor($values['floor']); $message->setLocationType($values['location_type']); return $message; }