[ 'key' => $key, 'secret' => $secret, ], //'region' => 'us-east-1', 'region' => 'ru-central1', 'endpoint' => 'https://storage.yandexcloud.net', 'version' => 'latest', ]; $sdk = new \Aws\Sdk($sharedConfig); $s3Client = $sdk->createS3(); $upload_path = substr($video[self::$URL],1); /** @var \Aws\Result $r */ $r = $s3Client->upload($bucket,$upload_path,file_get_contents($file)); $cloud_url = $r->toArray()['ObjectURL']; Video::updateById($video_id,[self::$CLOUD_URL=>$cloud_url]); //echo '
';
        //echo var_dump($r->data);
        //echo '
'; /* $result = $s3Client->getObject([ 'Bucket' =>$bucket, 'Key' => $upload_path ]); //echo $result['Body']; /**/ } static function getEmbedLink($url){ $res = ''; $x = parse_url($url); if (in_array($x['host'],array('www.youtube.com','youtube.com','youtu.be'))) { $id = self::getYoutubeVideoID($url); if($id) $res = 'https://www.youtube.com/embed/'.$id; return $res; } return $res; } static function getYoutubeVideoID($url){ $res = ''; if ($url){ $result = parse_url($url); if (in_array($result['host'],array('www.youtube.com','youtube.com'))) { if ($result['query']){ $res = preg_replace("/^\w\=/", "", $result['query']); $res = preg_replace("/\&.*/", "", $res); } else { $res = preg_replace("/^\/.*\//", "", $result['path']); } } else if ($result['host'] == 'youtu.be'){ $res = preg_replace("/^\//", "", $result['path']); } } return $res; } static function formatYoutubeLink($url){ $res = ''; $id = self::getYoutubeVideoID($url); if($id) $res = 'https://www.youtube.com/watch?v='.$id; return $res; } static function getForm($values = [], $options = []) :array { return [ self::getCommonFormInputs(), [ Form::VIEW=>Form::ROW, Form::COLS => [ [ Form::VIEW =>Form::INPUT, Form::COL_CLASSES =>'col-12', Form::KEY_VALUE =>self::$NAME, Form::TYPE =>eInputType::TEXT, Form::INPUT_OPT => [ Input::PLACEHOLDER => $c = V::get(Vars::$NAME), Input::LABEL => $c, ], ], ] ], self::getCommonFormSubmits($values), ]; } static function columnInfo() : array { return [ new C([ C::VAR_NAME =>&self::$ID, C::TYPE =>eColumnType::INT, C::AUTO_INCREMENT =>true, C::PRIMARY =>true, C::DEFAULT =>0, C::HIDDEN =>true, C::TH =>V::get(Vars::$ID), ]), new C([ C::VAR_NAME => &self::$NAME, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 1023, C::TH => V::get(Vars::$NAME), ]), new C([ C::VAR_NAME => &self::$URL, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 255, ]), new C([ C::VAR_NAME => &self::$CLOUD_URL, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 255, ]), new C([ C::VAR_NAME => &self::$PROFILE, C::TYPE => eColumnType::INT, C::LENGTH => intval(PID), ]), new C([ C::VAR_NAME => &self::$ACCOUNT, C::TYPE => eColumnType::INT, C::LENGTH => 11, C::TH => V::get(Vars::$ACCOUNT), C::DEFAULT => intval(UID), c::HIDDEN=>true, c::FUNC_VALUE => function($v){ if($id = $v[self::$ACCOUNT]) { return \Account::getName( \Account::getByID($id) ); } else return '-'; }, ]), new C([ C::VAR_NAME => &self::$CREATED, C::TYPE => eColumnType::INT, C::LENGTH => 11, C::TH => V::get(Vars::$CREATED), C::DEFAULT => time(), c::FUNC_VALUE => function($v){return self::formatDate($v[self::$CREATED]);}, c::HIDDEN=>true, ]), new C([ C::VAR_NAME => &self::$UPDATED, C::TYPE => eColumnType::INT, C::DEFAULT => time(), C::TH => V::get(Vars::$UPDATED), c::FUNC_VALUE => function($v){return self::formatDate($v[self::$UPDATED]);}, c::HIDDEN=>true, ]), ]; } } new Video();