Dotclear

source: plugins/filesAlias/index.php @ 2169

Revision 2169, 5.0 KB checked in by Osku, 14 years ago (diff)

Plugin filesAlias - O.2: ~ enjoy :) ~

  • Add auto-generated URL
  • Add disposable URL option (one click then 404)
  • Revisited admin
  • Many fixes
Line 
1<?php
2# -- BEGIN LICENSE BLOCK ----------------------------------
3#
4# This file is part of filesAlias, a plugin for Dotclear 2.
5#
6# Copyright (c) 2009-2010 Osku and contributors
7#
8# Licensed under the GPL version 2.0 license.
9# A copy of this license is available in LICENSE file or at
10# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
11#
12# -- END LICENSE BLOCK ------------------------------------
13
14$o = new FilesAliases($core);
15$aliases = $o->getAliases();
16
17# Update aliases
18if (isset($_POST['a']) && is_array($_POST['a']))
19{
20     try {
21          $o->updateAliases($_POST['a']);
22          http::redirect($p_url.'&up=1');
23     } catch (Exception $e) {
24          $core->error->add($e->getMessage());
25     }
26}
27
28# New alias
29if (isset($_POST['filesalias_url']))
30{
31     $filesalias_url = empty($_POST['filesalias_url']) ? md5(uniqid(rand(), true)) : $_POST['filesalias_url'];
32     
33     try {
34          $o->createAlias($filesalias_url,$_POST['filesalias_destination'],count($aliases)+1,$_POST['filesalias_disposable']);
35          http::redirect($p_url.'&created=1');
36     } catch (Exception $e) {
37          $core->error->add($e->getMessage());
38     }
39}
40
41# New prefix
42if (isset($_POST['filesalias_prefix']))
43{
44     try {
45          if (empty($_POST['filesalias_prefix'])) {
46               throw new Exception(__('No prefix for your files aliases.'));
47          }
48          $core->blog->settings->setNameSpace('filesalias');
49          $core->blog->settings->put('filesalias_prefix',$_POST['filesalias_prefix'],'string','Medias alias URL prefix');
50          $core->blog->triggerBlog();
51          http::redirect($p_url.'&modified=1');
52     } catch (Exception $e) {
53          $core->error->add($e->getMessage());
54     }
55}
56?>
57<html>
58<head>
59     <title><?php echo __('Aliases for files'); ?></title>
60</head>
61
62<body>
63<?php
64echo
65'<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; '.__('Aliases for files').'</h2>';
66?>
67<?php
68if (!empty($_GET['up'])) {
69     echo '<p class="message">'.__('Aliases successfully updated.').'</p>';
70}
71
72if (!empty($_GET['created'])) {
73     echo '<p class="message">'.__('Alias for this media created.').'</p>';
74}
75
76if (!empty($_GET['modified'])) {
77     echo '<p class="message">'.__('Configuration successfully updated.').'</p>';
78}
79
80if (empty($aliases))
81{
82     echo '<p>'.__('No alias').'</p>';
83}
84else
85{
86     echo
87     '<form action="'.$p_url.'" method="post">'.
88     '<fieldset>'.
89     '<legend>'.__('Aliases list').'</legend>'.
90     '<table class="maximal"><tr>'.
91     '<th>'.__('alias').'</th>'.
92     '<th>'.__('destination').'</th>'.
93     '<th>'.'<img alt="'.__('disposable').'" title="'.__('disposable?').'" src="index.php?pf=filesAlias/img/trash.png" />'.'</th>'.   
94     //'<td>'.__('Alias position').'</td>'.
95     '</tr>';
96     
97     foreach ($aliases as $k => $v)
98     {
99          if($v['filesalias_disposable']) {
100               $line = 'offline';
101               $status = '<img alt="'.__('disposable').'" title="'.__('disposable').'" src="index.php?pf=filesAlias/img/bomb.png" />';
102          }
103          else
104          {
105               $line = '';
106               $status = '<img alt="'.__('not disposable').'" title="'.__('not disposable').'" src="index.php?pf=filesAlias/img/default.png" />';
107          }
108         
109          $link = '<a href="'.$core->blog->url.$core->url->getBase('filesalias').'/'.html::escapeHTML($v['filesalias_url']).'">'.
110                    '<img alt="'.__('Direct link').'" title="'.__('Direct link').'" src="index.php?pf=filesAlias/img/link.png" /></a>';
111     
112          echo
113          '<tr class='.$line.'>'.
114          '<td class="status nowrap">'.$status.form::field(array('a['.$k.'][filesalias_url]'),48,255,html::escapeHTML($v['filesalias_url']),'','','','style="margin-left:10px;"').'&nbsp;&bull;&nbsp;'.$link.'&nbsp;</td>'.
115          '<td class=" ">'.form::field(array('a['.$k.'][filesalias_destination]'),70,255,html::escapeHTML($v['filesalias_destination']),'maximal').'</td>'.
116          '<td class="status nowrap">'.form::checkbox(array('a['.$k.'][filesalias_disposable]'),1,$v['filesalias_disposable']).'</td>'.
117          '</tr>';
118     }
119     
120     echo '</table>'.
121     '<p class="form-note">'.__('To remove a link, empty its alias or destination.').'</p>'.
122     '<p>'.$core->formNonce().
123     '<input type="submit" value="'.__('Update').'" /></p>'.
124          '</fieldset>'.
125     '</form>';
126}
127
128echo
129'<form action="'.$p_url.'" method="post">'.
130'<fieldset>'.
131'<legend>'.__('New alias').'</legend>'.
132'<p class="field"><label class="required">'.__('Destination:').' '.form::field('filesalias_destination',50,255).'</label></p>'.
133'<p class="field"><label>'.__('Choose URL:').' '.form::field('filesalias_url',50,255).'</label></p><br />'.
134'<p class="form-note">'.__('Leave empty for an auto-generated URL.').'</p>'.
135'<p class="field"><label>'.__('Disposable:').' '.form::checkbox('filesalias_disposable',1).'</label></p>'.
136'<p>'.$core->formNonce().'<input type="submit" value="'.__('Save').'" /></p>'.
137'</fieldset>'.
138'</form>';
139
140echo
141'<form action="'.$p_url.'" method="post">'.
142'<fieldset>'.
143'<legend>'.__('Prefix of Aliases URLs').'</legend>'.
144'<p>'.__('Base URL scheme:').'&nbsp;&mdash;&nbsp;'.$core->blog->url.'<span style="color : #069">'.$core->url->getBase('filesalias').'</span></p>'.
145'<p><label class="required">'
146.__('Media prefix URL:').' '.form::field('filesalias_prefix',20,255,$core->blog->settings->filesalias_prefix).'</label></p>'.
147'<p>'.$core->formNonce().'<input type="submit" value="'.__('Save').'" /></p>'.
148'</fieldset>'.
149'</form>';
150
151dcPage::helpBlock('filesAlias');
152?>
153</body>
154</html>
Note: See TracBrowser for help on using the repository browser.

Sites map