From 7ae265d3e681ebbb637211616aac15b18b8689a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbyn=C4=9Bk=20=C5=A0vec?= Date: Thu, 18 Nov 2010 22:46:18 +0100 Subject: Czech language update --- lib/plugins/popularity/lang/cs/intro.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/cs/intro.txt b/lib/plugins/popularity/lang/cs/intro.txt index 70cf1a42c..4b386568a 100644 --- a/lib/plugins/popularity/lang/cs/intro.txt +++ b/lib/plugins/popularity/lang/cs/intro.txt @@ -1,6 +1,6 @@ ===== Průzkum používání ===== -Tento nástroj jednorázově shromáží anonymní data o vaší wiki a umožní vám odeslat je vývojářům DokuWiki. To jim pomůže lépe porozumět, jak uživatelé DokuWiki používají, a jejich rozhodnutí při dalším vývoji budou založena na statistikách z reálného používání DokuWiki. +Tento nástroj jednorázově shromáždí anonymní data o vaší wiki a umožní vám odeslat je vývojářům DokuWiki. To jim pomůže lépe porozumět, jak uživatelé DokuWiki používají, a jejich rozhodnutí při dalším vývoji budou založena na statistikách z reálného používání DokuWiki. Chcete-li pomoci vývojářům, čas od času, jak vaše wiki poroste, použijte tento nástroj. Vaše data budou pokaždé označena stejným anonymním identifikátorem. -- cgit v1.2.3 From 11d7187b1b2e7bddc70324b865e01e750c5df162 Mon Sep 17 00:00:00 2001 From: YooS C Date: Thu, 18 Nov 2010 22:47:25 +0100 Subject: Korean language update --- lib/plugins/popularity/lang/ko/lang.php | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/ko/lang.php b/lib/plugins/popularity/lang/ko/lang.php index 3a28b1b0e..91d798a5f 100644 --- a/lib/plugins/popularity/lang/ko/lang.php +++ b/lib/plugins/popularity/lang/ko/lang.php @@ -6,6 +6,7 @@ * @author dongnak@gmail.com * @author Song Younghwan * @author SONG Younghwan + * @author Seung-Chul Yoo */ $lang['name'] = '인기도 조사 (불러오는데 시간이 걸릴 수 있습니다.)'; $lang['submit'] = '자료 보내기'; -- cgit v1.2.3 From ba6984cf400bde3cbdd7e1f203602cb0d04eb7d2 Mon Sep 17 00:00:00 2001 From: Caleb Maclennan Date: Sat, 20 Nov 2010 15:35:17 +0100 Subject: Turkish language update --- lib/plugins/popularity/lang/tr/lang.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/tr/lang.php b/lib/plugins/popularity/lang/tr/lang.php index 682b51218..fe87d1548 100644 --- a/lib/plugins/popularity/lang/tr/lang.php +++ b/lib/plugins/popularity/lang/tr/lang.php @@ -2,11 +2,10 @@ /** * Turkish language file * - * @author Aydın Coşkuner aydinweb@gmail.com * @author Aydın Coşkuner - * @author yavuzselim@gmail.com - * @author Cihan Kahveci kahvecicihan@gmail.com + * @author Cihan Kahveci * @author Yavuz Selim + * @author Caleb Maclennan */ $lang['name'] = 'Popülerlik Geribeslemesi (yüklemesi uzun sürebilir)'; $lang['submit'] = 'Verileri Gönder'; -- cgit v1.2.3 From 98be6429ce6efaa013146af9145aa572816adb89 Mon Sep 17 00:00:00 2001 From: Guillaume Turri Date: Thu, 9 Dec 2010 22:03:59 +0100 Subject: Add support for autosubmitting popularity data FS#2025 --- lib/plugins/popularity/admin.php | 269 +++++++++----------------------- lib/plugins/popularity/lang/en/lang.php | 4 + 2 files changed, 78 insertions(+), 195 deletions(-) (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/admin.php b/lib/plugins/popularity/admin.php index 71ea40799..22ddb245b 100644 --- a/lib/plugins/popularity/admin.php +++ b/lib/plugins/popularity/admin.php @@ -13,21 +13,15 @@ if(!defined('DOKU_INC')) die(); * need to inherit from this class */ class admin_plugin_popularity extends DokuWiki_Admin_Plugin { - var $version = '2010-09-17'; + var $version; + var $helper; + var $sentStatus = null; + function admin_plugin_popularity(){ + $this->helper = $this->loadHelper('popularity', false); - /** - * return some info - */ - function getInfo(){ - return array( - 'author' => 'Andreas Gohr', - 'email' => 'andi@splitbrain.org', - 'date' => $this->version, - 'name' => 'Popularity Feedback Plugin', - 'desc' => 'Send anonymous data about your wiki to the developers.', - 'url' => 'http://www.dokuwiki.org/plugin:popularity', - ); + $pluginInfo = $this->getInfo(); + $this->version = $pluginInfo['date']; } /** @@ -56,204 +50,89 @@ class admin_plugin_popularity extends DokuWiki_Admin_Plugin { * handle user request */ function handle() { + //Send the data + if ( isset($_REQUEST['data']) ){ + $this->sentStatus = $this->helper->sendData( $_REQUEST['data'] ); + //Deal with the autosubmit option + $this->_enableAutosubmit( isset($_REQUEST['autosubmit']) ); + } } /** - * Output HTML form + * Enable or disable autosubmit + * @param bool $enable If TRUE, it will enable autosubmit. Else, it will disable it. */ - function html() { - echo $this->locale_xhtml('intro'); - - flush(); - $data = $this->_gather(); - echo '
'; - echo '
'; - echo '
'; - echo ''; - echo '
'; - echo '
'; - -// dbg($data); } - /** - * Gather all information + * Output HTML form */ - function _gather(){ - global $conf; - global $auth; - $data = array(); - $phptime = ini_get('max_execution_time'); - @set_time_limit(0); - - // version - $data['anon_id'] = md5(auth_cookiesalt()); - $data['version'] = getVersion(); - $data['popversion'] = $this->version; - $data['language'] = $conf['lang']; - $data['now'] = time(); - - // some config values - $data['conf_useacl'] = $conf['useacl']; - $data['conf_authtype'] = $conf['authtype']; - $data['conf_template'] = $conf['template']; - - // number and size of pages - $list = array(); - search($list,$conf['datadir'],array($this,'_search_count'),'',''); - $data['page_count'] = $list['file_count']; - $data['page_size'] = $list['file_size']; - $data['page_biggest'] = $list['file_max']; - $data['page_smallest'] = $list['file_min']; - $data['page_nscount'] = $list['dir_count']; - $data['page_nsnest'] = $list['dir_nest']; - if($list['file_count']) $data['page_avg'] = $list['file_size'] / $list['file_count']; - $data['page_oldest'] = $list['file_oldest']; - unset($list); - - // number and size of media - $list = array(); - search($list,$conf['mediadir'],array($this,'_search_count'),array('all'=>true)); - $data['media_count'] = $list['file_count']; - $data['media_size'] = $list['file_size']; - $data['media_biggest'] = $list['file_max']; - $data['media_smallest'] = $list['file_min']; - $data['media_nscount'] = $list['dir_count']; - $data['media_nsnest'] = $list['dir_nest']; - if($list['file_count']) $data['media_avg'] = $list['file_size'] / $list['file_count']; - unset($list); - - // number and size of cache - $list = array(); - search($list,$conf['cachedir'],array($this,'_search_count'),array('all'=>true)); - $data['cache_count'] = $list['file_count']; - $data['cache_size'] = $list['file_size']; - $data['cache_biggest'] = $list['file_max']; - $data['cache_smallest'] = $list['file_min']; - if($list['file_count']) $data['cache_avg'] = $list['file_size'] / $list['file_count']; - unset($list); - - // number and size of index - $list = array(); - search($list,$conf['indexdir'],array($this,'_search_count'),array('all'=>true)); - $data['index_count'] = $list['file_count']; - $data['index_size'] = $list['file_size']; - $data['index_biggest'] = $list['file_max']; - $data['index_smallest'] = $list['file_min']; - if($list['file_count']) $data['index_avg'] = $list['file_size'] / $list['file_count']; - unset($list); - - // number and size of meta - $list = array(); - search($list,$conf['metadir'],array($this,'_search_count'),array('all'=>true)); - $data['meta_count'] = $list['file_count']; - $data['meta_size'] = $list['file_size']; - $data['meta_biggest'] = $list['file_max']; - $data['meta_smallest'] = $list['file_min']; - if($list['file_count']) $data['meta_avg'] = $list['file_size'] / $list['file_count']; - unset($list); - - // number and size of attic - $list = array(); - search($list,$conf['olddir'],array($this,'_search_count'),array('all'=>true)); - $data['attic_count'] = $list['file_count']; - $data['attic_size'] = $list['file_size']; - $data['attic_biggest'] = $list['file_max']; - $data['attic_smallest'] = $list['file_min']; - if($list['file_count']) $data['attic_avg'] = $list['file_size'] / $list['file_count']; - $data['attic_oldest'] = $list['file_oldest']; - unset($list); - - // user count - if($auth && $auth->canDo('getUserCount')){ - $data['user_count'] = $auth->getUserCount(); - } + function html() { + if ( ! isset($_REQUEST['data']) ){ + echo $this->locale_xhtml('intro'); + + //If there was an error the last time we tried to autosubmit, warn the user + if ( $this->helper->isAutoSubmitEnabled() ){ + if ( @file_exists($this->helper->autosubmitErrorFile) ){ + echo $this->getLang('autosubmitError'); + echo io_readFile( $this->helper->autosubmitErrorFile ); + } + } - // calculate edits per day - $list = @file($conf['metadir'].'/_dokuwiki.changes'); - $count = count($list); - if($count > 2){ - $first = (int) substr(array_shift($list),0,10); - $last = (int) substr(array_pop($list),0,10); - $dur = ($last - $first)/(60*60*24); // number of days in the changelog - $data['edits_per_day'] = $count/$dur; + flush(); + echo $this->buildForm('server'); + } else { + //If we just submitted the form + if ( $this->sentStatus === '' ){ + //If we successfully sent the data + echo $this->locale_xhtml('submitted'); + } else { + //If we failed to submit the data, try directly with the browser + echo $this->getLang('submissionFailed') . $this->sentStatus . '
'; + echo $this->getLang('submitDirectly'); + echo $this->buildForm('browser', $_REQUEST['data']); + } } - unset($list); - - // plugins - $data['plugin'] = plugin_list(); - - // pcre info - if(defined('PCRE_VERSION')) $data['pcre_version'] = PCRE_VERSION; - $data['pcre_backtrack'] = ini_get('pcre.backtrack_limit'); - $data['pcre_recursion'] = ini_get('pcre.recursion_limit'); - - // php info - $data['os'] = PHP_OS; - $data['webserver'] = $_SERVER['SERVER_SOFTWARE']; - $data['php_version'] = phpversion(); - $data['php_sapi'] = php_sapi_name(); - $data['php_memory'] = $this->_to_byte(ini_get('memory_limit')); - $data['php_exectime'] = $phptime; - $data['php_extension'] = get_loaded_extensions(); - - return $data; } - function _search_count(&$data,$base,$file,$type,$lvl,$opts){ - // traverse - if($type == 'd'){ - if($data['dir_nest'] < $lvl) $data['dir_nest'] = $lvl; - $data['dir_count']++; - return true; - } - - //only search txt files if 'all' option not set - if($opts['all'] || substr($file,-4) == '.txt'){ - $size = filesize($base.'/'.$file); - $date = filemtime($base.'/'.$file); - $data['file_count']++; - $data['file_size'] += $size; - if(!isset($data['file_min']) || $data['file_min'] > $size) $data['file_min'] = $size; - if($data['file_max'] < $size) $data['file_max'] = $size; - if(!isset($data['file_oldest']) || $data['file_oldest'] > $date) $data['file_oldest'] = $date; - } - - return false; - } - /** - * Convert php.ini shorthands to byte - * - * @author - * @link http://de3.php.net/manual/en/ini.core.php#79564 + * Build the form which presents the data to be sent + * @param string $submit How is the data supposed to be sent? (may be: 'browser' or 'server') + * @param string $data The popularity data, if it has already been computed. NULL otherwise. + * @return The form, as an html string */ - function _to_byte($v){ - $l = substr($v, -1); - $ret = substr($v, 0, -1); - switch(strtoupper($l)){ - case 'P': - $ret *= 1024; - case 'T': - $ret *= 1024; - case 'G': - $ret *= 1024; - case 'M': - $ret *= 1024; - case 'K': - $ret *= 1024; - break; + function buildForm($submissionMode, $data = null){ + $url = ($submissionMode === 'browser' ? $this->helper->submitUrl : script()); + if ( is_null($data) ){ + $data = $this->helper->gatherAsString(); + } + + $form = '
' + .'
' + .'
'; + + //If we submit via the server, we give the opportunity to suscribe to the autosubmission option + if ( $submissionMode !== 'browser' ){ + $form .= '' + .'' + .''; } - return $ret; + $form .= '' + .'
' + .'
'; + return $form; } } diff --git a/lib/plugins/popularity/lang/en/lang.php b/lib/plugins/popularity/lang/en/lang.php index c9912b7ad..eba1a48e2 100644 --- a/lib/plugins/popularity/lang/en/lang.php +++ b/lib/plugins/popularity/lang/en/lang.php @@ -2,3 +2,7 @@ $lang['name'] = 'Popularity Feedback (may take some time to load)'; $lang['submit'] = 'Send Data'; +$lang['autosubmit'] = 'Automatically send data once a month (may be (un)selected later)'; +$lang['submissionFailed'] = 'The data couldn\'t be sent due to the following error:'; +$lang['submitDirectly'] = 'You may sent this data directly, validating the following form'; +$lang['autosubmitError'] = 'The last time we tried to autosubmit the data, we couldn\'t, because of the following error: '; -- cgit v1.2.3 From fb7b772309f4272b67352a142b8afb1afd9743e5 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Thu, 9 Dec 2010 22:13:06 +0100 Subject: some language improvements(?) for the popularity plugin --- lib/plugins/popularity/lang/en/lang.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/en/lang.php b/lib/plugins/popularity/lang/en/lang.php index eba1a48e2..a94623718 100644 --- a/lib/plugins/popularity/lang/en/lang.php +++ b/lib/plugins/popularity/lang/en/lang.php @@ -1,8 +1,8 @@ Date: Fri, 10 Dec 2010 09:46:38 +0100 Subject: added missing files for popularity plugin --- lib/plugins/popularity/action.php | 57 ++++++ lib/plugins/popularity/helper.php | 266 +++++++++++++++++++++++++++ lib/plugins/popularity/lang/en/submitted.txt | 3 + lib/plugins/popularity/plugin.info.txt | 7 + 4 files changed, 333 insertions(+) create mode 100644 lib/plugins/popularity/action.php create mode 100644 lib/plugins/popularity/helper.php create mode 100644 lib/plugins/popularity/lang/en/submitted.txt create mode 100644 lib/plugins/popularity/plugin.info.txt (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/action.php b/lib/plugins/popularity/action.php new file mode 100644 index 000000000..ce10808b9 --- /dev/null +++ b/lib/plugins/popularity/action.php @@ -0,0 +1,57 @@ +helper = $this->loadHelper('popularity', false); + } + + /** + * Register its handlers with the dokuwiki's event controller + */ + function register(&$controller) { + $controller->register_hook('INDEXER_TASKS_RUN', 'AFTER', $this, '_autosubmit', array()); + } + + function _autosubmit(&$event, $param){ + //Do we have to send the data now + if ( !$this->helper->isAutosubmitEnabled() || $this->_isTooEarlyToSubmit() ){ + return; + } + + //Actually send it + $status = $this->helper->sendData( $this->helper->gatherAsString() ); + + + if ( $status !== '' ){ + //If an error occured, log it + io_saveFile( $this->helper->autosubmitErrorFile, $status ); + } else { + //If the data has been sent successfully, previous log of errors are useless + @unlink($this->helper->autosubmitErrorFile); + //Update the last time we sent data + touch ( $this->helper->autosubmitFile ); + } + + $event->stopPropagation(); + $event->preventDefault(); + } + + /** + * Check if it's time to send autosubmit data + * (we should have check the autosubmit is enabled first) + */ + function _isTooEarlyToSubmit(){ + $lastSubmit = @filemtime($this->helper->autosubmitFile); + return $lastSubmit + 24*60*60*30 > time(); + } +} diff --git a/lib/plugins/popularity/helper.php b/lib/plugins/popularity/helper.php new file mode 100644 index 000000000..00a359cbd --- /dev/null +++ b/lib/plugins/popularity/helper.php @@ -0,0 +1,266 @@ +autosubmitFile = $conf['cachedir'].'/autosubmit.txt'; + $this->autosubmitErrorFile = $conf['cachedir'].'/autosubmitError.txt'; + } + + function getMethods(){ + $result = array(); + $result[] = array( + 'name' => 'isAutoSubmitEnabled', + 'desc' => 'Check if autosubmit is enabled', + 'params' => array(), + 'return' => array('result' => 'bool') + ); + $result[] = array( + 'name' => 'sendData', + 'desc' => 'Send the popularity data', + 'params' => array('data' => 'string'), + 'return' => array() + ); + $result[] = array( + 'name' => 'gatherAsString', + 'desc' => 'Gather the popularity data', + 'params' => array(), + 'return' => array('data' => 'string') + ); + return $result; + + } + + /** + * Check if autosubmit is enabled + * @return TRUE if we should send data once a month, FALSE otherwise + */ + function isAutoSubmitEnabled(){ + return @file_exists($this->autosubmitFile); + } + + /** + * Send the data, to the submit url + * @param string $data The popularity data + * @return An empty string if everything worked fine, a string describing the error otherwise + */ + function sendData($data){ + $error = ''; + $httpClient = new DokuHTTPClient(); + $status = $httpClient->sendRequest($this->submitUrl, $data, 'POST'); + if ( ! $status ){ + $error = $httpClient->error; + } + return $error; + } + + /** + * Gather all information + * @return The popularity data as a string + */ + function gatherAsString(){ + $data = $this->_gather(); + $string = ''; + foreach($data as $key => $val){ + if(is_array($val)) foreach($val as $v){ + $string .= hsc($key)."\t".hsc($v)."\n"; + }else{ + $string .= hsc($key)."\t".hsc($val)."\n"; + } + } + return $string; + } + + /** + * Gather all information + * @return The popularity data as an array + */ + function _gather(){ + global $conf; + global $auth; + $data = array(); + $phptime = ini_get('max_execution_time'); + @set_time_limit(0); + + // version + $data['anon_id'] = md5(auth_cookiesalt()); + $data['version'] = getVersion(); + $data['popversion'] = $this->version; + $data['language'] = $conf['lang']; + $data['now'] = time(); + + // some config values + $data['conf_useacl'] = $conf['useacl']; + $data['conf_authtype'] = $conf['authtype']; + $data['conf_template'] = $conf['template']; + + // number and size of pages + $list = array(); + search($list,$conf['datadir'],array($this,'_search_count'),'',''); + $data['page_count'] = $list['file_count']; + $data['page_size'] = $list['file_size']; + $data['page_biggest'] = $list['file_max']; + $data['page_smallest'] = $list['file_min']; + $data['page_nscount'] = $list['dir_count']; + $data['page_nsnest'] = $list['dir_nest']; + if($list['file_count']) $data['page_avg'] = $list['file_size'] / $list['file_count']; + $data['page_oldest'] = $list['file_oldest']; + unset($list); + + // number and size of media + $list = array(); + search($list,$conf['mediadir'],array($this,'_search_count'),array('all'=>true)); + $data['media_count'] = $list['file_count']; + $data['media_size'] = $list['file_size']; + $data['media_biggest'] = $list['file_max']; + $data['media_smallest'] = $list['file_min']; + $data['media_nscount'] = $list['dir_count']; + $data['media_nsnest'] = $list['dir_nest']; + if($list['file_count']) $data['media_avg'] = $list['file_size'] / $list['file_count']; + unset($list); + + // number and size of cache + $list = array(); + search($list,$conf['cachedir'],array($this,'_search_count'),array('all'=>true)); + $data['cache_count'] = $list['file_count']; + $data['cache_size'] = $list['file_size']; + $data['cache_biggest'] = $list['file_max']; + $data['cache_smallest'] = $list['file_min']; + if($list['file_count']) $data['cache_avg'] = $list['file_size'] / $list['file_count']; + unset($list); + + // number and size of index + $list = array(); + search($list,$conf['indexdir'],array($this,'_search_count'),array('all'=>true)); + $data['index_count'] = $list['file_count']; + $data['index_size'] = $list['file_size']; + $data['index_biggest'] = $list['file_max']; + $data['index_smallest'] = $list['file_min']; + if($list['file_count']) $data['index_avg'] = $list['file_size'] / $list['file_count']; + unset($list); + + // number and size of meta + $list = array(); + search($list,$conf['metadir'],array($this,'_search_count'),array('all'=>true)); + $data['meta_count'] = $list['file_count']; + $data['meta_size'] = $list['file_size']; + $data['meta_biggest'] = $list['file_max']; + $data['meta_smallest'] = $list['file_min']; + if($list['file_count']) $data['meta_avg'] = $list['file_size'] / $list['file_count']; + unset($list); + + // number and size of attic + $list = array(); + search($list,$conf['olddir'],array($this,'_search_count'),array('all'=>true)); + $data['attic_count'] = $list['file_count']; + $data['attic_size'] = $list['file_size']; + $data['attic_biggest'] = $list['file_max']; + $data['attic_smallest'] = $list['file_min']; + if($list['file_count']) $data['attic_avg'] = $list['file_size'] / $list['file_count']; + $data['attic_oldest'] = $list['file_oldest']; + unset($list); + + // user count + if($auth && $auth->canDo('getUserCount')){ + $data['user_count'] = $auth->getUserCount(); + } + + // calculate edits per day + $list = @file($conf['metadir'].'/_dokuwiki.changes'); + $count = count($list); + if($count > 2){ + $first = (int) substr(array_shift($list),0,10); + $last = (int) substr(array_pop($list),0,10); + $dur = ($last - $first)/(60*60*24); // number of days in the changelog + $data['edits_per_day'] = $count/$dur; + } + unset($list); + + // plugins + $data['plugin'] = plugin_list(); + + // pcre info + if(defined('PCRE_VERSION')) $data['pcre_version'] = PCRE_VERSION; + $data['pcre_backtrack'] = ini_get('pcre.backtrack_limit'); + $data['pcre_recursion'] = ini_get('pcre.recursion_limit'); + + // php info + $data['os'] = PHP_OS; + $data['webserver'] = $_SERVER['SERVER_SOFTWARE']; + $data['php_version'] = phpversion(); + $data['php_sapi'] = php_sapi_name(); + $data['php_memory'] = $this->_to_byte(ini_get('memory_limit')); + $data['php_exectime'] = $phptime; + $data['php_extension'] = get_loaded_extensions(); + + return $data; + } + + function _search_count(&$data,$base,$file,$type,$lvl,$opts){ + // traverse + if($type == 'd'){ + if($data['dir_nest'] < $lvl) $data['dir_nest'] = $lvl; + $data['dir_count']++; + return true; + } + + //only search txt files if 'all' option not set + if($opts['all'] || substr($file,-4) == '.txt'){ + $size = filesize($base.'/'.$file); + $date = filemtime($base.'/'.$file); + $data['file_count']++; + $data['file_size'] += $size; + if(!isset($data['file_min']) || $data['file_min'] > $size) $data['file_min'] = $size; + if($data['file_max'] < $size) $data['file_max'] = $size; + if(!isset($data['file_oldest']) || $data['file_oldest'] > $date) $data['file_oldest'] = $date; + } + + return false; + } + + /** + * Convert php.ini shorthands to byte + * + * @author + * @link http://de3.php.net/manual/en/ini.core.php#79564 + */ + function _to_byte($v){ + $l = substr($v, -1); + $ret = substr($v, 0, -1); + switch(strtoupper($l)){ + case 'P': + $ret *= 1024; + case 'T': + $ret *= 1024; + case 'G': + $ret *= 1024; + case 'M': + $ret *= 1024; + case 'K': + $ret *= 1024; + break; + } + return $ret; + } +} diff --git a/lib/plugins/popularity/lang/en/submitted.txt b/lib/plugins/popularity/lang/en/submitted.txt new file mode 100644 index 000000000..30f2784aa --- /dev/null +++ b/lib/plugins/popularity/lang/en/submitted.txt @@ -0,0 +1,3 @@ +====== Popularity Feedback ====== + +The data has been sent succesfully. diff --git a/lib/plugins/popularity/plugin.info.txt b/lib/plugins/popularity/plugin.info.txt new file mode 100644 index 000000000..2652bd669 --- /dev/null +++ b/lib/plugins/popularity/plugin.info.txt @@ -0,0 +1,7 @@ +base popularity +author Andreas Gohr +email andi@splitbrain.org +date 2010-12-09 +name Popularity Feedback Plugin +desc Send anonymous data about your wiki to the developers. +url http://www.dokuwiki.org/plugin:popularity -- cgit v1.2.3 From 5827ba0b8aa706e4201a3dc654b3c2cf141f6dd2 Mon Sep 17 00:00:00 2001 From: Guillaume Turri Date: Sat, 18 Dec 2010 10:27:49 +0100 Subject: Popularity plugin displays the last time the data was sent --- lib/plugins/popularity/action.php | 4 ++-- lib/plugins/popularity/admin.php | 10 ++++++++++ lib/plugins/popularity/helper.php | 27 ++++++++++++++++++++++++++- lib/plugins/popularity/lang/en/lang.php | 1 + 4 files changed, 39 insertions(+), 3 deletions(-) (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/action.php b/lib/plugins/popularity/action.php index ce10808b9..bf11efba6 100644 --- a/lib/plugins/popularity/action.php +++ b/lib/plugins/popularity/action.php @@ -48,10 +48,10 @@ class action_plugin_popularity extends Dokuwiki_Action_Plugin { /** * Check if it's time to send autosubmit data - * (we should have check the autosubmit is enabled first) + * (we should have check if autosubmit is enabled first) */ function _isTooEarlyToSubmit(){ - $lastSubmit = @filemtime($this->helper->autosubmitFile); + $lastSubmit = $this->helper->lastSentTime(); return $lastSubmit + 24*60*60*30 > time(); } } diff --git a/lib/plugins/popularity/admin.php b/lib/plugins/popularity/admin.php index 22ddb245b..40c3f5452 100644 --- a/lib/plugins/popularity/admin.php +++ b/lib/plugins/popularity/admin.php @@ -53,6 +53,10 @@ class admin_plugin_popularity extends DokuWiki_Admin_Plugin { //Send the data if ( isset($_REQUEST['data']) ){ $this->sentStatus = $this->helper->sendData( $_REQUEST['data'] ); + if ( $this->sentStatus === '' ){ + //Update the last time we sent the data + touch ( $this->helper->popularityLastSubmitFile ); + } //Deal with the autosubmit option $this->_enableAutosubmit( isset($_REQUEST['autosubmit']) ); } @@ -87,6 +91,12 @@ class admin_plugin_popularity extends DokuWiki_Admin_Plugin { flush(); echo $this->buildForm('server'); + + //Print the last time the data was sent + $lastSent = $this->helper->lastSentTime(); + if ( $lastSent !== 0 ){ + echo $this->getLang('lastSent') . datetime_h($lastSent); + } } else { //If we just submitted the form if ( $this->sentStatus === '' ){ diff --git a/lib/plugins/popularity/helper.php b/lib/plugins/popularity/helper.php index 00a359cbd..629d0bd67 100644 --- a/lib/plugins/popularity/helper.php +++ b/lib/plugins/popularity/helper.php @@ -13,7 +13,7 @@ class helper_plugin_popularity extends Dokuwiki_Plugin { /** * Name of the file which determine if the the autosubmit is enabled, - * and when it was submited for the las time + * and when it was submited for the last time */ var $autosubmitFile; @@ -22,10 +22,19 @@ class helper_plugin_popularity extends Dokuwiki_Plugin { */ var $autosubmitErrorFile; + /** + * Name of the file which determine when the popularity data was manually + * submitted for the last time + * (If this file doesn't exist, the data has never been sent) + */ + var $popularityLastSubmitFile; + + function helper_plugin_popularity(){ global $conf; $this->autosubmitFile = $conf['cachedir'].'/autosubmit.txt'; $this->autosubmitErrorFile = $conf['cachedir'].'/autosubmitError.txt'; + $this->popularityLastSubmitFile = $conf['cachedir'].'/lastSubmitTime.txt'; } function getMethods(){ @@ -48,6 +57,12 @@ class helper_plugin_popularity extends Dokuwiki_Plugin { 'params' => array(), 'return' => array('data' => 'string') ); + $result[] = array( + 'name' => 'lastSentTime', + 'desc' => 'Compute the last time popularity data was sent', + 'params' => 'array()', + 'return' => array('data' => 'int') + ); return $result; } @@ -75,6 +90,16 @@ class helper_plugin_popularity extends Dokuwiki_Plugin { return $error; } + /** + * Compute the last time the data was sent. If it has never been sent, we return 0. + */ + function lastSentTime(){ + $manualSubmission = @filemtime($this->popularityLastSubmitFile); + $autoSubmission = @filemtime($this->autosubmitFile); + + return max((int) $manualSubmission, (int) $autoSubmission); + } + /** * Gather all information * @return The popularity data as a string diff --git a/lib/plugins/popularity/lang/en/lang.php b/lib/plugins/popularity/lang/en/lang.php index a94623718..78a5e862c 100644 --- a/lib/plugins/popularity/lang/en/lang.php +++ b/lib/plugins/popularity/lang/en/lang.php @@ -6,3 +6,4 @@ $lang['autosubmit'] = 'Automatically send data once a month'; $lang['submissionFailed'] = 'The data couldn\'t be sent due to the following error:'; $lang['submitDirectly'] = 'You can send the data manually by submitting the following form.'; $lang['autosubmitError'] = 'The last autosubmit failed, because of the following error: '; +$lang['lastSent'] = 'The data has been sent '; -- cgit v1.2.3 From f2cfd2ce9ab3c204e78cd3e6589f8bb8d0079621 Mon Sep 17 00:00:00 2001 From: Gregor Skumavc Date: Tue, 21 Dec 2010 21:10:33 +0100 Subject: Slovak language update --- lib/plugins/popularity/lang/sl/lang.php | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/sl/lang.php b/lib/plugins/popularity/lang/sl/lang.php index befb1eec0..dc81ec060 100644 --- a/lib/plugins/popularity/lang/sl/lang.php +++ b/lib/plugins/popularity/lang/sl/lang.php @@ -4,5 +4,6 @@ * * @author Dejan Levec * @author Boštjan Seničar + * @author Gregor Skumavc (grega.skumavc@gmail.com) */ $lang['submit'] = 'Pošlji'; -- cgit v1.2.3 From 7cb3c08f6b00763d0438c538da2e6dc2de03bc14 Mon Sep 17 00:00:00 2001 From: Ben Fifield Date: Thu, 23 Dec 2010 23:12:39 +0100 Subject: Spanish language update --- lib/plugins/popularity/lang/es/lang.php | 5 +++++ lib/plugins/popularity/lang/es/submitted.txt | 3 +++ 2 files changed, 8 insertions(+) create mode 100644 lib/plugins/popularity/lang/es/submitted.txt (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/es/lang.php b/lib/plugins/popularity/lang/es/lang.php index c76190c2c..6aa9a823d 100644 --- a/lib/plugins/popularity/lang/es/lang.php +++ b/lib/plugins/popularity/lang/es/lang.php @@ -19,3 +19,8 @@ */ $lang['name'] = 'Retroinformación (Feedback) plugin Popularity'; $lang['submit'] = 'Enviar datos'; +$lang['autosubmit'] = 'Enviar automáticamente datos una vez al mes'; +$lang['submissionFailed'] = 'Los datos no se pudo enviar debido al error siguiente:'; +$lang['submitDirectly'] = 'Puede enviar los datos de forma manual mediante la presentación de la siguiente forma.'; +$lang['autosubmitError'] = 'El último auto no pudo presentar, debido al error siguiente:'; +$lang['lastSent'] = 'Los datos se han enviado'; diff --git a/lib/plugins/popularity/lang/es/submitted.txt b/lib/plugins/popularity/lang/es/submitted.txt new file mode 100644 index 000000000..bb1754cdd --- /dev/null +++ b/lib/plugins/popularity/lang/es/submitted.txt @@ -0,0 +1,3 @@ +====== Retroinformación Popularity ====== + +Los datos se han enviado con éxito. \ No newline at end of file -- cgit v1.2.3 From c40c98f312f507ec5c769da79cb719281e2628a8 Mon Sep 17 00:00:00 2001 From: Matthias Schulte Date: Tue, 28 Dec 2010 18:33:23 +0100 Subject: added de/de-informal translation strings --- lib/plugins/popularity/lang/de-informal/lang.php | 5 +++++ lib/plugins/popularity/lang/de/lang.php | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/de-informal/lang.php b/lib/plugins/popularity/lang/de-informal/lang.php index 076b37115..8b8962322 100644 --- a/lib/plugins/popularity/lang/de-informal/lang.php +++ b/lib/plugins/popularity/lang/de-informal/lang.php @@ -9,3 +9,8 @@ */ $lang['name'] = 'Popularitätsrückmeldung (kann eine Weile dauern, bis es fertig geladen wurde)'; $lang['submit'] = 'Sende Daten'; +$lang['autosubmit'] = 'Daten einmal im Monat automatisch senden'; +$lang['submissionFailed'] = 'Die Daten konnten aufgrund folgendem Fehler nicht gesendet werden: '; +$lang['submitDirectly'] = 'Du kannst die Daten durch Betätigung des Buttons manuell versenden.'; +$lang['autosubmitError'] = 'Beim letzten automatischen Versuch die Daten zu senden, ist folgender Fehler aufgetreten: '; +$lang['lastSent'] = 'Die Daten wurden gesendet'; diff --git a/lib/plugins/popularity/lang/de/lang.php b/lib/plugins/popularity/lang/de/lang.php index 1372e9d8a..bb7f0e51a 100644 --- a/lib/plugins/popularity/lang/de/lang.php +++ b/lib/plugins/popularity/lang/de/lang.php @@ -14,3 +14,8 @@ */ $lang['name'] = 'Popularitäts-Feedback (Eventuell längere Ladezeit)'; $lang['submit'] = 'Daten senden'; +$lang['autosubmit'] = 'Daten einmal im Monat automatisch senden'; +$lang['submissionFailed'] = 'Die Daten konnten aufgrund folgendem Fehler nicht gesendet werden: '; +$lang['submitDirectly'] = 'Sie können die Daten durch Betätigung des Buttons manuell versenden.'; +$lang['autosubmitError'] = 'Beim letzten automatischen Versuch die Daten zu senden, ist folgender Fehler aufgetreten: '; +$lang['lastSent'] = 'Die Daten wurden gesendet'; -- cgit v1.2.3 From 650ebc14deceda2e5807bb777a04ee3d476429be Mon Sep 17 00:00:00 2001 From: lupo49 Date: Tue, 28 Dec 2010 19:56:19 +0100 Subject: de/de-informal: language optimizing --- lib/plugins/popularity/lang/de-informal/lang.php | 2 +- lib/plugins/popularity/lang/de/lang.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/de-informal/lang.php b/lib/plugins/popularity/lang/de-informal/lang.php index 8b8962322..61a7db7b1 100644 --- a/lib/plugins/popularity/lang/de-informal/lang.php +++ b/lib/plugins/popularity/lang/de-informal/lang.php @@ -10,7 +10,7 @@ $lang['name'] = 'Popularitätsrückmeldung (kann eine Weile dauern, bis es fertig geladen wurde)'; $lang['submit'] = 'Sende Daten'; $lang['autosubmit'] = 'Daten einmal im Monat automatisch senden'; -$lang['submissionFailed'] = 'Die Daten konnten aufgrund folgendem Fehler nicht gesendet werden: '; +$lang['submissionFailed'] = 'Die Daten konnten aufgrund des folgenden Fehlers nicht gesendet werden: '; $lang['submitDirectly'] = 'Du kannst die Daten durch Betätigung des Buttons manuell versenden.'; $lang['autosubmitError'] = 'Beim letzten automatischen Versuch die Daten zu senden, ist folgender Fehler aufgetreten: '; $lang['lastSent'] = 'Die Daten wurden gesendet'; diff --git a/lib/plugins/popularity/lang/de/lang.php b/lib/plugins/popularity/lang/de/lang.php index bb7f0e51a..ee0b11448 100644 --- a/lib/plugins/popularity/lang/de/lang.php +++ b/lib/plugins/popularity/lang/de/lang.php @@ -15,7 +15,7 @@ $lang['name'] = 'Popularitäts-Feedback (Eventuell längere Ladezeit)'; $lang['submit'] = 'Daten senden'; $lang['autosubmit'] = 'Daten einmal im Monat automatisch senden'; -$lang['submissionFailed'] = 'Die Daten konnten aufgrund folgendem Fehler nicht gesendet werden: '; +$lang['submissionFailed'] = 'Die Daten konnten aufgrund des folgenden Fehlers nicht gesendet werden: '; $lang['submitDirectly'] = 'Sie können die Daten durch Betätigung des Buttons manuell versenden.'; $lang['autosubmitError'] = 'Beim letzten automatischen Versuch die Daten zu senden, ist folgender Fehler aufgetreten: '; $lang['lastSent'] = 'Die Daten wurden gesendet'; -- cgit v1.2.3 From 35e6af3e780b32ba4cd5dab9e4c190c484d2b838 Mon Sep 17 00:00:00 2001 From: lupo49 Date: Tue, 4 Jan 2011 20:11:59 +0100 Subject: updated russian translations for bundled plugins --- lib/plugins/popularity/lang/ru/intro.txt | 6 +++--- lib/plugins/popularity/lang/ru/lang.php | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/ru/intro.txt b/lib/plugins/popularity/lang/ru/intro.txt index 587a7ae85..e8118e4eb 100644 --- a/lib/plugins/popularity/lang/ru/intro.txt +++ b/lib/plugins/popularity/lang/ru/intro.txt @@ -1,10 +1,10 @@ ====== Сбор информации о популярности ====== -Этот инструмент собирает анонимные данные о вашей вики и позволяет вам отправить их разработчикам «ДокуВики». Эти данные помогут им понять то, как именно используется «ДокуВики», и удостовериться, что принимаемые проектные решения соответствуют жизненным реалиям. +Этот инструмент собирает анонимные данные о вашей вики и позволяет вам отправить их разработчикам «ДокуВики». Эти данные помогут им понять, как именно используется «ДокуВики», и удостовериться, что принимаемые проектные решения соответствуют жизненным реалиям. -Отправляйте данные время от времени для того, чтобы сообщить разработчикам о том, что ваша вики «подросла». Отправленные вами данные будут идентифицированы по анонимному ID. +Отправляйте данные время от времени для того, чтобы сообщать разработчикам о том, что ваша вики «подросла». Отправленные вами данные будут идентифицированы по анонимному ID. Собранные данные содержат такую информацию, как: версия «ДокуВики», количество и размер ваших страниц и файлов, установленные плагины, информацию об установленном PHP. -Данные, которые будут посланы, представлены ниже. Пожалуйста, используйте кнопку «Отправить данные», чтобы передать информацию. +Данные, которые будут отосланы, представлены ниже. Пожалуйста, используйте кнопку «Отправить данные», чтобы передать информацию. diff --git a/lib/plugins/popularity/lang/ru/lang.php b/lib/plugins/popularity/lang/ru/lang.php index df89c7022..b63558134 100644 --- a/lib/plugins/popularity/lang/ru/lang.php +++ b/lib/plugins/popularity/lang/ru/lang.php @@ -14,3 +14,8 @@ */ $lang['name'] = 'Сбор информации о популярности (для загрузки может потребоваться некоторое время)'; $lang['submit'] = 'Отправить данные'; +$lang['autosubmit'] = 'Автоматически отправлять данные один раз в месяц'; +$lang['submissionFailed'] = 'Данные не могут быть отправлены из-за ошибки:'; +$lang['submitDirectly'] = 'Вы можете отправлять данные вручную, заполнив форму:'; +$lang['autosubmitError'] = 'Последнее автоотправление данных не удалось из-за ошибки:'; +$lang['lastSent'] = 'Данные отправлены'; -- cgit v1.2.3 From 178c8be8577764b678fc145787fb5a5fe5bd5bf7 Mon Sep 17 00:00:00 2001 From: Massimiliano Vassalli Date: Sun, 9 Jan 2011 11:01:51 +0100 Subject: Latin language update - better use of Latin terminology for DokuWiki - ACL is not translated as AAA (Aditus Administrationis Aditus) but with ICA (Index Custodiae Aditus), which is a more literal translation - minor corrections of grammar and logic - The word "namespace" is more literally translated "spatium nominis", but according to other translations (like the Italian one), I preferred to use "genus". --- lib/plugins/popularity/lang/la/intro.txt | 9 +++++++-- lib/plugins/popularity/lang/la/lang.php | 6 ++++++ lib/plugins/popularity/lang/la/submitted.txt | 3 +++ 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 lib/plugins/popularity/lang/la/submitted.txt (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/la/intro.txt b/lib/plugins/popularity/lang/la/intro.txt index 6f4ce8488..c3029caf4 100644 --- a/lib/plugins/popularity/lang/la/intro.txt +++ b/lib/plugins/popularity/lang/la/intro.txt @@ -1,5 +1,10 @@ ====== Index Fauoris Popularis ====== -Haec machina fauorem popularem mittis sic ut creatores uicis meliorem illum facere possint. +Haoc instrumentum fauorem popularem mittis sic ut creatores uicis meliorem illum facere possint. + +Rursum te fauorem mittere experamus sic ut si mutationes meliores uel peiores esse uidere possimus. + +Res mittendae tua forma in usu, numerus et pondus paginarum et aliarum rerum, addenda in usu et de PHP. + +Res rudes mittendae subter ostenduntur. "Res mittere" premas ut eas transferas. -Rursum te fauorem mittere experamus sic ut si mutationes meliores uel peiores esse uidere possimus. \ No newline at end of file diff --git a/lib/plugins/popularity/lang/la/lang.php b/lib/plugins/popularity/lang/la/lang.php index e634f9d41..c7f307c29 100644 --- a/lib/plugins/popularity/lang/la/lang.php +++ b/lib/plugins/popularity/lang/la/lang.php @@ -2,6 +2,12 @@ /** * Latin language file * + * @author Massimiliano Vassalli */ $lang['name'] = 'Index fauoris popularis (multum tempus quaerere potest)'; $lang['submit'] = 'Missum die'; +$lang['autosubmit'] = 'Constanter res omni mense mittuntur'; +$lang['submissionFailed'] = 'Res non mittuntur ea causa:'; +$lang['submitDirectly'] = 'Res tu mittere potes cum hoc exemplar compleas.'; +$lang['autosubmitError'] = 'Extrema missio lapsa est ea causa:'; +$lang['lastSent'] = 'Res missae sunt'; diff --git a/lib/plugins/popularity/lang/la/submitted.txt b/lib/plugins/popularity/lang/la/submitted.txt new file mode 100644 index 000000000..2b2faf439 --- /dev/null +++ b/lib/plugins/popularity/lang/la/submitted.txt @@ -0,0 +1,3 @@ +====== Index fauoris popularis ====== + +Res feliciter missae sunt. \ No newline at end of file -- cgit v1.2.3 From 73f799f0aa6144ef07d0af5a050b845a88ba991d Mon Sep 17 00:00:00 2001 From: Niels Lange Date: Sun, 9 Jan 2011 11:31:39 +0100 Subject: German language update --- lib/plugins/popularity/lang/de/lang.php | 1 + lib/plugins/popularity/lang/de/submitted.txt | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 lib/plugins/popularity/lang/de/submitted.txt (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/de/lang.php b/lib/plugins/popularity/lang/de/lang.php index ee0b11448..b5094520b 100644 --- a/lib/plugins/popularity/lang/de/lang.php +++ b/lib/plugins/popularity/lang/de/lang.php @@ -11,6 +11,7 @@ * @author Blitzi94@gmx.de * @author Robert Bogenschneider * @author Robert Bogenschneider + * @author Niels Lange */ $lang['name'] = 'Popularitäts-Feedback (Eventuell längere Ladezeit)'; $lang['submit'] = 'Daten senden'; diff --git a/lib/plugins/popularity/lang/de/submitted.txt b/lib/plugins/popularity/lang/de/submitted.txt new file mode 100644 index 000000000..e7b45b5b7 --- /dev/null +++ b/lib/plugins/popularity/lang/de/submitted.txt @@ -0,0 +1,3 @@ +====== Popularitäts-Feedback ====== + +Die Daten wurden erfolgreich versandt. \ No newline at end of file -- cgit v1.2.3 From 283c7183458261e20d78d545539cdaa727ee1590 Mon Sep 17 00:00:00 2001 From: Usama Akkad Date: Wed, 12 Jan 2011 20:13:38 +0100 Subject: Arabic language update --- lib/plugins/popularity/lang/ar/lang.php | 5 +++++ lib/plugins/popularity/lang/ar/submitted.txt | 3 +++ 2 files changed, 8 insertions(+) create mode 100644 lib/plugins/popularity/lang/ar/submitted.txt (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/ar/lang.php b/lib/plugins/popularity/lang/ar/lang.php index c0e7dc6af..b2581294a 100644 --- a/lib/plugins/popularity/lang/ar/lang.php +++ b/lib/plugins/popularity/lang/ar/lang.php @@ -7,3 +7,8 @@ */ $lang['name'] = 'رد الشعبية (قد يأخذ بعض الوقت ليحمل)'; $lang['submit'] = 'أرسل البيانات'; +$lang['autosubmit'] = 'ارسل البيانات آليا كل شهر'; +$lang['submissionFailed'] = 'تعذر إرسال البيانات بسبب الخطأ التالي:'; +$lang['submitDirectly'] = 'يمكنك إرسال البيانات يدويا بارسال النموذج التالي.'; +$lang['autosubmitError'] = 'فشلت آخر محاولة للإرسال، بسبب الخطأ التالي:'; +$lang['lastSent'] = 'أرسلت البيانات'; diff --git a/lib/plugins/popularity/lang/ar/submitted.txt b/lib/plugins/popularity/lang/ar/submitted.txt new file mode 100644 index 000000000..085e3bd98 --- /dev/null +++ b/lib/plugins/popularity/lang/ar/submitted.txt @@ -0,0 +1,3 @@ +====== رد الشعبية ====== + +أرسلت البيانات بنجاح. \ No newline at end of file -- cgit v1.2.3 From 99fef1646aeb4e3f5f819e991e4079bce08adc75 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Wed, 12 Jan 2011 23:15:52 +0100 Subject: Hebrew language update --- lib/plugins/popularity/lang/he/lang.php | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/he/lang.php b/lib/plugins/popularity/lang/he/lang.php index 024f94ae8..f619127cd 100644 --- a/lib/plugins/popularity/lang/he/lang.php +++ b/lib/plugins/popularity/lang/he/lang.php @@ -5,6 +5,7 @@ * @author Dotan Kamber * @author Moshe Kaplan * @author Yaron Yogev + * @author Yaron Shahrabani */ $lang['name'] = 'משוב פופולריות (יתכן זמן טעינה ארוך)'; $lang['submit'] = 'שלח מידע'; -- cgit v1.2.3 From 168cead4e4c7d7c79cc57fa557dd21428243b2f9 Mon Sep 17 00:00:00 2001 From: Christian Wichmann Date: Fri, 14 Jan 2011 11:22:52 +0100 Subject: German language update --- lib/plugins/popularity/lang/de/lang.php | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/de/lang.php b/lib/plugins/popularity/lang/de/lang.php index b5094520b..4649062f7 100644 --- a/lib/plugins/popularity/lang/de/lang.php +++ b/lib/plugins/popularity/lang/de/lang.php @@ -12,6 +12,7 @@ * @author Robert Bogenschneider * @author Robert Bogenschneider * @author Niels Lange + * @author Christian Wichmann */ $lang['name'] = 'Popularitäts-Feedback (Eventuell längere Ladezeit)'; $lang['submit'] = 'Daten senden'; -- cgit v1.2.3 From ef7acde6835f3eda384a189e4d6f2f86a3ad9d3c Mon Sep 17 00:00:00 2001 From: Christian Wichmann Date: Fri, 14 Jan 2011 11:23:23 +0100 Subject: German (informal) language update --- lib/plugins/popularity/lang/de-informal/lang.php | 1 + lib/plugins/popularity/lang/de-informal/submitted.txt | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 lib/plugins/popularity/lang/de-informal/submitted.txt (limited to 'lib/plugins/popularity') diff --git a/lib/plugins/popularity/lang/de-informal/lang.php b/lib/plugins/popularity/lang/de-informal/lang.php index 61a7db7b1..f884ed690 100644 --- a/lib/plugins/popularity/lang/de-informal/lang.php +++ b/lib/plugins/popularity/lang/de-informal/lang.php @@ -6,6 +6,7 @@ * @author Juergen Schwarzer * @author Marcel Metz * @author Matthias Schulte + * @author Christian Wichmann */ $lang['name'] = 'Popularitätsrückmeldung (kann eine Weile dauern, bis es fertig geladen wurde)'; $lang['submit'] = 'Sende Daten'; diff --git a/lib/plugins/popularity/lang/de-informal/submitted.txt b/lib/plugins/popularity/lang/de-informal/submitted.txt new file mode 100644 index 000000000..e7b45b5b7 --- /dev/null +++ b/lib/plugins/popularity/lang/de-informal/submitted.txt @@ -0,0 +1,3 @@ +====== Popularitäts-Feedback ====== + +Die Daten wurden erfolgreich versandt. \ No newline at end of file -- cgit v1.2.3