Changeset 1866 for plugins/licenseBootstrap
- Timestamp:
- 11/09/09 12:29:03 (14 years ago)
- Location:
- plugins/licenseBootstrap
- Files:
-
- 1 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/licenseBootstrap/_define.php
r1561 r1866 17 17 /* Description*/ "Add license to your plugins and themes", 18 18 /* Author */ "JC Denis", 19 /* Version */ '0. 1',19 /* Version */ '0.2', 20 20 /* Permissions */ null 21 21 ); 22 /* date */ #20091 00222 /* date */ #20091109 23 23 ?> -
plugins/licenseBootstrap/_prepend.php
r1561 r1866 27 27 ); 28 28 } 29 30 if ($core->blog->settings->licensebootstrap_translater_behavior) 31 { 32 $core->addBehavior( 33 'dcTranslaterAfterWriteLangFile', 34 array('licenseBootstrap','dcTranslaterAfterWriteLangFile') 35 ); 36 } 29 37 ?> -
plugins/licenseBootstrap/inc/class.license.bootstrap.php
r1561 r1866 15 15 class licenseBootstrap 16 16 { 17 # $core : dcCore 18 # $type : type of module, could be plugin or theme 19 # $id : module id 20 # $info : module info from dcModules 21 # $exts : array of files extensions to parse 22 # $license : license type (ex: gpl2) 23 # $header : special license header (used default if empty) 24 # $overwite : overwrite existing license in module 25 # 26 public static function license($core,$type,$id,$info,$exts=array('php','js'),$license='gpl2',$header='',$overwrite=false) 27 { 28 $info['id'] = $id; 29 $info['type'] = $type; 30 $info['user_cn'] = $core->auth->getInfo('user_cn'); 31 $info['user_name'] = $core->auth->getInfo('user_name'); 32 $info['user_email'] = $core->auth->getInfo('user_email'); 17 public $core; 18 public $extensions; 19 public $license; 20 public $head; 21 public $full; 22 public $addfull; 23 public $overwrite; 24 public $exclusion; 25 26 public function __construct($core,$extensions=null,$license=null,$head=null,$addfull=true,$overwrite=false,$exclusion='') 27 { 28 $this->core = $core; 29 $this->overwrite = (boolean) $overwrite; 30 $this->exclusion = (string) $exclusion; 31 $this->license = (string) $license; 32 33 $this->extensions = self::getDefaultExtensions($extensions); 34 $this->head = self::getDefaultLicenses('head',$license,$head); 35 $this->full = self::getDefaultLicenses('full',$license); 36 } 37 38 public function moduleInfo($type,$id) 39 { 40 $info = array(); 41 42 if ($type == 'plugin') 43 { 44 $modules = $this->core->plugins; 45 } 46 elseif ($type = 'theme') 47 { 48 $modules = new dcModules($core); 49 $modules->loadModules($this->core->blog->themes_path,null); 50 } 51 else 52 { 53 $type = ''; 54 } 55 56 if ($type && $modules->moduleExists($id)) 57 { 58 $info = $modules->getModules($id); 59 $info['user_cn'] = $this->core->auth->getInfo('user_cn'); 60 $info['user_name'] = $this->core->auth->getInfo('user_name'); 61 $info['user_email'] = $this->core->auth->getInfo('user_email'); 62 } 63 64 return $info; 65 } 66 67 public function writeModuleLicense($type,$id) 68 { 69 $info = $this->moduleInfo($type,$id); 33 70 34 71 # Try if root is writable … … 39 76 $root = $info['root']; 40 77 41 # Try if license exists42 $licenses_dir = dirname(__FILE__).'/licenses';43 if (!file_exists($licenses_dir.'/'.$license.'.head.txt')44 || !file_exists($licenses_dir.'/'.$license.'.full.txt'))45 {46 throw new Exception('Unknow license type');47 }48 49 78 # Get license text 50 $head = empty($header) ? 51 file_get_contents($licenses_dir.'/'.$license.'.head.txt') : $header; 52 $head = self::parseInfo($info,$head); 53 $full = file_get_contents($licenses_dir.'/'.$license.'.full.txt'); 54 $full = self::parseInfo($info,$full); 79 $head = self::parseInfo($type,$id,$info,$this->head[$this->license]); 80 $full = self::parseInfo($type,$id,$info,$this->full[$this->license]); 55 81 56 82 # Get files from module root … … 64 90 if (!file_exists($root.'/LICENSE') || $overwrite) 65 91 { 66 file _put_contents($root.'/LICENSE',$full);92 files::putContent($root.'/LICENSE',$full); 67 93 } 68 94 … … 72 98 if (!is_file($root.'/'.$file)) continue; 73 99 100 if (!empty($this->exclusion)) 101 { 102 if (preg_match($this->exclusion,$file)) continue; 103 } 104 74 105 $ext = files::getExtension($file) ; 75 106 $func = 'filesLicenseBootstrap::'.$ext.'File'; 76 if (!in_array($ext,$ exts) || !is_callable($func)) continue;107 if (!in_array($ext,$this->extensions) || !is_callable($func)) continue; 77 108 78 109 $content = file_get_contents($root.'/'.$file); 79 110 80 $content = call_user_func($func,$content,$head,$ overwrite);111 $content = call_user_func($func,$content,$head,$this->overwrite); 81 112 82 113 if (!empty($content)) 83 114 { 84 file _put_contents($root.'/'.$file,$content);115 files::putContent($root.'/'.$file,$content); 85 116 } 86 117 } … … 88 119 } 89 120 90 public static function getDefaultExts() 91 { 92 return array('php','js'); 93 } 94 95 public static function getDefaultHeaders() 121 public function addFileLicense($type,$id,$file,$content) 122 { 123 $info = $this->moduleInfo($type,$id); 124 125 $head = self::parseInfo($type,$id,$info,$this->head); 126 127 if (!empty($this->exclusion)) 128 { 129 if (preg_match($this->exclusion,$file)) return $content; 130 } 131 132 $ext = files::getExtension($file) ; 133 $func = 'filesLicenseBootstrap::'.$ext.'File'; 134 if (!in_array($ext,$this->extensions) || !is_callable($func)) return $content; 135 136 return call_user_func($func,$content,$head[$this->license],$this->overwrite); 137 } 138 139 public static function getDefaultExtensions($exts=null) 140 { 141 $default = array('php','js'); 142 if (null === $exts) $exts = $default; 143 elseif (!is_array($exts)) $exts = array($exts); 144 145 return array_intersect($default,$exts); 146 } 147 148 public static function getDefaultLicenses($type='head',$license=null,$content=null) 96 149 { 97 150 $rs = array(); 98 $files = files::scandir(dirname(__FILE__).'/licenses'); 99 foreach($files as $file) 100 { 101 if (preg_match('/^(.*?)\.head\.txt$/',$file,$m)) 102 { 103 $rs[$m[1]] = file_get_contents(dirname(__FILE__).'/licenses/'.$m[0]); 151 152 if ($license && $content) 153 { 154 $rs = array($license => $content); 155 } 156 157 if ($license && !$content) 158 { 159 $f = dirname(__FILE__).'/licenses/'.$license.'.'.$type.'.txt'; 160 if (file_exists($f)) 161 { 162 $rs = array($license => file_get_contents($f)); 163 } 164 } 165 166 if (!$license) 167 { 168 $files = files::scandir(dirname(__FILE__).'/licenses'); 169 foreach($files as $file) 170 { 171 if (preg_match('/^(.*?)\.'.$type.'\.txt$/',$file,$m)) 172 { 173 $rs[$m[1]] = file_get_contents(dirname(__FILE__).'/licenses/'.$m[0]); 174 } 104 175 } 105 176 } … … 107 178 } 108 179 109 private function parseInfo($ info,$text)180 private function parseInfo($type,$id,$info,$text) 110 181 { 111 182 return str_replace( … … 122 193 array( 123 194 date('Y'), 124 $i nfo['id'],195 $id, 125 196 $info['name'], 126 197 $info['author'], 127 $ info['type'],198 $type, 128 199 $info['user_cn'], 129 200 $info['user_name'], … … 168 239 } 169 240 170 public static function packmanBeforeCreatePackage($info,$a,$b )241 public static function packmanBeforeCreatePackage($info,$a,$b,$c,$d) 171 242 { 172 243 global $core; 244 173 245 $s =& $core->blog->settings; 246 247 $addfull = (boolean) $s->licensebootstrap_addfull; 174 248 $overwrite = (boolean) $s->licensebootstrap_overwrite; 249 $exclusion = $s->licensebootstrap_exclusion; 250 175 251 $license = $s->licensebootstrap_license; 176 252 if (empty($license)) $license = 'gpl2'; 253 177 254 $exts = licenseBootstrap::decode($s->licensebootstrap_files_exts); 178 if (!is_array($exts)) $exts = self::getDefaultExts(); 255 if (!is_array($exts)) $exts = self::getDefaultExtensions(); 256 179 257 $headers = licenseBootstrap::decode($s->licensebootstrap_licenses_headers); 180 if (!is_array($headers)) $headers = self::getDefaultheaders(); 181 182 self::license($core,$info['type'],$info['id'],$info,$exts,$license,$headers[$license],$overwrite); 258 if (!is_array($headers)) $headers = self::getDefaulLicenses(); 259 260 $license = new licenseBootstrap($core,$exts,$license,$headers[$license],$addfull,$overwrite,$exclusion); 261 $license->writeModuleLicense($info['type'],$info['id']); 262 } 263 264 public static function dcTranslaterAfterWriteLangFile($f,$file,$content,$throw) 265 { 266 if (!$f) return; 267 268 global $core; 269 270 $id = ''; 271 $type = 'theme'; 272 $dir = path::real($file); 273 274 # Is a plugin 275 $plugins_roots = explode(PATH_SEPARATOR,DC_PLUGINS_ROOT); 276 foreach($plugins_roots as $path) 277 { 278 $root = path::real($path); 279 if ($root == substr($dir,0,strlen($root))) 280 { 281 $type = 'plugin'; 282 $reg = '/'.preg_quote($root,'/').'\/([^\/]+)\/(.*?)/'; 283 if (!preg_match($reg,$dir,$m)) 284 { 285 if ($throw) 286 { 287 throw new Exception('Failed to retreive module id for adding license'); 288 } 289 //return; 290 } 291 $id = $m[1]; 292 break; 293 } 294 } 295 # Not a plugin try a theme 296 if ($type == 'theme') 297 { 298 $path = $core->blog->themes_path; 299 $root = path::real($path); 300 if ($root == substr($dir,0,strlen($root))) 301 { 302 $reg = '/'.preg_quote($root,'/').'\/([^\/]+)\/(.*?)/'; 303 if (!preg_match($reg,$dir,$m)) 304 { 305 if ($throw) 306 { 307 throw new Exception('Failed to retreive module id for adding license'); 308 } 309 //return; 310 } 311 $id = $m[1]; 312 } 313 } 314 # Not a plugin nor theme 315 if (empty($id)) return; 316 317 $s =& $core->blog->settings; 318 319 $addfull = (boolean) $s->licensebootstrap_addfull; 320 $overwrite = (boolean) $s->licensebootstrap_overwrite; 321 $exclusion = $s->licensebootstrap_exclusion; 322 323 $license = $s->licensebootstrap_license; 324 if (empty($license)) $license = 'gpl2'; 325 326 $exts = licenseBootstrap::decode($s->licensebootstrap_files_exts); 327 if (!is_array($exts)) $exts = self::getDefaultExtensions(); 328 329 $headers = licenseBootstrap::decode($s->licensebootstrap_licenses_headers); 330 if (!is_array($headers)) $headers = self::getDefaultLicenses(); 331 332 $license = new licenseBootstrap($core,$exts,$license,$headers[$license],$addfull,$overwrite,$exclusion); 333 $content = $license->addFileLicense($type,$id,$file,$content); 334 335 files::putContent($file,$content); 183 336 } 184 337 } -
plugins/licenseBootstrap/index.php
r1561 r1866 17 17 18 18 # Default lists 19 $default_exts = licenseBootstrap::getDefaultExt s();20 $default_headers = licenseBootstrap::getDefault Headers();19 $default_exts = licenseBootstrap::getDefaultExtensions(); 20 $default_headers = licenseBootstrap::getDefaultLicenses(); 21 21 22 22 # Modules lists … … 27 27 # Settings 28 28 $s =& $core->blog->settings; 29 $addfull = (boolean) $s->licensebootstrap_addfull; 29 30 $overwrite = (boolean) $s->licensebootstrap_overwrite; 30 31 $license = $s->licensebootstrap_license; … … 34 35 $licenses_headers = licenseBootstrap::decode($s->licensebootstrap_licenses_headers); 35 36 if (!is_array($licenses_headers)) $licenses_headers = array(); 37 $exclusion = $s->licensebootstrap_exclusion; 36 38 37 39 # Add to packman 38 40 $packman_behavior = $s->licensebootstrap_packman_behavior; 39 40 # Actions 41 # Add to translater 42 $translater_behavior = $s->licensebootstrap_translater_behavior; 43 41 44 try 42 45 { … … 45 48 { 46 49 $s->setNamespace('licenseBootstrap'); 50 $s->put('licensebootstrap_addfull',true); 47 51 $s->put('licensebootstrap_overwrite',false); 48 52 $s->put('licensebootstrap_license','gpl2'); … … 51 55 $s->put('licensebootstrap_licenses_headers', 52 56 licenseBootstrap::encode($default_headers)); 57 $s->put('licensebootstrap_exclusion',''); 53 58 $s->put('licensebootstrap_packman_behavior',false); 59 $s->put('licensebootstrap_translater_behavior',false); 54 60 $s->setNamespace('system'); 55 61 … … 60 66 if (isset($_POST['save_settings'])) 61 67 { 68 $addfull = !empty($_POST['addfull']); 62 69 $overwrite = !empty($_POST['overwrite']); 63 70 $license = $_POST['license']; … … 66 73 $licenses_headers = is_array($_POST['licenses_headers']) ? 67 74 $_POST['licenses_headers'] : array(); 75 $exclusion = $_POST['exclusion']; 68 76 $packman_behavior = !empty($_POST['packman_behavior']); 77 $translater_behavior = !empty($_POST['translater_behavior']); 69 78 70 79 $s->setNamespace('licenseBootstrap'); 80 $s->put('licensebootstrap_addfull',$addfull); 71 81 $s->put('licensebootstrap_overwrite',$overwrite); 72 82 $s->put('licensebootstrap_license',$license); … … 75 85 $s->put('licensebootstrap_licenses_headers', 76 86 licenseBootstrap::encode($licenses_headers)); 87 $s->put('licensebootstrap_exclusion',$exclusion); 77 88 $s->put('licensebootstrap_packman_behavior',$packman_behavior); 89 $s->put('licensebootstrap_translater_behavior',$translater_behavior); 78 90 $s->setNamespace('system'); 79 91 80 92 http::redirect($p_url.'&tab=setting&done=1'); 81 93 } 94 # Object 95 $LB = new licenseBootstrap($core,$files_exts,$license,$licenses_headers[$license],$addfull,$overwrite,$exclusion); 96 82 97 83 98 # Add license to files … … 95 110 foreach ($modules as $id) 96 111 { 97 $info = ($type == 'theme') ? 98 $themes->getModules($id) : 99 $plugins->getModules($id); 100 101 if (null === $info) 102 { 103 throw new Exception('No such module '.$id); 104 } 105 106 licenseBootstrap::license($core,$type,$id,$info,$files_exts, 107 $license,$licenses_headers[$license],$overwrite 108 ); 112 $LB->writeModuleLicense($type,$id); 109 113 } 110 114 … … 142 146 <p><label class="classic">'. 143 147 form::checkbox(array('overwrite'),'1',$overwrite).' '. 144 __('Overwrite existing license').'</label></p>'; 148 __('Overwrite existing license').'</label></p> 149 <p><label class="classic">'. 150 form::checkbox(array('addfull'),'1',$addfull).' '. 151 __('Add full LICENSE file to module root').'</label></p>'; 145 152 146 153 foreach($default_exts as $ext) … … 153 160 154 161 echo ' 162 <p><label>'.__('Exclusion:'). 163 form::field('exclusion',60,255,html::escapeHTML($exclusion)).' 164 </label></p> 165 </fieldset> 166 <fieldset><legend>'.__('Tricks').'</legend> 155 167 <p><label class="classic">'. 156 168 form::checkbox(array('packman_behavior'),'1',$packman_behavior).' '. 157 169 __('Add license before create package with plugin pacKman').'</label></p> 170 <p><label class="classic">'. 171 form::checkbox(array('translater_behavior'),'1',$translater_behavior).' '. 172 __('Add license after create lang file with plugin translater').'</label></p> 158 173 </fieldset> 159 174 <fieldset><legend>'.__('Headers').'</legend>'; … … 188 203 <hr class="clear"/> 189 204 <p class="right"> 190 pacKman- '.$core->plugins->moduleInfo('licenseBootstrap','version').' 205 licenseBootstrap - '.$core->plugins->moduleInfo('licenseBootstrap','version').' 191 206 <img alt="'.__('licenseBootstrap').'" src="index.php?pf=licenseBootstrap/icon.png" /> 192 207 </p></body></html>'; -
plugins/licenseBootstrap/locales/en/help/help.html
r1561 r1866 16 16 <dt>Ajouter la licence aux entêtes de fichiers</dt> 17 17 <dd>Permet de selectionner les types de fichiers auquels il faut ajouter la licence.</dd> 18 19 <dt>Exclusion</dt> 20 <dd>Permet d'exclure certains fichiers ou dossiers. Dans ce champs il faut utiliser une expression rationnelle.<br /> 21 Par exemple pour ne pas affecter les fichiers de traduction, il faut écrire:</br /> 22 /(\/locales\/)/</dd> 18 23 </dl> 24 25 <h3>Paramètres des astuces</h3> 26 <p>Ces paramètres utilisent les behaviors de certains plugins pour automatiser les ajouts de licence.</p> 27 <dl> 28 <dt>Ajouter la licence avant de créer un paquetage avec le plugin pacKman</dt> 29 <dd>Si vous avez le plugin pacKman d'installé et que cette option est activé, 30 la licence sera ajoutée au module avec la création du paquetage.</dd> 31 32 <dt>Ajouter la licence après avoir créé une traduction avec le plugin translater</dt> 33 <dd>Si vous avez le plugin translater d'installé et que cette option est activé, 34 la licence sera ajoutée aux fichiers de traduction lors de la création de ces derniers.<br /> 35 Attention la liste d'exclusion est prioritaire.</dd> 36 </dl> 37 19 38 <h3>Paramètres des entêtes</h3> 20 39 <p> -
plugins/licenseBootstrap/locales/fr/help/help.html
r1712 r1866 19 19 <dd>Permet de sélectionner les types de fichiers auxquels il faut ajouter la licence.</dd> 20 20 21 <dt>Exclusion</dt> 22 <dd>Permet d'exclure certains fichiers ou dossiers. Dans ce champs il faut utiliser une expression rationnelle.<br /> 23 Par exemple pour ne pas affecter les fichiers de traduction, il faut écrire:</br /> 24 /(\/locales\/)/</dd> 25 </dl> 26 27 <h3>Paramètres des astuces</h3> 28 <p>Ces paramètres utilisent les behaviors de certains plugins pour automatiser les ajouts de licence.</p> 29 <dl> 21 30 <dt>Ajouter la licence avant de créer un paquetage avec le plugin pacKman</dt> 22 31 <dd>Si le plugin pacKman est installé et que cette option est activée, 23 32 la licence sera ajoutée au module avec la création du paquetage.</dd> 33 34 <dt>Ajouter la licence après avoir créé une traduction avec le plugin translater</dt> 35 <dd>Si vous avez le plugin translater d'installé et que cette option est activé, 36 la licence sera ajoutée aux fichiers de traduction lors de la création de ces derniers.<br /> 37 Attention la liste d'exclusion est prioritaire.</dd> 24 38 </dl> 39 25 40 <h3>Paramètres des entêtes</h3> 26 41 <p>Les entêtes sont les résumés de licence. Elles sont placées en haut de chaque fichier d'un module sous forme de commentaire. -
plugins/licenseBootstrap/locales/fr/main.lang.php
r1561 r1866 1 1 <?php 2 # -- BEGIN LICENSE BLOCK ----------------------------------3 # This file is part of licenseBootstrap, a plugin for Dotclear 2.4 #5 # Copyright (c) 2009 JC Denis and contributors6 # jcdenis@gdwd.com7 #8 # Licensed under the GPL version 2.0 license.9 # A copy of this license is available in LICENSE file or at10 # http://www.gnu.org/licenses/old-licenses/gpl-2.0.html11 # -- END LICENSE BLOCK ------------------------------------12 13 2 // Language: français 14 3 // Module: licenseBootstrap - 0.1 15 // Date: 2009-1 0-09 00:50:0216 // Translated with dcTranslater - 1. 14 // Date: 2009-11-09 11:16:01 5 // Translated with dcTranslater - 1.3 17 6 18 7 #inc/lib.license.bootstrap.index.php:25 19 $GLOBALS['__l10n']['License successfully included'] = 'Licence inclu e avec succès';8 $GLOBALS['__l10n']['License successfully included'] = 'Licence incluse avec succès'; 20 9 21 10 #inc/lib.license.bootstrap.index.php:32 … … 31 20 $GLOBALS['__l10n']['No available module'] = 'Pas de module disponibles'; 32 21 33 #index.php:13 422 #index.php:138 34 23 $GLOBALS['__l10n']['Settings'] = 'Paramètres'; 35 24 36 #index.php:1 3725 #index.php:141 37 26 $GLOBALS['__l10n']['Configuration successfully saved'] = 'Configuration sauvergardée avec succès'; 38 27 39 #index.php:14 128 #index.php:145 40 29 $GLOBALS['__l10n']['Files'] = 'Fichiers'; 41 30 42 #index.php:14 443 $GLOBALS['__l10n']['Overwrite existing license'] = ' Ecraser la licence existante';31 #index.php:148 32 $GLOBALS['__l10n']['Overwrite existing license'] = 'Écraser la licence existante'; 44 33 45 34 #index.php:151 35 $GLOBALS['__l10n']['Add full LICENSE file to module root'] = 'Ajouter le fichier de licence complet à la racine du module'; 36 37 #index.php:158 46 38 $GLOBALS['__l10n']['Add license to the header of %s files'] = 'Ajouter la licence en entête de fichier %s'; 47 39 48 #index.php:157 40 #index.php:166 41 $GLOBALS['__l10n']['Tricks'] = 'Astuces'; 42 43 #index.php:169 49 44 $GLOBALS['__l10n']['Add license before create package with plugin pacKman'] = 'Ajouter la licence avant de créer un paquetage avec le plugin pacKman'; 50 45 51 #index.php:159 46 #index.php:172 47 $GLOBALS['__l10n']['Add license after create lang file with plugin translater'] = 'Ajouter la licence après avoir créé une traduction avec le plugin translater'; 48 49 #index.php:174 52 50 $GLOBALS['__l10n']['Headers'] = 'Entêtes'; 53 51 54 #index.php:1 7052 #index.php:185 55 53 $GLOBALS['__l10n']['License %s:'] = 'Licence %s :'; 56 54 57 #index.php:1 7958 $GLOBALS['__l10n']['Reset settings'] = 'Remise à z ero';55 #index.php:194 56 $GLOBALS['__l10n']['Reset settings'] = 'Remise à zéro'; 59 57 60 58 ?> -
plugins/licenseBootstrap/locales/fr/main.po
r1712 r1866 1 1 # Language: français 2 2 # Module: licenseBootstrap - 0.1 3 # Date: 2009-10-09 00:50:02 4 # Translated with dcTranslater - 1.1 3 # Date: 2009-11-09 11:16:01 4 # Translated with translater 1.3 5 5 6 msgid "" 6 7 msgstr "" 7 8 "Content-Type: text/plain; charset=UTF-8\n" 8 "Project-Id-Version: \n"9 "Project-Id-Version: licenseBootstrap 0.1\n" 9 10 "POT-Creation-Date: \n" 10 "PO-Revision-Date: \n"11 "Last-Translator: Kozlika <kozlika@free.fr>\n"11 "PO-Revision-Date: 2009-11-09T11:16:01+00:00\n" 12 "Last-Translator: JC Denis\n" 12 13 "Language-Team: \n" 13 14 "MIME-Version: 1.0\n" … … 34 35 msgstr "Pas de module disponibles" 35 36 36 #: index.php:13 437 #: index.php:138 37 38 msgid "Settings" 38 39 msgstr "Paramètres" 39 40 40 #: index.php:1 3741 #: index.php:141 41 42 msgid "Configuration successfully saved" 42 43 msgstr "Configuration sauvergardée avec succès" 43 44 44 #: index.php:14 145 #: index.php:145 45 46 msgid "Files" 46 47 msgstr "Fichiers" 47 48 48 #: index.php:14 449 #: index.php:148 49 50 msgid "Overwrite existing license" 50 51 msgstr "Écraser la licence existante" 51 52 52 53 #: index.php:151 54 msgid "Add full LICENSE file to module root" 55 msgstr "Ajouter le fichier de licence complet à la racine du module" 56 57 #: index.php:158 53 58 msgid "Add license to the header of %s files" 54 59 msgstr "Ajouter la licence en entête de fichier %s" 55 60 56 #: index.php:157 61 #: index.php:166 62 msgid "Tricks" 63 msgstr "Astuces" 64 65 #: index.php:169 57 66 msgid "Add license before create package with plugin pacKman" 58 67 msgstr "Ajouter la licence avant de créer un paquetage avec le plugin pacKman" 59 68 60 #: index.php:159 69 #: index.php:172 70 msgid "Add license after create lang file with plugin translater" 71 msgstr "Ajouter la licence après avoir créé une traduction avec le plugin translater" 72 73 #: index.php:174 61 74 msgid "Headers" 62 75 msgstr "Entêtes" 63 76 64 #: index.php:1 7077 #: index.php:185 65 78 msgid "License %s:" 66 79 msgstr "Licence %s :" 67 80 68 #: index.php:1 7981 #: index.php:194 69 82 msgid "Reset settings" 70 83 msgstr "Remise à zéro" -
plugins/licenseBootstrap/release.txt
r1561 r1866 1 0.2 20091109 2 * Changed lots of things 3 1 4 0.1 20091009 2 5 * First lab release
Note: See TracChangeset
for help on using the changeset viewer.