Changeset 2378 for plugins/private
- Timestamp:
- 06/21/10 07:56:51 (13 years ago)
- Location:
- plugins/private
- Files:
-
- 4 added
- 2 deleted
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/private/_admin.php
r2117 r2378 15 15 16 16 $_menu['Plugins']->addItem(__('Private mode'), 17 'plugin.php?p=private','index.php?pf=private/icon.png', 18 preg_match('/plugin.php\?p=private(&.*)?$/',$_SERVER['REQUEST_URI']), 19 $core->auth->check('admin',$core->blog->id)); 20 21 if ($core->blog->settings->private_flag) 17 'plugin.php?p=private','index.php?pf=private/icon.png', 18 preg_match('/plugin.php\?p=private(&.*)?$/',$_SERVER['REQUEST_URI']), 19 $core->auth->check('admin',$core->blog->id) 20 ); 21 22 $s = privateSettings($core); 23 24 if ($s->private_flag) 22 25 { 23 26 $core->addBehavior('adminPageHTMLHead','privateadminPageHTMLHead'); … … 27 30 function privateDashboardItems($core,$__dashboard_items) 28 31 { 29 $__dashboard_items[ 1][] = '<p class="private-msg">'.__('Privateblog').'.</p>';32 $__dashboard_items[0][] = '<p class="private-msg">'.__('Password-protected blog').'.</p>'; 30 33 } 31 34 32 35 function privateadminPageHTMLHead() 33 36 { 34 echo ' <style type="text/css">'."\n".' @import "index.php?pf=private/css/admin.css";'."\n".' </style>'."\n";37 echo '<link rel="stylesheet" href="index.php?pf=private/style/admin.css"type="text/css" media="screen" />'."\n"; 35 38 } 36 39 ?> -
plugins/private/_define.php
r2117 r2378 18 18 /* Description*/ "Protect your blog with a password", 19 19 /* Author */ "Osku and contributors", 20 /* Version */ '1. 2.1',20 /* Version */ '1.3', 21 21 /* Permissions */ 'admin' 22 22 ); -
plugins/private/_install.php
r2117 r2378 4 4 # This file is part of Private mode, a plugin for Dotclear 2. 5 5 # 6 # Copyright (c) 2008-2010 Osku and contributors6 # Copyright (c) 2008-2010 Osku and contributors 7 7 # 8 8 # Licensed under the GPL version 2.0 license. … … 14 14 if (!defined('DC_CONTEXT_ADMIN')) { exit; } 15 15 16 $m_version = $core->plugins->moduleInfo('private','version'); 16 $new_version = $core->plugins->moduleInfo('private','version'); 17 $current_version = $core->getVersion('private'); 17 18 18 $i_version = $core->getVersion('private'); 19 20 if (version_compare($i_version,$m_version,'>=')) { 19 if (version_compare($current_version,$new_version,'>=')) { 21 20 return; 22 21 } 23 22 24 $core->blog->settings->setNamespace('private'); 25 $s =& $core->blog->settings; 23 $s = privateSettings($core); 26 24 27 $s->put('private_flag',false,'boolean','Protect your blog with a password',true,true); 28 $s->put('private_conauto',false,'boolean','Allow automatic connection',true,true); 29 $s->put('blog_off_page_title',__('Private blog'),'string','Private page title',true,true); 30 $s->put('blog_off_msg',__('<p class="message">You need the password to view this blog.</p>'),'string','Private message',true,true); 25 $s->put('private_flag', 26 false, 27 'boolean', 28 'Private mode activation flag', 29 true,true 30 ); 31 32 $s->put('private_conauto_flag', 33 false, 34 'boolean', 35 'Private mode automatic connection option', 36 true,true 37 ); 31 38 32 $core->setVersion('private',$m_version); 39 $s->put('private_page_title', 40 __('Private blog'), 41 'string', 42 'Private mode public page title', 43 true,true 44 ); 45 46 $s->put('private_page_message', 47 __('<p class="message">You need the password to view this blog.</p>'), 48 'string', 49 'Private mode public welcome message', 50 true,true 51 ); 52 53 $core->setVersion('private',$new_version); 33 54 return true; 34 55 ?> -
plugins/private/_prepend.php
r1768 r2378 4 4 # This file is part of Private mode, a plugin for Dotclear 2. 5 5 # 6 # Copyright (c) 2008-2009 Osku and contributors 7 ## Licensed under the GPL version 2.0 license. 6 # Copyright (c) 2008-2010 Osku and contributors 7 # 8 # Licensed under the GPL version 2.0 license. 8 9 # A copy of this license is available in LICENSE file or at 9 10 # http://www.gnu.org/licenses/old-licenses/gpl-2.0.html … … 15 16 require dirname(__FILE__).'/_widgets.php'; 16 17 17 if ($core->blog->settings->private_flag) 18 $s = privateSettings($core); 19 20 if ($s->private_flag) 18 21 { 19 $privatefeed = md5($core->blog->settings->blog_private_pwd); 20 $core->url->register('feed',sprintf('%s-feed',$privatefeed),sprintf('^%s-feed/(.+)$',$privatefeed),array('urlPrivate','privateFeed')); 21 $core->url->register('pubfeed','feed','^feed/(.+)$',array('urlPrivate','publicFeed')); 22 $privatefeed = md5($s->blog_private_pwd); 23 $core->url->register('feed', 24 sprintf('%s-feed',$privatefeed), 25 sprintf('^%s-feed/(.+)$',$privatefeed), 26 array('urlPrivate','privateFeed') 27 ); 28 $core->url->register('pubfeed', 29 'feed', 30 '^feed/(.+)$', 31 array('urlPrivate','publicFeed') 32 ); 33 } 34 35 function privateSettings($core,$ns='private') { 36 if (version_compare(DC_VERSION,'2.2-alpha','>=')) { 37 $core->blog->settings->addNamespace($ns); 38 return $core->blog->settings->{$ns}; 39 } else { 40 $core->blog->settings->setNamespace($ns); 41 return $core->blog->settings; 42 } 22 43 } 23 44 ?> -
plugins/private/_public.php
r1768 r2378 4 4 # This file is part of Private mode, a plugin for Dotclear 2. 5 5 # 6 # Copyright (c) 2008-2009 Osku and contributors 7 ## Licensed under the GPL version 2.0 license. 6 # Copyright (c) 2008-2010 Osku and contributors 7 # 8 # Licensed under the GPL version 2.0 license. 8 9 # A copy of this license is available in LICENSE file or at 9 10 # http://www.gnu.org/licenses/old-licenses/gpl-2.0.html … … 20 21 $core->tpl->addValue('PrivateMsgError',array('tplPrivate','PrivateMsgError')); 21 22 22 if ($core->blog->settings->private_flag) 23 { 24 $core->addBehavior('publicBeforeDocument',array('urlPrivate','privacy')); 23 $s = privateSettings($core); 24 25 if ($s->private_flag) 26 { 27 $core->addBehavior('publicBeforeDocument',array('urlPrivate','privateHandler')); 25 28 } 26 29 … … 38 41 $type = null; 39 42 $params = array(); 40 41 43 $mime = 'application/xml'; 42 44 … … 45 47 # RSS XSLT stylesheet 46 48 self::serveDocument('rss2.xsl','text/xml'); 47 //exit;48 49 } 49 50 elseif (preg_match('#^(atom|rss2)/comments/([0-9]+)$#',$args,$m)) … … 58 59 } 59 60 60 61 61 $tpl = $type == '' ? 'atom' : $type; 62 62 $tpl .= '-pv.xml'; … … 73 73 } 74 74 75 public static function callback bidon($args)75 public static function callbackfoo($args) 76 76 { 77 77 return; 78 78 } 79 79 80 public static function priva cy($args)80 public static function privateHandler($args) 81 81 { 82 82 global $core,$_ctx; … … 84 84 $urlp = new urlHandler(); 85 85 $urlp->mode = $core->url->mode; 86 $urlp->registerDefault(array('urlPrivate','callbackbidon')); 87 88 //$path = str_replace(http::getHost(),'',$core->blog->url); 89 //if ($core->blog->settings->url_scan == 'query_string') 90 //{ 91 // $path = str_replace(basename($core->blog->url),'',$path); 92 //} 86 $urlp->registerDefault(array('urlPrivate','callbackfoo')); 87 $core->tpl->setPath($core->tpl->getPath(), dirname(__FILE__).'/default-templates'); 88 $s = privateSettings($core); 89 $password = $s->blog_private_pwd; 90 93 91 if (!isset($session)) 94 92 { 95 93 $session = new sessionDB( 96 97 98 99 94 $core->con, 95 $core->prefix.'session', 96 'dc_privateblog_sess_'.$core->blog->id, 97 '/' 100 98 ); 101 99 $session->start(); … … 104 102 foreach ($core->url->getTypes() as $k=>$v) 105 103 { 106 $urlp->register($k,$v['url'],$v['representation'],array('urlPrivate','callback bidon'));104 $urlp->register($k,$v['url'],$v['representation'],array('urlPrivate','callbackfoo')); 107 105 } 108 106 … … 115 113 return; 116 114 } 117 118 115 else 119 116 { 120 117 // Add cookie test (automatic login) 121 $cookiepass="dc_privateblog_cookie_".$core->blog->id; 122 if (!empty($_COOKIE[$cookiepass])) { 123 $cookiepassvalue=(($_COOKIE[$cookiepass]) == 124 $core->blog->settings->blog_private_pwd); 125 } else { 126 $cookiepassvalue=false; 127 } 118 $cookiepass = "dc_privateblog_cookie_".$core->blog->id; 119 120 if (!empty($_COOKIE[$cookiepass])) 121 { 122 $cookiepassvalue = (($_COOKIE[$cookiepass]) == $password); 123 } 124 else 125 { 126 $cookiepassvalue = false; 127 } 128 128 129 if (!isset($_SESSION['sess_blog_private']) || $_SESSION['sess_blog_private'] == "") 129 130 { 130 if ($cookiepassvalue != false) { 131 if ($cookiepassvalue != false) 132 { 131 133 $_SESSION['sess_blog_private'] = $_COOKIE[$cookiepass]; 132 134 return; 133 134 135 } 135 136 if (!empty($_POST['private_pass'])) 136 137 { 137 if (md5($_POST['private_pass']) == $core->blog->settings->blog_private_pwd) 138 if (md5($_POST['private_pass']) == $password) 139 { 140 $_SESSION['sess_blog_private'] = md5($_POST['private_pass']); 141 142 if (!empty($_POST['pass_remember'])) 138 143 { 139 $_SESSION['sess_blog_private'] = md5($_POST['private_pass']); 140 if (!empty($_POST['pass_remember'])) 141 { 142 setcookie($cookiepass,md5($_POST['private_pass']),time()+31536000,'/'); 143 } 144 return; 144 setcookie($cookiepass,md5($_POST['private_pass']),time() + 31536000,'/'); 145 145 } 146 return; 147 } 146 148 $_ctx->blogpass_error = __('Wrong password'); 147 149 } 148 150 $session->destroy(); 149 $core->tpl->setPath($core->tpl->getPath(), dirname(__FILE__).'/default-templates');150 151 self::serveDocument('private.html','text/html',false); 151 152 exit; 152 153 } 153 elseif ($_SESSION['sess_blog_private'] != $ core->blog->settings->blog_private_pwd)154 elseif ($_SESSION['sess_blog_private'] != $password) 154 155 { 155 156 $session->destroy(); 156 157 $_ctx->blogpass_error = __('Wrong password'); 157 $core->tpl->setPath($core->tpl->getPath(), dirname(__FILE__).'/default-templates');158 158 self::serveDocument('private.html','text/html',false); 159 159 exit; … … 162 162 { 163 163 $session->destroy(); 164 setcookie($cookiepass,'ciao',time() -86400,'/');164 setcookie($cookiepass,'ciao',time() - 86400,'/'); 165 165 $_ctx->blogpass_error = __('Disconnected'); 166 $core->tpl->setPath($core->tpl->getPath(), dirname(__FILE__).'/default-templates');167 166 self::serveDocument('private.html','text/html',false); 168 167 exit; … … 177 176 public static function PrivatePageTitle($attr) 178 177 { 179 $f = $GLOBALS['core']->tpl->getFilters($attr); 180 return '<?php echo '.sprintf($f,'$core->blog->settings->blog_private_title').'; ?>'; 178 global $core; 179 $s = privateSettings($core); 180 $f = $core->tpl->getFilters($attr); 181 return '<?php echo '.sprintf($f,'$s->private_page_title').'; ?>'; 181 182 } 182 183 183 184 public static function PrivateMsg($attr) 184 185 { 185 $f = $GLOBALS['core']->tpl->getFilters($attr); 186 return '<?php echo '.sprintf($f,'$core->blog->settings->blog_private_msg').'; ?>'; 186 global $core; 187 $s = privateSettings($core); 188 $f = $core->tpl->getFilters($attr); 189 return '<?php echo '.sprintf($f,'$s->private_page_message').'; ?>'; 187 190 } 188 191 189 192 public static function PrivateReqPage($attr) 190 193 { 191 return '<?php echo(isset($_SERVER[\'REQUEST_URI\']) ? html::escapeHTML($_SERVER[\'REQUEST_URI\']) : $core->blog->url); ?>'; 194 return 195 '<?php echo(isset($_SERVER[\'REQUEST_URI\']) 196 ? html::escapeHTML($_SERVER[\'REQUEST_URI\']) 197 : $core->blog->url); ?>' ; 192 198 } 193 199 … … 202 208 public static function PrivateMsgError($attr) 203 209 { 204 return '<?php if ($_ctx->blogpass_error !== null) { echo $_ctx->blogpass_error; } ?>'; 210 return 211 '<?php if ($_ctx->blogpass_error !== null) 212 { echo $_ctx->blogpass_error; } ?>'; 205 213 } 206 214 … … 208 216 { 209 217 global $core; 210 if ($core->blog->settings->private_conauto) 218 $s = privateSettings($core); 219 if ($s->private_conauto_flag) 211 220 { 212 221 $res = '<p><label class="classic">'. 213 form::checkbox(array('pass_remember'),1 ,'','',2).' '.222 form::checkbox(array('pass_remember'),1).' '. 214 223 __('Enable automatic connection').'</label></p>'; 215 224 return $res; … … 220 229 } 221 230 } 222 223 public static function privateWidgets(&$w) 224 { 225 global $core; 231 } 232 233 class widgetsPrivage 234 { 235 public static function widgetLogout($w) 236 { 237 global $core; 238 $s = privateSettings($core); 239 226 240 if ($w->homeonly && $core->url->type != 'default') { 227 241 return; 228 242 } 229 243 230 if ($ core->blog->settings->private_flag)244 if ($s->private_flag) 231 245 { 232 246 $res = '<div class="blogout">'. -
plugins/private/_widgets.php
r1784 r2378 4 4 # This file is part of Private mode, a plugin for Dotclear 2. 5 5 # 6 # Copyright (c) 2008-2009 Osku and contributors 7 ## Licensed under the GPL version 2.0 license. 6 # Copyright (c) 2008-2010 Osku and contributors 7 # 8 # Licensed under the GPL version 2.0 license. 8 9 # A copy of this license is available in LICENSE file or at 9 10 # http://www.gnu.org/licenses/old-licenses/gpl-2.0.html … … 17 18 class privateWidgets 18 19 { 19 public static function initWidgets(&$widgets)20 21 $widgets->create('privateblog',__('Blog logout'),array('tplPrivate','privateWidgets'));22 $widgets->privateblog->setting('title',__('Title:'),__('Blog logout'));23 $widgets->privateblog->setting('text',__('Text:'),'','textarea');24 $widgets->privateblog->setting('label',__('Button:'),__('Disconnect'));25 $widgets->privateblog->setting('homeonly',__('Home page only'),0,'check');26 20 public static function initWidgets($w) 21 { 22 $w->create('privateblog',__('Blog logout'),array('widgetsPrivage','widgetLogout')); 23 $w->privateblog->setting('title',__('Title:'),__('Blog logout')); 24 $w->privateblog->setting('text',__('Text:'),'','textarea'); 25 $w->privateblog->setting('label',__('Button:'),__('Disconnect')); 26 $w->privateblog->setting('homeonly',__('Home page only'),0,'check'); 27 } 27 28 } 28 29 ?> -
plugins/private/default-templates/private.html
r955 r2378 48 48 49 49 </form> 50 51 50 </body> 52 51 </html> -
plugins/private/index.php
r2117 r2378 12 12 # -- END LICENSE BLOCK ------------------------------------ 13 13 14 // Getting current parameters 15 $private_flag = (boolean)$core->blog->settings->private_flag; 16 $private_conauto = (boolean)$core->blog->settings->private_conauto; 17 $blog_private_title = $core->blog->settings->blog_private_title; 18 $blog_private_msg = $core->blog->settings->blog_private_msg; 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; 19 20 20 21 if (!empty($_POST['saveconfig'])) … … 23 24 { 24 25 $private_flag = (empty($_POST['private_flag']))?false:true; 25 $private_conauto = (empty($_POST['private_conauto']))?false:true;26 $ blog_private_title = $_POST['blog_private_title'];27 $ blog_private_msg = $_POST['blog_private_msg'];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']; 28 29 $blog_private_pwd = md5($_POST['blog_private_pwd']); 29 30 30 if (empty($_POST['blog_private_title'])) { 31 throw new Exception(__('No page title.')); 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 } 32 46 } 33 47 34 if (empty($_POST['blog_private_msg'])) {35 throw new Exception(__('No private message.'));36 }37 38 $core->blog->settings->setNamespace('private');39 $core->blog->settings->put('private_flag',$private_flag,'boolean','Protect your blog with a password');40 $core->blog->settings->put('private_conauto',$private_conauto,'boolean','Allow automatic connection');41 $core->blog->settings->put('blog_private_title',$blog_private_title,'string','Private page title');42 $core->blog->settings->put('blog_private_msg',$blog_private_msg,'string','Private message');43 44 if (!empty($_POST['blog_private_pwd'])) {45 if ($_POST['blog_private_pwd'] != $_POST['blog_private_pwd_c']) {46 throw new Exception(__("Passwords don't match"));47 }48 $core->blog->settings->put('blog_private_pwd',$blog_private_pwd,'string','Private blog password');49 }50 51 $core->blog->triggerBlog();52 http::redirect($p_url.'&config=1');53 48 } 54 49 … … 57 52 $core->error->add($e->getMessage()); 58 53 } 54 55 if (!$core->error->flag()) 56 { 57 $core->blog->triggerBlog(); 58 http::redirect($p_url.'&config=1'); 59 } 59 60 } 60 if ($core->blog->settings->blog_private_pwd === null) 61 62 if ($s->blog_private_pwd === null) 61 63 { 62 64 $err = __('No password set.'); … … 66 68 <head> 67 69 <title><?php echo __('Private mode'); ?></title> 68 <?php echo dcPage::jsLoad('index.php?pf=private/js/config.js'); ?> 70 69 71 </head> 70 72 <body> 71 <?php 73 <?php 72 74 73 75 if (isset($_GET['config'])) { … … 75 77 } 76 78 77 if (!empty($err)) echo '<p class="error">'.$err.'</p>';78 79 79 echo '<h2>'.html::escapeHTML($core->blog->name).' › '.__('Private mode').'</h2>'; 80 80 81 echo '<div id="private_options">'. 82 '<form method="post" action="'.$p_url.'">'. 83 '<fieldset>'. 84 '<legend>'. __('Plugin activation').'</legend>'. 85 '<p class="field">'. 86 form::checkbox('private_flag', 1, $private_flag). 87 '<label class=" classic" for="private_flag">'.__('Enable private mode').'</label>'. 88 '</p>'. 89 '</fieldset>'. 90 '<fieldset id="misc_options">'. 91 '<legend>'.__('Presentation options').'</legend>'. 92 '<p><label class="required" title="'.__('Required field').'">'. 93 __('New password:'). 94 form::password('blog_private_pwd',30,255). 95 '</label></p>'. 96 '<p><label class="required" title="'.__('Required field').'">'. 97 __('Confirm password:'). 98 form::password('blog_private_pwd_c',30,255). 99 '</label></p>'. 100 '<p>'. 101 form::checkbox('private_conauto', 1, $private_conauto). 102 '<label class=" classic" for="private_conauto">'. __('Propose automatic connection to visitors').'</label>'. 103 '</p>'. 104 '<p class="form-note">'. 105 __('With this option, the password could be stored in a cookie.'). 106 __('But it still remains a choice for the visitor.'). 107 '</p>'. 108 '<p>'.sprintf(__('Don\'t forget to add a <a href="%s">widget</a> allowing disconnection from the blog.'),'plugin.php?p=widgets').'</p>'. 109 '<p class="col"><label class="required" title="'.__('Required field').'">'. 110 __('Private page title:'). 111 form::field('blog_private_title',20,255,html::escapeHTML($blog_private_title),'maximal'). 112 '</label></p>'. 113 '<p class="area"><label class="required" title="'.__('Required field').'">'. 114 __('Private message:'). 115 form::textarea('blog_private_msg',30,4,html::escapeHTML($blog_private_msg)). 116 '</label></p>'. 117 '</fieldset>'. 118 119 '<p>'.form::hidden(array('p'),'private'). 120 $core->formNonce(). 121 '<input type="submit" name="saveconfig" value="'.__('Save configuration').'" /></p>'. 122 '</form>'. 123 '</div>'; 81 echo 82 '<div id="private_options"> 83 <form method="post" action="'.$p_url.'"> 84 <fieldset> 85 <legend>'. __('Plugin activation').'</legend> 86 <p class="field">'. 87 form::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">'; 96 if (!empty($err)) echo '<p class="error">'.$err.'</p>'; 97 echo 98 '<p><label class="required" for="blog_private_pwd" title="'.__('Required field').'">'. 99 __('New password:'). 100 form::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:'). 104 form::password('blog_private_pwd_c',30,255). 105 '</label></p> 106 <p>'. 107 form::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:'). 121 form::field('private_page_title',20,255,html::escapeHTML($private_page_title),'maximal'). 122 '</label></p> 123 <p class=""><label>'. 124 __('Message:'). 125 form::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>'; 124 135 ?> 125 136 </body> -
plugins/private/locales/fr/main.po
r2117 r2378 1 1 # Language: français 2 # Module: private - 1. 1RC13 # Date: 20 09-10-26 23:51:032 # Module: private - 1.3 3 # Date: 2010-06-20 21:45:46 4 4 # Translated with translater 1.3 5 5 … … 7 7 msgstr "" 8 8 "Content-Type: text/plain; charset=UTF-8\n" 9 "Project-Id-Version: private 1. 1RC1\n"9 "Project-Id-Version: private 1.3\n" 10 10 "POT-Creation-Date: \n" 11 "PO-Revision-Date: 20 09-10-26T23:51:03+00:00\n"11 "PO-Revision-Date: 2010-06-20T21:45:46+00:00\n" 12 12 "Last-Translator: Osku\n" 13 13 "Language-Team: \n" … … 15 15 "Content-Transfer-Encoding: 8bit\n" 16 16 17 #: _admin.php:1 518 #: index.php: 9019 #: index.php: 10117 #: _admin.php:16 18 #: index.php:69 19 #: index.php:79 20 20 msgid "Private mode" 21 21 msgstr "Mode privé" 22 22 23 #: _public.php:146 24 #: _public.php:156 23 #: _admin.php:32 24 msgid "Password-protected blog" 25 msgstr "Blog protégé par un mot de passe" 26 27 #: _install.php:40 28 msgid "Private blog" 29 msgstr "Blog privé" 30 31 #: _install.php:47 32 msgid "<p class=\"message\">You need the password to view this blog.</p>" 33 msgstr "<p class=\"message\">Vous avez besoin du mot de passe pour visualiser le blog.</p>" 34 35 #: _public.php:148 36 #: _public.php:157 25 37 msgid "Wrong password" 26 38 msgstr "Mot de passe incorrect" … … 30 42 msgstr "Déconnecté(e)" 31 43 32 #: _public.php:2 1444 #: _public.php:223 33 45 msgid "Enable automatic connection" 34 46 msgstr "Activer la connexion automatique" 35 47 36 #: _widgets.php:2137 48 #: _widgets.php:22 49 #: _widgets.php:23 38 50 msgid "Blog logout" 39 51 msgstr "Déconnexion du blog" 40 52 41 #: _widgets.php:22 53 #: _widgets.php:23 54 #: index.php:120 42 55 msgid "Title:" 43 56 msgstr "Titre :" 44 57 45 #: _widgets.php:2 358 #: _widgets.php:24 46 59 msgid "Text:" 47 60 msgstr "Texte :" 48 61 49 #: _widgets.php:2 462 #: _widgets.php:25 50 63 msgid "Button:" 51 64 msgstr "Bouton :" 52 65 53 #: _widgets.php:2 466 #: _widgets.php:25 54 67 msgid "Disconnect" 55 68 msgstr "Se déconnecter" 56 69 57 #: _widgets.php:2 570 #: _widgets.php:26 58 71 msgid "Home page only" 59 72 msgstr "Page d'accueil uniquement" 60 73 61 #: index.php:3662 msgid "P rivate blog"63 msgstr " Blog privé"74 #: default-templates/private.html:46 75 msgid "Password:" 76 msgstr "Mot de passe :" 64 77 65 78 #: index.php:40 66 msgid "<p class=\"message\">You need the password to view this blog.</p>"67 msgstr "<p class=\"message\">Vous avez besoin du mot de passe pour visualiser le blog.</p>"68 69 #: index.php:5470 msgid "No page title."71 msgstr "Aucun titre pour la page"72 73 #: index.php:5874 msgid "No private message."75 msgstr "Aucun message pour la page"76 77 #: index.php:6978 79 msgid "Passwords don't match" 79 80 msgstr "Les mots de passe ne correspondent pas" 80 81 81 #: index.php: 8582 #: index.php:64 82 83 msgid "No password set." 83 msgstr "Aucun mot de passe défini "84 msgstr "Aucun mot de passe défini." 84 85 85 #: index.php: 9686 #: index.php:76 86 87 msgid "Configuration successfully updated." 87 88 msgstr "La configuration a été correctement enregistrée" 88 89 89 #: index.php: 10690 #: index.php:85 90 91 msgid "Plugin activation" 91 92 msgstr "Activation de l'extension" 92 93 93 #: index.php: 11194 #: index.php:89 94 95 msgid "Enable private mode" 95 96 msgstr "Activer le mode privé" 96 97 97 #: index.php:113 98 #: index.php:117 99 #: index.php:137 100 #: index.php:141 98 #: index.php:93 99 msgid "Presentation options" 100 msgstr "Options d'affichage" 101 102 #: index.php:98 103 #: index.php:102 101 104 msgid "Required field" 102 105 msgstr "Champ obligatoire" 103 106 104 #: index.php: 114107 #: index.php:99 105 108 msgid "New password:" 106 109 msgstr "Nouveau mot de passe :" 107 110 108 #: index.php:1 18111 #: index.php:103 109 112 msgid "Confirm password:" 110 113 msgstr "Confirmez le mot de passe :" 111 114 112 #: index.php:1 25115 #: index.php:108 113 116 msgid "Propose automatic connection to visitors" 114 117 msgstr "Proposer la connexion automatique aux visiteurs" 115 118 116 #: index.php:1 28119 #: index.php:111 117 120 msgid "With this option, the password could be stored in a cookie." 118 121 msgstr "Cette option permet la mémorisation du mot de passe dans un cookie." 119 122 120 #: index.php:1 29123 #: index.php:113 121 124 msgid "But it still remains a choice for the visitor." 122 125 msgstr "Mais ceci reste toutefois à la discrétion du visiteur." 123 126 124 #: index.php:1 31127 #: index.php:115 125 128 msgid "Don't forget to add a <a href=\"%s\">widget</a> allowing disconnection from the blog." 126 129 msgstr "N'oubliez pas d'ajouter un <a href=\"%s\">widget</a> permettant la déconnexion du blog." 127 130 128 #: index.php:1 36129 msgid " Presentation options"130 msgstr " Options d'affichage"131 #: index.php:118 132 msgid "Home" 133 msgstr "Accueil" 131 134 132 #: index.php:1 38133 msgid " Private page title:"134 msgstr " Titre de la page privée :"135 #: index.php:124 136 msgid "Message:" 137 msgstr "Message :" 135 138 136 #: index.php:1 42137 msgid " Private message:"138 msgstr " Message privé :"139 #: index.php:131 140 msgid "save" 141 msgstr "enregistrer" 139 142 140 #: index.php:149141 msgid "Save configuration"142 msgstr "Enregistrer la configuration"143
Note: See TracChangeset
for help on using the changeset viewer.