You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					69 lines
				
				1.6 KiB
			
		
		
			
		
	
	
					69 lines
				
				1.6 KiB
			| 
											8 years ago
										 | <?php
 | ||
|  | 
 | ||
|  | namespace core\helpers;
 | ||
|  | 
 | ||
|  | use core\entities\post\Post;
 | ||
|  | use yii\helpers\ArrayHelper;
 | ||
|  | use yii\helpers\Html;
 | ||
|  | use Yii;
 | ||
|  | 
 | ||
|  | class PostHelper
 | ||
|  | {
 | ||
|  |     public static function statusList(): array
 | ||
|  |     {
 | ||
|  |         return [
 | ||
|  |             Post::STATUS_DRAFT => Yii::t('post', 'Draft'),
 | ||
|  |             Post::STATUS_ACTIVE => Yii::t('post', 'Active'),
 | ||
|  |         ];
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     public static function statusName($status): string
 | ||
|  |     {
 | ||
|  |         return ArrayHelper::getValue(self::statusList(), $status);
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     public static function statusLabel($status): string
 | ||
|  |     {
 | ||
|  |         switch ($status) {
 | ||
|  |             case Post::STATUS_DRAFT:
 | ||
|  |                 $class = 'label label-default';
 | ||
|  |                 break;
 | ||
|  |             case Post::STATUS_ACTIVE:
 | ||
|  |                 $class = 'label label-success';
 | ||
|  |                 break;
 | ||
|  |             default:
 | ||
|  |                 $class = 'label label-default';
 | ||
|  |         }
 | ||
|  | 
 | ||
|  |         return Html::tag('span', ArrayHelper::getValue(self::statusList(), $status), [
 | ||
|  |             'class' => $class,
 | ||
|  |         ]);
 | ||
|  |     }
 | ||
|  | 
 | ||
|  | 	public static function parseYoutubeUrl($url)
 | ||
|  | 	{
 | ||
|  | 		$urls = parse_url($url);
 | ||
|  | 		//url is http://youtu.be/xxxx
 | ||
|  | 		if($urls['host'] == 'youtu.be'){
 | ||
|  | 			$id = ltrim($urls['path'],'/');
 | ||
|  | 		}
 | ||
|  | 		//url is http://www.youtube.com/embed/xxxx
 | ||
|  | 		else if(strpos($urls['path'],'embed') == 1){
 | ||
|  | 			$id = end(explode('/',$urls['path']));
 | ||
|  | 		}
 | ||
|  | 		//url is xxxx only
 | ||
|  | 		else if(strpos($url,'/')===false){
 | ||
|  | 			$id = $url;
 | ||
|  | 		}
 | ||
|  | 		//http://www.youtube.com/watch?feature=player_embedded&v=m-t4pcO99gI
 | ||
|  | 		//url is http://www.youtube.com/watch?v=xxxx
 | ||
|  | 		else{
 | ||
|  | 			parse_str($urls['query']);
 | ||
|  | 			$id = $v;
 | ||
|  | 			if(!empty($feature)){
 | ||
|  | 				$id = end(explode('v=',$urls['query']));
 | ||
|  | 			}
 | ||
|  | 		}
 | ||
|  | 		return $id;
 | ||
|  | 	}
 | ||
|  | }
 |