<?php
/**
- * Class Video controlls video items handling: watching, commenting, rating,
+ * Class Video controls video items handling: watching, commenting, rating,
* adding etc.
*
* @category Controller
public function __construct()
{
parent::__construct();
+
+ //$this->lang->load('video');
}
public function index()
{
$this->load->helper('url');
+ // **
+ // ** LOADING MODEL
+ // **
// Retrieve video information.
$this->load->model('videos_model');
+ $this->videos_model->inc_video_var($id, 'views');
$data['video'] = $this->videos_model->get_video($id, $name);
- $data['plugin'] = ($plugin === NULL ? 'auto' : $plugin);
+ $categories = $this->config->item('categories');
+ $data['video']['category_name'] =
+ $categories[ $data['video']['category_id'] ];
+ $data['plugin_type'] = ($plugin === NULL ? 'auto' : $plugin);
// Display page.
$params = array( 'title' => $data['video']['title'] . ' -- '
. $this->config->item('site_name'),
- 'stylesheets' => array('jquery-ui.css', 'NextShare_VLC_plugin.css'),
- 'javascripts' => array('jquery.min.js', 'jquery-ui.min.js', 'NextShare_VLC_plugin.js', 'video.js'),
+ 'css' => array(
+ 'jquery.ui.nsvideo.css',
+ 'video.css'
+ ),
+ 'js' => array(
+ 'jquery.ui.nsvideo.js'
+ ),
//'metas' => array('description'=>'','keywords'=>'')
);
$this->load->library('html_head_params', $params);
+
+ // Preloading video plugin.
+ // TODO plugin auto: type and format
+ if ($data['plugin_type'] == 'auto')
+ $data['plugin_type'] = 'ns-html5';
+ $data['asset_index'] = 0;
+
+ // TODO remove old AJAX plugin content
+// $data['plugin_content'] = $this->_plugin('ns-html5',
+// $data['video']['url'][0], TRUE);
+
+ // **
+ // ** LOADING VIEWS
+ // **
$this->load->view('html_begin', $this->html_head_params);
$this->load->view('header');
+ //$main_params['content'] = $this->load->view('video/watch_view', $data, TRUE);
$this->load->view('video/watch_view', $data);
$this->load->view('footer');
/**
* AJAX page which retrieves a video plugin.
*
- * The associated with this controller should be parameter type
+ * The view associated with this controller should be parameter type
* concatenated with '_plugin_view' and must be located in
* 'application/views/video'.
*
*/
public function plugin($type)
{
- $data['url'] = $this->input->post('url', TRUE);
+ $url = $this->input->post('url', TRUE);
+
+ $this->_plugin($type, $url);
+ }
+
+ /**
+ * Video plugin controller
+ *
+ * See plugin function for details. If the second parameter is TRUE
+ * the output is return instead of being displayed (used in preloading).
+ */
+ public function _plugin($type, $url, $return_output=FALSE)
+ {
+ if ($type == 'ns-html5')
+ $data['url'] = 'tribe://' . $url;
+ else if ($type == 'ns-vlc')
+ $data['url'] = $url;
+
+ $output = $this->load->view('video/'. $type . '_plugin_view', $data,
+ $return_output);
- $this->load->view('video/'. $type . '_plugin_view', $data);
+ if ($return_output)
+ return $output;
}
+
}
/* End of file video.php */