1
0

Added Download counter

This commit is contained in:
2014-07-19 19:35:53 +02:00
parent 10ac7f4ec1
commit 49b7368f44
4 changed files with 46 additions and 2 deletions

View File

@@ -28,7 +28,7 @@ class ProgramsController extends MSController
{
return array(
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('index','view'),
'actions'=>array('index','view', 'download'),
'users'=>array('*'),
),
array('allow', // allow authenticated user to perform 'create' and 'update' actions
@@ -72,6 +72,34 @@ class ProgramsController extends MSController
));
}
/**
* Displays a particular model.
* @param integer $id the ID of the model to be displayed
* @throws CHttpException when $id is integer
*/
public function actionDownload($id)
{
$this->layout = '//layouts/main';
if (is_numeric($id))
{
if (Yii::app()->user->name == 'admin') {
$model = $this->loadModelByID($id);
} else {
throw new CHttpException(400, "You can't access a program by ID");
}
}
else
{
$model = $this->loadModelByName($id);
}
$model->Downloads++;
$model->save();
$this->redirect($model->getDirectDownloadLink());
}
/**
* Creates a new model.
* If creation is successful, the browser will be redirected to the 'view' page.