Changeset 2190
- Timestamp:
- 04/15/10 00:32:13 (13 years ago)
- Location:
- plugins/kUtRL
- Files:
-
- 10 added
- 1 deleted
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/kUtRL/_admin.php
r1973 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 17 17 # Plugin menu 18 18 $_menu['Plugins']->addItem( 19 __(' kUtRL'),19 __('Links shortener'), 20 20 'plugin.php?p=kUtRL','index.php?pf=kUtRL/icon.png', 21 21 preg_match('/plugin.php\?p=kUtRL(&.*)?$/',$_SERVER['REQUEST_URI']), … … 23 23 ); 24 24 25 $s = kutrlSettings($core); 26 25 27 # Admin behaviors 26 if ($ core->blog->settings->kutrl_active)28 if ($s->kutrl_active) 27 29 { 30 $core->addBehavior('adminPostHeaders',array('adminKutrl','adminPostHeaders')); 28 31 $core->addBehavior('adminPostFormSidebar',array('adminKutrl','adminPostFormSidebar')); 29 32 $core->addBehavior('adminAfterPostUpdate',array('adminKutrl','adminAfterPostUpdate')); // update existing short url … … 36 39 37 40 # Import/export 38 if ($ core->blog->settings->kutrl_extend_importexport)41 if ($s->kutrl_extend_importexport) 39 42 { 40 43 $core->addBehavior('exportFull',array('backupKutrl','exportFull')); … … 48 51 class adminKutrl 49 52 { 53 public static function adminPostHeaders() 54 { 55 return dcPage::jsLoad('index.php?pf=kUtRL/js/admin.js'); 56 } 57 50 58 public static function adminPostFormSidebar($post) 51 59 { 52 60 global $core; 53 54 $_active = (boolean) $core->blog->settings->kutrl_active; 55 $_admin = (string) $core->blog->settings->kutrl_admin_service; 56 $_limit_to_blog = (boolean) $core->blog->settings->kutrl_limit_to_blog; 57 58 if (!$_active || !$_admin) return; 59 if (!isset($core->kutrlServices[$_admin])) return; 60 61 try 62 { 63 $kut = new $core->kutrlServices[$_admin]($core,$_limit_to_blog); 64 } 65 catch (Exception $e) 66 { 61 $s = kutrlSettings($core); 62 63 if (!$s->kutrl_active || !$s->kutrl_admin_service 64 || !isset($core->kutrlServices[$s->kutrl_admin_service])) return; 65 66 try { 67 $kut = new $core->kutrlServices[$s->kutrl_admin_service]($core,$s->kutrl_limit_to_blog); 68 } 69 catch (Exception $e) { 67 70 return; 68 71 } … … 80 83 81 84 echo 82 '<h3 class="clear">'.__('Short link').'</h3>'. 85 '<h3 id="kutrl-form-title" class="clear">'.__('Short link').'</h3>'. 86 '<div id="kutrl-form-content">'. 83 87 form::hidden(array('kutrl_old_post_url'),$post_url); 84 88 85 89 if (!$rs) 86 90 { 87 if (empty($_POST['kutrl_old_post_url']) && $ core->blog->settings->kutrl_admin_entry_default)91 if (empty($_POST['kutrl_old_post_url']) && $s->kutrl_admin_entry_default) 88 92 { 89 93 $chk = true; … … 94 98 } 95 99 echo 96 '<p><label class="classic">'.form::checkbox('kutrl_create',1,$chk,'',3).' '. 100 '<p><label class="classic">'. 101 form::checkbox('kutrl_create',1,$chk,'',3).' '. 97 102 __('Create short link').'</label></p>'; 98 103 … … 101 106 echo 102 107 '<p class="classic">'. 103 '<label for="custom">'.__('Custom short link:').'</label>'. 104 form::field('kutrl_create_custom',32,32,''). 105 '</p>'; 106 } 108 '<label for="custom">'.__('Custom short link:').' '. 109 form::field('kutrl_create_custom',32,32,'',3). 110 '</label></p>'; 111 } 112 echo 113 '<p><label class="classic">'. 114 form::checkbox('kutrl_twit_send',1,0,'',3).' '. 115 __('Send to Twitter status').'</label></p>'; 107 116 } 108 117 else … … 124 133 125 134 echo 126 '<p><label class="classic">'.form::checkbox('kutrl_delete',1,!empty($_POST['kutrl_delete']),'',3).' '. 135 '<p><label class="classic">'. 136 form::checkbox('kutrl_delete',1,!empty($_POST['kutrl_delete']),'',3).' '. 127 137 __('delete short link').'</label></p>'. 128 138 '<p><a href="'.$href.'" '.'title="'.$title.'">'.$href.'</a></p>'; 129 139 } 140 echo '</div>'; 130 141 } 131 142 … … 133 144 { 134 145 global $core; 146 $s = kutrlSettings($core); 135 147 136 148 # Create: see adminAfterPostCreate 137 if (!empty($_POST['kutrl_create'])) return; 138 139 $_active = (boolean) $core->blog->settings->kutrl_active; 140 $_admin = (string) $core->blog->settings->kutrl_admin_service; 141 $_limit_to_blog = (boolean) $core->blog->settings->kutrl_limit_to_blog; 142 143 if (!$_active || !$_admin) return; 144 if (!isset($core->kutrlServices[$_admin])) return; 145 146 try 147 { 148 $kut = new $core->kutrlServices[$_admin]($core,$_limit_to_blog); 149 } 150 catch (Exception $e) 151 { 149 if (!empty($_POST['kutrl_create']) 150 || !$s->kutrl_active || !$s->kutrl_admin_service 151 || !isset($core->kutrlServices[$s->kutrl_admin_service])) return; 152 153 try { 154 $kut = new $core->kutrlServices[$s->kutrl_admin_service]($core,$s->kutrl_limit_to_blog); 155 } 156 catch (Exception $e) { 152 157 return; 153 158 } … … 177 182 $kut->remove($old_post_url); 178 183 179 $kut->hash($new_post_url,$custom); // better to update (not yet implemented) 184 $rs = $kut->hash($new_post_url,$custom); // better to update (not yet implemented) 185 186 # Send new url by libDcTwitter 187 if (!empty($rs) && !empty($_POST['kutrl_twit_send'])) { 188 $twit = libDcTwitter::getMessage('kUtRL'); 189 $twit = str_replace( 190 array('%L','%B','%U'), 191 array($rs['url'],$core->blog->name,$core->auth->getInfo('user_cn')) 192 ,$twit 193 ); 194 libDcTwitter::sendMessage('kUtRL',$twit); 195 } 180 196 } 181 197 } … … 184 200 { 185 201 global $core; 186 187 if (empty($_POST['kutrl_create'])) return; 188 189 $_active = (boolean) $core->blog->settings->kutrl_active; 190 $_admin = (string) $core->blog->settings->kutrl_admin_service; 191 $_limit_to_blog = (boolean) $core->blog->settings->kutrl_limit_to_blog; 192 193 if (!$_active || !$_admin) return; 194 if (!isset($core->kutrlServices[$_admin])) return; 195 196 try 197 { 198 $kut = new $core->kutrlServices[$_admin]($core,$_limit_to_blog); 199 } 200 catch (Exception $e) 201 { 202 $s = kutrlSettings($core); 203 204 if (empty($_POST['kutrl_create']) 205 || !$s->kutrl_active || !$s->kutrl_admin_service 206 || !isset($core->kutrlServices[$s->kutrl_admin_service])) return; 207 208 try { 209 $kut = new $core->kutrlServices[$s->kutrl_admin_service]($core,$s->kutrl_limit_to_blog); 210 } 211 catch (Exception $e) { 202 212 return; 203 213 } … … 210 220 $_POST['kutrl_create_custom'] : null; 211 221 212 $kut->hash($rs->getURL(),$custom); 222 $rs = $kut->hash($rs->getURL(),$custom); 223 224 # Send new url by libDcTwitter 225 if (!empty($rs) && !empty($_POST['kutrl_twit_send'])) { 226 $twit = libDcTwitter::getMessage('kUtRL'); 227 $twit = str_replace( 228 array('%L','%B','%U'), 229 array($rs['url'],$core->blog->name,$core->auth->getInfo('user_cn')) 230 ,$twit 231 ); 232 libDcTwitter::sendMessage('kUtRL',$twit); 233 } 213 234 } 214 235 … … 216 237 { 217 238 global $core; 218 219 $_active = (boolean) $core->blog->settings->kutrl_active; 220 $_admin = (string) $core->blog->settings->kutrl_admin_service; 221 $_limit_to_blog = (boolean) $core->blog->settings->kutrl_limit_to_blog; 222 223 if (!$_active || !$_admin) return; 224 if (!isset($core->kutrlServices[$_admin])) return; 225 226 try 227 { 228 $kut = new $core->kutrlServices[$_admin]($core,$_limit_to_blog); 229 } 230 catch (Exception $e) 231 { 239 $s = kutrlSettings($core); 240 241 if (!$s->kutrl_active || !$s->kutrl_admin_service 242 || !isset($core->kutrlServices[$s->kutrl_admin_service])) return; 243 244 try { 245 $kut = new $core->kutrlServices[$s->kutrl_admin_service]($core,$s->kutrl_limit_to_blog); 246 } 247 catch (Exception $e) { 232 248 return; 233 249 } … … 243 259 { 244 260 global $core; 245 246 $_active = (boolean) $core->blog->settings->kutrl_active; 247 $_admin = (string) $core->blog->settings->kutrl_admin_service; 248 $_auth_check = $core->auth->check('admin',$core->blog->id); 249 250 if (!$_active || !$_admin || !$_auth_check) return; 251 if (!isset($core->kutrlServices[$_admin])) return; 252 253 $args[0][__('create short link')] = 'kutrl_create'; 254 $args[0][__('delete short link')] = 'kutrl_delete'; 261 $s = kutrlSettings($core); 262 263 if (!$s->kutrl_active || !$s->kutrl_admin_service 264 || !$core->auth->check('admin',$core->blog->id) 265 || !isset($core->kutrlServices[$s->kutrl_admin_service])) return; 266 267 $args[0][__('kUtRL')][__('create short link')] = 'kutrl_create'; 268 $args[0][__('kUtRL')][__('delete short link')] = 'kutrl_delete'; 255 269 } 256 270 … … 260 274 && $action != 'kutrl_delete') return; 261 275 262 263 $_active = (boolean) $core->blog->settings->kutrl_active; 264 $_admin = (string) $core->blog->settings->kutrl_admin_service; 265 $_limit_to_blog = (boolean) $core->blog->settings->kutrl_limit_to_blog; 266 267 if (!$_active || !$_admin) return; 268 if (!isset($core->kutrlServices[$_admin])) return; 269 270 try 271 { 272 $kut = new $core->kutrlServices[$_admin]($core,$_limit_to_blog); 273 } 274 catch (Exception $e) 275 { 276 $s = kutrlSettings($core); 277 278 if (!$s->kutrl_active || !$s->kutrl_admin_service 279 || !isset($core->kutrlServices[$s->kutrl_admin_service])) return; 280 281 try { 282 $kut = new $core->kutrlServices[$s->kutrl_admin_service]($core,$s->kutrl_limit_to_blog); 283 } 284 catch (Exception $e) { 276 285 return; 277 286 } -
plugins/kUtRL/_define.php
r2000 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 17 17 /* Description*/ "Use, create and serve short url on your blog", 18 18 /* Author */ "JC Denis", 19 /* Version */ '0. 2',19 /* Version */ '0.3', 20 20 /* Permissions */ 'admin' 21 21 ); 22 /* date */ #20 09122322 /* date */ #20100414 23 23 ?> -
plugins/kUtRL/_install.php
r1973 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 28 28 throw new Exception('Plugin called kUtRL requires Dotclear 2.1.6 or higher.'); 29 29 } 30 # Check DC version (new settings)31 if (version_compare(DC_VERSION,'2.2','>='))32 {33 throw new Exception('Plugin called kUtRL requires Dotclear up to 2.2.');34 }35 30 36 31 # Table 37 $s = null; 38 $s = new dbStruct($core->con,$core->prefix); 39 $s->kutrl 32 $t = new dbStruct($core->con,$core->prefix); 33 $t->kutrl 40 34 ->kut_id('bigint',0,false) 41 35 ->blog_id('varchar',32,false) … … 54 48 ->index('idx_kut_type','btree','kut_type'); 55 49 56 $ si = new dbStruct($core->con,$core->prefix);57 $changes = $ si->synchronize($s);50 $ti = new dbStruct($core->con,$core->prefix); 51 $changes = $ti->synchronize($t); 58 52 59 53 # Settings 60 $s = null; 61 $s =& $core->blog->settings; 62 $s->setNameSpace('kUtRL'); 54 $s = kutrlSettings($core); 63 55 $s->put('kutrl_active',false,'boolean','Enabled kutrl plugin',false,true); 64 56 $s->put('kutrl_admin_service','local','string','Service to use to shorten links on admin',false,true); 65 57 $s->put('kutrl_tpl_service','local','string','Service to use to shorten links on template',false,true); 66 $s->put('kutrl_wiki_service',' ','string','Service to use to shorten links on contents',false,true);58 $s->put('kutrl_wiki_service','local','string','Service to use to shorten links on contents',false,true); 67 59 $s->put('kutrl_limit_to_blog',false,'boolean','Limited short url to current blog\'s url',false,true); 68 60 $s->put('kutrl_tpl_passive',true,'boolean','Template return long url if kutrl is unactivate',false,true); … … 81 73 # Settings for "bilbolinks" service 82 74 $s->put('kutrl_srv_bilbolinks_base','http://tux-pla.net/','string','URL of bilbolinks service',false,true); 83 $s->setNameSpace('system'); 75 # Twitter settings 76 $s->put('kutrl_twit_msg','%B : %U (from kUtRL)','string','Twit message to post',false,true); 77 $s->put('kutrl_twit_onadmin',true,'boolean','Post twit on new link on administration form',false,true); 78 $s->put('kutrl_twit_onpublic',false,'boolean','Post twit on new link on public form',false,true); 79 $s->put('kutrl_twit_ontpl',false,'boolean','Post twit on new link on templates',false,true); 80 $s->put('kutrl_twit_onwiki',false,'boolean','Post twit on new link on wiki synthax',false,true); 81 84 82 85 83 # Version -
plugins/kUtRL/_prepend.php
r2000 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 49 49 $core->url->register('kutrl','go','^go(/(.*?)|)$',array('urlKutrl','redirectUrl')); 50 50 51 # Generic Dotclear class for Twitter and Identi.ca 52 if (array_key_exists('libDcTwitter',$__autoload)) { 53 $r = new ReflectionClass(dirname(__FILE__).'/inc/lib.dc.twitter.php'); 54 if (version_compare(libDcTwitter::VERSION, $r->VERSION,'<')) { 55 $__autoload['libDcTwitter'] = dirname(__FILE__).'/inc/lib.dc.twitter.php'; 56 } 57 unset($r); 58 } else { 59 $__autoload['libDcTwitter'] = dirname(__FILE__).'/inc/lib.dc.twitter.php'; 60 } 61 62 # DC 2.1.6 vs 2.2 settings 63 function kutrlSettings($core,$namespace='kUtRL') 64 { 65 if (!version_compare(DC_VERSION,'2.1.6','<=')) { 66 $core->blog->settings->addNamespace($namespace); 67 return $core->blog->settings->{$namespace}; 68 } else { 69 $core->blog->settings->setNamespace($namespace); 70 return $core->blog->settings; 71 } 72 } 73 51 74 # Add kUtRL events on plugin activityReport 52 if ( $core->blog->settings->kutrl_extend_activityreport && defined('ACTIVITY_REPORT'))75 if (kutrlSettings($core)->kutrl_extend_activityreport && defined('ACTIVITY_REPORT')) 53 76 { 54 77 require_once dirname(__FILE__).'/inc/lib.kutrl.activityreport.php'; -
plugins/kUtRL/_public.php
r2000 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 45 45 { 46 46 global $core, $_ctx; 47 48 $_active = (boolean) $core->blog->settings->kutrl_active; 49 $_limit_to_blog = (boolean) $core->blog->settings->kutrl_limit_to_blog; 50 51 if (!$_active) 47 $s = kutrlSettings($core); 48 49 if (!$s->kutrl_active) 52 50 { 53 51 self::p404(); … … 61 59 } 62 60 63 $args = $m[3];61 $args = isset($m[3]) ? $m[3] : ''; 64 62 $_ctx->kutrl_msg = ''; 65 63 $_ctx->kutrl_hmf = hmfKutrl::create(); 66 64 $_ctx->kutrl_hmfp = hmfKutrl::protect($_ctx->kutrl_hmf); 67 65 68 $kut = new $core->kutrlServices['local']($core,$ _limit_to_blog);66 $kut = new $core->kutrlServices['local']($core,$s->kutrl_limit_to_blog); 69 67 70 68 if ($m[1] == '/') … … 102 100 { 103 101 global $core, $_ctx; 104 105 $_active = (boolean) $core->blog->settings->kutrl_active; 106 $_public = (boolean) $core->blog->settings->kutrl_srv_local_public; 107 $_limit_to_blog = (boolean) $core->blog->settings->kutrl_limit_to_blog; 108 109 if (!$_active || !$_public) 102 $s = kutrlSettings($core); 103 104 if (!$s->kutrl_active || !$s->kutrl_srv_local_public) 110 105 { 111 106 self::p404(); … … 164 159 if (!$err) 165 160 { 166 if ($ _limit_to_blog && !$kut->isBlogUrl($url))161 if ($s->kutrl_limit_to_blog && !$kut->isBlogUrl($url)) 167 162 { 168 163 $err = true; … … 212 207 ); 213 208 $core->blog->triggerBlog(); 209 210 if ($s->kutrl_twit_onpublic) { 211 # Send new url by libDcTwitter 212 $twit = libDcTwitter::getMessage('kUtRL'); 213 $twit = str_replace(array('%L','%B','%U'),array($new_url,$core->blog->name,__('public')),$twit); 214 libDcTwitter::sendMessage('kUtRL',$twit); 215 } 214 216 } 215 217 } … … 224 226 { 225 227 global $_ctx; 226 227 $_active = (boolean) $core->blog->settings->kutrl_active; 228 $_tpl_service = (string) $core->blog->settings->kutrl_tpl_service; 229 $_limit_to_blog = (boolean) $core->blog->settings->kutrl_limit_to_blog; 230 231 #Passive : all kutrl tag return long url 232 $_ctx->kutrl_passive = (boolean) $core->blog->settings->kutrl_tpl_passive; 233 234 if (!$_active || !$_tpl_service) return; 235 if (!isset($core->kutrlServices[$_tpl_service])) return; 236 237 $_ctx->kutrl = new $core->kutrlServices[$_tpl_service]($core,$_limit_to_blog); 228 $s = kutrlSettings($core); 229 230 # Passive : all kutrl tag return long url 231 $_ctx->kutrl_passive = (boolean) $s->kutrl_tpl_passive; 232 # Twitter feature when auto create short link on template 233 $_ctx->kutrl_twit_ontpl = (boolean) $s->kutrl_twit_ontpl; 234 235 if (!$s->kutrl_active || !$s->kutrl_tpl_service) return; 236 if (!isset($core->kutrlServices[$s->kutrl_tpl_service])) return; 237 238 $_ctx->kutrl = new $core->kutrlServices[$s->kutrl_tpl_service]($core,$s->kutrl_limit_to_blog); 238 239 } 239 240 240 241 public static function publicHeadContent($core) 241 242 { 242 $s = $core->blog->settings->kutrl_srv_local_css; 243 if ($s) 243 $s = kutrlSettings($core); 244 $css = $s->kutrl_srv_local_css; 245 if ($css) 244 246 { 245 247 echo 246 248 "\n<!-- CSS for kUtRL --> \n". 247 249 "<style type=\"text/css\"> \n". 248 html::escapeHTML($ s)."\n".250 html::escapeHTML($css)."\n". 249 251 "</style>\n"; 250 252 } … … 267 269 { 268 270 $sign = (boolean) $attr['is_active'] ? '' : '!'; 269 $if[] = $sign.'$core->blog->settings->kutrl_srv_local_public'; 271 $if[] = $sign.'$s->kutrl_srv_local_public'; 272 } 273 274 if (empty($if)) 275 { 276 return $content; 277 } 278 279 return 280 "<?php \$s = kutrlSettings(\$core); ". 281 "if(".implode(' '.$operator.' ',$if).") : ?>\n". 282 $content. 283 "<?php endif; unset(\$s);?>\n"; 284 } 285 286 public static function pageMsgIf($attr,$content) 287 { 288 $operator = isset($attr['operator']) ? self::getOperator($attr['operator']) : '&&'; 289 290 if (isset($attr['has_message'])) 291 { 292 $sign = (boolean) $attr['has_message'] ? '!' : '='; 293 $if[] = '"" '.$sign.'= $_ctx->kutrl_msg'; 270 294 } 271 295 … … 281 305 } 282 306 283 public static function pageMsgIf($attr,$content)284 {285 $operator = isset($attr['operator']) ? self::getOperator($attr['operator']) : '&&';286 287 if (isset($attr['has_message']))288 {289 $sign = (boolean) $attr['has_message'] ? '!' : '=';290 $if[] = '"" '.$sign.'= $_ctx->kutrl_msg';291 }292 293 if (empty($if))294 {295 return $content;296 }297 298 return299 "<?php if(".implode(' '.$operator.' ',$if).") : ?>\n".300 $content.301 "<?php endif; ?>\n";302 }303 304 307 public static function pageMsg($attr) 305 308 { … … 309 312 public static function humanField($attr) 310 313 { 311 return "<?php echo sprintf(__(' Write \"%s\" in next field to see ifyou are not a robot:'),\$_ctx->kutrl_hmf); ?>";314 return "<?php echo sprintf(__('Rewrite \"%s\" in next field to show that you are not a robot:'),\$_ctx->kutrl_hmf); ?>"; 312 315 } 313 316 … … 423 426 " if (false !== (\$kutrl_rs = \$_ctx->kutrl->hash(".$str."))) { ". 424 427 " echo ".sprintf($f,'$_ctx->kutrl->url_base.$kutrl_rs->hash')."; ". 428 429 # Send new url by libDcTwitter 430 "if (\$_ctx->kutrl_twit_ontpl) { ". 431 "\$twit = libDcTwitter::getMessage('kUtRL'); ". 432 "\$twit = str_replace(array('%L','%B','%U'),array(\$_ctx->kutrl->url_base.\$kutrl_rs->hash,\$core->blog->name,__('public')),\$twit); ". 433 "libDcTwitter::sendMessage('kUtRL',\$twit); "; 434 " unset(\$twit); ". 435 "} \n". 436 425 437 " } \n". 426 438 " unset(\$kutrl_rs); \n". … … 446 458 class hmfKutrl 447 459 { 448 public static $chars = 'abcdefghijkmnopqrstuvwxyzABCDEFGH IJKLMNPQRSTUVWXYZ123456789';460 public static $chars = 'abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789'; 449 461 450 462 public static function create($len=6) -
plugins/kUtRL/_uninstall.php
r1949 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # -
plugins/kUtRL/_widgets.php
r1949 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 33 33 public static function adminRank($w) 34 34 { 35 $w->create('rankkutrl',__('Top minilinks'),35 $w->create('rankkutrl',__('Top of short links'), 36 36 array('widgetKutrl','publicRank') 37 37 ); 38 38 $w->rankkutrl->setting('title', 39 __('Title:'),__('Top minilinks'),'text'39 __('Title:'),__('Top of short links'),'text' 40 40 ); 41 41 $w->rankkutrl->setting('text', 42 __('Text: '),'%rank% - %url% - %counttext%','text'42 __('Text: (Use wildcard %rank%, %hash%, %url%, %count%, %counttext%)'),'%rank% - %url% - %counttext%','text' 43 43 ); 44 44 $w->rankkutrl->setting('urllen', 45 __(' Link length (if truncate)'),2045 __('URL length (if truncate)'),20,'text' 46 46 ); 47 47 $w->rankkutrl->setting('type', 48 48 __('Type:'),'all','combo',array( 49 49 __('All') => '-', 50 __('Mini URL') => 'normal', 51 __('Custom URL')=>'custom' 50 __('Mini URL') => 'localnormal', 51 __('Custom URL') => 'localcustom', 52 __('Semi-custom') => 'localmix' 53 ) 54 ); 55 $w->rankkutrl->setting('mixprefix', 56 __('Semi-custom prefix: (only if you want limit to a particular prefix)'), 57 '','text' 58 ); 59 $w->rankkutrl->setting('sortby', 60 __('Sort by:'),'kut_counter','combo',array( 61 __('Date') => 'kut_dt', 62 __('Rank') => 'kut_counter', 63 __('Hash') => 'kut_hash' 52 64 ) 53 65 ); … … 72 84 { 73 85 global $core; 86 $s = kutrlSettings($core); 74 87 75 if ($w->homeonly && $core->url->type != 'default') return; 76 77 if (!$core->blog->settings->kutrl_active 78 || !$core->blog->settings->kutrl_srv_local_public) return; 88 if (!$s->kutrl_active 89 || !$s->kutrl_srv_local_public 90 || !$w->homeonly && $core->url->type != 'default') return; 79 91 80 92 $hmf = hmfKutrl::create(); … … 91 103 '</label></p>'. 92 104 '<p><label>'. 93 sprintf(__(' Write "%s" in next field to see ifyou are not a robot:'),$hmf).'<br />'.105 sprintf(__('Rewrite \"%s\" in next field to show that you are not a robot:'),$hmf).'<br />'. 94 106 form::field('hmf',20,255,''). 95 107 '</label></p>'. … … 105 117 { 106 118 global $core; 119 $s = kutrlSettings($core); 107 120 108 if ($w->homeonly && $core->url->type != 'default') return; 121 if (!$s->kutrl_active 122 || $w->homeonly && $core->url->type != 'default') return; 109 123 110 if (!$core->blog->settings->kutrl_active) return; 111 112 if ($w->type == 'normal') 113 { 114 $type = "AND kut_type ='".$core->con->escape('localnormal')."' "; 115 } 116 elseif ($w->type == 'custom') 117 { 118 $type = "AND kut_type ='".$core->con->escape('localcustom')."' "; 119 } 120 else 121 { 122 $type = "AND kut_type ".$core->con->in(array('localnormal','localcustom'))." "; 123 } 124 $type = in_array($w->type,array('localnormal','localmix','localcustom')) ? 125 "AND kut_type ='".$w->type."' " : 126 "AND kut_type ".$core->con->in(array('localnormal','localmix','localcustom'))." "; 124 127 125 128 $hide = (boolean) $w->hideempty ? 'AND kut_counter > 0 ' : ''; 126 129 130 $more = ''; 131 if ($w->type == 'localmix' && '' != $w->mixprefix) { 132 $more = "AND kut_hash LIKE '".$core->con->escape($w->mixprefix)."%' "; 133 } 134 135 $order = ($w->sortby && in_array($w->sortby,array('kut_dt','kut_counter','kut_hash'))) ? 136 $w->sortby.' ' : 'kut_dt '; 137 138 $order .= $w->sort == 'desc' ? 'DESC' : 'ASC'; 139 140 $limit = $core->con->limit(abs((integer) $w->limit)); 141 127 142 $rs = $core->con->select( 128 'SELECT kut_counter, kut_hash '. 129 "FROM ".$core->prefix."kutrl ". 130 "WHERE blog_id='".$core->con->escape($core->blog->id)."' ". 131 "AND kut_service = 'local' ". 132 $type.$hide. 133 'ORDER BY kut_counter '.($w->sort == 'asc' ? 'ASC' : 'DESC').',kut_hash ASC '. 134 $core->con->limit(abs((integer) $w->limit))); 143 'SELECT kut_counter, kut_hash '. 144 "FROM ".$core->prefix."kutrl ". 145 "WHERE blog_id='".$core->con->escape($core->blog->id)."' ". 146 "AND kut_service = 'local' ". 147 $type.$hide.$more.'ORDER BY '.$order.$limit 148 ); 135 149 136 150 if ($rs->isEmpty()) return; -
plugins/kUtRL/inc/lib.kutrl.activityreport.php
r1949 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 11 11 # -- END LICENSE BLOCK ------------------------------------ 12 12 13 # This file is used with plugin activityReport 14 13 15 if (!defined('DC_RC_PATH')){return;} 14 16 15 # This file is used with plugin activityReport16 17 $core->activityReport->addGroup('kutrl',__('Plugin kUtRL')); 17 18 -
plugins/kUtRL/inc/lib.kutrl.log.php
r1949 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 11 11 # -- END LICENSE BLOCK ------------------------------------ 12 12 13 # This file contents class to acces local short links records 14 13 15 class kutrlLog 14 16 { … … 38 40 $this->con->writeLock($this->table); 39 41 40 $cur->kut_id = $this->nextId(); 41 $cur->blog_id = $this->blog; 42 $cur->kut_url = (string) $url; 43 $cur->kut_hash = (string) $hash; 44 $cur->kut_type = (string) $type; 45 $cur->kut_service = (string) $service; 46 $cur->kut_dt = date('Y-m-d H:i:s'); 47 $cur->kut_counter = 0; 48 49 $cur->insert(); 50 $this->con->unlock(); 51 52 return array( 53 'url' => $url, 54 'hash' => $hash, 55 'type' => $type, 56 'service' => $service, 57 'counter '=> 0 58 ); 42 try { 43 $cur->kut_id = $this->nextId(); 44 $cur->blog_id = $this->blog; 45 $cur->kut_url = (string) $url; 46 $cur->kut_hash = (string) $hash; 47 $cur->kut_type = (string) $type; 48 $cur->kut_service = (string) $service; 49 $cur->kut_dt = date('Y-m-d H:i:s'); 50 $cur->kut_counter = 0; 51 52 $cur->insert(); 53 $this->con->unlock(); 54 55 return array( 56 'id' => $cur->kut_id, 57 'url' => $url, 58 'hash' => $hash, 59 'type' => $type, 60 'service' => $service, 61 'counter '=> 0 62 ); 63 } 64 catch (Exception $e) 65 { 66 $this->con->unlock(); 67 throw $e; 68 } 69 return false; 59 70 } 60 71 61 72 public function select($url=null,$hash=null,$type=null,$service='kutrl') 62 73 { 63 $this->con->writeLock($this->table);74 //$this->con->writeLock($this->table); 64 75 65 76 $req = … … 67 78 'kut_type as type, kut_service as service, kut_counter as counter '. 68 79 'FROM '.$this->table.' '. 69 "WHERE blog_id ='".$this->blog."' ".70 "AND kut_service ='".$this->con->escape($service)."' ";80 "WHERE blog_id = '".$this->blog."' ". 81 "AND kut_service = '".$this->con->escape($service)."' "; 71 82 72 83 if (null !== $url) 73 $req .= "AND kut_url ='".$this->con->escape($url)."' ";84 $req .= "AND kut_url = '".$this->con->escape($url)."' "; 74 85 75 86 if (null !== $hash) 76 $req .= "AND kut_hash='".$this->con->escape($hash)."' "; 77 78 if (null !== $type && is_array($type)) 79 $req .= "AND kut_type '".$this->con->in($type)."' "; 80 81 if (null !== $type && is_string($type)) 82 $req .= "AND kut_type='".$this->con->escape($type)."' "; 87 $req .= "AND kut_hash = '".$this->con->escape($hash)."' "; 88 89 if (null !== $type) { 90 if (is_array($type)) { 91 $req .= "AND kut_type '".$this->con->in($type)."' "; 92 } 93 else { 94 $req .= "AND kut_type = '".$this->con->escape($type)."' "; 95 } 96 } 83 97 84 98 $req .= 'ORDER BY kut_dt DESC '.$this->con->limit(1); 85 99 86 100 $rs = $this->con->select($req); 87 $this->con->unlock();101 //$this->con->unlock(); 88 102 89 103 return $rs->isEmpty() ? false : $rs; -
plugins/kUtRL/inc/lib.kutrl.srv.php
r1949 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 11 11 # -- END LICENSE BLOCK ------------------------------------ 12 12 13 # This file contents parent class of shorten link services 14 13 15 class kutrlServices 14 16 { 15 17 public $core; 18 public $error; 16 19 public $s; 17 20 public $log; … … 29 32 { 30 33 $this->core = $core; 31 $this->s = & $core->blog->settings;34 $this->s = kutrlSettings($core); 32 35 $this->log = new kutrlLog($core); 33 36 $this->limit_to_blog = (boolean) $limit_to_blog; 37 $this->error = new dcError(); 38 $this->error->setHTMLFormat('%s',"%s\n"); 34 39 } 35 40 … … 100 105 } 101 106 107 # Test if an custom short url is know 108 public function isKnowHash($hash) 109 { 110 return $this->log->select(null,$hash,$this->id,'kutrl'); 111 } 112 102 113 # Create hash from url 103 114 public function hash($url,$hash=null) … … 121 132 } 122 133 if ($this->limit_to_blog && !$this->isBlogUrl($url)) 134 { 135 return false; 136 } 137 if ($hash && false !== ($rs = $this->isKnowHash($hash))) 123 138 { 124 139 return false; -
plugins/kUtRL/inc/lib.wiki.kutrl.php
r1949 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 10 10 # http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 11 11 # -- END LICENSE BLOCK ------------------------------------ 12 13 # This file contents class to shorten url pass through wiki 12 14 13 15 if (!defined('DC_RC_PATH')){return;} … … 18 20 { 19 21 global $core; 22 $s = kutrlSettings($core); 20 23 21 $_active = (boolean) $core->blog->settings->kutrl_active;22 $_wiki_service = (string) $core->blog->settings->kutrl_wiki_service;23 $_limit_to_blog = (boolean) $core->blog->settings->kutrl_limit_to_blog;24 # Do nothing on comment preview and post preview 25 if (!empty($_POST['preview']) 26 || !empty($GLOBALS['c_ctx']) && $GLOBALS['c_ctx']->preview) return; 24 27 25 if (!$_active || !$_wiki_service) return; 28 if (!$s->kutrl_active || !$s->kutrl_wiki_service 29 || !isset($core->kutrlServices[$s->kutrl_wiki_service])) return; 26 30 27 if (!isset($core->kutrlServices[$_wiki_service])) return; 28 29 try 30 { 31 $kut = new $core->kutrlServices[$_wiki_service]($core,$_limit_to_blog); 31 try { 32 $kut = new $core->kutrlServices[$s->kutrl_wiki_service]($core,$s->kutrl_limit_to_blog); 32 33 } 33 catch (Exception $e) 34 { 34 catch (Exception $e) { 35 35 return; 36 36 } … … 48 48 { 49 49 global $core; 50 $s = kutrlSettings($core); 50 51 51 $_active = (boolean) $core->blog->settings->kutrl_active; 52 $_wiki_service = (string) $core->blog->settings->kutrl_wiki_service; 53 $_limit_to_blog = (boolean) $core->blog->settings->kutrl_limit_to_blog; 52 if (!$s->kutrl_active || !$s->kutrl_wiki_service 53 || !isset($core->kutrlServices[$s->kutrl_wiki_service])) return; 54 54 55 if (!$_active || !$_wiki_service) return; 56 57 if (!isset($core->kutrlServices[$_wiki_service])) return; 58 59 try 60 { 61 $kut = new $core->kutrlServices[$_wiki_service]($core,$_limit_to_blog); 55 try { 56 $kut = new $core->kutrlServices[$s->kutrl_wiki_service]($core,$s->kutrl_limit_to_blog); 62 57 } 63 catch (Exception $e) 64 { 58 catch (Exception $e) { 65 59 return array(); 66 60 } … … 80 74 if ($testurl == $content) $res['content'] = $res['url']; 81 75 76 # Send new url by libDcTwitter 77 if ($s->kutrl_twit_onwiki) { 78 $user = !defined('DC_CONTEXT_ADMIN') ? __('public') : $core->auth->getInfo('user_cn'); 79 $twit = libDcTwitter::getMessage('kUtRL'); 80 $twit = str_replace(array('%L','%B','%U'),array($res['url'],$core->blog->name,$user),$twit); 81 libDcTwitter::sendMessage('kUtRL',$twit); 82 } 83 82 84 return $res; 83 85 } -
plugins/kUtRL/inc/patch.dcminiurl.php
r1949 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # -
plugins/kUtRL/inc/services/class.bilbolinks.service.php
r1949 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 43 43 } 44 44 45 $this->s->setNameSpace('kUtRL');46 45 $this->s->put('kutrl_srv_bilbolinks_base',$base); 47 $this->s->setNameSpace('system');48 46 } 49 47 … … 62 60 public function testService() 63 61 { 64 if (empty($this->url_base)) return false; 62 if (empty($this->url_base)) 63 { 64 $this->error->add(__('Service is not well configured.')); 65 return false; 66 } 65 67 66 68 $arg = array('longurl' => urlencode($this->url_test)); 67 69 if (!self::post($this->url_api,$arg,true,true)) 68 70 { 71 $this->error->add(__('Service is unavailable.')); 69 72 return false; 70 73 } … … 78 81 if (!($response = self::post($this->url_api,$arg,true,true))) 79 82 { 83 $this->error->add(__('Service is unavailable.')); 80 84 return false; 81 85 } 82 86 if ($response == 'You are too speed!') 83 87 { 88 $this->error->add(__('Service rate limit exceeded.')); 84 89 return false; 85 90 } -
plugins/kUtRL/inc/services/class.bitly.service.php
r1949 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 19 19 public $home = 'http://bit.ly'; 20 20 21 private $url_api = 'http://api.bit.ly/ ';21 private $url_api = 'http://api.bit.ly/v3/'; 22 22 private $args = array( 23 'version' => '2.0.1',24 23 'format' => 'xml', 25 24 'login' => '', … … 42 41 public function saveSettings() 43 42 { 44 $this->s->setNameSpace('kUtRL');45 43 $this->s->put('kutrl_srv_bitly_login',$_POST['kutrl_srv_bitly_login']); 46 44 $this->s->put('kutrl_srv_bitly_apikey',$_POST['kutrl_srv_bitly_apikey']); 47 45 $this->s->put('kutrl_srv_bitly_history',isset($_POST['kutrl_srv_bitly_history'])); 48 $this->s->setNameSpace('system');49 46 } 50 47 … … 75 72 public function testService() 76 73 { 77 if (empty($this->args['login']) || empty($this->args['apiKey'])) return false; 74 if (empty($this->args['login']) || empty($this->args['apiKey'])) 75 { 76 $this->error->add(__('Service is not well configured.')); 77 return false; 78 } 78 79 79 80 $args = $this->args; 80 81 $args['hash'] = 'WP9vc'; 81 if (!($r s = self::post($this->url_api.'info',$args,true)))82 if (!($response = self::post($this->url_api.'expand',$args,true))) 82 83 { 84 $this->error->add(__('Failed to call service.')); 83 85 return false; 84 86 } 85 $rsp = simplexml_load_string($rs); 86 if ($rsp->errorCode == 203) 87 { 87 88 $rsp = simplexml_load_string($response); 89 90 $err_msg = (string) $rsp->status_txt; 91 if ($err_msg != 'OK') { 92 $err_no = (integer) $rsp->status_code; 93 $this->error->add(sprintf(__('An error occured with code %s and message "%s"'),$err_no,$err_msg)); 88 94 return false; 89 95 } … … 98 104 if (!($response = self::post($this->url_api.'shorten',$args,true))) 99 105 { 106 $this->error->add(__('Failed to call service.')); 100 107 return false; 101 108 } 109 102 110 $rsp = simplexml_load_string($response); 103 111 104 if (0 != $rsp->errorCode) 105 { 112 $err_msg = (string) $rsp->status_txt; 113 if ($err_msg != 'OK') { 114 $err_no = (integer) $rsp->status_code; 115 $this->error->add(sprintf(__('An error occured with code %s and message "%s"'),$err_no,$err_msg)); 106 116 return false; 107 117 } 108 118 109 119 $rs = new ArrayObject(); 110 $rs->hash = (string) $rsp-> results->nodeKeyVal->userHash[0]; //!?111 $rs->url = $url;120 $rs->hash = (string) $rsp->data[0]->hash; 121 $rs->url = (string) $rsp->data[0]->long_url; 112 122 $rs->type = $this->id; 113 123 -
plugins/kUtRL/inc/services/class.isgd.service.php
r1949 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 37 37 if (!self::post($this->url_api,$arg,true,true)) 38 38 { 39 $this->error->add(__('Service is unavailable.')); 39 40 return false; 40 41 } … … 48 49 if (!($response = self::post($this->url_api,$arg,true,true))) 49 50 { 51 $this->error->add(__('Service is unavailable.')); 50 52 return false; 51 53 } -
plugins/kUtRL/inc/services/class.local.service.php
r1949 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 16 16 { 17 17 public $id = 'local'; 18 public $name = ' My blog';18 public $name = 'kUtRL'; 19 19 public $home = 'http://kutrl.fr'; 20 20 … … 23 23 parent::__construct($core,$limit_to_blog); 24 24 25 $protocols = (string) $ core->blog->settings->kutrl_srv_local_protocols;25 $protocols = (string) $this->s->kutrl_srv_local_protocols; 26 26 $this->allowed_protocols = empty($protocols) ? array() : explode(',',$protocols); 27 27 $this->allow_customized_hash = true; … … 33 33 public function saveSettings() 34 34 { 35 $this->s->setNameSpace('kUtRL');36 35 $this->s->put('kutrl_srv_local_protocols',$_POST['kutrl_srv_local_protocols']); 37 36 $this->s->put('kutrl_srv_local_public',isset($_POST['kutrl_srv_local_public'])); 38 37 $this->s->put('kutrl_srv_local_css',$_POST['kutrl_srv_local_css']); 39 $this->s->setNameSpace('system');40 38 } 41 39 … … 84 82 public function testService() 85 83 { 86 return !empty($this->allowed_protocols); 84 if (!empty($this->allowed_protocols)) 85 { 86 return true; 87 } 88 else { 89 $this->error->add(__('Service is not well configured.')); 90 return false; 91 } 87 92 } 88 93 89 94 public function createHash($url,$hash=null) 90 95 { 96 # Create response object 91 97 $rs = new ArrayObject(); 92 98 $rs->type = 'local'; 93 99 $rs->url = $url; 94 100 101 # Normal link 95 102 if ($hash === null) 96 103 { 97 104 $type = 'localnormal'; 98 $rs->hash = $this->next($this->last()); 99 } 100 else 101 { 105 $rs->hash = $this->next($this->last('localnormal')); 106 } 107 108 # Mixed custom link 109 elseif (preg_match('/^([A-Za-z0-9]{2,})!!$/',$hash,$m)) 110 { 111 $type = 'localmix'; 112 $rs->hash = $m[1].$this->next(-1,$m[1]); 113 } 114 115 # Custom link 116 elseif (preg_match('/^[A-Za-z0-9.-_]{2,}$/',$hash)) 117 { 118 if (false !== $this->log->select(null,$hash,null,'local')) 119 { 120 $this->error->add(__('Custom short link is already taken.')); 121 return false; 122 } 102 123 $type = 'localcustom'; 103 124 $rs->hash = $hash; 104 125 } 105 126 106 $this->log->insert($rs->url,$rs->hash,$type,$rs->type); 107 return $rs; 108 } 109 110 protected function last() 127 # Wrong char in custom hash 128 else 129 { 130 $this->error->add(__('Custom short link is not valid.')); 131 return false; 132 } 133 134 # Save link 135 try { 136 $this->log->insert($rs->url,$rs->hash,$type,$rs->type); 137 return $rs; 138 } 139 catch (Exception $e) 140 { 141 $this->error->add(__('Failed to save link.')); 142 } 143 return false; 144 } 145 146 protected function last($type) 111 147 { 112 148 return 113 false === ($rs = $this->log->select(null,null, 'localnormal','local')) ?149 false === ($rs = $this->log->select(null,null,$type,'local')) ? 114 150 -1 : $rs->hash; 115 151 } 116 152 117 protected function next($last_id )153 protected function next($last_id,$prefix='') 118 154 { 119 155 if ($last_id == -1) … … 141 177 142 178 return 143 false === ($rs = $this->log->select(null,$next_id,'localnormal','local')) ?144 $next_id : $this->next($next_id );179 false === $this->log->select(null,$prefix.$next_id,null,'local') ? 180 $next_id : $this->next($next_id,$prefix); 145 181 } 146 182 147 183 protected function append($id) 148 184 { 149 for ($x = 0; $x < strlen($id); $x++) 185 $id = str_split($id); 186 for ($x = 0; $x < count($id); $x++) 150 187 { 151 188 $id[$x] = 0; 152 189 } 153 $id .= 0; 154 155 return $id; 190 return implode($id).'0'; 156 191 } 157 192 158 193 protected function increment($id,$pos) 159 194 { 195 $id = str_split($id); 160 196 $char = $id[$pos]; 161 197 … … 170 206 $id[$pos] = $new_char; 171 207 172 if ($pos != ( strlen($id) - 1))173 { 174 for ($x = ($pos + 1); $x < strlen($id); $x++)208 if ($pos != (count($id) - 1)) 209 { 210 for ($x = ($pos + 1); $x < count($id); $x++) 175 211 { 176 212 $id[$x] = 0; … … 178 214 } 179 215 180 return $id;216 return implode($id); 181 217 } 182 218 -
plugins/kUtRL/inc/services/class.shortto.service.php
r2000 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 37 37 if (!self::post($this->url_api,$arg,true,true)) 38 38 { 39 $this->error->add(__('Service is unavailable.')); 39 40 return false; 40 41 } … … 48 49 if (!($response = self::post($this->url_api,$arg,true,true))) 49 50 { 51 $this->error->add(__('Service is unavailable.')); 50 52 return false; 51 53 } -
plugins/kUtRL/inc/services/class.trim.service.php
r1949 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 38 38 public function saveSettings() 39 39 { 40 $this->s->setNameSpace('kUtRL');41 40 $this->s->put('kutrl_srv_trim_username',$_POST['kutrl_srv_trim_username']); 42 41 $this->s->put('kutrl_srv_trim_password',$_POST['kutrl_srv_trim_password']); 43 $this->s->setNameSpace('system');44 42 } 45 43 … … 63 61 public function testService() 64 62 { 65 if (empty($this->args['username']) || empty($this->args['password'])) return false; 66 if (time() < $this->api_rate_time + 300) return false; // bloc service within 5min on API rate limit 63 if (empty($this->args['username']) || empty($this->args['password'])) 64 { 65 $this->error->add(__('Service is not well configured.')); 66 return false; 67 } 68 if (time() < $this->api_rate_time + 300) // bloc service within 5min on API rate limit 69 { 70 $this->error->add(__('Prevent service rate limit.')); 71 return false; 72 } 67 73 68 74 if (!($rsp = self::post($this->url_api.'verify.xml',$this->args,true,true))) 69 75 { 76 $this->error->add(__('Service is unavailable.')); 70 77 return false; 71 78 } … … 76 83 return true; 77 84 } 85 $this->error->add(__('Authentication to service failed.')); 78 86 return false; 79 87 } … … 86 94 if (!($rsp = self::post($this->url_api.'trim_url.xml',$arg,true,true))) 87 95 { 96 $this->error->add(__('Service is unavailable.')); 88 97 return false; 89 98 } … … 94 103 if ($r['code'] == 425) 95 104 { 96 $this->s->setNameSpace('kUtRL');97 105 $this->s->put('kutrl_srv_trim_apiratetime',time()); 98 $this->s->setNameSpace('system'); 106 107 $this->error->add(__('Service rate limit exceeded.')); 99 108 return false; 100 109 } … … 108 117 return $rs; 109 118 } 119 $this->error->add(__('Unreadable service response.')); 110 120 return false; 111 121 } -
plugins/kUtRL/index.php
r1973 r2190 3 3 # This file is part of kUtRL, a plugin for Dotclear 2. 4 4 # 5 # Copyright (c) 2009 JC Denis and contributors5 # Copyright (c) 2009-2010 JC Denis and contributors 6 6 # jcdenis@gdwd.com 7 7 # … … 13 13 if (!defined('DC_CONTEXT_ADMIN')){return;} 14 14 15 # Check user perms 16 dcPage::check('admin'); 17 15 18 # Settings 16 $s =& $core->blog->settings; 17 $_active = (boolean) $s->kutrl_active; 18 $_admin_service = (string) $s->kutrl_admin_service; 19 $_tpl_service = (string) $s->kutrl_tpl_service; 20 $_wiki_service = (string) $s->kutrl_wiki_service; 21 $_limit_to_blog = (boolean) $s->kutrl_limit_to_blog; 22 $_tpl_passive = (boolean) $s->kutrl_tpl_passive; 23 $_admin_entry_default = (string) $s->kutrl_admin_entry_default; 19 $s = kutrlSettings($core); 24 20 25 # Vars 26 $img_green = '<img src="images/check-on.png" alt="ok" />'; 27 $img_red = '<img src="images/check-off.png" alt="fail" />'; 28 $default_tab = !$_active ? 'settings' : 'new'; 29 $default_tab = isset($_REQUEST['tab']) ? $_REQUEST['tab'] : $default_tab; 30 $msg = ''; 21 # Default values 22 $show_filters = false; 23 $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : ''; 31 24 32 # List filters and controls and params 33 require_once dirname(__FILE__).'/inc/lib.kutrl.index.list.php'; 25 $header = 26 dcPage::jsLoad('index.php?pf=kUtRL/js/main.js'). 27 '<script type="text/javascript">'."\n//<![CDATA[\n". 28 "jcToolsBox.prototype.text_wait = '".html::escapeJS(__('Please wait'))."';\n". 29 "\n//]]>\n</script>\n". 30 '<style type="text/css"> 31 .titleKutrl { margin: -20px; text-align:center; } 32 .titleKutrl a { border:none; text-decoration: none; } 33 </style>'; 34 34 35 $show_filters = false; 36 $urlsrv = !empty($_GET['urlsrv']) ? $_GET['urlsrv'] : ''; 37 $sortby = !empty($_GET['sortby']) ? $_GET['sortby'] : 'kut_dt'; 38 $order = !empty($_GET['order']) ? $_GET['order'] : 'desc'; 35 $footer = '<hr class="clear"/><p class="right"> 36 <a class="button" href="'.$p_url.'&part=setting" title="'.__('Configure extension').'">'.__('Settings').'</a> - 37 <a class="button" href="'.$p_url.'&part=service" title="'.__('Configure services').'">'.__('Services').'</a> - 38 kUtRL - '.$core->plugins->moduleInfo('kUtRL','version').' 39 <img alt="'.__('kUtRL').'" src="index.php?pf=kUtRL/icon.png" /> 40 </p> 41 <h2 class="titleKutrl"><a title="kUtRL, '.__('Links shortener').' | http://kutrl.fr" href="http://kutrl.fr"> 42 <img alt="kUtRL, '.__('Links shortener').' | http://kutrl.fr" src="index.php?pf=kUtRL/inc/img/kutrl_logo.png" /> 43 </a></h2> 44 '; 39 45 40 $page = !empty($_GET['page']) ? (integer) $_GET['page'] : 1; 41 $nb_per_page = 30; 42 if (!empty($_GET['nb']) && (integer) $_GET['nb'] > 0) { 43 if ($nb_per_page != $_GET['nb']) $show_filters = true; 44 $nb_per_page = (integer) $_GET['nb']; 46 # Messages 47 $msg = isset($_REQUEST['msg']) ? $_REQUEST['msg'] : ''; 48 $msg_list = array( 49 'savesetting' => __('Configuration successfully saved'), 50 'saveservice' => __('Services successfully updated'), 51 'createlink' => __('Link successfully shorten'), 52 'deletelinks' => __('Links successfully deleted') 53 ); 54 if (isset($msg_list[$msg])) { 55 $msg = sprintf('<p class="message">%s</p>',$msg_list[$msg]); 45 56 } 46 57 47 # Combos 48 $combo_action = array( 49 __('delete short link') => 'kutrl_list_delete' 50 ); 58 # Pages 59 $start_part = $s->kutrl_active ? 'links' : 'setting'; 60 $default_part = isset($_REQUEST['part']) ? $_REQUEST['part'] : $start_part; 51 61 52 $sortby_combo = array( 53 __('Date') => 'kut_dt', 54 __('Long link') => 'kut_url', 55 __('Short link') => 'kut_hash' 56 ); 62 if (!file_exists(dirname(__FILE__).'/inc/index.'.$default_part.'.php')) { 63 $default_part = 'setting'; 64 } 65 include dirname(__FILE__).'/inc/index.'.$default_part.'.php'; 57 66 58 $order_combo = array(59 __('Descending') => 'desc',60 __('Ascending') => 'asc'61 );62 63 $services_combo = array();64 foreach($core->kutrlServices as $service_id => $service)65 {66 $o = new $service($core);67 $services_combo[__($o->name)] = $o->id;68 }69 $ext_services_combo = array_merge(array(__('disabled')=>''),$services_combo);70 $lst_services_combo = array_merge(array('-'=>''),$services_combo);71 72 # Params for list73 $params = array();74 $params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page);75 76 if ($sortby != '' && in_array($sortby,$sortby_combo))77 {78 if ($urlsrv != '' && in_array($urlsrv,$lst_services_combo))79 $params['kut_type'] = $urlsrv;80 81 if ($order != '' && in_array($order,$order_combo))82 $params['order'] = $sortby.' '.$order;83 84 if ($sortby != 'kut_dt' || $order != 'desc' || $urlsrv != '')85 $show_filters = true;86 }87 88 $pager_base_url =89 $p_url.90 '&tab=list'.91 '&urlsrv='.$urlsrv.92 '&sortby='.$sortby.93 '&order='.$order.94 '&nb='.$nb_per_page.95 '&page=%s';96 97 # Delete links from list98 if (isset($_POST['action']) && $_POST['action'] == 'kutrl_list_delete')99 {100 try101 {102 $l = new kutrlLog($core);103 foreach($_POST['entries'] as $k => $id)104 {105 $rs = $l->getLogs(array('kut_id'=>$id));106 if ($rs->isEmpty()) continue;107 108 if(!isset($core->kutrlServices[$rs->kut_type])) continue;109 110 $o = new $core->kutrlServices[$rs->kut_type]($core);111 $o->remove($rs->kut_url);112 }113 114 $core->blog->triggerBlog();115 http::redirect($p_url.'&tab=list&urlsrv='.$urlsrv.'&sortby='.$sortby.'&order='.$order.'&nb='.$nb_per_page.'&page='.$page.'&updlist=1');116 }117 catch (Exception $e)118 {119 $core->error->add($e->getMessage());120 }121 }122 123 # Save settings124 if (!empty($_POST['settings']))125 {126 try127 {128 $_active = isset($_POST['_active']);129 $_admin_service = $_POST['_admin_service'];130 $_tpl_service = $_POST['_tpl_service'];131 $_wiki_service = $_POST['_wiki_service'];132 $_limit_to_blog = isset($_POST['_limit_to_blog']);133 $_tpl_passive = isset($_POST['_tpl_passive']);134 $_admin_entry_default = isset($_POST['_admin_entry_default']);135 136 $s->setNamespace('kUtRL');137 $s->put('kutrl_active',$_active);138 $s->put('kutrl_admin_service',$_admin_service);139 $s->put('kutrl_tpl_service',$_tpl_service);140 $s->put('kutrl_wiki_service',$_wiki_service);141 $s->put('kutrl_limit_to_blog',$_limit_to_blog);142 $s->put('kutrl_tpl_passive',$_tpl_passive);143 $s->put('kutrl_admin_entry_default',$_admin_entry_default);144 $s->setNamespace('system');145 146 $core->blog->triggerBlog();147 http::redirect($p_url.'&tab=settings&updsettings=1');148 }149 catch (Exception $e)150 {151 $core->error->add($e->getMessage());152 }153 }154 155 # Save services settings156 if (!empty($_POST['services']))157 {158 try159 {160 foreach($core->kutrlServices as $service_id => $service)161 {162 $o = new $service($core);163 $o->saveSettings();164 }165 $core->blog->triggerBlog();166 http::redirect($p_url.'&tab=services&updservices=1');167 }168 catch (Exception $e)169 {170 $core->error->add($e->getMessage());171 }172 }173 174 # Create a new link175 if (isset($_POST['str'])) {176 177 try {178 if (!isset($core->kutrlServices[$_admin_service]))179 throw new Exception('Unknow service');180 181 $kut = new $core->kutrlServices[$_admin_service]($core,$_limit_to_blog);182 183 $url = trim($core->con->escape($_POST['str']));184 $hash = empty($_POST['custom']) ? null : $_POST['custom'];185 186 if (empty($url))187 throw new Exception(__('There is nothing to shorten.'));188 189 if (!$kut->testService())190 throw new Exception(__('Service is not well configured.'));191 192 if (null !== $hash && !$kut->allow_customized_hash)193 throw new Exception(__('This service does not allowed custom hash.'));194 195 if (!$kut->isValidUrl($url))196 throw new Exception(__('This link is not a valid URL.'));197 198 if (!$kut->isLongerUrl($url))199 throw new Exception(__('This link is too short.'));200 201 if (!$kut->isProtocolUrl($url))202 throw new Exception(__('This type of link is not allowed.'));203 204 if ($_limit_to_blog && !$kut->isBlogUrl($url))205 throw new Exception(__('Short links are limited to this blog URL.'));206 207 if ($kut->isServiceUrl($url))208 throw new Exception(__('This link is already a short link.'));209 210 if (false !== ($rs = $kut->isKnowUrl($url)))211 {212 $url = $rs->url;213 $new_url = $kut->url_base.$rs->hash;214 $msg = sprintf(__('Short link for %s is %s'),html::escapeHTML($url),'<a href="'.$new_url.'">'.$new_url.'</a>');215 }216 else217 {218 if (false === ($rs = $kut->hash($url,$hash)))219 {220 throw new Exception(__('Failed to create short link.'));221 }222 else223 {224 $url = $rs->url;225 $new_url = $kut->url_base.$rs->hash;226 $msg = sprintf(__('Short link for %s is %s'),html::escapeHTML($url),'<a href="'.$new_url.'">'.$new_url.'</a>');227 }228 }229 }230 catch (Exception $e)231 {232 $core->error->add($e->getMessage());233 $tab = 'new';234 }235 }236 237 try238 {239 $log = new kutrlLog($core);240 241 $list_all = $log->getLogs($params);242 $list_counter = $log->getLogs($params,true)->f(0);243 $list_current = new kutrlIndexList($core,$list_all,$list_counter,$pager_base_url);244 }245 catch (Exception $e)246 {247 $core->error->add($e->getMessage());248 }249 250 if (!empty($msg)) $msg = '<p class="message">'.$msg.'</p>';251 $title = 'kUtRL, '.__('Links shortener');252 67 ?> 253 <html> 254 <head> 255 <title><?php echo __('kUtRL'); ?></title> 256 <?php echo 257 dcPage::jsToolBar(). 258 dcPage::jsLoad('js/_posts_list.js'). 259 dcPage::jsPageTabs($default_tab); 260 ?> 261 <script type="text/javascript"> 262 $(function() { 263 <?php 264 foreach($core->kutrlServices as $service_id => $service) 265 { 266 echo "\$('#".$service_id."-options-title').toggleWithLegend(\$('#".$service_id."-options-content'),{cookie:'dcx_kutrl_admin_".$service_id."_options'});\n"; 267 } 268 ?> 269 }); 270 </script> 271 <style type="text/css"> 272 .titleKutrl { 273 margin: -20px; 274 text-align:center; 275 } 276 .titleKutrl a { 277 border:none; 278 text-decoration: none; 279 } 280 </style> 281 </head> 282 <body> 283 <h2><?php echo $title; ?></h2> 284 <?php echo $msg; ?> 285 286 <div class="multi-part" id="new" title="<?php echo __('Shorten link'); ?>"> 287 288 <?php if (!isset($core->kutrlServices[$_admin_service])) { ?> 289 290 <p><?php echo __('You must set an admin service.'); ?></p> 291 292 <?php } else { $kut = new $core->kutrlServices[$_admin_service]($core,$_limit_to_blog); ?> 293 294 <form action="plugin.php" method="post"> 295 296 <p class="classic"><label for="str"> 297 <?php echo __('Long link:'); ?></label> 298 <?php echo form::field('str',100,255,''); ?> 299 </p> 300 301 <?php if ($kut->allow_customized_hash) { ?> 302 303 <p class="classic"><label for="custom"> 304 <?php echo __('Custom short link:'); ?> *</label> 305 <?php echo form::field('custom',50,32,''); ?> 306 </p> 307 <p class="form-note">* 308 <?php echo __('Only if you want a custom short link.'); ?> 309 </p> 310 311 <?php } ?> 312 313 <p class="classic"> 314 <input type="submit" name="submit" id="submit" 315 value="<?php echo __('Create short link'); ?>" /> 316 <?php echo 317 form::hidden(array('p'),'kUtRL'). 318 form::hidden(array('t'),'list'). 319 $core->formNonce(); 320 ?> 321 </p> 322 </form> 323 324 <?php } ?> 325 </div> 326 327 <div class="multi-part" id="settings" title="<?php echo __('Settings'); ?>"> 328 <form method="post" action="plugin.php"> 329 330 <?php 331 if (isset($_GET['updsettings'])) 332 echo '<p class="message">'.__('Configuration successfully updated').'</p>'; 333 ?> 334 335 <p><label class="classic"><?php echo 336 form::checkbox(array('_active'),'1',$_active).' '. 337 __('Enable plugin'); ?> 338 </label></p> 339 340 <p><label class="classic"><?php echo 341 form::checkbox(array('_limit_to_blog'),'1',$_limit_to_blog).' '. 342 __('Limit short link to current blog'); ?> 343 </label></p> 344 <p class="form-note"> 345 <?php echo __('Only link started with this blog URL could be shortened.'); ?> 346 </p> 347 348 <p><label class="classic"><?php echo 349 form::checkbox(array('_tpl_passive'),'1',$_tpl_passive).' '. 350 __('Passive mode'); ?> 351 </label></p> 352 <p class="form-note"> 353 <?php echo __('If this extension is disabled and the passive mode is enabled, "kutrl" tags will display long urls instead of nothing on templates.'); ?> 354 </p> 355 356 <p><label class="classic"><?php echo 357 form::checkbox(array('_admin_entry_default'),'1',$_admin_entry_default).' '. 358 __('Create short link for new entries'); ?> 359 </label></p> 360 <p class="form-note"> 361 <?php echo __('This can be changed on page of creation/edition of an entry.'); ?> 362 </p> 363 364 <p><label class="classic"> 365 <?php 366 echo __('Administration:').'<br />'; 367 echo form::combo(array('_admin_service'),$services_combo,$_admin_service); ?> 368 </label> 369 </p> 370 <p class="form-note"> 371 <?php echo __('Service to use in this admin page.'); ?> 372 </p> 373 374 <p><label class="classic"> 375 <?php 376 echo __('Templates:').'<br />'; 377 echo form::combo(array('_tpl_service'),$ext_services_combo,$_tpl_service); ?> 378 </label> 379 </p> 380 <p class="form-note"> 381 <?php echo __('Shorten links automatically when using template value like "EntryKutrl".'); ?> 382 </p> 383 384 <p><label class="classic"> 385 <?php 386 echo __('Contents:').'<br />'; 387 echo form::combo(array('_wiki_service'),$ext_services_combo,$_wiki_service); ?> 388 </label> 389 </p> 390 <p class="form-note"> 391 <?php echo __('Shorten links automatically found in contents using wiki synthax.'); ?> 392 </p> 393 394 <p> 395 <input type="submit" name="settings" value="<?php echo __('Save'); ?>" /> 396 <?php echo 397 form::hidden(array('p'),'kUtRL'). 398 form::hidden(array('tab'),'settings'). 399 $core->formNonce(); 400 ?> 401 </p> 402 </form> 403 404 </div> 405 406 <div class="multi-part" id="services" title="<?php echo __('Services'); ?>"> 407 <form method="post" action="plugin.php"> 408 409 <?php 410 if (isset($_GET['updservices'])) 411 echo '<p class="message">'.__('Configuration successfully updated.').'</p>'; 412 ?> 413 414 <?php 415 foreach($core->kutrlServices as $service_id => $service) 416 { 417 $o = new $service($core); 418 419 echo '<h2 id="'.$service_id.'-options-title">'.$o->name.'</h2>'; 420 421 if (isset($_GET['updservices'])) 422 { 423 echo '<p><em>'.( 424 $o->testService() ? 425 $img_green.' '.sprintf(__('%s API is well configured and runing.'),$o->name) : 426 $img_red.' '.sprintf(__('%s API is not well configured or not online.'),$o->name) 427 ).'</em></p>'; 428 } 429 echo '<div id="'.$service_id.'-options-content">'; 430 431 if (!empty($o->home)) 432 { 433 echo '<p><a title="'.__('homepage').'" href="'.$o->home.'">'.sprintf(__('Learn more about %s.'),$o->name).'</a></p>'; 434 } 435 436 $o->settingsForm(); 437 438 echo '</div>'; 439 } 440 ?> 441 442 <p> 443 <input type="submit" name="services" value="<?php echo __('Save'); ?>" /> 444 <?php echo 445 form::hidden(array('p'),'kUtRL'). 446 form::hidden(array('tab'),'services'). 447 $core->formNonce(); 448 ?> 449 </p> 450 </form> 451 </div> 452 453 <div class="multi-part" id="list" title="<?php echo __('Know links'); ?>"> 454 455 <?php 456 if (isset($_GET['updlist'])) 457 echo '<p class="message">'.__('List successfully updated.').'</p>'; 458 ?> 459 460 <?php if (!$show_filters) { 461 echo dcPage::jsLoad('js/filter-controls.js'); ?> 462 <p> 463 <a id="filter-control" class="form-control" href="#"> 464 <?php echo __('Filters'); ?></a> 465 </p> 466 <?php } ?> 467 468 <form action="<?php echo $p_url; ?>&tab=list" method="get" id="filters-form"> 469 <fieldset><legend><?php echo __('Filters'); ?></legend> 470 <div class="three-cols"> 471 <div class="col"> 472 <label> 473 <?php echo __('Service:').form::combo('urlsrv',$lst_services_combo,$urlsrv); ?> 474 </label> 475 </div> 476 <div class="col"> 477 <label> 478 <?php echo __('Order by:').form::combo('sortby',$sortby_combo,$sortby); ?> 479 </label> 480 <label> 481 <?php echo __('Sort:').form::combo('order',$order_combo,$order); ?> 482 </label> 483 </div> 484 <div class="col"> 485 <p> 486 <label class="classic"> 487 <?php echo form::field('nb',3,3,$nb_per_page).' '.__('Entries per page'); ?> 488 </label> 489 <input type="submit" value="<?php echo __('filter'); ?>" /> 490 <?php echo 491 form::hidden(array('p'),'kUtRL'). 492 form::hidden(array('tab'),'list'); 493 ?> 494 </p> 495 </div> 496 </div> 497 <br class="clear" /> 498 </fieldset> 499 </form> 500 <form action="plugin.php" method="post" id="form-actions"> 501 <?php $list_current->display($page,$nb_per_page,$pager_base_url); ?> 502 503 <div class="two-cols"> 504 <p class="col checkboxes-helpers"></p> 505 <p class="col right"> 506 <?php 507 echo __('Selected links action:').' '. 508 form::combo(array('action'),$combo_action). 509 '<input type="submit" value="'.__('ok').'" />'. 510 form::hidden(array('urlsrv'),$urlsrv). 511 form::hidden(array('sortby'),$sortby). 512 form::hidden(array('order'),$order). 513 form::hidden(array('page'),$page). 514 form::hidden(array('nb'),$nb_per_page). 515 form::hidden(array('p'),'kUtRL'). 516 form::hidden(array('tab'),'list'). 517 $core->formNonce(); 518 ?> 519 </p> 520 </div> 521 </form> 522 </div> 523 524 <?php echo dcPage::helpBlock('kUtRL'); ?> 525 526 <hr class="clear"/> 527 <p class="right"> 528 kUtRL - <?php echo $core->plugins->moduleInfo('kUtRL','version'); ?> 529 <img alt="kUtRL" src="index.php?pf=kUtRL/icon.png" /> 530 </p> 531 <h2 class="titleKutrl"><a title="<?php echo $title; ?> | http://kutrl.fr" href="http://kutrl.fr"><img alt="<?php echo $title; ?> | http://kutrl.fr" src="index.php?pf=kUtRL/inc/img/kutrl_logo.png" /></a></h2> 532 </body> 533 </html> 68 ?> -
plugins/kUtRL/locales/fr/main.lang.php
r1974 r2190 1 1 <?php 2 2 // Language: français 3 // Module: kUtRL - 0. 1.24 // Date: 20 09-12-12 12:48:163 // Module: kUtRL - 0.3 4 // Date: 2010-04-14 22:23:45 5 5 // Translated with dcTranslater - 1.3 6 6 7 #_admin.php:82 8 #index.php:55 9 $GLOBALS['__l10n']['Short link'] = 'Lien court'; 10 11 #_admin.php:97 12 #index.php:315 13 $GLOBALS['__l10n']['Create short link'] = 'Créer un lien court'; 14 15 #_admin.php:103 16 #index.php:304 17 $GLOBALS['__l10n']['Custom short link:'] = 'Lien court personnalisé :'; 18 19 #_admin.php:113 20 #_widgets.php:157 21 $GLOBALS['__l10n']['never followed'] = 'jamais suivi'; 22 23 #_admin.php:117 24 #_widgets.php:159 25 $GLOBALS['__l10n']['followed one time'] = 'suivi une fois'; 26 27 #_admin.php:121 28 #_widgets.php:161 29 $GLOBALS['__l10n']['followed %s times'] = 'suivi %s fois'; 30 31 #_admin.php:127 32 #_admin.php:254 33 #index.php:49 34 $GLOBALS['__l10n']['delete short link'] = 'Effacer un lien court'; 35 36 #_admin.php:253 37 $GLOBALS['__l10n']['create short link'] = 'créer un lien court'; 38 39 #_public.php:128 40 $GLOBALS['__l10n']['Failed to verify protected field.'] = 'Impossible de vérifier le champs de protection.'; 41 42 #_public.php:136 43 #index.php:190 44 $GLOBALS['__l10n']['Service is not well configured.'] = 'Le service n\'est pas correctement configuré.'; 45 46 #_public.php:144 47 $GLOBALS['__l10n']['This string is not a valid URL.'] = 'Cette chaine n\'est pas un lien valide.'; 48 49 #_public.php:152 50 #index.php:199 51 $GLOBALS['__l10n']['This link is too short.'] = 'Ce lien est trop court.'; 52 53 #_public.php:160 54 #index.php:202 55 $GLOBALS['__l10n']['This type of link is not allowed.'] = 'Ce type de lien n\'est pas autorisé.'; 56 57 #_public.php:169 58 #index.php:205 59 $GLOBALS['__l10n']['Short links are limited to this blog URL.'] = 'Les liens court sont limité à l\'URL de ce blog.'; 60 61 #_public.php:177 62 #index.php:208 63 $GLOBALS['__l10n']['This link is already a short link.'] = 'Ce lien est dèjà un lien court.'; 64 65 #_public.php:190 66 #_public.php:209 67 #index.php:214 68 #index.php:226 69 $GLOBALS['__l10n']['Short link for %s is %s'] = 'Le lien court pour %s est %s'; 70 71 #_public.php:201 72 #index.php:220 73 $GLOBALS['__l10n']['Failed to create short link.'] = 'Impossible de créer le lien court.'; 74 75 #_public.php:311 76 #_widgets.php:93 77 $GLOBALS['__l10n']['Write "%s" in next field to see if you are not a robot:'] = 'Ecrire "%s" dans le champs suivant :'; 78 7 #_admin.php:19 79 8 #_widgets.php:22 80 9 #default-templates/kutrl.html:48 81 #index.php:251 10 #inc/index.link.php:112 11 #inc/index.links.php:203 12 #inc/index.service.php:42 13 #inc/index.setting.php:87 14 #index.php:41 15 #index.php:42 82 16 $GLOBALS['__l10n']['Links shortener'] = 'Réducteur de liens'; 83 17 18 #_admin.php:85 19 #inc/index.links.php:118 20 $GLOBALS['__l10n']['Short link'] = 'Lien court'; 21 22 #_admin.php:102 23 $GLOBALS['__l10n']['Create short link'] = 'Créer un lien court'; 24 25 #_admin.php:108 26 #inc/index.link.php:136 27 $GLOBALS['__l10n']['Custom short link:'] = 'Lien court personnalisé :'; 28 29 #_admin.php:115 30 $GLOBALS['__l10n']['Send to Twitter status'] = 'Envoyer au status Twitter'; 31 32 #_admin.php:122 33 #_widgets.php:171 34 $GLOBALS['__l10n']['never followed'] = 'jamais suivi'; 35 36 #_admin.php:126 37 #_widgets.php:173 38 $GLOBALS['__l10n']['followed one time'] = 'suivi une fois'; 39 40 #_admin.php:130 41 #_widgets.php:175 42 $GLOBALS['__l10n']['followed %s times'] = 'suivi %s fois'; 43 44 #_admin.php:137 45 #_admin.php:268 46 $GLOBALS['__l10n']['delete short link'] = 'effacer un lien court'; 47 48 #_admin.php:267 49 $GLOBALS['__l10n']['create short link'] = 'créer un lien court'; 50 51 #_public.php:123 52 $GLOBALS['__l10n']['Failed to verify protected field.'] = 'Impossible de vérifier le champs de protection.'; 53 54 #_public.php:131 55 #inc/index.link.php:38 56 #inc/services/class.bilbolinks.service.php:64 57 #inc/services/class.bitly.service.php:76 58 #inc/services/class.local.service.php:89 59 #inc/services/class.trim.service.php:65 60 $GLOBALS['__l10n']['Service is not well configured.'] = 'Le service n\'est pas correctement configuré.'; 61 62 #_public.php:139 63 $GLOBALS['__l10n']['This string is not a valid URL.'] = 'Cette chaine n\'est pas un lien valide.'; 64 65 #_public.php:147 66 #inc/index.link.php:47 67 $GLOBALS['__l10n']['This link is too short.'] = 'Ce lien est trop court.'; 68 69 #_public.php:155 70 #inc/index.link.php:50 71 $GLOBALS['__l10n']['This type of link is not allowed.'] = 'Ce type de lien n\'est pas autorisé.'; 72 73 #_public.php:164 74 #inc/index.link.php:53 75 $GLOBALS['__l10n']['Short links are limited to this blog URL.'] = 'Les liens courts sont limités à l\'URL de ce blog.'; 76 77 #_public.php:172 78 #inc/index.link.php:56 79 $GLOBALS['__l10n']['This link is already a short link.'] = 'Ce lien est dèjà un lien court.'; 80 81 #_public.php:185 82 #_public.php:204 83 #inc/index.link.php:67 84 #inc/index.link.php:87 85 $GLOBALS['__l10n']['Short link for %s is %s'] = 'Le lien court pour %s est %s'; 86 87 #_public.php:196 88 $GLOBALS['__l10n']['Failed to create short link.'] = 'Impossible de créer le lien court.'; 89 90 #_public.php:213 91 #_public.php:432 92 #inc/lib.wiki.kutrl.php:78 93 $GLOBALS['__l10n']['public'] = 'publique'; 94 95 #_public.php:314 96 #_widgets.php:105 97 $GLOBALS['__l10n']['Rewrite "%s" in next field to show that you are not a robot:'] = 'Recopier "%s" dans le champs suivant pour montrer que vous n\'êtes pas une machine :'; 98 84 99 #_widgets.php:26 85 #index.php:28686 100 $GLOBALS['__l10n']['Shorten link'] = 'Réduire un lien'; 87 101 88 102 #_widgets.php:35 89 103 #_widgets.php:39 90 $GLOBALS['__l10n']['Top mini links'] = 'Top des mini liens'; 104 $GLOBALS['__l10n']['Top of short links'] = 'Top des liens courts'; 105 106 #_widgets.php:42 107 $GLOBALS['__l10n']['Text: (Use wildcard %rank%, %hash%, %url%, %count%, %counttext%)'] = 'Texte : (Ustiliser les jokers %rank%, %hash%, %url%, %count%, %counttext%)'; 91 108 92 109 #_widgets.php:45 93 $GLOBALS['__l10n'][' Link length (if truncate)'] = 'Longueur du lien(si tronqué)';110 $GLOBALS['__l10n']['URL length (if truncate)'] = 'Longueur de l\'URL (si tronqué)'; 94 111 95 112 #_widgets.php:49 … … 100 117 101 118 #_widgets.php:51 102 $GLOBALS['__l10n']['Custom URL'] = 'URL personalisé'; 103 104 #_widgets.php:61 119 $GLOBALS['__l10n']['Custom URL'] = 'URL personnalisé'; 120 121 #_widgets.php:52 122 $GLOBALS['__l10n']['Semi-custom'] = 'Semi-personnalisé'; 123 124 #_widgets.php:56 125 $GLOBALS['__l10n']['Semi-custom prefix: (only if you want limit to a particular prefix)'] = 'Préfixe des liens semi-personnalisé : (Seulement si vous voulez limiter à un préfixe particulier)'; 126 127 #_widgets.php:60 128 $GLOBALS['__l10n']['Sort by:'] = 'Trier par :'; 129 130 #_widgets.php:62 131 $GLOBALS['__l10n']['Rank'] = 'Rang'; 132 133 #_widgets.php:63 134 #inc/index.links.php:34 135 $GLOBALS['__l10n']['Hash'] = 'Hash'; 136 137 #_widgets.php:73 105 138 $GLOBALS['__l10n']['Limit:'] = 'Limite :'; 106 139 107 #_widgets.php: 64140 #_widgets.php:76 108 141 $GLOBALS['__l10n']['Hide no followed links'] = 'Cacher les liens non suivis'; 109 142 110 #_widgets.php: 89143 #_widgets.php:101 111 144 #default-templates/kutrl.html:55 112 #in dex.php:297145 #inc/index.link.php:129 113 146 $GLOBALS['__l10n']['Long link:'] = 'Lien long :'; 114 147 115 #_widgets.php: 96148 #_widgets.php:108 116 149 #default-templates/kutrl.html:62 117 150 $GLOBALS['__l10n']['Create'] = 'Créer'; 118 151 119 #inc/lib.kutrl.activityreport.php:16 152 #inc/index.link.php:35 153 $GLOBALS['__l10n']['There is nothing to shorten.'] = 'I n\'y a rien à réduire.'; 154 155 #inc/index.link.php:41 156 $GLOBALS['__l10n']['This service does not allowed custom hash.'] = 'Ce service n\'accepte pas les liens court personnalisés.'; 157 158 #inc/index.link.php:44 159 $GLOBALS['__l10n']['This link is not a valid URL.'] = 'Ce lien n\'est pas valide.'; 160 161 #inc/index.link.php:59 162 $GLOBALS['__l10n']['This custom short url is already taken.'] = 'Ce lien court personnalisé est déjà pris.'; 163 164 #inc/index.link.php:79 165 $GLOBALS['__l10n']['Failed to create short link. This could be caused by a service failure.'] = 'Impossible de créé un lien court. Ceci peut être causé par un problème du service.'; 166 167 #inc/index.link.php:116 168 #inc/index.links.php:207 169 #inc/index.service.php:52 170 #inc/index.setting.php:97 171 $GLOBALS['__l10n']['New link'] = 'Nouveau lien'; 172 173 #inc/index.link.php:121 174 $GLOBALS['__l10n']['You must set an admin service.'] = 'Vous devez définir un service admin.'; 175 176 #inc/index.link.php:128 177 $GLOBALS['__l10n']['Shorten link using service "%s"'] = 'Raccourcir un lien en utilisant le service "%s"'; 178 179 #inc/index.link.php:138 180 $GLOBALS['__l10n']['Only if you want a custom short link.'] = 'Uniquement si vous souhaitez un lien court personnalisé.'; 181 182 #inc/index.link.php:142 183 $GLOBALS['__l10n']['You can use "bob!!" if you want a semi-custom link, it starts with "bob" and "!!" will be replaced by an increment value.'] = 'Vous pouvez utiliser "bob!!" si vous souhaitez un lien semi-personnalisé, il commencera par "bob" et "!!" sera remplacé par une valeur incrémentale.'; 184 185 #inc/index.links.php:23 186 $GLOBALS['__l10n']['No short link'] = 'Pas de lien court'; 187 188 #inc/index.links.php:37 189 $GLOBALS['__l10n']['Service'] = 'Service'; 190 191 #inc/index.links.php:117 192 $GLOBALS['__l10n']['Long link'] = 'Lien long'; 193 194 #inc/index.links.php:132 195 #inc/index.setting.php:82 196 $GLOBALS['__l10n']['disabled'] = 'Désactivé'; 197 198 #inc/index.links.php:220 199 $GLOBALS['__l10n']['Service:'] = 'Service :'; 200 201 #inc/index.links.php:250 202 $GLOBALS['__l10n']['Delete selected short links'] = 'Effacer les liens sélectionnés'; 203 204 #inc/index.service.php:51 205 #index.php:37 206 $GLOBALS['__l10n']['Services'] = 'Services'; 207 208 #inc/index.service.php:66 209 $GLOBALS['__l10n']['%s API is well configured and runing.'] = 'L\'API %s est correctement configurée et est fonctionnelle.'; 210 211 #inc/index.service.php:67 212 $GLOBALS['__l10n']['Failed to test %s API.'] = 'Impossible de tester l\'API %s.'; 213 214 #inc/index.service.php:76 215 $GLOBALS['__l10n']['homepage'] = 'page d\'accueil'; 216 217 #inc/index.service.php:76 218 $GLOBALS['__l10n']['Learn more about %s.'] = 'En savoir plus à propos de %s.'; 219 220 #inc/index.setting.php:96 221 #index.php:36 222 $GLOBALS['__l10n']['Settings'] = 'Paramètres'; 223 224 #inc/index.setting.php:101 225 $GLOBALS['__l10n']['Plugin activation'] = 'Activation de l\'extension'; 226 227 #inc/index.setting.php:104 228 $GLOBALS['__l10n']['Enable plugin'] = 'Activer l\'extension'; 229 230 #inc/index.setting.php:107 231 $GLOBALS['__l10n']['General rules'] = 'Réglages'; 232 233 #inc/index.setting.php:110 234 $GLOBALS['__l10n']['Limit short link to current blog'] = 'Limiter les liens court à ce blog'; 235 236 #inc/index.setting.php:111 237 $GLOBALS['__l10n']['Only link started with this blog URL could be shortened.'] = 'Uniquement les liens commençant par l\'URL de ce blog pourront être réduits.'; 238 239 #inc/index.setting.php:114 240 $GLOBALS['__l10n']['Passive mode'] = 'Mode passif'; 241 242 #inc/index.setting.php:115 243 $GLOBALS['__l10n']['If this extension is disabled and the passive mode is enabled, "kutrl" tags will display long urls instead of nothing on templates.'] = 'Si cette extension est désactivée et que le mode passif est activé, les balises "kutrl" afficheront les longues URL au lieu de rien.'; 244 245 #inc/index.setting.php:118 246 $GLOBALS['__l10n']['Create short link for new entries'] = 'Créer un lien court pour les nouveaux billets'; 247 248 #inc/index.setting.php:119 249 $GLOBALS['__l10n']['This can be changed on page of creation/edition of an entry.'] = 'Ceci peut être changé sur la page d\'édition / création d\'un billet.'; 250 251 #inc/index.setting.php:122 252 $GLOBALS['__l10n']['Default services'] = 'Services par défaut'; 253 254 #inc/index.setting.php:128 255 $GLOBALS['__l10n']['Administration:'] = 'Administration :'; 256 257 #inc/index.setting.php:131 258 $GLOBALS['__l10n']['Service to use in this admin page and on edit page of an entry.'] = 'Service à utiliser sur cette page d\'administration ou sur la page d\'édition d\'un billet.'; 259 260 #inc/index.setting.php:137 261 $GLOBALS['__l10n']['Templates:'] = 'Templates :'; 262 263 #inc/index.setting.php:140 264 $GLOBALS['__l10n']['Shorten links automatically when using template value like "EntryKutrl".'] = 'Réduit automatiquement les liens des templates utilisant les balises tels que "EntryKutrl".'; 265 266 #inc/index.setting.php:146 267 $GLOBALS['__l10n']['Contents:'] = 'Contenus :'; 268 269 #inc/index.setting.php:149 270 $GLOBALS['__l10n']['Shorten links automatically found in contents using wiki synthax.'] = 'Réduit automatiquement les liens des contenus utilisant la syntax wiki.'; 271 272 #inc/index.setting.php:159 273 $GLOBALS['__l10n']['Use wildcard %L for short URL, %B for blog name, %U for user name.'] = 'Utiliser les jokers %L pour le lien court, %B pour le nom du blog, %U pour l\'utilisateur.'; 274 275 #inc/index.setting.php:161 276 $GLOBALS['__l10n']['Activation'] = 'Activation'; 277 278 #inc/index.setting.php:162 279 $GLOBALS['__l10n']['Send message when short url is created on:'] = 'Envoyer un message lorsqu\'un lien court est créé sur :'; 280 281 #inc/index.setting.php:165 282 $GLOBALS['__l10n']['administration form'] = 'le formulaire de la page d\'administration'; 283 284 #inc/index.setting.php:168 285 $GLOBALS['__l10n']['public form'] = 'le forumlaire publique'; 286 287 #inc/index.setting.php:171 288 $GLOBALS['__l10n']['template'] = 'le thème'; 289 290 #inc/index.setting.php:174 291 $GLOBALS['__l10n']['content'] = 'le contenu'; 292 293 #inc/lib.dc.twitter.php:169 294 $GLOBALS['__l10n']['Twitter account'] = 'Compte Twitter'; 295 296 #inc/lib.dc.twitter.php:170 297 #inc/lib.dc.twitter.php:178 298 #inc/services/class.bitly.service.php:51 299 #inc/services/class.trim.service.php:47 300 $GLOBALS['__l10n']['Login:'] = 'Identifiant :'; 301 302 #inc/lib.dc.twitter.php:176 303 #inc/lib.dc.twitter.php:184 304 $GLOBALS['__l10n']['Type a password only to change old one.'] = 'Entrer un mot de passe uniquement pour changer l\'ancien.'; 305 306 #inc/lib.dc.twitter.php:177 307 $GLOBALS['__l10n']['Identi.ca account'] = 'Compte Identi.ca'; 308 309 #inc/lib.dc.twitter.php:185 310 $GLOBALS['__l10n']['Message'] = 'Message'; 311 312 #inc/lib.dc.twitter.php:301 313 $GLOBALS['__l10n']['User is not set.'] = 'L\'utilisateur est pas renseigné.'; 314 315 #inc/lib.dc.twitter.php:309 316 $GLOBALS['__l10n']['Nothing to send.'] = 'Il n\'y a rien à envoyer.'; 317 318 #inc/lib.dc.twitter.php:333 319 $GLOBALS['__l10n']['Failed to send message (%s)'] = 'Impossible d\'envoyer le message (%s)'; 320 321 #inc/lib.dc.twitter.php:393 322 $GLOBALS['__l10n']['Failed to get short url (%s)'] = 'Impossible de récupérer le lien court (%s)'; 323 324 #inc/lib.dc.twitter.php:399 325 $GLOBALS['__l10n']['Failed to get short url'] = 'Impossible de récupérer le lien court'; 326 327 #inc/lib.kutrl.activityreport.php:17 120 328 $GLOBALS['__l10n']['Plugin kUtRL'] = 'Extension kUtRL'; 121 329 122 #inc/lib.kutrl.activityreport.php:2 2330 #inc/lib.kutrl.activityreport.php:23 123 331 $GLOBALS['__l10n']['Short link creation'] = 'Création de lien court'; 124 332 125 #inc/lib.kutrl.activityreport.php:2 3333 #inc/lib.kutrl.activityreport.php:24 126 334 $GLOBALS['__l10n']['New short link of type "%s" and hash "%s" was created.'] = 'Un nouveau lien court de type "%s" et de hash "%s" a été créé.'; 127 335 128 #inc/lib.kutrl.index.list.php:20 129 $GLOBALS['__l10n']['No short link'] = 'Pas de lien court'; 130 131 #inc/lib.kutrl.index.list.php:31 132 $GLOBALS['__l10n']['Service'] = 'Service'; 133 134 #inc/lib.kutrl.index.list.php:32 135 $GLOBALS['__l10n']['Hash'] = 'Hash'; 136 137 #inc/lib.kutrl.srv.php:47 336 #inc/lib.kutrl.srv.php:52 138 337 $GLOBALS['__l10n']['There is nothing to configure for this service.'] = 'Il n\'y a rien à configurer pour ce service.'; 139 338 140 #inc/lib.wiki.kutrl.php:7 9339 #inc/lib.wiki.kutrl.php:73 141 340 $GLOBALS['__l10n']['%s (Shorten with %s)'] = '% (réduit avec %s)'; 142 341 143 #inc/services/class.bilbolinks.service.php:5 4342 #inc/services/class.bilbolinks.service.php:52 144 343 $GLOBALS['__l10n']['Url of the service:'] = 'URL du service :'; 145 344 146 #inc/services/class.bilbolinks.service.php:5 8345 #inc/services/class.bilbolinks.service.php:56 147 346 $GLOBALS['__l10n']['This is the root URL of the "bilbolinks" service you want to use. Ex: "http://tux-pla.net/".'] = 'Ceci est l\'URL du service bilbolinks que vous souhaitez utiliser. Ex: "http://tux-pla.net/".'; 148 347 149 #inc/services/class.bitly.service.php:54 150 #inc/services/class.trim.service.php:49 151 $GLOBALS['__l10n']['Login:'] = 'Login :'; 152 153 #inc/services/class.bitly.service.php:58 348 #inc/services/class.bilbolinks.service.php:71 349 #inc/services/class.bilbolinks.service.php:83 350 #inc/services/class.isgd.service.php:39 351 #inc/services/class.isgd.service.php:51 352 #inc/services/class.shortto.service.php:39 353 #inc/services/class.shortto.service.php:51 354 #inc/services/class.trim.service.php:76 355 #inc/services/class.trim.service.php:96 356 $GLOBALS['__l10n']['Service is unavailable.'] = 'Le service n\'est pas disponible.'; 357 358 #inc/services/class.bilbolinks.service.php:88 359 #inc/services/class.trim.service.php:107 360 $GLOBALS['__l10n']['Service rate limit exceeded.'] = 'La limitation d\'envoie au service est atteinte.'; 361 362 #inc/services/class.bitly.service.php:55 154 363 $GLOBALS['__l10n']['This is your login to sign up to bit.ly.'] = 'Ceci est votre login d\'inscription sur bit.ly.'; 155 364 156 #inc/services/class.bitly.service.php: 60365 #inc/services/class.bitly.service.php:57 157 366 $GLOBALS['__l10n']['API Key:'] = 'Clé API :'; 158 367 159 #inc/services/class.bitly.service.php:6 4368 #inc/services/class.bitly.service.php:61 160 369 $GLOBALS['__l10n']['This is your personnal bit.ly API key. You can find it on your account page.'] = 'Ceci est votre clé personnelle pour l\'API bit.ly. Vous pouvez la trouver sur la page de vore compte.'; 161 370 371 #inc/services/class.bitly.service.php:65 372 $GLOBALS['__l10n']['Publish history'] = 'Publier l\'historique'; 373 162 374 #inc/services/class.bitly.service.php:68 163 $GLOBALS['__l10n']['Publish history'] = 'Publier l\'historique';164 165 #inc/services/class.bitly.service.php:71166 375 $GLOBALS['__l10n']['This publish all short links on your bit.ly public page.'] = 'Ceci publie tous vos liens sur votre page public bit.ly'; 167 376 168 #inc/services/class.local.service.php:46 377 #inc/services/class.bitly.service.php:84 378 #inc/services/class.bitly.service.php:106 379 $GLOBALS['__l10n']['Failed to call service.'] = 'Impossible d\'appeler le service.'; 380 381 #inc/services/class.bitly.service.php:93 382 #inc/services/class.bitly.service.php:115 383 $GLOBALS['__l10n']['An error occured with code %s and message "%s"'] = 'Une erreur est survenu avec le code "%s" et le message "%s"'; 384 385 #inc/services/class.local.service.php:44 169 386 $GLOBALS['__l10n']['This service use your own Blog to shorten and serve URL.'] = 'Ce service utilise votre propre blog pour réduire et servir des liens.'; 170 387 171 #inc/services/class.local.service.php:4 7388 #inc/services/class.local.service.php:45 172 389 $GLOBALS['__l10n']['This means that with this service short links start with "%s".'] = 'Cela signifie qu\'avec ce service vos liens courts commencent par "%s".'; 173 390 174 #inc/services/class.local.service.php: 50391 #inc/services/class.local.service.php:48 175 392 $GLOBALS['__l10n']['You can use Dotclear\'s plugin called myUrlHandlers to change short links prefix on your blog.'] = 'Vous pouvez utiliser l\'extension myUrlHandlers pour Dotclear afin de changer le prefix de vos liens courts depuis votre blog.'; 176 393 394 #inc/services/class.local.service.php:54 395 $GLOBALS['__l10n']['We recommand that you use a rewrite engine in order to remove \'index.php\' from your blog\'s URL.'] = 'Nous vous recommandons d\'utiliser la réécriture d\'URL pour supprimer \'index.php de l\'URL de votre blog.'; 396 177 397 #inc/services/class.local.service.php:56 178 $GLOBALS['__l10n']['We recommand that you use a rewrite engine in order to remove \'index.php\' from your blog\'s URL.'] = 'Nous vous recommandons d\'utiliser la réécriture d\'URL pour supprimer \'index.php de l\'URL de votre blog.';179 180 #inc/services/class.local.service.php:58181 398 $GLOBALS['__l10n']['You can find more about this on the Dotclear\'s documentation.'] = 'Vous trouverez plus d\'information à ce sujet dans la documentation Dotclear.'; 182 399 183 #inc/services/class.local.service.php:6 5400 #inc/services/class.local.service.php:63 184 401 $GLOBALS['__l10n']['Allowed protocols:'] = 'Protocoles autorisés :'; 185 402 186 #inc/services/class.local.service.php: 70403 #inc/services/class.local.service.php:68 187 404 $GLOBALS['__l10n']['Use comma seperated list like: "http:,https:,ftp:"'] = 'Utiliser une virgule pour séparer la liste des protocoles. Ex: "http:,https:,ftp:"'; 188 405 189 #inc/services/class.local.service.php:7 5406 #inc/services/class.local.service.php:73 190 407 $GLOBALS['__l10n']['Enable public page for visitors to shorten links'] = 'Activer la page publique pour que les visiteurs puissent réduire des liens'; 191 408 192 #inc/services/class.local.service.php:7 8409 #inc/services/class.local.service.php:76 193 410 $GLOBALS['__l10n']['CSS:'] = 'CSS :'; 194 411 195 #inc/services/class.local.service.php: 81412 #inc/services/class.local.service.php:79 196 413 $GLOBALS['__l10n']['You can add here special cascading style sheet. Body of page has class "dc-kutrl" and widgets have class "shortenkutrlwidget" and "rankkutrlwidget".'] = 'Vous pouvez ajouter des styles ici. La balise "body" a la class "dc-kutrl" et les widgets ont les class "shortenkutrlwidget" et "rankkutrlwidget".'; 197 414 198 #inc/services/class.trim.service.php:53 415 #inc/services/class.local.service.php:120 416 $GLOBALS['__l10n']['Custom short link is already taken.'] = 'Le lien court personnalisé est déjà pris.'; 417 418 #inc/services/class.local.service.php:130 419 $GLOBALS['__l10n']['Custom short link is not valid.'] = 'Le lien court personnalisé n\'est pas valide.'; 420 421 #inc/services/class.local.service.php:141 422 $GLOBALS['__l10n']['Failed to save link.'] = 'Impossible d\'enregistrer le lien.'; 423 424 #inc/services/class.trim.service.php:51 199 425 $GLOBALS['__l10n']['This is your login to sign up to tr.im.'] = 'Ceci est votre login d\'inscription sur tr.im.'; 200 426 201 #inc/services/class.trim.service.php:5 9427 #inc/services/class.trim.service.php:57 202 428 $GLOBALS['__l10n']['This is your password to sign up to tr.im.'] = 'Ceci est votre mot de passe d\'inscription sur tr.im.'; 203 429 204 #index.php:54 205 $GLOBALS['__l10n']['Long link'] = 'Lien long'; 206 207 #index.php:69 208 $GLOBALS['__l10n']['disabled'] = 'Désactivé'; 209 210 #index.php:187 211 $GLOBALS['__l10n']['There is nothing to shorten.'] = 'I n\'y a rien à réduire.'; 212 213 #index.php:193 214 $GLOBALS['__l10n']['This service does not allowed custom hash.'] = 'Ce service n\'accepte pas les liens court personnalisés.'; 215 216 #index.php:196 217 $GLOBALS['__l10n']['This link is not a valid URL.'] = 'Ce lien n\'est pas valide.'; 218 219 #index.php:290 220 $GLOBALS['__l10n']['You must set an admin service.'] = 'Vous devez définir un service admin.'; 221 222 #index.php:308 223 $GLOBALS['__l10n']['Only if you want a custom short link.'] = 'Uniquement si vous souhaitez un lien court personnalisé.'; 224 225 #index.php:327 226 $GLOBALS['__l10n']['Settings'] = 'Paramètres'; 227 228 #index.php:337 229 $GLOBALS['__l10n']['Enable plugin'] = 'Activer l\'extension'; 230 231 #index.php:342 232 $GLOBALS['__l10n']['Limit short link to current blog'] = 'Limiter les liens court à ce blog'; 233 234 #index.php:345 235 $GLOBALS['__l10n']['Only link started with this blog URL could be shortened.'] = 'Uniquement les liens commençant par l\'URL de ce blog pourront être réduits.'; 236 237 #index.php:350 238 $GLOBALS['__l10n']['Passive mode'] = 'Mode passif'; 239 240 #index.php:353 241 $GLOBALS['__l10n']['If this extension is disabled and the passive mode is enabled, "kutrl" tags will display long urls instead of nothing on templates.'] = 'Si cette extension est désactivée et que le mode passif est activé, les balises "kutrl" affichreront les longues URL au lieu de rien.'; 242 243 #index.php:358 244 $GLOBALS['__l10n']['Create short link for new entries'] = 'Créer un lien court pour les nouveaux billets'; 245 246 #index.php:361 247 $GLOBALS['__l10n']['This can be changed on page of creation/edition of an entry.'] = 'Ceci peut être changé sur la page d\'édition / création d\'un billet.'; 248 249 #index.php:366 250 $GLOBALS['__l10n']['Administration:'] = 'Administration :'; 251 252 #index.php:371 253 $GLOBALS['__l10n']['Service to use in this admin page.'] = 'Service a utiliser pour réduire des liens depuis cette page.'; 254 255 #index.php:376 256 $GLOBALS['__l10n']['Templates:'] = 'Templates :'; 257 258 #index.php:381 259 $GLOBALS['__l10n']['Shorten links automatically when using template value like "EntryKutrl".'] = 'Réduit automatiquement les liens des templates utilisant les balises tels que "EntryKutrl".'; 260 261 #index.php:386 262 $GLOBALS['__l10n']['Contents:'] = 'Contenus :'; 263 264 #index.php:391 265 $GLOBALS['__l10n']['Shorten links automatically found in contents using wiki synthax.'] = 'Réduit automatiquement les liens des contenus utilisant la syntax wiki.'; 266 267 #index.php:406 268 $GLOBALS['__l10n']['Services'] = 'Services'; 269 270 #index.php:411 271 $GLOBALS['__l10n']['Configuration successfully updated.'] = 'La configuration a été correctement enregistrée.'; 272 273 #index.php:425 274 $GLOBALS['__l10n']['%s API is well configured and runing.'] = 'L\'API %s est correctement configurée et est fonctionnelle.'; 275 276 #index.php:426 277 $GLOBALS['__l10n']['%s API is not well configured or not online.'] = 'L\'API n\'est pas correctement configurée ou est hors ligne.'; 278 279 #index.php:433 280 $GLOBALS['__l10n']['homepage'] = 'page d\'accueil'; 281 282 #index.php:433 283 $GLOBALS['__l10n']['Learn more about %s.'] = 'En savoir plus à propos de %s.'; 284 285 #index.php:453 286 $GLOBALS['__l10n']['Know links'] = 'Liens connus'; 287 288 #index.php:457 289 $GLOBALS['__l10n']['List successfully updated.'] = 'Liste mise à jour avec succès.'; 290 291 #index.php:473 292 $GLOBALS['__l10n']['Service:'] = 'Service :'; 293 294 #index.php:507 295 $GLOBALS['__l10n']['Selected links action:'] = 'Action sur les liens selectionnés :'; 430 #inc/services/class.trim.service.php:70 431 $GLOBALS['__l10n']['Prevent service rate limit.'] = 'Prévention de la limitation d\'envoie du service.'; 432 433 #inc/services/class.trim.service.php:85 434 $GLOBALS['__l10n']['Authentication to service failed.'] = 'Authentification au service échoué.'; 435 436 #inc/services/class.trim.service.php:119 437 $GLOBALS['__l10n']['Unreadable service response.'] = 'La réponse du service n\'est pas lisible.'; 438 439 #index.php:28 440 $GLOBALS['__l10n']['Please wait'] = 'Veuillez patienter'; 441 442 #index.php:36 443 $GLOBALS['__l10n']['Configure extension'] = 'Configurer l\'extension'; 444 445 #index.php:37 446 $GLOBALS['__l10n']['Configure services'] = 'Configurer les services'; 447 448 #index.php:49 449 $GLOBALS['__l10n']['Configuration successfully saved'] = 'Configuration sauvegardée avec succès'; 450 451 #index.php:50 452 $GLOBALS['__l10n']['Services successfully updated'] = 'Services mises à jour avec succès'; 453 454 #index.php:51 455 $GLOBALS['__l10n']['Link successfully shorten'] = 'Lien raccourcie avec succès'; 456 457 #index.php:52 458 $GLOBALS['__l10n']['Links successfully deleted'] = 'Liens supprimés avec succès'; 296 459 297 460 ?> -
plugins/kUtRL/locales/fr/main.po
r1974 r2190 1 1 # Language: français 2 # Module: kUtRL - 0. 1.23 # Date: 20 09-12-12 12:48:162 # Module: kUtRL - 0.3 3 # Date: 2010-04-14 22:23: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: kUtRL 0. 1.2\n"9 "Project-Id-Version: kUtRL 0.3\n" 10 10 "POT-Creation-Date: \n" 11 "PO-Revision-Date: 20 09-12-12T12:48:16+00:00\n"11 "PO-Revision-Date: 2010-04-14T22:23:46+00:00\n" 12 12 "Last-Translator: JC Denis\n" 13 13 "Language-Team: \n" … … 15 15 "Content-Transfer-Encoding: 8bit\n" 16 16 17 #: _admin.php:82 18 #: index.php:55 17 #: _admin.php:19 18 #: _widgets.php:22 19 #: default-templates/kutrl.html:48 20 #: inc/index.link.php:112 21 #: inc/index.links.php:203 22 #: inc/index.service.php:42 23 #: inc/index.setting.php:87 24 #: index.php:41 25 #: index.php:42 26 msgid "Links shortener" 27 msgstr "Réducteur de liens" 28 29 #: _admin.php:85 30 #: inc/index.links.php:118 19 31 msgid "Short link" 20 32 msgstr "Lien court" 21 33 22 #: _admin.php:97 23 #: index.php:315 34 #: _admin.php:102 24 35 msgid "Create short link" 25 36 msgstr "Créer un lien court" 26 37 27 #: _admin.php:10 328 #: in dex.php:30438 #: _admin.php:108 39 #: inc/index.link.php:136 29 40 msgid "Custom short link:" 30 41 msgstr "Lien court personnalisé :" 31 42 32 #: _admin.php:113 33 #: _widgets.php:157 43 #: _admin.php:115 44 msgid "Send to Twitter status" 45 msgstr "Envoyer au status Twitter" 46 47 #: _admin.php:122 48 #: _widgets.php:171 34 49 msgid "never followed" 35 50 msgstr "jamais suivi" 36 51 37 #: _admin.php:1 1738 #: _widgets.php:1 5952 #: _admin.php:126 53 #: _widgets.php:173 39 54 msgid "followed one time" 40 55 msgstr "suivi une fois" 41 56 42 #: _admin.php:1 2143 #: _widgets.php:1 6157 #: _admin.php:130 58 #: _widgets.php:175 44 59 msgid "followed %s times" 45 60 msgstr "suivi %s fois" 46 61 47 #: _admin.php:127 48 #: _admin.php:254 49 #: index.php:49 62 #: _admin.php:137 63 #: _admin.php:268 50 64 msgid "delete short link" 51 msgstr " Effacer un lien court"52 53 #: _admin.php:2 5365 msgstr "effacer un lien court" 66 67 #: _admin.php:267 54 68 msgid "create short link" 55 69 msgstr "créer un lien court" 56 70 57 #: _public.php:12 871 #: _public.php:123 58 72 msgid "Failed to verify protected field." 59 73 msgstr "Impossible de vérifier le champs de protection." 60 74 61 #: _public.php:136 62 #: index.php:190 75 #: _public.php:131 76 #: inc/index.link.php:38 77 #: inc/services/class.bilbolinks.service.php:64 78 #: inc/services/class.bitly.service.php:76 79 #: inc/services/class.local.service.php:89 80 #: inc/services/class.trim.service.php:65 63 81 msgid "Service is not well configured." 64 82 msgstr "Le service n'est pas correctement configuré." 65 83 66 #: _public.php:1 4484 #: _public.php:139 67 85 msgid "This string is not a valid URL." 68 86 msgstr "Cette chaine n'est pas un lien valide." 69 87 70 #: _public.php:1 5271 #: in dex.php:19988 #: _public.php:147 89 #: inc/index.link.php:47 72 90 msgid "This link is too short." 73 91 msgstr "Ce lien est trop court." 74 92 75 #: _public.php:1 6076 #: in dex.php:20293 #: _public.php:155 94 #: inc/index.link.php:50 77 95 msgid "This type of link is not allowed." 78 96 msgstr "Ce type de lien n'est pas autorisé." 79 97 80 #: _public.php:16 981 #: in dex.php:20598 #: _public.php:164 99 #: inc/index.link.php:53 82 100 msgid "Short links are limited to this blog URL." 83 msgstr "Les liens court sont limitéà l'URL de ce blog."84 85 #: _public.php:17 786 #: in dex.php:208101 msgstr "Les liens courts sont limités à l'URL de ce blog." 102 103 #: _public.php:172 104 #: inc/index.link.php:56 87 105 msgid "This link is already a short link." 88 106 msgstr "Ce lien est dèjà un lien court." 89 107 90 #: _public.php:1 9091 #: _public.php:20 992 #: in dex.php:21493 #: in dex.php:226108 #: _public.php:185 109 #: _public.php:204 110 #: inc/index.link.php:67 111 #: inc/index.link.php:87 94 112 msgid "Short link for %s is %s" 95 113 msgstr "Le lien court pour %s est %s" 96 114 97 #: _public.php:201 98 #: index.php:220 115 #: _public.php:196 99 116 msgid "Failed to create short link." 100 117 msgstr "Impossible de créer le lien court." 101 118 102 #: _public.php: 311103 #: _ widgets.php:93104 msgid "Write \"%s\" in next field to see if you are not a robot:" 105 msg str "Ecrire \"%s\" dans le champs suivant :"106 107 #: _widgets.php:22 108 #: default-templates/kutrl.html:48109 #: index.php:251110 msgid " Links shortener"111 msgstr "R éducteur de liens"119 #: _public.php:213 120 #: _public.php:432 121 #: inc/lib.wiki.kutrl.php:78 122 msgid "public" 123 msgstr "publique" 124 125 #: _public.php:314 126 #: _widgets.php:105 127 msgid "Rewrite \"%s\" in next field to show that you are not a robot:" 128 msgstr "Recopier \"%s\" dans le champs suivant pour montrer que vous n'êtes pas une machine :" 112 129 113 130 #: _widgets.php:26 114 #: index.php:286115 131 msgid "Shorten link" 116 132 msgstr "Réduire un lien" … … 118 134 #: _widgets.php:35 119 135 #: _widgets.php:39 120 msgid "Top mini links" 121 msgstr "Top des mini liens" 136 msgid "Top of short links" 137 msgstr "Top des liens courts" 138 139 #: _widgets.php:42 140 msgid "Text: (Use wildcard %rank%, %hash%, %url%, %count%, %counttext%)" 141 msgstr "Texte : (Ustiliser les jokers %rank%, %hash%, %url%, %count%, %counttext%)" 122 142 123 143 #: _widgets.php:45 124 msgid " Linklength (if truncate)"125 msgstr "Longueur d u lien(si tronqué)"144 msgid "URL length (if truncate)" 145 msgstr "Longueur de l'URL (si tronqué)" 126 146 127 147 #: _widgets.php:49 … … 135 155 #: _widgets.php:51 136 156 msgid "Custom URL" 137 msgstr "URL personalisé" 138 139 #: _widgets.php:61 157 msgstr "URL personnalisé" 158 159 #: _widgets.php:52 160 msgid "Semi-custom" 161 msgstr "Semi-personnalisé" 162 163 #: _widgets.php:56 164 msgid "Semi-custom prefix: (only if you want limit to a particular prefix)" 165 msgstr "Préfixe des liens semi-personnalisé : (Seulement si vous voulez limiter à un préfixe particulier)" 166 167 #: _widgets.php:60 168 msgid "Sort by:" 169 msgstr "Trier par :" 170 171 #: _widgets.php:62 172 msgid "Rank" 173 msgstr "Rang" 174 175 #: _widgets.php:63 176 #: inc/index.links.php:34 177 msgid "Hash" 178 msgstr "Hash" 179 180 #: _widgets.php:73 140 181 msgid "Limit:" 141 182 msgstr "Limite :" 142 183 143 #: _widgets.php: 64184 #: _widgets.php:76 144 185 msgid "Hide no followed links" 145 186 msgstr "Cacher les liens non suivis" 146 187 147 #: _widgets.php: 89188 #: _widgets.php:101 148 189 #: default-templates/kutrl.html:55 149 #: in dex.php:297190 #: inc/index.link.php:129 150 191 msgid "Long link:" 151 192 msgstr "Lien long :" 152 193 153 #: _widgets.php: 96194 #: _widgets.php:108 154 195 #: default-templates/kutrl.html:62 155 196 msgid "Create" 156 197 msgstr "Créer" 157 198 158 #: inc/lib.kutrl.activityreport.php:16 199 #: inc/index.link.php:35 200 msgid "There is nothing to shorten." 201 msgstr "I n'y a rien à réduire." 202 203 #: inc/index.link.php:41 204 msgid "This service does not allowed custom hash." 205 msgstr "Ce service n'accepte pas les liens court personnalisés." 206 207 #: inc/index.link.php:44 208 msgid "This link is not a valid URL." 209 msgstr "Ce lien n'est pas valide." 210 211 #: inc/index.link.php:59 212 msgid "This custom short url is already taken." 213 msgstr "Ce lien court personnalisé est déjà pris." 214 215 #: inc/index.link.php:79 216 msgid "Failed to create short link. This could be caused by a service failure." 217 msgstr "Impossible de créé un lien court. Ceci peut être causé par un problème du service." 218 219 #: inc/index.link.php:116 220 #: inc/index.links.php:207 221 #: inc/index.service.php:52 222 #: inc/index.setting.php:97 223 msgid "New link" 224 msgstr "Nouveau lien" 225 226 #: inc/index.link.php:121 227 msgid "You must set an admin service." 228 msgstr "Vous devez définir un service admin." 229 230 #: inc/index.link.php:128 231 msgid "Shorten link using service \"%s\"" 232 msgstr "Raccourcir un lien en utilisant le service \"%s\"" 233 234 #: inc/index.link.php:138 235 msgid "Only if you want a custom short link." 236 msgstr "Uniquement si vous souhaitez un lien court personnalisé." 237 238 #: inc/index.link.php:142 239 msgid "You can use \"bob!!\" if you want a semi-custom link, it starts with \"bob\" and \"!!\" will be replaced by an increment value." 240 msgstr "Vous pouvez utiliser \"bob!!\" si vous souhaitez un lien semi-personnalisé, il commencera par \"bob\" et \"!!\" sera remplacé par une valeur incrémentale." 241 242 #: inc/index.links.php:23 243 msgid "No short link" 244 msgstr "Pas de lien court" 245 246 #: inc/index.links.php:37 247 msgid "Service" 248 msgstr "Service" 249 250 #: inc/index.links.php:117 251 msgid "Long link" 252 msgstr "Lien long" 253 254 #: inc/index.links.php:132 255 #: inc/index.setting.php:82 256 msgid "disabled" 257 msgstr "Désactivé" 258 259 #: inc/index.links.php:220 260 msgid "Service:" 261 msgstr "Service :" 262 263 #: inc/index.links.php:250 264 msgid "Delete selected short links" 265 msgstr "Effacer les liens sélectionnés" 266 267 #: inc/index.service.php:51 268 #: index.php:37 269 msgid "Services" 270 msgstr "Services" 271 272 #: inc/index.service.php:66 273 msgid "%s API is well configured and runing." 274 msgstr "L'API %s est correctement configurée et est fonctionnelle." 275 276 #: inc/index.service.php:67 277 msgid "Failed to test %s API." 278 msgstr "Impossible de tester l'API %s." 279 280 #: inc/index.service.php:76 281 msgid "homepage" 282 msgstr "page d'accueil" 283 284 #: inc/index.service.php:76 285 msgid "Learn more about %s." 286 msgstr "En savoir plus à propos de %s." 287 288 #: inc/index.setting.php:96 289 #: index.php:36 290 msgid "Settings" 291 msgstr "Paramètres" 292 293 #: inc/index.setting.php:101 294 msgid "Plugin activation" 295 msgstr "Activation de l'extension" 296 297 #: inc/index.setting.php:104 298 msgid "Enable plugin" 299 msgstr "Activer l'extension" 300 301 #: inc/index.setting.php:107 302 msgid "General rules" 303 msgstr "Réglages" 304 305 #: inc/index.setting.php:110 306 msgid "Limit short link to current blog" 307 msgstr "Limiter les liens court à ce blog" 308 309 #: inc/index.setting.php:111 310 msgid "Only link started with this blog URL could be shortened." 311 msgstr "Uniquement les liens commençant par l'URL de ce blog pourront être réduits." 312 313 #: inc/index.setting.php:114 314 msgid "Passive mode" 315 msgstr "Mode passif" 316 317 #: inc/index.setting.php:115 318 msgid "If this extension is disabled and the passive mode is enabled, \"kutrl\" tags will display long urls instead of nothing on templates." 319 msgstr "Si cette extension est désactivée et que le mode passif est activé, les balises \"kutrl\" afficheront les longues URL au lieu de rien." 320 321 #: inc/index.setting.php:118 322 msgid "Create short link for new entries" 323 msgstr "Créer un lien court pour les nouveaux billets" 324 325 #: inc/index.setting.php:119 326 msgid "This can be changed on page of creation/edition of an entry." 327 msgstr "Ceci peut être changé sur la page d'édition / création d'un billet." 328 329 #: inc/index.setting.php:122 330 msgid "Default services" 331 msgstr "Services par défaut" 332 333 #: inc/index.setting.php:128 334 msgid "Administration:" 335 msgstr "Administration :" 336 337 #: inc/index.setting.php:131 338 msgid "Service to use in this admin page and on edit page of an entry." 339 msgstr "Service à utiliser sur cette page d'administration ou sur la page d'édition d'un billet." 340 341 #: inc/index.setting.php:137 342 msgid "Templates:" 343 msgstr "Templates :" 344 345 #: inc/index.setting.php:140 346 msgid "Shorten links automatically when using template value like \"EntryKutrl\"." 347 msgstr "Réduit automatiquement les liens des templates utilisant les balises tels que \"EntryKutrl\"." 348 349 #: inc/index.setting.php:146 350 msgid "Contents:" 351 msgstr "Contenus :" 352 353 #: inc/index.setting.php:149 354 msgid "Shorten links automatically found in contents using wiki synthax." 355 msgstr "Réduit automatiquement les liens des contenus utilisant la syntax wiki." 356 357 #: inc/index.setting.php:159 358 msgid "Use wildcard %L for short URL, %B for blog name, %U for user name." 359 msgstr "Utiliser les jokers %L pour le lien court, %B pour le nom du blog, %U pour l'utilisateur." 360 361 #: inc/index.setting.php:161 362 msgid "Activation" 363 msgstr "Activation" 364 365 #: inc/index.setting.php:162 366 msgid "Send message when short url is created on:" 367 msgstr "Envoyer un message lorsqu'un lien court est créé sur :" 368 369 #: inc/index.setting.php:165 370 msgid "administration form" 371 msgstr "le formulaire de la page d'administration" 372 373 #: inc/index.setting.php:168 374 msgid "public form" 375 msgstr "le forumlaire publique" 376 377 #: inc/index.setting.php:171 378 msgid "template" 379 msgstr "le thème" 380 381 #: inc/index.setting.php:174 382 msgid "content" 383 msgstr "le contenu" 384 385 #: inc/lib.dc.twitter.php:169 386 msgid "Twitter account" 387 msgstr "Compte Twitter" 388 389 #: inc/lib.dc.twitter.php:170 390 #: inc/lib.dc.twitter.php:178 391 #: inc/services/class.bitly.service.php:51 392 #: inc/services/class.trim.service.php:47 393 msgid "Login:" 394 msgstr "Identifiant :" 395 396 #: inc/lib.dc.twitter.php:176 397 #: inc/lib.dc.twitter.php:184 398 msgid "Type a password only to change old one." 399 msgstr "Entrer un mot de passe uniquement pour changer l'ancien." 400 401 #: inc/lib.dc.twitter.php:177 402 msgid "Identi.ca account" 403 msgstr "Compte Identi.ca" 404 405 #: inc/lib.dc.twitter.php:185 406 msgid "Message" 407 msgstr "Message" 408 409 #: inc/lib.dc.twitter.php:301 410 msgid "User is not set." 411 msgstr "L'utilisateur est pas renseigné." 412 413 #: inc/lib.dc.twitter.php:309 414 msgid "Nothing to send." 415 msgstr "Il n'y a rien à envoyer." 416 417 #: inc/lib.dc.twitter.php:333 418 msgid "Failed to send message (%s)" 419 msgstr "Impossible d'envoyer le message (%s)" 420 421 #: inc/lib.dc.twitter.php:393 422 msgid "Failed to get short url (%s)" 423 msgstr "Impossible de récupérer le lien court (%s)" 424 425 #: inc/lib.dc.twitter.php:399 426 msgid "Failed to get short url" 427 msgstr "Impossible de récupérer le lien court" 428 429 #: inc/lib.kutrl.activityreport.php:17 159 430 msgid "Plugin kUtRL" 160 431 msgstr "Extension kUtRL" 161 432 162 #: inc/lib.kutrl.activityreport.php:2 2433 #: inc/lib.kutrl.activityreport.php:23 163 434 msgid "Short link creation" 164 435 msgstr "Création de lien court" 165 436 166 #: inc/lib.kutrl.activityreport.php:2 3437 #: inc/lib.kutrl.activityreport.php:24 167 438 msgid "New short link of type \"%s\" and hash \"%s\" was created." 168 439 msgstr "Un nouveau lien court de type \"%s\" et de hash \"%s\" a été créé." 169 440 170 #: inc/lib.kutrl.index.list.php:20 171 msgid "No short link" 172 msgstr "Pas de lien court" 173 174 #: inc/lib.kutrl.index.list.php:31 175 msgid "Service" 176 msgstr "Service" 177 178 #: inc/lib.kutrl.index.list.php:32 179 msgid "Hash" 180 msgstr "Hash" 181 182 #: inc/lib.kutrl.srv.php:47 441 #: inc/lib.kutrl.srv.php:52 183 442 msgid "There is nothing to configure for this service." 184 443 msgstr "Il n'y a rien à configurer pour ce service." 185 444 186 #: inc/lib.wiki.kutrl.php:7 9445 #: inc/lib.wiki.kutrl.php:73 187 446 msgid "%s (Shorten with %s)" 188 447 msgstr "% (réduit avec %s)" 189 448 190 #: inc/services/class.bilbolinks.service.php:5 4449 #: inc/services/class.bilbolinks.service.php:52 191 450 msgid "Url of the service:" 192 451 msgstr "URL du service :" 193 452 194 #: inc/services/class.bilbolinks.service.php:5 8453 #: inc/services/class.bilbolinks.service.php:56 195 454 msgid "This is the root URL of the \"bilbolinks\" service you want to use. Ex: \"http://tux-pla.net/\"." 196 455 msgstr "Ceci est l'URL du service bilbolinks que vous souhaitez utiliser. Ex: \"http://tux-pla.net/\"." 197 456 198 #: inc/services/class.bitly.service.php:54 199 #: inc/services/class.trim.service.php:49 200 msgid "Login:" 201 msgstr "Login :" 202 203 #: inc/services/class.bitly.service.php:58 457 #: inc/services/class.bilbolinks.service.php:71 458 #: inc/services/class.bilbolinks.service.php:83 459 #: inc/services/class.isgd.service.php:39 460 #: inc/services/class.isgd.service.php:51 461 #: inc/services/class.shortto.service.php:39 462 #: inc/services/class.shortto.service.php:51 463 #: inc/services/class.trim.service.php:76 464 #: inc/services/class.trim.service.php:96 465 msgid "Service is unavailable." 466 msgstr "Le service n'est pas disponible." 467 468 #: inc/services/class.bilbolinks.service.php:88 469 #: inc/services/class.trim.service.php:107 470 msgid "Service rate limit exceeded." 471 msgstr "La limitation d'envoie au service est atteinte." 472 473 #: inc/services/class.bitly.service.php:55 204 474 msgid "This is your login to sign up to bit.ly." 205 475 msgstr "Ceci est votre login d'inscription sur bit.ly." 206 476 207 #: inc/services/class.bitly.service.php: 60477 #: inc/services/class.bitly.service.php:57 208 478 msgid "API Key:" 209 479 msgstr "Clé API :" 210 480 211 #: inc/services/class.bitly.service.php:6 4481 #: inc/services/class.bitly.service.php:61 212 482 msgid "This is your personnal bit.ly API key. You can find it on your account page." 213 483 msgstr "Ceci est votre clé personnelle pour l'API bit.ly. Vous pouvez la trouver sur la page de vore compte." 214 484 215 #: inc/services/class.bitly.service.php:6 8485 #: inc/services/class.bitly.service.php:65 216 486 msgid "Publish history" 217 487 msgstr "Publier l'historique" 218 488 219 #: inc/services/class.bitly.service.php: 71489 #: inc/services/class.bitly.service.php:68 220 490 msgid "This publish all short links on your bit.ly public page." 221 491 msgstr "Ceci publie tous vos liens sur votre page public bit.ly" 222 492 223 #: inc/services/class.local.service.php:46 493 #: inc/services/class.bitly.service.php:84 494 #: inc/services/class.bitly.service.php:106 495 msgid "Failed to call service." 496 msgstr "Impossible d'appeler le service." 497 498 #: inc/services/class.bitly.service.php:93 499 #: inc/services/class.bitly.service.php:115 500 msgid "An error occured with code %s and message \"%s\"" 501 msgstr "Une erreur est survenu avec le code \"%s\" et le message \"%s\"" 502 503 #: inc/services/class.local.service.php:44 224 504 msgid "This service use your own Blog to shorten and serve URL." 225 505 msgstr "Ce service utilise votre propre blog pour réduire et servir des liens." 226 506 227 #: inc/services/class.local.service.php:4 7507 #: inc/services/class.local.service.php:45 228 508 msgid "This means that with this service short links start with \"%s\"." 229 509 msgstr "Cela signifie qu'avec ce service vos liens courts commencent par \"%s\"." 230 510 231 #: inc/services/class.local.service.php: 50511 #: inc/services/class.local.service.php:48 232 512 msgid "You can use Dotclear's plugin called myUrlHandlers to change short links prefix on your blog." 233 513 msgstr "Vous pouvez utiliser l'extension myUrlHandlers pour Dotclear afin de changer le prefix de vos liens courts depuis votre blog." 234 514 235 #: inc/services/class.local.service.php:5 6515 #: inc/services/class.local.service.php:54 236 516 msgid "We recommand that you use a rewrite engine in order to remove 'index.php' from your blog's URL." 237 517 msgstr "Nous vous recommandons d'utiliser la réécriture d'URL pour supprimer 'index.php de l'URL de votre blog." 238 518 239 #: inc/services/class.local.service.php:5 8519 #: inc/services/class.local.service.php:56 240 520 msgid "You can find more about this on the Dotclear's documentation." 241 521 msgstr "Vous trouverez plus d'information à ce sujet dans la documentation Dotclear." 242 522 243 #: inc/services/class.local.service.php:6 5523 #: inc/services/class.local.service.php:63 244 524 msgid "Allowed protocols:" 245 525 msgstr "Protocoles autorisés :" 246 526 247 #: inc/services/class.local.service.php: 70527 #: inc/services/class.local.service.php:68 248 528 msgid "Use comma seperated list like: \"http:,https:,ftp:\"" 249 529 msgstr "Utiliser une virgule pour séparer la liste des protocoles. Ex: \"http:,https:,ftp:\"" 250 530 251 #: inc/services/class.local.service.php:7 5531 #: inc/services/class.local.service.php:73 252 532 msgid "Enable public page for visitors to shorten links" 253 533 msgstr "Activer la page publique pour que les visiteurs puissent réduire des liens" 254 534 255 #: inc/services/class.local.service.php:7 8535 #: inc/services/class.local.service.php:76 256 536 msgid "CSS:" 257 537 msgstr "CSS :" 258 538 259 #: inc/services/class.local.service.php: 81539 #: inc/services/class.local.service.php:79 260 540 msgid "You can add here special cascading style sheet. Body of page has class \"dc-kutrl\" and widgets have class \"shortenkutrlwidget\" and \"rankkutrlwidget\"." 261 541 msgstr "Vous pouvez ajouter des styles ici. La balise \"body\" a la class \"dc-kutrl\" et les widgets ont les class \"shortenkutrlwidget\" et \"rankkutrlwidget\"." 262 542 263 #: inc/services/class.trim.service.php:53 543 #: inc/services/class.local.service.php:120 544 msgid "Custom short link is already taken." 545 msgstr "Le lien court personnalisé est déjà pris." 546 547 #: inc/services/class.local.service.php:130 548 msgid "Custom short link is not valid." 549 msgstr "Le lien court personnalisé n'est pas valide." 550 551 #: inc/services/class.local.service.php:141 552 msgid "Failed to save link." 553 msgstr "Impossible d'enregistrer le lien." 554 555 #: inc/services/class.trim.service.php:51 264 556 msgid "This is your login to sign up to tr.im." 265 557 msgstr "Ceci est votre login d'inscription sur tr.im." 266 558 267 #: inc/services/class.trim.service.php:5 9559 #: inc/services/class.trim.service.php:57 268 560 msgid "This is your password to sign up to tr.im." 269 561 msgstr "Ceci est votre mot de passe d'inscription sur tr.im." 270 562 271 #: index.php:54 272 msgid "Long link" 273 msgstr "Lien long" 274 275 #: index.php:69 276 msgid "disabled" 277 msgstr "Désactivé" 278 279 #: index.php:187 280 msgid "There is nothing to shorten." 281 msgstr "I n'y a rien à réduire." 282 283 #: index.php:193 284 msgid "This service does not allowed custom hash." 285 msgstr "Ce service n'accepte pas les liens court personnalisés." 286 287 #: index.php:196 288 msgid "This link is not a valid URL." 289 msgstr "Ce lien n'est pas valide." 290 291 #: index.php:290 292 msgid "You must set an admin service." 293 msgstr "Vous devez définir un service admin." 294 295 #: index.php:308 296 msgid "Only if you want a custom short link." 297 msgstr "Uniquement si vous souhaitez un lien court personnalisé." 298 299 #: index.php:327 300 msgid "Settings" 301 msgstr "Paramètres" 302 303 #: index.php:337 304 msgid "Enable plugin" 305 msgstr "Activer l'extension" 306 307 #: index.php:342 308 msgid "Limit short link to current blog" 309 msgstr "Limiter les liens court à ce blog" 310 311 #: index.php:345 312 msgid "Only link started with this blog URL could be shortened." 313 msgstr "Uniquement les liens commençant par l'URL de ce blog pourront être réduits." 314 315 #: index.php:350 316 msgid "Passive mode" 317 msgstr "Mode passif" 318 319 #: index.php:353 320 msgid "If this extension is disabled and the passive mode is enabled, \"kutrl\" tags will display long urls instead of nothing on templates." 321 msgstr "Si cette extension est désactivée et que le mode passif est activé, les balises \"kutrl\" affichreront les longues URL au lieu de rien." 322 323 #: index.php:358 324 msgid "Create short link for new entries" 325 msgstr "Créer un lien court pour les nouveaux billets" 326 327 #: index.php:361 328 msgid "This can be changed on page of creation/edition of an entry." 329 msgstr "Ceci peut être changé sur la page d'édition / création d'un billet." 330 331 #: index.php:366 332 msgid "Administration:" 333 msgstr "Administration :" 334 335 #: index.php:371 336 msgid "Service to use in this admin page." 337 msgstr "Service a utiliser pour réduire des liens depuis cette page." 338 339 #: index.php:376 340 msgid "Templates:" 341 msgstr "Templates :" 342 343 #: index.php:381 344 msgid "Shorten links automatically when using template value like \"EntryKutrl\"." 345 msgstr "Réduit automatiquement les liens des templates utilisant les balises tels que \"EntryKutrl\"." 346 347 #: index.php:386 348 msgid "Contents:" 349 msgstr "Contenus :" 350 351 #: index.php:391 352 msgid "Shorten links automatically found in contents using wiki synthax." 353 msgstr "Réduit automatiquement les liens des contenus utilisant la syntax wiki." 354 355 #: index.php:406 356 msgid "Services" 357 msgstr "Services" 358 359 #: index.php:411 360 msgid "Configuration successfully updated." 361 msgstr "La configuration a été correctement enregistrée." 362 363 #: index.php:425 364 msgid "%s API is well configured and runing." 365 msgstr "L'API %s est correctement configurée et est fonctionnelle." 366 367 #: index.php:426 368 msgid "%s API is not well configured or not online." 369 msgstr "L'API n'est pas correctement configurée ou est hors ligne." 370 371 #: index.php:433 372 msgid "homepage" 373 msgstr "page d'accueil" 374 375 #: index.php:433 376 msgid "Learn more about %s." 377 msgstr "En savoir plus à propos de %s." 378 379 #: index.php:453 380 msgid "Know links" 381 msgstr "Liens connus" 382 383 #: index.php:457 384 msgid "List successfully updated." 385 msgstr "Liste mise à jour avec succès." 386 387 #: index.php:473 388 msgid "Service:" 389 msgstr "Service :" 390 391 #: index.php:507 392 msgid "Selected links action:" 393 msgstr "Action sur les liens selectionnés :" 394 563 #: inc/services/class.trim.service.php:70 564 msgid "Prevent service rate limit." 565 msgstr "Prévention de la limitation d'envoie du service." 566 567 #: inc/services/class.trim.service.php:85 568 msgid "Authentication to service failed." 569 msgstr "Authentification au service échoué." 570 571 #: inc/services/class.trim.service.php:119 572 msgid "Unreadable service response." 573 msgstr "La réponse du service n'est pas lisible." 574 575 #: index.php:28 576 msgid "Please wait" 577 msgstr "Veuillez patienter" 578 579 #: index.php:36 580 msgid "Configure extension" 581 msgstr "Configurer l'extension" 582 583 #: index.php:37 584 msgid "Configure services" 585 msgstr "Configurer les services" 586 587 #: index.php:49 588 msgid "Configuration successfully saved" 589 msgstr "Configuration sauvegardée avec succès" 590 591 #: index.php:50 592 msgid "Services successfully updated" 593 msgstr "Services mises à jour avec succès" 594 595 #: index.php:51 596 msgid "Link successfully shorten" 597 msgstr "Lien raccourcie avec succès" 598 599 #: index.php:52 600 msgid "Links successfully deleted" 601 msgstr "Liens supprimés avec succès" 602 -
plugins/kUtRL/release.txt
r2000 r2190 1 1 x.x xxxxxxxx 2 - Added public page of the list of know urls 2 - Added public page of the list of know urls and in/visible status 3 - Added passworded links 4 5 0.3 20100414 6 * Added DC 2.2 compatibility (new settings) 7 * Added semi-custom hash on kUtRL service 8 * Added status update for Twitter/Identi.ca on new short link 9 * Added services error management (first step) 10 * Added options to widgets 11 * Upgraded bitly service to v3 12 * Changed admin design 3 13 4 14 0.2 20091223
Note: See TracChangeset
for help on using the changeset viewer.