Added a download counter.
Because we like stats, even if not really reliable :)
This commit is contained in:
parent
366b73d27e
commit
5e3b2bac28
@ -132,6 +132,7 @@ class IDF_Form_UpdateUpload extends Pluf_Form
|
|||||||
}
|
}
|
||||||
// Create the upload
|
// Create the upload
|
||||||
$this->upload->summary = trim($this->cleaned_data['summary']);
|
$this->upload->summary = trim($this->cleaned_data['summary']);
|
||||||
|
$this->upload->modif_dtime = gmdate('Y-m-d H:i:s');
|
||||||
$this->upload->update();
|
$this->upload->update();
|
||||||
$this->upload->batchAssoc('IDF_Tag', $tags);
|
$this->upload->batchAssoc('IDF_Tag', $tags);
|
||||||
return $this->upload;
|
return $this->upload;
|
||||||
|
@ -137,7 +137,12 @@ class IDF_Upload extends Pluf_Model
|
|||||||
{
|
{
|
||||||
if ($this->id == '') {
|
if ($this->id == '') {
|
||||||
$this->creation_dtime = gmdate('Y-m-d H:i:s');
|
$this->creation_dtime = gmdate('Y-m-d H:i:s');
|
||||||
}
|
|
||||||
$this->modif_dtime = gmdate('Y-m-d H:i:s');
|
$this->modif_dtime = gmdate('Y-m-d H:i:s');
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getAbsoluteUrl($project)
|
||||||
|
{
|
||||||
|
return Pluf::f('url_media').'/upload/'.$project->shortname.'/files/'.$this->file;
|
||||||
|
}
|
||||||
}
|
}
|
@ -77,6 +77,9 @@ class IDF_Views_Download
|
|||||||
{
|
{
|
||||||
$prj = $request->project;
|
$prj = $request->project;
|
||||||
$upload = Pluf_Shortcuts_GetObjectOr404('IDF_Upload', $match[2]);
|
$upload = Pluf_Shortcuts_GetObjectOr404('IDF_Upload', $match[2]);
|
||||||
|
if ($upload->project != $prj->id) {
|
||||||
|
throw new Pluf_HTTP_Error404();
|
||||||
|
}
|
||||||
$title = sprintf(__('Download %s'), $upload->summary);
|
$title = sprintf(__('Download %s'), $upload->summary);
|
||||||
$form = false;
|
$form = false;
|
||||||
if ($request->method == 'POST' and
|
if ($request->method == 'POST' and
|
||||||
@ -111,6 +114,21 @@ class IDF_Views_Download
|
|||||||
$request);
|
$request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Download a file.
|
||||||
|
*/
|
||||||
|
public function download($request, $match)
|
||||||
|
{
|
||||||
|
$prj = $request->project;
|
||||||
|
$upload = Pluf_Shortcuts_GetObjectOr404('IDF_Upload', $match[2]);
|
||||||
|
if ($upload->project != $prj->id) {
|
||||||
|
throw new Pluf_HTTP_Error404();
|
||||||
|
}
|
||||||
|
$upload->downloads += 1;
|
||||||
|
$upload->update();
|
||||||
|
return new Pluf_HTTP_Response_Redirect($upload->getAbsoluteUrl($prj));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Submit a new file for download.
|
* Submit a new file for download.
|
||||||
*/
|
*/
|
||||||
|
@ -159,6 +159,12 @@ $ctl[] = array('regex' => '#^/p/(\w+)/downloads/(\d+)/$#',
|
|||||||
'model' => 'IDF_Views_Download',
|
'model' => 'IDF_Views_Download',
|
||||||
'method' => 'view');
|
'method' => 'view');
|
||||||
|
|
||||||
|
$ctl[] = array('regex' => '#^/p/(\w+)/downloads/(\d+)/get/$#',
|
||||||
|
'base' => $base,
|
||||||
|
'priority' => 4,
|
||||||
|
'model' => 'IDF_Views_Download',
|
||||||
|
'method' => 'download');
|
||||||
|
|
||||||
$ctl[] = array('regex' => '#^/p/(\w+)/downloads/create/$#',
|
$ctl[] = array('regex' => '#^/p/(\w+)/downloads/create/$#',
|
||||||
'base' => $base,
|
'base' => $base,
|
||||||
'priority' => 4,
|
'priority' => 4,
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
{block body}
|
{block body}
|
||||||
|
|
||||||
<div class="download-file">
|
<div class="download-file">
|
||||||
<a href="{media}/upload/{$project.shortname}/files/{$file}">{$file}</a> - {$file.filesize|size}
|
<a href="{url 'IDF_Views_Download::download', array($project.shortname, $file.id)}">{$file}</a> - {$file.filesize|size}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -47,6 +47,8 @@
|
|||||||
<p><strong>{trans 'Uploaded:'}</strong> <span class="nobrk">{$file.creation_dtime|dateago}</span> <span class="nobrk">{blocktrans}by {$submitter}{/blocktrans}</span></p>
|
<p><strong>{trans 'Uploaded:'}</strong> <span class="nobrk">{$file.creation_dtime|dateago}</span> <span class="nobrk">{blocktrans}by {$submitter}{/blocktrans}</span></p>
|
||||||
<p>
|
<p>
|
||||||
<strong>{trans 'Updated:'}</strong> <span class="nobrk">{$file.modif_dtime|dateago}</span></p>
|
<strong>{trans 'Updated:'}</strong> <span class="nobrk">{$file.modif_dtime|dateago}</span></p>
|
||||||
|
<p>
|
||||||
|
<strong>{trans 'Downloads:'}</strong> <span class="nobrk">{$file.downloads}</span></p>
|
||||||
{assign $tags = $file.get_tags_list()}{if $tags.count()}
|
{assign $tags = $file.get_tags_list()}{if $tags.count()}
|
||||||
<p>
|
<p>
|
||||||
<strong>{trans 'Labels:'}</strong><br />
|
<strong>{trans 'Labels:'}</strong><br />
|
||||||
|
Loading…
Reference in New Issue
Block a user