Dotclear

source: plugins/private/index.php @ 2378

Revision 2378, 3.9 KB checked in by Osku, 13 years ago (diff)

private : version 1.3 - ready for Dotaddict

  • PHP 5.3 compliant
  • For Dotclear 2.2 & 2.16
  • Title and message are now optionnal
  • New icon menu
  • minor improvements
  • Add a LICENSE file
Line 
1<?php
2# -- BEGIN LICENSE BLOCK ----------------------------------
3#
4# This file is part of Private mode, a plugin for Dotclear 2.
5#
6# Copyright (c) 2008-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// Getting current settings
15$s = privateSettings($core);
16$private_flag = (boolean)$s->private_flag;
17$private_conauto_flag = (boolean)$s->private_conauto_flag;
18$private_page_title = $s->private_page_title;
19$private_page_message = $s->private_page_message;
20
21if (!empty($_POST['saveconfig']))
22{
23     try
24     {
25          $private_flag = (empty($_POST['private_flag']))?false:true;
26          $private_conauto_flag = (empty($_POST['private_conauto']))?false:true;
27          $private_page_title = $_POST['private_page_title'];
28          $private_page_message = $_POST['private_page_message'];
29          $blog_private_pwd = md5($_POST['blog_private_pwd']);
30
31          $s->put('private_flag',$private_flag,'boolean','Private mode activation flag');
32          $s->put('private_conauto',$private_conauto_flag,'boolean','Private mode automatic connection option');
33          $s->put('private_page_title',$private_page_title,'string','Private mode public page title');
34          $s->put('private_page_message',$private_page_message,'string','Private mode public welcome message');
35
36          if (!empty($_POST['blog_private_pwd'])) 
37          {
38               if ($_POST['blog_private_pwd'] != $_POST['blog_private_pwd_c']) 
39               {
40                    $core->error->add(__("Passwords don't match"));
41               }
42               else 
43               {
44                    $s->put('blog_private_pwd',$blog_private_pwd,'string','Private blog password');
45               }
46          }
47
48     }
49
50     catch (Exception $e)
51     {
52          $core->error->add($e->getMessage());
53     }
54     
55     if (!$core->error->flag()) 
56     {
57          $core->blog->triggerBlog();
58          http::redirect($p_url.'&config=1');
59     }
60}
61
62if ($s->blog_private_pwd === null)
63{
64     $err = __('No password set.');
65}
66?>
67<html>
68<head>
69     <title><?php echo __('Private mode'); ?></title>
70
71</head>
72<body>
73<?php
74
75if (isset($_GET['config'])) {
76     echo '<p class="message">'.__('Configuration successfully updated.').'</p>';
77}
78
79echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; '.__('Private mode').'</h2>';
80
81echo 
82'<div id="private_options">
83<form method="post" action="'.$p_url.'">
84<fieldset>
85<legend>'. __('Plugin activation').'</legend>
86<p class="field">'.
87form::checkbox('private_flag', 1, $private_flag).
88'<label class="classic" for="private_flag"> '.
89__('Enable private mode').'</label>
90</p>
91</fieldset>
92<fieldset>
93<legend>'.__('Presentation options').'</legend>
94<div class="two-cols">
95<div class="col">';
96if (!empty($err)) echo '<p class="error">'.$err.'</p>'; 
97echo
98'<p><label class="required" for="blog_private_pwd" title="'.__('Required field').'">'.
99__('New password:').
100form::password('blog_private_pwd',30,255).
101'</label></p>'.
102'<p><label class="required" for="blog_private_pwd_c" title="'.__('Required field').'">'.
103__('Confirm password:').
104form::password('blog_private_pwd_c',30,255).
105'</label></p>
106<p>'.
107form::checkbox('private_conauto', 1, $private_conauto_flag).
108'<label class="classic" for="private_conauto">'. __('Propose automatic connection to visitors').'</label>'.
109'</p>'.
110'<p class="form-note">'.
111__('With this option, the password could be stored in a cookie.').
112'<br />'.
113__('But it still remains a choice for the visitor.').
114'</p>
115<p>'.sprintf(__('Don\'t forget to add a <a href="%s">widget</a> allowing disconnection from the blog.'),'plugin.php?p=widgets').
116'</p></div>
117<div class="col">
118<h3>'.__('Home').'</h3>
119<p class=""><label>'.
120__('Title:').
121form::field('private_page_title',20,255,html::escapeHTML($private_page_title),'maximal').
122'</label></p>
123<p class=""><label>'.
124__('Message:').
125form::textarea('private_page_message',30,4,html::escapeHTML($private_page_message),'maximal').
126'</label></p>
127</div></div>
128</fieldset>
129<p>'.form::hidden(array('p'),'private').
130$core->formNonce().
131'<input type="submit" name="saveconfig" value="'.__('save').'" />
132</p>
133</form>
134</div>';
135?>
136</body>
137</html>
Note: See TracBrowser for help on using the repository browser.

Sites map