split media and Seminary media
This commit is contained in:
parent
166d3bac71
commit
998b3bf121
17 changed files with 160 additions and 57 deletions
|
|
@ -74,7 +74,7 @@
|
|||
// Media
|
||||
$questmedia = null;
|
||||
if(!is_null($quest['questsmedia_id'])) {
|
||||
$questmedia = $this->Media->getMediaById($quest['questsmedia_id']);
|
||||
$questmedia = $this->Media->getSeminaryMediaById($quest['questsmedia_id']);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,8 @@
|
|||
* @var array
|
||||
*/
|
||||
public $permissions = array(
|
||||
'index' => array('admin', 'moderator', 'user')
|
||||
'index' => array('admin', 'moderator', 'user', 'guest'),
|
||||
'seminary' => array('admin', 'moderator', 'user', 'guest')
|
||||
);
|
||||
/**
|
||||
* User seminary permissions
|
||||
|
|
@ -33,7 +34,7 @@
|
|||
* @var array
|
||||
*/
|
||||
public $seminaryPermissions = array(
|
||||
'index' => array('admin', 'moderator', 'user')
|
||||
'seminary' => array('admin', 'moderator', 'user', 'guest')
|
||||
);
|
||||
/**
|
||||
* Required models
|
||||
|
|
@ -64,21 +65,16 @@
|
|||
|
||||
|
||||
/**
|
||||
* Action: index.
|
||||
* Action: index
|
||||
*
|
||||
* Display a medium without processing.
|
||||
* Display a medium.
|
||||
*
|
||||
* @throws IdNotFoundException
|
||||
* @param string $seminaryUrl URL-title of the Seminary
|
||||
* @param string $mediaUrl URL-name of the medium
|
||||
*/
|
||||
public function index($seminaryUrl, $mediaUrl, $action=null)
|
||||
public function index($mediaUrl, $action=null)
|
||||
{
|
||||
// Get Seminary
|
||||
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
|
||||
|
||||
// Get Media
|
||||
$media = $this->Media->getMediaByUrl($seminary['id'], $mediaUrl);
|
||||
$media = $this->Media->getMediaByUrl($mediaUrl);
|
||||
|
||||
// Get format
|
||||
$format = explode('/', $media['mimetype']);
|
||||
|
|
@ -98,6 +94,63 @@
|
|||
return;
|
||||
}
|
||||
|
||||
// Load and process file
|
||||
$file = null;
|
||||
switch($action)
|
||||
{
|
||||
// No action
|
||||
case null:
|
||||
// Do not process the file
|
||||
$file = file_get_contents($media['filename']);
|
||||
break;
|
||||
default:
|
||||
throw new ParamsNotValidException($action);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Pass data to view
|
||||
$this->set('media', $media);
|
||||
$this->set('file', $file);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Action: seminary.
|
||||
*
|
||||
* Display a Seminary medium.
|
||||
*
|
||||
* @throws IdNotFoundException
|
||||
* @param string $seminaryUrl URL-title of the Seminary
|
||||
* @param string $mediaUrl URL-name of the medium
|
||||
*/
|
||||
public function seminary($seminaryUrl, $mediaUrl, $action=null)
|
||||
{
|
||||
// Get Seminary
|
||||
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
|
||||
|
||||
// Get Media
|
||||
$media = $this->Media->getSeminaryMediaByUrl($seminary['id'], $mediaUrl);
|
||||
|
||||
// Get format
|
||||
$format = explode('/', $media['mimetype']);
|
||||
$format = $format[1];
|
||||
|
||||
// Set content-type
|
||||
$this->response->addHeader("Content-type: ".$media['mimetype']."");
|
||||
|
||||
// Set filename
|
||||
$media['filename'] = ROOT.DS.\nre\configs\AppConfig::$dirs['seminarymedia'].DS.$media['id'];
|
||||
if(!file_exists($media['filename'])) {
|
||||
throw new \nre\exceptions\IdNotFoundException($mediaUrl);
|
||||
}
|
||||
|
||||
// Cache
|
||||
if($this->setCacheHeaders($media['filename'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Load and process file
|
||||
$file = null;
|
||||
switch($action)
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@
|
|||
$picture = null;
|
||||
if(!is_null($questgroup['questgroupspicture_id']))
|
||||
{
|
||||
$picture = $this->Media->getMediaById($questgroup['questgroupspicture_id']);
|
||||
$picture = $this->Media->getSeminaryMediaById($questgroup['questgroupspicture_id']);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@
|
|||
$questgroup = $this->Questgroups->getQuestgroupByUrl($seminary['id'], $questgroupUrl);
|
||||
$questgroup['picture'] = null;
|
||||
if(!is_null($questgroup['questgroupspicture_id'])) {
|
||||
$questgroup['picture'] = $this->Media->getMediaById($questgroup['questgroupspicture_id']);
|
||||
$questgroup['picture'] = $this->Media->getSeminaryMediaById($questgroup['questgroupspicture_id']);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -151,7 +151,7 @@
|
|||
{
|
||||
// Questtext media
|
||||
if(!is_null($questtext['questsmedia_id'])) {
|
||||
$questtext['media'] = $this->Media->getMediaById($questtext['questsmedia_id']);
|
||||
$questtext['media'] = $this->Media->getSeminaryMediaById($questtext['questsmedia_id']);
|
||||
}
|
||||
|
||||
// Related Questgroups
|
||||
|
|
@ -177,7 +177,7 @@
|
|||
// Quest media
|
||||
$questmedia = null;
|
||||
if(!is_null($quest['questsmedia_id'])) {
|
||||
$questmedia = $this->Media->getMediaById($quest['questsmedia_id']);
|
||||
$questmedia = $this->Media->getSeminaryMediaById($quest['questsmedia_id']);
|
||||
}
|
||||
|
||||
// Task
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@
|
|||
// Get Media
|
||||
$questgroup['picture'] = null;
|
||||
try {
|
||||
$questgroup['picture'] = $this->Media->getMediaById($questgroup['questgroupspicture_id']);
|
||||
$questgroup['picture'] = $this->Media->getSeminaryMediaById($questgroup['questgroupspicture_id']);
|
||||
}
|
||||
catch(\nre\exceptions\IdNotFoundException $e) {
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue