summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--_test/tests/inc/parserutils_set_metadata_during_rendering.test.php3
-rw-r--r--_test/tests/inc/tarlib.test.php0
-rw-r--r--inc/SafeFN.class.php12
-rw-r--r--inc/TarLib.class.php420
-rw-r--r--inc/events.php2
-rw-r--r--inc/lang/ko/install.html2
-rw-r--r--inc/lang/ko/lang.php16
-rw-r--r--inc/lang/ko/mailtext.txt2
-rw-r--r--inc/lang/ko/preview.txt2
-rw-r--r--inc/lang/ko/showrev.txt2
-rw-r--r--inc/lang/ko/updateprofile.txt2
-rw-r--r--inc/lang/lv/lang.php11
-rw-r--r--inc/lang/lv/mailwrap.html13
-rw-r--r--inc/lang/lv/resetpwd.txt3
-rw-r--r--inc/lang/sk/lang.php3
-rw-r--r--inc/parser/metadata.php41
-rw-r--r--inc/parser/renderer.php2
-rw-r--r--inc/parserutils.php2
-rw-r--r--inc/plugin.php2
-rw-r--r--lib/images/smileys/index.php48
-rw-r--r--lib/plugins/acl/lang/ko/help.txt2
-rw-r--r--lib/plugins/acl/lang/ko/lang.php2
-rw-r--r--lib/plugins/action.php2
-rw-r--r--lib/plugins/config/lang/ko/intro.txt4
-rw-r--r--lib/plugins/config/lang/ko/lang.php39
-rw-r--r--lib/plugins/config/lang/lv/lang.php94
-rw-r--r--lib/plugins/plugin/lang/lv/lang.php1
-rw-r--r--lib/plugins/popularity/action.php2
-rw-r--r--lib/plugins/popularity/lang/ko/intro.txt2
-rw-r--r--lib/plugins/safefnrecode/action.php2
-rw-r--r--lib/plugins/testing/action.php3
-rw-r--r--lib/plugins/usermanager/lang/ko/edit.txt2
-rw-r--r--lib/plugins/usermanager/lang/ko/lang.php8
33 files changed, 456 insertions, 295 deletions
diff --git a/_test/tests/inc/parserutils_set_metadata_during_rendering.test.php b/_test/tests/inc/parserutils_set_metadata_during_rendering.test.php
index 0683848f1..f08785ca2 100644
--- a/_test/tests/inc/parserutils_set_metadata_during_rendering.test.php
+++ b/_test/tests/inc/parserutils_set_metadata_during_rendering.test.php
@@ -50,7 +50,8 @@ class parserutils_set_metadata_during_rendering_test extends DokuWikiTest {
function helper_set_metadata($event, $meta) {
if ($this->active) {
p_set_metadata($this->id, $meta, false, true);
- $key = array_pop(array_keys($meta));
+ $keys = array_keys($meta);
+ $key = array_pop($keys);
$this->assertTrue(is_string($meta[$key])); // ensure we really have a key
// ensure that the metadata property hasn't been set previously
$this->assertNotEquals($meta[$key], p_get_metadata($this->id, $key));
diff --git a/_test/tests/inc/tarlib.test.php b/_test/tests/inc/tarlib.test.php
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/_test/tests/inc/tarlib.test.php
diff --git a/inc/SafeFN.class.php b/inc/SafeFN.class.php
index ab05b9eae..b9e4a2b2a 100644
--- a/inc/SafeFN.class.php
+++ b/inc/SafeFN.class.php
@@ -44,7 +44,7 @@ class SafeFN {
*
* @author Christopher Smith <chris@jalakai.co.uk>
*/
- public function encode($filename) {
+ public static function encode($filename) {
return self::unicode_to_safe(utf8_to_unicode($filename));
}
@@ -73,15 +73,15 @@ class SafeFN {
*
* @author Christopher Smith <chris@jalakai.co.uk>
*/
- public function decode($filename) {
+ public static function decode($filename) {
return unicode_to_utf8(self::safe_to_unicode(strtolower($filename)));
}
- public function validate_printable_utf8($printable_utf8) {
+ public static function validate_printable_utf8($printable_utf8) {
return !preg_match('#[\x01-\x1f]#',$printable_utf8);
}
- public function validate_safe($safe) {
+ public static function validate_safe($safe) {
return !preg_match('#[^'.self::$plain.self::$post_indicator.self::$pre_indicator.']#',$safe);
}
@@ -93,7 +93,7 @@ class SafeFN {
*
* @author Christopher Smith <chris@jalakai.co.uk>
*/
- private function unicode_to_safe($unicode) {
+ private static function unicode_to_safe($unicode) {
$safe = '';
$converted = false;
@@ -126,7 +126,7 @@ class SafeFN {
*
* @author Christopher Smith <chris@jalakai.co.uk>
*/
- private function safe_to_unicode($safe) {
+ private static function safe_to_unicode($safe) {
$unicode = array();
$split = preg_split('#(?=['.self::$post_indicator.self::$pre_indicator.'])#',$safe,-1,PREG_SPLIT_NO_EMPTY);
diff --git a/inc/TarLib.class.php b/inc/TarLib.class.php
index 126604cd1..e04c47cb8 100644
--- a/inc/TarLib.class.php
+++ b/inc/TarLib.class.php
@@ -13,7 +13,6 @@
* @author Christopher Smith <chris@jalakai.co.uk>
*/
-
/**
* Those constants represent the compression method to use.
* COMPRESS_GZIP is used for the GZIP compression; COMPRESS_BZIP for
@@ -68,15 +67,15 @@ class TarLib {
var $_result;
var $_initerror;
- const COMPRESS_GZIP = 1;
- const COMPRESS_BZIP = 2;
- const COMPRESS_AUTO = 3;
- const COMPRESS_NONE = 0;
- const TARLIB_VERSION = '1.2';
- const FULL_ARCHIVE = -1;
- const ARCHIVE_DYNAMIC = 0;
+ const COMPRESS_GZIP = 1;
+ const COMPRESS_BZIP = 2;
+ const COMPRESS_AUTO = 3;
+ const COMPRESS_NONE = 0;
+ const TARLIB_VERSION = '1.2';
+ const FULL_ARCHIVE = -1;
+ const ARCHIVE_DYNAMIC = 0;
const ARCHIVE_RENAMECOMP = 5;
- const COMPRESS_DETECT = -1;
+ const COMPRESS_DETECT = -1;
/**
* constructor, initialize the class
@@ -108,21 +107,21 @@ class TarLib {
* represent the GZIP or BZIP compression level. 1 produce fast compression,
* and 9 produce smaller files. See the RFC 1952 for more infos.
*/
- function __construct($p_filen = TarLib::ARCHIVE_DYNAMIC , $p_comptype = TarLib::COMPRESS_AUTO, $p_complevel = 9) {
+ function __construct($p_filen = TarLib::ARCHIVE_DYNAMIC, $p_comptype = TarLib::COMPRESS_AUTO, $p_complevel = 9) {
$this->_initerror = 0;
- $this->_nomf = $p_filen;
- $flag=0;
- if($p_comptype && $p_comptype % 5 == 0){
+ $this->_nomf = $p_filen;
+ $flag = 0;
+ if($p_comptype && $p_comptype % 5 == 0) {
$p_comptype /= TarLib::ARCHIVE_RENAMECOMP;
- $flag=1;
+ $flag = 1;
}
if($p_complevel > 0 && $p_complevel <= 9) $this->_compzlevel = $p_complevel;
- else $p_complevel = 9;
+ else $this->_compzlevel = 9;
if($p_comptype == TarLib::COMPRESS_DETECT) {
- if(strtolower(substr($p_filen,-3)) == '.gz') $p_comptype = TarLib::COMPRESS_GZIP;
- elseif(strtolower(substr($p_filen,-4)) == '.bz2') $p_comptype = TarLib::COMPRESS_BZIP;
+ if(strtolower(substr($p_filen, -3)) == '.gz') $p_comptype = TarLib::COMPRESS_GZIP;
+ elseif(strtolower(substr($p_filen, -4)) == '.bz2') $p_comptype = TarLib::COMPRESS_BZIP;
else $p_comptype = TarLib::COMPRESS_NONE;
}
@@ -152,7 +151,7 @@ class TarLib {
if($this->_initerror < 0) $this->_comptype = TarLib::COMPRESS_NONE;
- if($flag) $this->_nomf.= '.'.$this->getCompression(1);
+ if($flag) $this->_nomf .= '.'.$this->getCompression(1);
$this->_result = true;
}
@@ -162,9 +161,9 @@ class TarLib {
* This function does exactly the same as TarLib (constructor), except it
* returns a status code.
*/
- function setArchive($p_name='', $p_comp = TarLib::COMPRESS_AUTO, $p_level=9) {
+ function setArchive($p_name = '', $p_comp = TarLib::COMPRESS_AUTO, $p_level = 9) {
$this->_CompTar();
- $this->TarLib($p_name, $p_comp, $p_level);
+ $this->__construct($p_name, $p_comp, $p_level);
return $this->_result;
}
@@ -186,7 +185,7 @@ class TarLib {
* MaxgTar Constants
*/
function getCompression($ext = false) {
- $exts = Array('tar','tar.gz','tar.bz2');
+ $exts = Array('tar', 'tar.gz', 'tar.bz2');
if($ext) return $exts[$this->_comptype];
return $this->_comptype;
}
@@ -263,8 +262,10 @@ class TarLib {
if(!$archive && !$this->_memdat) return -10;
if(!$name) $name = utf8_basename($this->_nomf);
- if($archive){ if(!file_exists($archive)) return -11; }
- else $decoded = $this->getDynamicArchive();
+ if($archive) {
+ if(!file_exists($archive)) return -11;
+ }
+ $decoded = $this->getDynamicArchive();
if($headers) {
header('Content-Type: application/x-gtar');
@@ -274,10 +275,10 @@ class TarLib {
}
if($archive) {
- $fp = @fopen($archive,'rb');
+ $fp = @fopen($archive, 'rb');
if(!$fp) return -4;
- while(!feof($fp)) echo fread($fp,2048);
+ while(!feof($fp)) echo fread($fp, 2048);
} else {
echo $decoded;
}
@@ -311,10 +312,10 @@ class TarLib {
* permission in octal mode (prefixed with a 0) that will be given on each
* extracted file.
*/
- function Extract($p_what = TarLib::FULL_ARCHIVE, $p_to = '.', $p_remdir='', $p_mode = 0755) {
+ function Extract($p_what = TarLib::FULL_ARCHIVE, $p_to = '.', $p_remdir = '', $p_mode = 0755) {
if(!$this->_OpenRead()) return -4;
// if(!@is_dir($p_to)) if(!@mkdir($p_to, 0777)) return -8; --CS
- if(!@is_dir($p_to)) if(!$this->_dirApp($p_to)) return -8; //--CS (route through correct dir fn)
+ if(!@is_dir($p_to)) if(!$this->_dirApp($p_to)) return -8; //--CS (route through correct dir fn)
$ok = $this->_extractList($p_to, $p_what, $p_remdir, $p_mode);
$this->_CompTar();
@@ -327,21 +328,20 @@ class TarLib {
*
* This function will attempt to create a new archive with global headers
* then add the given files into. If the archive is a real file, the
- * contents are written directly into the file, if it is a dynamic archive
+ * contents are written directly into the file. If it is a dynamic archive,
* contents are only stored in memory. This function should not be used to
* add files to an existing archive, you should use Add() instead.
*
- * The FileList actually supports three different modes :
+ * The FileList actually supports three different modes:
*
* - You can pass a string containing filenames separated by pipes '|'.
- * In this case the file are read from the webserver filesystem and the
- * root folder is the folder where the script using the MaxgTar is called.
+ * In this case thes file are read from the filesystem and the root folder
+ * is the folder running script located. NOT RECOMMENDED
*
- * - You can also give a unidimensional indexed array containing the
- * filenames. The behaviour for the content reading is the same that a
- * '|'ed string.
+ * - You can also give an indexed array containing the filenames. The
+ * behaviour for the content reading is the same as above.
*
- * - The more useful usage is to pass bidimensional arrays, where the
+ * - You can pass an array of arrays. For each file use an array where the
* first element contains the filename and the second contains the file
* contents. You can even add empty folders to the package if the filename
* has a leading '/'. Once again, have a look at the exemples to understand
@@ -357,15 +357,15 @@ class TarLib {
* to the file you store. Note also that the RemovePath is applied before the
* AddPath is added, so it HAS a sense to use both parameters together.
*/
- function Create($p_filelist,$p_add='',$p_rem='') {
+ function Create($p_filelist, $p_add = '', $p_rem = '') {
if(!$fl = $this->_fetchFilelist($p_filelist)) return -5;
if(!$this->_OpenWrite()) return -6;
- $ok = $this->_addFileList($fl,$p_add,$p_rem);
+ $ok = $this->_addFileList($fl, $p_add, $p_rem);
- if($ok){
+ if($ok) {
$this->_writeFooter();
- }else{
+ } else {
$this->_CompTar();
@unlink($this->_nomf);
}
@@ -376,18 +376,26 @@ class TarLib {
/**
* Add files to an existing package.
*
- * This function does exactly the same than Create() exept it
- * will append the given files at the end of the archive. Please not the is
- * safe to call Add() on a newly created archive whereas the
- * contrary will fail !
+ * This function does exactly the same as Create() exept it
+ * will append the given files at the end of the archive.
+ *
+ * Note: This is only supported for dynamic in memory files and uncompressed
+ * tar files
*
* This function returns a status code, you can use TarErrorStr() on
* it to get the human-readable description of the error.
*/
function Add($p_filelist, $p_add = '', $p_rem = '') {
- if (($this->_nomf != TarLib::ARCHIVE_DYNAMIC && @is_file($this->_nomf)) ||
- ($this->_nomf == TarLib::ARCHIVE_DYNAMIC && !$this->_memdat)){
- return $this->Create($p_filelist, $p_add, $p_rem);
+ if($this->_nomf !== TarLib::ARCHIVE_DYNAMIC &&
+ $this->_comptype !== TarLib::COMPRESS_NONE
+ ) {
+ return -12;
+ }
+
+ if(($this->_nomf !== TarLib::ARCHIVE_DYNAMIC && !$this->_fp) ||
+ ($this->_nomf === TarLib::ARCHIVE_DYNAMIC && !$this->_memdat)
+ ) {
+ return $this->Create($p_filelist, $p_add, $p_rem);
}
if(!$fl = $this->_fetchFilelist($p_filelist)) return -5;
@@ -419,15 +427,15 @@ class TarLib {
$result = Array();
- while ($dat = $this->_read(512)) {
+ while($dat = $this->_read(512)) {
$dat = $this->_readHeader($dat);
if(!is_array($dat)) continue;
- $this->_seek(ceil($dat['size']/512)*512,1);
+ $this->_seek(ceil($dat['size'] / 512) * 512, 1);
$result[] = $dat;
}
- return $result;
+ return $result;
}
/**
@@ -439,35 +447,48 @@ class TarLib {
*/
function TarErrorStr($i) {
$ecodes = Array(
- 1 => true,
- 0 => "Undocumented error",
- -1 => "Can't use COMPRESS_GZIP compression : ZLIB extensions are not loaded !",
- -2 => "Can't use COMPRESS_BZIP compression : BZ2 extensions are not loaded !",
- -3 => "You must set a archive file to read the contents !",
- -4 => "Can't open the archive file for read !",
- -5 => "Invalide file list !",
- -6 => "Can't open the archive in write mode !",
- -7 => "There is no ARCHIVE_DYNAMIC to write !",
- -8 => "Can't create the directory to extract files !",
- -9 => "Please pass a archive name to send if you made created an ARCHIVE_DYNAMIC !",
- -10 => "You didn't pass an archive filename and there is no stored ARCHIVE_DYNAMIC !",
- -11 => "Given archive doesn't exist !"
- );
+ 1 => true,
+ 0 => "Undocumented error",
+ -1 => "Can't use COMPRESS_GZIP compression : ZLIB extensions are not loaded !",
+ -2 => "Can't use COMPRESS_BZIP compression : BZ2 extensions are not loaded !",
+ -3 => "You must set a archive file to read the contents !",
+ -4 => "Can't open the archive file for read !",
+ -5 => "Invalide file list !",
+ -6 => "Can't open the archive in write mode !",
+ -7 => "There is no ARCHIVE_DYNAMIC to write !",
+ -8 => "Can't create the directory to extract files !",
+ -9 => "Please pass a archive name to send if you made created an ARCHIVE_DYNAMIC !",
+ -10 => "You didn't pass an archive filename and there is no stored ARCHIVE_DYNAMIC !",
+ -11 => "Given archive doesn't exist !",
+ -12 => "Appending not supported for compressed files"
+ );
return isset($ecodes[$i]) ? $ecodes[$i] : $ecodes[0];
}
- function _seek($p_flen, $tell=0) {
+ /**
+ * Seek in the data stream
+ *
+ * @todo probably broken for bzip tars
+ * @param int $p_flen seek to this position
+ * @param bool $tell seek from current position?
+ */
+ function _seek($p_flen, $tell = false) {
if($this->_nomf === TarLib::ARCHIVE_DYNAMIC)
- $this->_memdat=substr($this->_memdat,0,($tell ? strlen($this->_memdat) : 0) + $p_flen);
+ $this->_memdat = substr($this->_memdat, 0, ($tell ? strlen($this->_memdat) : 0) + $p_flen);
elseif($this->_comptype == TarLib::COMPRESS_GZIP)
- @gzseek($this->_fp, ($tell ? @gztell($this->_fp) : 0)+$p_flen);
+ @gzseek($this->_fp, ($tell ? @gztell($this->_fp) : 0) + $p_flen);
elseif($this->_comptype == TarLib::COMPRESS_BZIP)
- @fseek($this->_fp, ($tell ? @ftell($this->_fp) : 0)+$p_flen);
+ @fseek($this->_fp, ($tell ? @ftell($this->_fp) : 0) + $p_flen);
else
- @fseek($this->_fp, ($tell ? @ftell($this->_fp) : 0)+$p_flen);
+ @fseek($this->_fp, ($tell ? @ftell($this->_fp) : 0) + $p_flen);
}
+ /**
+ * Open the archive for reading
+ *
+ * @return bool true if succesfull
+ */
function _OpenRead() {
if($this->_comptype == TarLib::COMPRESS_GZIP)
$this->_fp = @gzopen($this->_nomf, 'rb');
@@ -479,6 +500,12 @@ class TarLib {
return ($this->_fp ? true : false);
}
+ /**
+ * Open the archive for writing
+ *
+ * @param string $add filemode
+ * @return bool true on success
+ */
function _OpenWrite($add = 'w') {
if($this->_nomf === TarLib::ARCHIVE_DYNAMIC) return true;
@@ -492,6 +519,9 @@ class TarLib {
return ($this->_fp ? true : false);
}
+ /**
+ * Closes the open file pointer
+ */
function _CompTar() {
if($this->_nomf === TarLib::ARCHIVE_DYNAMIC || !$this->_fp) return;
@@ -500,27 +530,46 @@ class TarLib {
else @fclose($this->_fp);
}
+ /**
+ * Read from the open file pointer
+ *
+ * @param int $p_len bytes to read
+ * @return string
+ */
function _read($p_len) {
if($this->_comptype == TarLib::COMPRESS_GZIP)
- return @gzread($this->_fp,$p_len);
+ return @gzread($this->_fp, $p_len);
elseif($this->_comptype == TarLib::COMPRESS_BZIP)
- return @bzread($this->_fp,$p_len);
+ return @bzread($this->_fp, $p_len);
else
- return @fread($this->_fp,$p_len);
+ return @fread($this->_fp, $p_len);
}
+ /**
+ * Write to the open filepointer or memory
+ *
+ * @param string $p_data
+ * @return int
+ */
function _write($p_data) {
- if($this->_nomf === TarLib::ARCHIVE_DYNAMIC) $this->_memdat .= $p_data;
- elseif($this->_comptype == TarLib::COMPRESS_GZIP)
- return @gzwrite($this->_fp,$p_data);
-
- elseif($this->_comptype == TarLib::COMPRESS_BZIP)
- return @bzwrite($this->_fp,$p_data);
-
- else
- return @fwrite($this->_fp,$p_data);
+ if($this->_nomf === TarLib::ARCHIVE_DYNAMIC) {
+ $this->_memdat .= $p_data;
+ return strlen($p_data);
+ } elseif($this->_comptype == TarLib::COMPRESS_GZIP) {
+ return @gzwrite($this->_fp, $p_data);
+ } elseif($this->_comptype == TarLib::COMPRESS_BZIP) {
+ return @bzwrite($this->_fp, $p_data);
+ } else {
+ return @fwrite($this->_fp, $p_data);
+ }
}
+ /**
+ * Compress given data according to the set compression method
+ *
+ * @param $p_dat
+ * @return string
+ */
function _encode($p_dat) {
if($this->_comptype == TarLib::COMPRESS_GZIP)
return gzencode($p_dat, $this->_compzlevel);
@@ -529,55 +578,77 @@ class TarLib {
else return $p_dat;
}
+ /**
+ * Decode the given tar file header
+ *
+ * @param $p_dat
+ * @return array|bool
+ */
function _readHeader($p_dat) {
- if (!$p_dat || strlen($p_dat) != 512) return false;
+ if(!$p_dat || strlen($p_dat) != 512) return false;
- for ($i=0, $chks=0; $i<148; $i++)
+ for($i = 0, $chks = 0; $i < 148; $i++)
$chks += ord($p_dat[$i]);
- for ($i=156,$chks+=256; $i<512; $i++)
+ for($i = 156, $chks += 256; $i < 512; $i++)
$chks += ord($p_dat[$i]);
$headers = @unpack("a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor", $p_dat);
if(!$headers) return false;
$return['checksum'] = OctDec(trim($headers['checksum']));
- if ($return['checksum'] != $chks) return false;
+ if($return['checksum'] != $chks) return false;
$return['filename'] = trim($headers['filename']);
- $return['mode'] = OctDec(trim($headers['mode']));
- $return['uid'] = OctDec(trim($headers['uid']));
- $return['gid'] = OctDec(trim($headers['gid']));
- $return['size'] = OctDec(trim($headers['size']));
- $return['mtime'] = OctDec(trim($headers['mtime']));
+ $return['mode'] = OctDec(trim($headers['mode']));
+ $return['uid'] = OctDec(trim($headers['uid']));
+ $return['gid'] = OctDec(trim($headers['gid']));
+ $return['size'] = OctDec(trim($headers['size']));
+ $return['mtime'] = OctDec(trim($headers['mtime']));
$return['typeflag'] = $headers['typeflag'];
- $return['link'] = trim($headers['link']);
- $return['uname'] = trim($headers['uname']);
- $return['gname'] = trim($headers['gname']);
+ $return['link'] = trim($headers['link']);
+ $return['uname'] = trim($headers['uname']);
+ $return['gname'] = trim($headers['gname']);
return $return;
}
+ /**
+ * Builds a normalized file list
+ *
+ * @todo remove string support, use saner format
+ *
+ * @param $p_filelist
+ * @return array|bool
+ */
function _fetchFilelist($p_filelist) {
if(!$p_filelist || (is_array($p_filelist) && !@count($p_filelist))) return false;
if(is_string($p_filelist)) {
- $p_filelist = explode('|',$p_filelist);
+ $p_filelist = explode('|', $p_filelist);
if(!is_array($p_filelist)) $p_filelist = Array($p_filelist);
}
return $p_filelist;
}
+ /**
+ * Adds files given as file list
+ *
+ * @param array $p_fl
+ * @param string $p_addir
+ * @param string $p_remdir
+ * @return bool
+ */
function _addFileList($p_fl, $p_addir, $p_remdir) {
foreach($p_fl as $file) {
- if(($file == $this->_nomf && $this->_nomf != TarLib::ARCHIVE_DYNAMIC) || !$file || (!file_exists($file) && !is_array($file)))
+ if(($file == $this->_nomf && $this->_nomf !== TarLib::ARCHIVE_DYNAMIC) || !$file || (!is_array($file) && !file_exists($file)))
continue;
- if (!$this->_addFile($file, $p_addir, $p_remdir))
+ if(!$this->_addFile($file, $p_addir, $p_remdir))
continue;
- if (@is_dir($file)) {
+ if(@is_dir($file)) {
$d = @opendir($file);
if(!$d) continue;
@@ -592,26 +663,36 @@ class TarLib {
}
closedir($d);
- unset($tmplist,$f);
+ unset($tmplist, $f);
}
}
return true;
}
+ /**
+ * Adds a single file
+ *
+ * @param array|string $p_fn
+ * @param string $p_addir
+ * @param string $p_remdir
+ * @return bool
+ */
function _addFile($p_fn, $p_addir = '', $p_remdir = '') {
+ $data = false;
if(is_array($p_fn)) list($p_fn, $data) = $p_fn;
$sname = $p_fn;
if($p_remdir) {
- if(substr($p_remdir,-1) != '/') $p_remdir .= "/";
+ if(substr($p_remdir, -1) != '/') $p_remdir .= "/";
if(substr($sname, 0, strlen($p_remdir)) == $p_remdir)
$sname = substr($sname, strlen($p_remdir));
}
- if($p_addir) $sname = $p_addir.(substr($p_addir,-1) == '/' ? '' : "/").$sname;
+ if($p_addir) $sname = $p_addir.(substr($p_addir, -1) == '/' ? '' : "/").$sname;
- if(strlen($sname) > 99) return;
+ // FIXME ustar should support up 256 chars
+ if(strlen($sname) > 99) return false;
if(@is_dir($p_fn)) {
if(!$this->_writeFileHeader($p_fn, $sname)) return false;
@@ -625,14 +706,14 @@ class TarLib {
if(!$data) {
while(!feof($fp)) {
- $packed = pack("a512", fread($fp,512));
+ $packed = pack("a512", fread($fp, 512));
$this->_write($packed);
}
fclose($fp);
} else {
$len = strlen($data);
- for($s = 0; $s < $len; $s += 512){
- $this->_write(pack("a512",substr($data,$s,512)));
+ for($s = 0; $s < $len; $s += 512) {
+ $this->_write(pack("a512", substr($data, $s, 512)));
}
}
}
@@ -640,53 +721,70 @@ class TarLib {
return true;
}
- function _writeFileHeader($p_file, $p_sname, $p_data=false) {
+ /**
+ * Write the header for a file in the TAR archive
+ *
+ * @param string $p_file
+ * @param string $p_sname
+ * @param bool $p_data
+ * @return bool
+ */
+ function _writeFileHeader($p_file, $p_sname, $p_data = false) {
if(!$p_data) {
- if (!$p_sname) $p_sname = $p_file;
+ if(!$p_sname) $p_sname = $p_file;
$p_sname = $this->_pathTrans($p_sname);
$h_info = stat($p_file);
- $h[0] = sprintf("%6s ", DecOct($h_info[4]));
- $h[] = sprintf("%6s ", DecOct($h_info[5]));
- $h[] = sprintf("%6s ", DecOct(fileperms($p_file)));
+ $h[0] = sprintf("%6s ", DecOct($h_info[4]));
+ $h[] = sprintf("%6s ", DecOct($h_info[5]));
+ $h[] = sprintf("%6s ", DecOct(fileperms($p_file)));
clearstatcache();
$h[] = sprintf("%11s ", DecOct(filesize($p_file)));
$h[] = sprintf("%11s", DecOct(filemtime($p_file)));
$dir = @is_dir($p_file) ? '5' : '';
} else {
- $dir = '';
+ $dir = '';
$p_data = sprintf("%11s ", DecOct($p_data));
- $time = sprintf("%11s ", DecOct(time()));
- $h = Array(" 0 "," 0 "," 40777 ",$p_data,$time);
+ $time = sprintf("%11s ", DecOct(time()));
+ $h = Array(" 0 ", " 0 ", " 40777 ", $p_data, $time);
}
$data_first = pack("a100a8a8a8a12A12", $p_sname, $h[2], $h[0], $h[1], $h[3], $h[4]);
- $data_last = pack("a1a100a6a2a32a32a8a8a155a12", $dir, '', '', '', '', '', '', '', '', "");
+ $data_last = pack("a1a100a6a2a32a32a8a8a155a12", $dir, '', '', '', '', '', '', '', '', "");
- for ($i=0,$chks=0; $i<148; $i++)
+ for($i = 0, $chks = 0; $i < 148; $i++)
$chks += ord($data_first[$i]);
- for ($i=156, $chks+=256, $j=0; $i<512; $i++, $j++)
+ for($i = 156, $chks += 256, $j = 0; $i < 512; $i++, $j++)
$chks += ord($data_last[$j]);
$this->_write($data_first);
- $chks = pack("a8",sprintf("%6s ", DecOct($chks)));
+ $chks = pack("a8", sprintf("%6s ", DecOct($chks)));
$this->_write($chks.$data_last);
return true;
}
- function _append($p_filelist, $p_addir="", $p_remdir="") {
+ /**
+ * Append the given files to the already open archive
+ *
+ * @param array $p_filelist
+ * @param string $p_addir
+ * @param string $p_remdir
+ * @return bool|int
+ */
+ function _append($p_filelist, $p_addir = "", $p_remdir = "") {
if(!$this->_fp) if(!$this->_OpenWrite('a')) return -6;
- if($this->_nomf == TarLib::ARCHIVE_DYNAMIC) {
- $s = strlen($this->_memdat);
- $this->_memdat = substr($this->_memdat,0,-512);
+ if($this->_nomf === TarLib::ARCHIVE_DYNAMIC) {
+ $this->_memdat = substr($this->_memdat, 0, -512 * 2); // remove footer
} else {
+ clearstatcache();
$s = filesize($this->_nomf);
- $this->_seek($s-512);
+
+ $this->_seek($s - (512 * 2)); // remove footer
}
$ok = $this->_addFileList($p_filelist, $p_addir, $p_remdir);
@@ -695,48 +793,70 @@ class TarLib {
return $ok;
}
+ /**
+ * Cleans up a path and removes relative parts
+ *
+ * @param string $p_dir
+ * @return string
+ */
function _pathTrans($p_dir) {
- if ($p_dir) {
+ $r = '';
+ if($p_dir) {
$subf = explode("/", $p_dir);
- $r='';
- for ($i=count($subf)-1; $i>=0; $i--) {
- if ($subf[$i] == ".") {
+ for($i = count($subf) - 1; $i >= 0; $i--) {
+ if($subf[$i] == ".") {
# do nothing
- } elseif ($subf[$i] == "..") {
+ } elseif($subf[$i] == "..") {
$i--;
- } elseif (!$subf[$i] && $i!=count($subf)-1 && $i) {
+ } elseif(!$subf[$i] && $i != count($subf) - 1 && $i) {
# do nothing
} else {
- $r = $subf[$i].($i!=(count($subf)-1) ? "/".$r : "");
+ $r = $subf[$i].($i != (count($subf) - 1) ? "/".$r : "");
}
}
}
return $r;
}
+ /**
+ * Add the closing footer to the archive
+ *
+ * Physically, an archive consists of a series of file entries terminated by an end-of-archive entry, which
+ * consists of two 512 blocks of zero bytes
+ *
+ * @link http://www.gnu.org/software/tar/manual/html_chapter/tar_8.html#SEC134
+ */
function _writeFooter() {
$this->_write(pack("a512", ""));
+ $this->_write(pack("a512", ""));
}
+ /**
+ * @param $p_to
+ * @param $p_files
+ * @param $p_remdir
+ * @param int $p_mode
+ * @return array|bool|int|string
+ */
function _extractList($p_to, $p_files, $p_remdir, $p_mode = 0755) {
- if (!$p_to || ($p_to[0]!="/"&&substr($p_to,0,3)!="../"&&substr($p_to,1,3)!=":\\"&&substr($p_to,1,2)!=":/")) /*" // <- PHP Coder bug */
+ if(!$p_to || ($p_to[0] != "/" && substr($p_to, 0, 3) != "../" && substr($p_to, 1, 3) != ":\\" && substr($p_to, 1, 2) != ":/")) /*" // <- PHP Coder bug */
$p_to = "./$p_to";
- if ($p_remdir && substr($p_remdir,-1)!='/') $p_remdir .= '/';
+ if($p_remdir && substr($p_remdir, -1) != '/') $p_remdir .= '/';
$p_remdirs = strlen($p_remdir);
while($dat = $this->_read(512)) {
$headers = $this->_readHeader($dat);
if(!$headers['filename']) continue;
- if($p_files == -1 || $p_files[0] == -1){
+ if($p_files == -1 || $p_files[0] == -1) {
$extract = true;
} else {
$extract = false;
foreach($p_files as $f) {
- if(substr($f,-1) == "/") {
- if((strlen($headers['filename']) > strlen($f)) && (substr($headers['filename'],0,strlen($f))==$f)) {
+ if(substr($f, -1) == "/") {
+ if((strlen($headers['filename']) > strlen($f)) && (substr($headers['filename'], 0, strlen($f)) == $f)) {
$extract = true;
break;
}
@@ -747,15 +867,15 @@ class TarLib {
}
}
- if ($extract) {
+ if($extract) {
$det[] = $headers;
- if ($p_remdir && substr($headers['filename'],0,$p_remdirs)==$p_remdir)
- $headers['filename'] = substr($headers['filename'],$p_remdirs);
+ if($p_remdir && substr($headers['filename'], 0, $p_remdirs) == $p_remdir)
+ $headers['filename'] = substr($headers['filename'], $p_remdirs);
- if($headers['filename'].'/' == $p_remdir && $headers['typeflag']=='5') continue;
+ if($headers['filename'].'/' == $p_remdir && $headers['typeflag'] == '5') continue;
- if ($p_to != "./" && $p_to != "/") {
- while($p_to{-1}=="/") $p_to = substr($p_to,0,-1);
+ if($p_to != "./" && $p_to != "/") {
+ while($p_to{-1} == "/") $p_to = substr($p_to, 0, -1);
if($headers['filename']{0} == "/")
$headers['filename'] = $p_to.$headers['filename'];
@@ -763,29 +883,35 @@ class TarLib {
$headers['filename'] = $p_to."/".$headers['filename'];
}
- $ok = $this->_dirApp($headers['typeflag']=="5" ? $headers['filename'] : dirname($headers['filename']));
+ $ok = $this->_dirApp($headers['typeflag'] == "5" ? $headers['filename'] : dirname($headers['filename']));
if($ok < 0) return $ok;
- if (!$headers['typeflag']) {
- if (!$fp = @fopen($headers['filename'], "wb")) return -6;
- $n = floor($headers['size']/512);
+ if(!$headers['typeflag']) {
+ if(!$fp = @fopen($headers['filename'], "wb")) return -6;
+ $n = floor($headers['size'] / 512);
- for ($i=0; $i<$n; $i++){
- fwrite($fp, $this->_read(512),512);
+ for($i = 0; $i < $n; $i++) {
+ fwrite($fp, $this->_read(512), 512);
}
- if (($headers['size'] % 512) != 0) fwrite($fp, $this->_read(512), $headers['size'] % 512);
+ if(($headers['size'] % 512) != 0) fwrite($fp, $this->_read(512), $headers['size'] % 512);
fclose($fp);
touch($headers['filename'], $headers['mtime']);
chmod($headers['filename'], $p_mode);
} else {
- $this->_seek(ceil($headers['size']/512)*512,1);
+ $this->_seek(ceil($headers['size'] / 512) * 512, 1);
}
- }else $this->_seek(ceil($headers['size']/512)*512,1);
+ } else $this->_seek(ceil($headers['size'] / 512) * 512, 1);
}
return $det;
}
+ /**
+ * Create a directory hierarchy in filesystem
+ *
+ * @param string $d
+ * @return bool
+ */
function _dirApp($d) {
// map to dokuwiki function (its more robust)
return io_mkdir_p($d);
diff --git a/inc/events.php b/inc/events.php
index 4e81f85c8..f7b1a7a16 100644
--- a/inc/events.php
+++ b/inc/events.php
@@ -132,7 +132,7 @@ class Doku_Event_Handler {
$pluginlist = plugin_list('action');
foreach ($pluginlist as $plugin_name) {
- $plugin =& plugin_load('action',$plugin_name);
+ $plugin = plugin_load('action',$plugin_name);
if ($plugin !== null) $plugin->register($this);
}
diff --git a/inc/lang/ko/install.html b/inc/lang/ko/install.html
index f73b91294..aeeac870f 100644
--- a/inc/lang/ko/install.html
+++ b/inc/lang/ko/install.html
@@ -6,7 +6,7 @@
현재 설치 과정 중에는 디렉토리 권한 설정이 불가능합니다. 보통 직접 쉘 명령어를 사용하거나, 호스팅을 사용한다면 FTP나 호스팅 제어판(예를 들어 CPanel)을 사용해서 설정해야 합니다.</p>
<p>현재 설치 과정중에 관리자로 로그인 후 DokuWiki의 관리 메뉴(플러그인 설치, 사용자 관리, 위키 문서 접근 권한 관리, 옵션 설정)를 가능하게 <acronym title="접근 제어 목록">ACL</acronym>에 대한 환경 설정을 수행합니다.
-이 것은 DokuWiki가 동작하는데 필요한 사항은 아니지만, 어쨌든 더 쉽게 관리자가 관리할 수 있도록 해줍니다.</p>
+DokuWiki가 동작하는데 필요한 사항은 아니지만, 어쨌든 더 쉽게 관리자가 관리할 수 있도록 해줍니다.</p>
<p>숙련된 사용자나 특별한 설치 과정이 필요한 경우에 다음 링크를 참고하기 바랍니다:
<a href="http://dokuwiki.org/ko:install">설치 과정 (한국어)</a>
diff --git a/inc/lang/ko/lang.php b/inc/lang/ko/lang.php
index 64507fa81..89d045503 100644
--- a/inc/lang/ko/lang.php
+++ b/inc/lang/ko/lang.php
@@ -7,7 +7,7 @@
* @author jk Lee
* @author dongnak@gmail.com
* @author Song Younghwan <purluno@gmail.com>
- * @author Seung-Chul Yoo <dryoo@live.com>
+ * @author Seung-Chul Yoo <dryoo@live.com>
* @author erial2@gmail.com
* @author Myeongjin <aranet100@gmail.com>
*/
@@ -37,13 +37,13 @@ $lang['btn_secedit'] = '편집';
$lang['btn_login'] = '로그인';
$lang['btn_logout'] = '로그아웃';
$lang['btn_admin'] = '관리';
-$lang['btn_update'] = '변경';
+$lang['btn_update'] = '바꾸기';
$lang['btn_delete'] = '삭제';
$lang['btn_back'] = '뒤로';
$lang['btn_backlink'] = '가리키는 링크';
$lang['btn_backtomedia'] = '미디어 파일 선택으로 돌아가기';
$lang['btn_subscribe'] = '구독 관리';
-$lang['btn_profile'] = '개인 정보 변경';
+$lang['btn_profile'] = '개인 정보 바꾸기';
$lang['btn_reset'] = '초기화';
$lang['btn_resendpwd'] = '새 비밀번호 설정';
$lang['btn_draft'] = '문서 초안 편집';
@@ -66,7 +66,7 @@ $lang['profile'] = '개인 정보';
$lang['badlogin'] = '잘못된 사용자 이름이거나 비밀번호입니다.';
$lang['minoredit'] = '사소한 바뀜';
$lang['draftdate'] = '문서 초안 자동 저장 시간';
-$lang['nosecedit'] = '문서가 수정되어 세션 정보의 유효 시간이 지나 문서 전부를 다시 읽습니다.';
+$lang['nosecedit'] = '한동안 문서가 바뀌어 세션 정보의 유효 시간이 지나 문서 전부를 다시 읽습니다.';
$lang['regmissing'] = '모든 항목을 입력해야 합니다.';
$lang['reguexists'] = '같은 이름을 사용하는 사용자가 있습니다.';
$lang['regsuccess'] = '사용자를 만들었으며 비밀번호는 이메일로 보냈습니다.';
@@ -219,7 +219,7 @@ $lang['qb_hplus'] = '상위 문단 제목';
$lang['qb_hminus'] = '하위 문단 제목';
$lang['qb_hequal'] = '동급 문단 제목';
$lang['qb_link'] = '내부 링크';
-$lang['qb_extlink'] = '외부 링크';
+$lang['qb_extlink'] = '바깥 링크';
$lang['qb_hr'] = '가로줄';
$lang['qb_ol'] = '순서 있는 목록';
$lang['qb_ul'] = '순서 없는 목록';
@@ -296,7 +296,7 @@ $lang['days'] = '%d일 전';
$lang['hours'] = '%d시간 전';
$lang['minutes'] = '%d분 전';
$lang['seconds'] = '%d초 전';
-$lang['wordblock'] = '스팸 문구를 포함하고 있어서 저장되지 않았습니다.';
+$lang['wordblock'] = '스팸 문구를 포함하고 있어서 저장하지 않았습니다.';
$lang['media_uploadtab'] = '올리기';
$lang['media_searchtab'] = '찾기';
$lang['media_file'] = '파일';
@@ -313,8 +313,8 @@ $lang['media_upload'] = '%s에 올리기';
$lang['media_search'] = '%s 찾기';
$lang['media_view'] = '%s';
$lang['media_viewold'] = '%s의 %s';
-$lang['media_edit'] = '%s 수정';
-$lang['media_history'] = '%s 변경 내력';
+$lang['media_edit'] = '%s 편집';
+$lang['media_history'] = '%s 바뀜 내역';
$lang['media_meta_edited'] = '메타데이터가 수정됨';
$lang['media_perm_read'] = '이 파일을 읽을 권한이 없습니다.';
$lang['media_perm_upload'] = '파일을 올릴 권한이 없습니다.';
diff --git a/inc/lang/ko/mailtext.txt b/inc/lang/ko/mailtext.txt
index 219fe6e0b..01bada9ba 100644
--- a/inc/lang/ko/mailtext.txt
+++ b/inc/lang/ko/mailtext.txt
@@ -1,4 +1,4 @@
-DokuWiki 문서가 추가 또는 변경되었습니다. 자세한 정보는 다음과 같습니다:
+DokuWiki 문서가 추가 또는 바뀌었습니다. 자세한 정보는 다음과 같습니다:
날짜 : @DATE@
브라우저 : @BROWSER@
diff --git a/inc/lang/ko/preview.txt b/inc/lang/ko/preview.txt
index 6563874ee..1b7710e2f 100644
--- a/inc/lang/ko/preview.txt
+++ b/inc/lang/ko/preview.txt
@@ -1,3 +1,3 @@
====== 미리 보기 ======
-이것은 입력한 내용이 어떻게 보일지 미리 보여줍니다. 아직 **저장되지 않았다**는 점을 기억해두십시오! \ No newline at end of file
+입력한 내용이 어떻게 보일지 미리 보여줍니다. 아직 **저장되지 않았다**는 점을 기억해두십시오! \ No newline at end of file
diff --git a/inc/lang/ko/showrev.txt b/inc/lang/ko/showrev.txt
index 084d82737..f6930044b 100644
--- a/inc/lang/ko/showrev.txt
+++ b/inc/lang/ko/showrev.txt
@@ -1,2 +1,2 @@
-**이것은 문서의 이전 버전입니다!**
+**문서의 이전 버전입니다!**
----
diff --git a/inc/lang/ko/updateprofile.txt b/inc/lang/ko/updateprofile.txt
index ebf19d8ab..379981cb3 100644
--- a/inc/lang/ko/updateprofile.txt
+++ b/inc/lang/ko/updateprofile.txt
@@ -1,3 +1,3 @@
-====== 개인 정보 수정 ======
+====== 개인 정보 바꾸기 ======
바꾸고 싶은 항목을 입력하기 바랍니다. 사용자 이름은 바꿀 수 없습니다. \ No newline at end of file
diff --git a/inc/lang/lv/lang.php b/inc/lang/lv/lang.php
index cc17b17fe..19a7b7cce 100644
--- a/inc/lang/lv/lang.php
+++ b/inc/lang/lv/lang.php
@@ -39,6 +39,7 @@ $lang['btn_backtomedia'] = 'Atpakaļ uz mēdiju failu izvēli';
$lang['btn_subscribe'] = 'Abonēt izmaiņu paziņojumus';
$lang['btn_profile'] = 'Labot savu profilu';
$lang['btn_reset'] = 'Atsaukt izmaiņas';
+$lang['btn_resendpwd'] = 'Uzstādīt jaunu paroli';
$lang['btn_draft'] = 'Labot melnrakstu';
$lang['btn_recover'] = 'Atjaunot melnrakstu';
$lang['btn_draftdel'] = 'Dzēst melnrakstu';
@@ -75,6 +76,7 @@ $lang['profnoempty'] = 'Bez vārda vai e-pasta adreses nevar.';
$lang['profchanged'] = 'Profils veiksmīgi izlabots.';
$lang['pwdforget'] = 'Aizmirsi paroli? Saņem jaunu';
$lang['resendna'] = 'Paroļu izsūtīšanu nepiedāvāju.';
+$lang['resendpwd'] = 'Uzstādīt jaunu paroli lietotājam';
$lang['resendpwdmissing'] = 'Atvaino, jāizpilda visas ailes.';
$lang['resendpwdnouser'] = 'Atvaino, tāda lietotāja nav.';
$lang['resendpwdbadauth'] = 'Atvaino, šis autorizācijas kods nav derīgs. Pārliecinies, ka lietoji pilnu apstiprināšanas adresi.';
@@ -87,6 +89,7 @@ $lang['searchmedia_in'] = 'Meklēt iekš %s';
$lang['txt_upload'] = 'Norādi augšupielādējamo failu';
$lang['txt_filename'] = 'Ievadi vikivārdu (nav obligāts)';
$lang['txt_overwrt'] = 'Aizstāt esošo failu';
+$lang['maxuploadsize'] = 'Augšuplādējamā faila ierobežojums: %s.';
$lang['lockedby'] = 'Patlaban bloķējis ';
$lang['lockexpire'] = 'Bloķējums beigsies ';
$lang['js']['willexpire'] = 'Tavs bloķējums uz šo lapu pēc minūtes beigsies.\nLai izvairītos no konflikta, nospied Iepriekšapskata pogu\n un bloķējuma laiku sāks skaitīt no jauna.';
@@ -129,6 +132,7 @@ $lang['js']['media_select'] = 'Norādīt failus...';
$lang['js']['media_upload_btn'] = 'Augšuplādēt';
$lang['js']['media_done_btn'] = 'Gatavs';
$lang['js']['media_drop'] = 'Nomet te augšuplādējamos failus';
+$lang['js']['media_cancel'] = 'atlikt';
$lang['js']['media_overwrt'] = 'Rakstīt pāri esošajiem failiem';
$lang['rssfailed'] = 'Kļūda saņemot saturu no ';
$lang['nothingfound'] = 'Nekas nav atrasts.';
@@ -179,6 +183,12 @@ $lang['external_edit'] = 'ārpussistēmas labojums';
$lang['summary'] = 'Anotācija';
$lang['noflash'] = 'Lai attēlotu lapas saturu, vajag <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>.';
$lang['download'] = 'Lejuplādēt «kodiņu»((snippet))';
+$lang['tools'] = 'Rīki';
+$lang['user_tools'] = 'Lietotāja rīki';
+$lang['site_tools'] = 'Vietnes rīki';
+$lang['page_tools'] = 'Lapas rīki';
+$lang['skip_to_content'] = 'uz rakstu';
+$lang['sidebar'] = 'Izvēlne';
$lang['mail_newpage'] = 'lapa pievienota:';
$lang['mail_changed'] = 'lapa mainīta:';
$lang['mail_subscribe_list'] = 'Nodaļā mainītās lapas:';
@@ -249,6 +259,7 @@ $lang['subscr_style_digest'] = 'kopsavilkumu par katru lapu (reizi %.2f dienā
$lang['subscr_style_list'] = 'kopš pēdējās vēstules notikušo labojumu sarakstu (reizi %.2f dienās)';
$lang['authmodfailed'] = 'Aplami konfigurēta lietotāju autentifikācija. Lūdzu ziņo Wiki administratoram.';
$lang['authtempfail'] = 'Lietotāju autentifikācija pašlaik nedarbojas. Ja tas turpinās ilgstoši, lūduz ziņo Wiki administratoram.';
+$lang['authpwdexpire'] = 'Tavai parolei pēc %d dienām biegsies termiņš, tā drīzumā jānomaina.';
$lang['i_chooselang'] = 'Izvēlies valodu';
$lang['i_installer'] = 'DokuWiki instalētājs';
$lang['i_wikiname'] = 'Wiki vārds';
diff --git a/inc/lang/lv/mailwrap.html b/inc/lang/lv/mailwrap.html
new file mode 100644
index 000000000..34b723901
--- /dev/null
+++ b/inc/lang/lv/mailwrap.html
@@ -0,0 +1,13 @@
+<html>
+<head>
+<title>@TITLE@</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</head>
+<body>
+
+@HTMLBODY@
+
+<br /><hr />
+<small>Šo vēstuli nosūtījusi programma DokuWiki no vietnes @DOKUWIKIURL@.</small>
+</body>
+</html> \ No newline at end of file
diff --git a/inc/lang/lv/resetpwd.txt b/inc/lang/lv/resetpwd.txt
new file mode 100644
index 000000000..757f34cff
--- /dev/null
+++ b/inc/lang/lv/resetpwd.txt
@@ -0,0 +1,3 @@
+====== Uzstādīt jaunu paroli ======
+
+Lūdzu izvēlies savam kontam jaunu paroli. \ No newline at end of file
diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php
index 1407474ec..b8a947dc3 100644
--- a/inc/lang/sk/lang.php
+++ b/inc/lang/sk/lang.php
@@ -182,7 +182,7 @@ $lang['lastmod'] = 'Posledná úprava';
$lang['by'] = 'od';
$lang['deleted'] = 'odstránené';
$lang['created'] = 'vytvorené';
-$lang['restored'] = 'stará verzia bola obnovená';
+$lang['restored'] = 'stará verzia bola obnovená (%s)';
$lang['external_edit'] = 'externá úprava';
$lang['summary'] = 'Komentár k úpravám';
$lang['noflash'] = 'Pre zobrazenie tohto obsahu potrebujete <a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Plugin</a>.';
@@ -318,4 +318,3 @@ $lang['media_perm_read'] = 'Prepáčte, ale nemáte dostatočné oprávnen
$lang['media_perm_upload'] = 'Prepáčte, ale nemáte dostatočné oprávnenie na nahrávanie súborov.';
$lang['media_update'] = 'Nahrať novú verziu';
$lang['media_restore'] = 'Obnoviť túto verziu';
-$lang['plugin_install_err'] = 'Plugin nebol nainštalovaný úspešne. Premenujte adresár s pluginom \'%s\' na \'%s\'.';
diff --git a/inc/parser/metadata.php b/inc/parser/metadata.php
index 8bfdc3b9c..8638ffa6a 100644
--- a/inc/parser/metadata.php
+++ b/inc/parser/metadata.php
@@ -133,27 +133,6 @@ class Doku_Renderer_metadata extends Doku_Renderer {
}
}
- function strong_open(){}
- function strong_close(){}
-
- function emphasis_open(){}
- function emphasis_close(){}
-
- function underline_open(){}
- function underline_close(){}
-
- function monospace_open(){}
- function monospace_close(){}
-
- function subscript_open(){}
- function subscript_close(){}
-
- function superscript_open(){}
- function superscript_close(){}
-
- function deleted_open(){}
- function deleted_close(){}
-
/**
* Callback for footnote start syntax
*
@@ -218,14 +197,6 @@ class Doku_Renderer_metadata extends Doku_Renderer {
if ($this->capture) $this->doc .= $text;
}
- function php($text){}
-
- function phpblock($text){}
-
- function html($text){}
-
- function htmlblock($text){}
-
function preformatted($text){
if ($this->capture) $this->doc .= $text;
}
@@ -393,18 +364,6 @@ class Doku_Renderer_metadata extends Doku_Renderer {
$params['refresh'];
}
- function table_open($maxcols = NULL, $numrows = NULL){}
- function table_close(){}
-
- function tablerow_open(){}
- function tablerow_close(){}
-
- function tableheader_open($colspan = 1, $align = NULL, $rowspan = 1){}
- function tableheader_close(){}
-
- function tablecell_open($colspan = 1, $align = NULL, $rowspan = 1){}
- function tablecell_close(){}
-
//----------------------------------------------------------
// Utils
diff --git a/inc/parser/renderer.php b/inc/parser/renderer.php
index 0923e6896..2c78f220a 100644
--- a/inc/parser/renderer.php
+++ b/inc/parser/renderer.php
@@ -62,7 +62,7 @@ class Doku_Renderer extends DokuWiki_Plugin {
//handle plugin rendering
function plugin($name,$data){
- $plugin =& plugin_load('syntax',$name);
+ $plugin = plugin_load('syntax',$name);
if($plugin != null){
$plugin->render($this->getFormat(),$this,$data);
}
diff --git a/inc/parserutils.php b/inc/parserutils.php
index 3dbfc726f..1733fcf09 100644
--- a/inc/parserutils.php
+++ b/inc/parserutils.php
@@ -579,7 +579,7 @@ function p_get_parsermodes(){
$obj = null;
foreach($pluginlist as $p){
/** @var DokuWiki_Syntax_Plugin $obj */
- if(!$obj =& plugin_load('syntax',$p)) continue; //attempt to load plugin into $obj
+ if(!$obj = plugin_load('syntax',$p)) continue; //attempt to load plugin into $obj
$PARSER_MODES[$obj->getType()][] = "plugin_$p"; //register mode type
//add to modes
$modes[] = array(
diff --git a/inc/plugin.php b/inc/plugin.php
index d2fe3818d..b0518346d 100644
--- a/inc/plugin.php
+++ b/inc/plugin.php
@@ -191,7 +191,7 @@ class DokuWiki_Plugin {
*/
function loadHelper($name, $msg){
if (!plugin_isdisabled($name)){
- $obj =& plugin_load('helper',$name);
+ $obj = plugin_load('helper',$name);
}else{
$obj = null;
}
diff --git a/lib/images/smileys/index.php b/lib/images/smileys/index.php
new file mode 100644
index 000000000..9a2905b33
--- /dev/null
+++ b/lib/images/smileys/index.php
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html lang="en" dir="ltr">
+<head>
+ <title>simleys</title>
+
+ <style type="text/css">
+ body {
+ background-color: #ccc;
+ font-family: Arial;
+ }
+
+ .box {
+ width: 200px;
+ float:left;
+ padding: 0.5em;
+ margin: 0;
+ }
+
+ .white {
+ background-color: #fff;
+ }
+
+ .black {
+ background-color: #000;
+ }
+ </style>
+
+</head>
+<body>
+
+<div class="white box">
+<?php
+foreach (glob('*.gif') as $img) {
+ echo '<img src="'.$img.'" alt="'.$img.'" title="'.$img.'" /> ';
+}
+?>
+</div>
+
+<div class="black box">
+<?php
+foreach (glob('*.gif') as $img) {
+ echo '<img src="'.$img.'" alt="'.$img.'" title="'.$img.'" /> ';
+}
+?>
+</div>
+
+</body>
+</html>
diff --git a/lib/plugins/acl/lang/ko/help.txt b/lib/plugins/acl/lang/ko/help.txt
index 377636682..6a15b7a2e 100644
--- a/lib/plugins/acl/lang/ko/help.txt
+++ b/lib/plugins/acl/lang/ko/help.txt
@@ -1,4 +1,4 @@
-=== 도움말: ===
+=== 빠른 도움말: ===
현재 문서에서 위키 이름공간과 문서에 대한 접근 권한을 추가하거나 삭제할 수 있습니다.
diff --git a/lib/plugins/acl/lang/ko/lang.php b/lib/plugins/acl/lang/ko/lang.php
index c8e1ce5cc..5d2662ef8 100644
--- a/lib/plugins/acl/lang/ko/lang.php
+++ b/lib/plugins/acl/lang/ko/lang.php
@@ -41,4 +41,4 @@ $lang['acl_perm4'] = '만들기';
$lang['acl_perm8'] = '올리기';
$lang['acl_perm16'] = '삭제';
$lang['acl_new'] = '새 항목 추가';
-$lang['acl_mod'] = '선택 항목 변경';
+$lang['acl_mod'] = '선택 항목 수정';
diff --git a/lib/plugins/action.php b/lib/plugins/action.php
index 885bd7c96..a2ad969d7 100644
--- a/lib/plugins/action.php
+++ b/lib/plugins/action.php
@@ -17,7 +17,7 @@ class DokuWiki_Action_Plugin extends DokuWiki_Plugin {
/**
* Registers a callback function for a given event
*/
- function register($controller) {
+ function register(Doku_Event_Handler $controller) {
trigger_error('register() not implemented in '.get_class($this), E_USER_WARNING);
}
}
diff --git a/lib/plugins/config/lang/ko/intro.txt b/lib/plugins/config/lang/ko/intro.txt
index f6b76ecfc..5ef34df64 100644
--- a/lib/plugins/config/lang/ko/intro.txt
+++ b/lib/plugins/config/lang/ko/intro.txt
@@ -1,7 +1,7 @@
====== 환경 설정 관리 ======
-DokuWiki 설치할 때 설정을 변경하기 위해 사용하는 페이지입니다. 각 설정에 대한 자세한 도움말이 필요하다면 [[doku>ko:config|설정 문서 (한국어)]]와 [[doku>config|설정 문서 (영어)]]를 참고하세요.
+DokuWiki 설치할 때 설정을 바꾸기 위해 사용하는 페이지입니다. 각 설정에 대한 자세한 도움말이 필요하다면 [[doku>ko:config|설정 문서 (한국어)]]와 [[doku>config|설정 문서 (영어)]]를 참고하세요.
-플러그인에 대한 자세한 정보가 필요하다면 [[doku>plugin:config|플러그인 설정]] 문서를 참고하세요. 빨간 배경색으로 보이는 설정은 이 플러그인에서 변경하지 못하도록 되어있습니다. 파란 배경색으로 보이는 설정은 기본 설정값을 가지고 있습니다. 하얀 배경색으로 보이는 설정은 특별한 설치를 위해 설정되어 있습니다. 파란색과 하얀색 배경으로 된 설정은 수정이 가능합니다.
+플러그인에 대한 자세한 정보가 필요하다면 [[doku>plugin:config|플러그인 설정]] 문서를 참고하세요. 빨간 배경색으로 보이는 설정은 이 플러그인에서 바꾸지 못하도록 되어있습니다. 파란 배경색으로 보이는 설정은 기본 설정값을 가지고 있습니다. 하얀 배경색으로 보이는 설정은 특별한 설치를 위해 설정되어 있습니다. 파란색과 하얀색 배경으로 된 설정은 수정이 가능합니다.
이 페이지를 끝내기 전에 **저장** 버튼을 누르지 않으면 설정값은 적용되지 않습니다.
diff --git a/lib/plugins/config/lang/ko/lang.php b/lib/plugins/config/lang/ko/lang.php
index 5f90044e4..cd2cc6d6c 100644
--- a/lib/plugins/config/lang/ko/lang.php
+++ b/lib/plugins/config/lang/ko/lang.php
@@ -12,9 +12,9 @@
* @author Myeongjin <aranet100@gmail.com>
*/
$lang['menu'] = '환경 설정';
-$lang['error'] = '잘못된 값 때문에 설정을 변경할 수 없습니다. 수정한 값을 검토하고 확인을 누르세요.
+$lang['error'] = '잘못된 값 때문에 설정을 바꿀 수 없습니다. 수정한 값을 검토하고 확인을 누르세요.
<br />잘못된 값은 빨간 선으로 둘러싸여 있습니다.';
-$lang['updated'] = '설정이 성공적으로 변경되었습니다.';
+$lang['updated'] = '설정이 성공적으로 바뀌었습니다.';
$lang['nochoice'] = '(다른 선택이 불가능합니다.)';
$lang['locked'] = '환경 설정 파일을 수정할 수 없습니다. 의도한 행동이 아니라면,<br />
파일 이름과 권한이 맞는지 확인하기 바랍니다. ';
@@ -39,9 +39,9 @@ $lang['_advanced'] = '고급 설정';
$lang['_network'] = '네트워크 설정';
$lang['_plugin_sufix'] = '플러그인 설정';
$lang['_template_sufix'] = '템플릿 설정';
-$lang['_msg_setting_undefined'] = '설정되지 않은 메타데이터.';
-$lang['_msg_setting_no_class'] = '설정되지 않은 클래스.';
-$lang['_msg_setting_no_default'] = '기본값 없음.';
+$lang['_msg_setting_undefined'] = '설정된 메타데이터가 없습니다.';
+$lang['_msg_setting_no_class'] = '설정된 클래스가 없습니다.';
+$lang['_msg_setting_no_default'] = '기본값이 없습니다.';
$lang['title'] = '위키 제목 (위키 이름)';
$lang['start'] = '각 이름공간에서 사용할 시작 문서 이름';
$lang['lang'] = '인터페이스 언어';
@@ -53,12 +53,12 @@ $lang['savedir'] = '데이타 저장 디렉토리';
$lang['basedir'] = '서버 경로 (예를 들어 <code>/dokuwiki/</code>). 자동 감지를 하려면 비우세요.';
$lang['baseurl'] = '서버 URL (예를 들어 <code>http://www.yourserver.com</code>). 자동 감지를 하려면 비우세요.';
$lang['cookiedir'] = '쿠키 위치. 비워두면 기본 URL 위치로 지정됩니다.';
-$lang['dmode'] = '디렉토리 생성 모드';
-$lang['fmode'] = '파일 생성 모드';
+$lang['dmode'] = '디렉토리 만들기 모드';
+$lang['fmode'] = '파일 만들기 모드';
$lang['allowdebug'] = '디버그 허용 <b>필요하지 않으면 금지!</b>';
$lang['recent'] = '최근 바뀐 문서당 항목 수';
$lang['recent_days'] = '최근 바뀐 문서 기준 시간 (날짜)';
-$lang['breadcrumbs'] = '위치 "추적" 수. 0으로 설정하면 비활성화함.';
+$lang['breadcrumbs'] = '위치 "추적" 수. 0으로 설정하면 비활성화합니다.';
$lang['youarehere'] = '계층형 위치 추적 (다음 위의 옵션을 비활성화하고 싶습니다)';
$lang['fullpath'] = '문서 하단에 전체 경로 보여주기';
$lang['typography'] = '기호 대체';
@@ -80,21 +80,21 @@ $lang['autopasswd'] = '자동으로 만들어진 비밀번호';
$lang['authtype'] = '인증 백-엔드';
$lang['passcrypt'] = '비밀번호 암호화 방법';
$lang['defaultgroup'] = '기본 그룹, 모든 새 사용자는 이 그룹에 속합니다';
-$lang['superuser'] = '슈퍼 유저 - ACL 설정과 상관없이 모든 문서와 기능에 대한 전체 접근 권한을 가진 그룹이나 사용자. 사용자1,@그룹1,사용자2 쉼표로 구분한 목록';
-$lang['manager'] = '관리자 - 관리 기능을 사용할 수 있는 그룹이나 사용자. 사용자1,@그룹1,사용자2 쉼표로 구분한 목록';
+$lang['superuser'] = '슈퍼 유저 - ACL 설정과 상관없이 모든 문서와 기능에 대한 전체 접근 권한을 가진 그룹이나 사용자 또는 사용자1,@그룹1,사용자2 쉼표로 구분한 목록';
+$lang['manager'] = '관리자 - 관리 기능을 사용할 수 있는 그룹이나 사용자 또는 사용자1,@그룹1,사용자2 쉼표로 구분한 목록';
$lang['profileconfirm'] = '개인 정보를 바꿀 때 비밀번호 다시 확인';
$lang['rememberme'] = '항상 로그인 정보 저장 허용 (기억하기)';
$lang['disableactions'] = 'DokuWiki 활동 비활성화';
$lang['disableactions_check'] = '검사';
$lang['disableactions_subscription'] = '구독 신청/해지';
-$lang['disableactions_wikicode'] = '내용 보기/원시 내보대기';
+$lang['disableactions_wikicode'] = '내용 보기/원본 내보대기';
$lang['disableactions_other'] = '다른 활동 (쉼표로 구분)';
$lang['auth_security_timeout'] = '인증 보안 초과 시간 (초)';
$lang['securecookie'] = 'HTTPS로 보내진 쿠키는 HTTPS에만 적용 할까요? 위키의 로그인 페이지만 SSL로 암호화하고 위키 문서는 그렇지 않은 경우 비활성화 합니다.';
-$lang['remote'] = '원격 API를 활성화 합니다. 이 항목을 허용하면 XML-RPC 및 기타 메카니즘을 통해 다른 어플리케이션으로 접근가능합니다.';
+$lang['remote'] = '원격 API를 활성화 합니다. 이 항목을 허용하면 XML-RPC 및 기타 메카니즘을 통해 다른 어플리케이션으로 접근 가능합니다.';
$lang['remoteuser'] = '이 항목에 입력된 쉼표로 나눠진 그룹이나 사용자에게 원격 API 접근을 제한합니다. 빈칸으로 두면 모두에게 허용합니다.';
$lang['usewordblock'] = '금지 단어를 사용해 스팸 막기';
-$lang['relnofollow'] = '외부 링크에 rel="nofollow" 사용';
+$lang['relnofollow'] = '바깥 링크에 rel="nofollow" 사용';
$lang['indexdelay'] = '색인 연기 시간 (초)';
$lang['mailguard'] = '이메일 주소를 알아볼 수 없게 하기';
$lang['iexssprotect'] = '올린 파일의 악성 자바스크립트, HTML 코드 가능성 여부를 검사';
@@ -105,7 +105,7 @@ $lang['locktime'] = '최대 파일 잠금 시간(초)';
$lang['cachetime'] = '최대 캐시 생존 시간 (초)';
$lang['target____wiki'] = '내부 링크에 대한 타겟 창';
$lang['target____interwiki'] = '인터위키 링크에 대한 타겟 창';
-$lang['target____extern'] = '외부 링크에 대한 타겟 창';
+$lang['target____extern'] = '바깥 링크에 대한 타겟 창';
$lang['target____media'] = '미디어 링크에 대한 타겟 창';
$lang['target____windows'] = '창 링크에 대한 타겟 창';
$lang['mediarevisions'] = '미디어 버전 관리를 사용하겠습니까?';
@@ -114,9 +114,9 @@ $lang['refshow'] = '위의 설정이 활성화되었을 때 보여
$lang['gdlib'] = 'GD 라이브러리 버전';
$lang['im_convert'] = 'ImageMagick 변환 도구 위치';
$lang['jpg_quality'] = 'JPG 압축 품질 (0-100)';
-$lang['fetchsize'] = 'fetch.php가 외부에서 다운로드할 수도 있는 최대 크기 (바이트)';
+$lang['fetchsize'] = 'fetch.php가 바깥에서 다운로드할 수도 있는 최대 크기 (바이트)';
$lang['subscribers'] = '사용자가 이메일로 문서 바뀜에 구독하도록 허용';
-$lang['subscribe_time'] = '구독 목록과 요약이 보내질 경과 시간 (초); 이 것은 recent_days에서 설정된 시간보다 작아야 합니다.';
+$lang['subscribe_time'] = '구독 목록과 요약이 보내질 경과 시간 (초); recent_days에서 설정된 시간보다 작아야 합니다.';
$lang['notify'] = '항상 이 이메일 주소로 바뀜 알림을 보냄';
$lang['registernotify'] = '항상 새 사용자한테 이 이메일 주소로 정보를 보냄';
$lang['mailfrom'] = '자동으로 보내지는 메일 발신자';
@@ -127,7 +127,7 @@ $lang['rss_type'] = 'XML 피드 타입';
$lang['rss_linkto'] = 'XML 피드 링크 정보';
$lang['rss_content'] = 'XML 피드 항목에 표시되는 내용은?';
$lang['rss_update'] = 'XML 피드 업데이트 주기 (초)';
-$lang['rss_show_summary'] = 'XML 피드 제목에서 요약정보 보여주기';
+$lang['rss_show_summary'] = 'XML 피드 제목에서 요약 보여주기';
$lang['rss_media'] = '어떤 규격으로 XML 피드를 받아보시겠습니까?';
$lang['updatecheck'] = '업데이트와 보안 문제를 검사할까요? 이 기능을 사용하려면 DokuWiki를 update.dokuwiki.org에 연결해야 합니다.';
$lang['userewrite'] = '멋진 URL 사용';
@@ -141,9 +141,8 @@ $lang['gzip_output'] = 'xhml 내용 gzip 압축 사용';
$lang['compress'] = '최적화된 CSS, 자바스크립트 출력';
$lang['cssdatauri'] = '그림이 렌더링될 최대 용량 크기를 CSS에 규정해야 HTTP 요청 헤더 오버헤드 크기를 감소시킬 수 있습니다. 이 기술은 IE 7 이하에서는 작동하지 않습니다! <code>400</code>에서 <code>600</code> 정도면 좋은 효율을 가져옵니다. <code>0</code>로 지정할 경우 비활성화 됩니다.';
$lang['send404'] = '존재하지 않는 페이지에 대해 "HTTP 404/Page Not Found" 응답';
-$lang['broken_iua'] = '설치된 시스템에서 ignore_user_abort 기능에 문제가 있으면 색인이 정상적으로 동작하지 않습니다. 이 기능이 IIS+PHP/CGI에서 문제가 있는 것으로 알려졌습니다. 자세한 정보는 <a href="http://bugs.splitbrain.org/?do=details&amp;task_id=852">Bug 852</a>를 참고하기 바랍니다.';
-$lang['xsendfile'] = '웹 서버 static 파일 전송 지원을 위해 X-Sendfile 헤더를 사용한다면 이 옵션을 사용합니다.
-웹 서버가 이 기능을 지원해야 합니다.';
+$lang['broken_iua'] = '설치된 시스템에서 ignore_user_abort 기능에 문제가 있습니까? 문제가 있다면 색인이 정상적으로 동작하지 않습니다. 이 기능이 IIS+PHP/CGI에서 문제가 있는 것으로 알려졌습니다. 자세한 정보는 <a href="http://bugs.dokuwiki.org/?do=details&amp;task_id=852">버그 852</a>를 참고하기 바랍니다.';
+$lang['xsendfile'] = '웹 서버가 정적 파일을 제공하도록 X-Sendfile 헤더를 사용하겠습니까? 웹 서버가 이 기능을 지원해야 합니다.';
$lang['renderer_xhtml'] = '주 (xhtml) 위키 출력 처리기';
$lang['renderer__core'] = '%s (DokuWiki 내부 기능)';
$lang['renderer__plugin'] = '%s (플러그인)';
diff --git a/lib/plugins/config/lang/lv/lang.php b/lib/plugins/config/lang/lv/lang.php
index f95697c46..50031d5e5 100644
--- a/lib/plugins/config/lang/lv/lang.php
+++ b/lib/plugins/config/lang/lv/lang.php
@@ -33,25 +33,26 @@ $lang['_template_sufix'] = 'šablona iestatījumi';
$lang['_msg_setting_undefined'] = 'Nav atrodami iestatījumu metadati';
$lang['_msg_setting_no_class'] = 'Nav iestatījumu klases';
$lang['_msg_setting_no_default'] = 'Nav noklusētās vērtības';
-$lang['fmode'] = 'Tiesības izveidotajiem failiem';
-$lang['dmode'] = 'Tiesības izveidotajām direktorijām';
-$lang['lang'] = 'Valoda';
-$lang['basedir'] = 'Saknes direktorija';
-$lang['baseurl'] = 'Saknes adrese (URL)';
-$lang['savedir'] = 'Direktorija datu glabāšanai';
-$lang['start'] = 'Sākumlapas vārds';
$lang['title'] = 'Wiki virsraksts';
+$lang['start'] = 'Sākumlapas vārds';
+$lang['lang'] = 'Valoda';
$lang['template'] = 'Šablons';
$lang['license'] = 'Ar kādu licenci saturs tiks publicēts?';
-$lang['fullpath'] = 'Norādīt kājenē pilnu lapas ceļu';
+$lang['savedir'] = 'Direktorija datu glabāšanai';
+$lang['basedir'] = 'Saknes direktorija';
+$lang['baseurl'] = 'Saknes adrese (URL)';
+$lang['dmode'] = 'Tiesības izveidotajām direktorijām';
+$lang['fmode'] = 'Tiesības izveidotajiem failiem';
+$lang['allowdebug'] = 'Ieslēgt atkļūdošanu. <b>Izslēdz!</b>';
$lang['recent'] = 'Jaunākie grozījumi';
+$lang['recent_days'] = 'Cik dienas glabāt jaunākās izmaiņas';
$lang['breadcrumbs'] = 'Apmeklējumu vēstures garums';
$lang['youarehere'] = 'Rādīt "tu atrodies šeit"';
+$lang['fullpath'] = 'Norādīt kājenē pilnu lapas ceļu';
$lang['typography'] = 'Veikt tipogrāfijas aizvietošanu';
-$lang['htmlok'] = 'Atļaut iekļautu HTTP';
-$lang['phpok'] = 'Atļaut iekļautu PHP';
$lang['dformat'] = 'Datuma formāts (sk. PHP <a href="http://www.php.net/strftime">strftime</a> funkciju)';
$lang['signature'] = 'Paraksts';
+$lang['showuseras'] = 'Kā rādīt pēdējo lietotāju, ka labojis lapu';
$lang['toptoclevel'] = 'Satura rādītāja pirmais līmenis';
$lang['tocminheads'] = 'Mazākais virsrakstu skaits, no kuriem jāveido satura rādītājs.';
$lang['maxtoclevel'] = 'Satura rādītāja dziļākais līmenis';
@@ -59,15 +60,8 @@ $lang['maxseclevel'] = 'Dziļākais sekciju labošanas līmenis';
$lang['camelcase'] = 'Lietot saitēm CamelCase';
$lang['deaccent'] = 'Lapu nosaukumu transliterācija';
$lang['useheading'] = 'Izmantot pirmo virsrakstu lapu nosaukumiem';
-$lang['refcheck'] = 'Pārbaudīt saites uz mēdiju failiem';
-$lang['refshow'] = 'Cik saites uz mēdiju failiem rādīt';
-$lang['allowdebug'] = 'Ieslēgt atkļūdošanu. <b>Izslēdz!</b>';
-$lang['usewordblock'] = 'Bloķēt spamu pēc slikto vārdu saraksta.';
-$lang['indexdelay'] = 'Laika aizture pirms indeksācijas (sekundēs)';
-$lang['relnofollow'] = 'rel="nofollow" ārējām saitēm';
-$lang['mailguard'] = 'Slēpt epasta adreses';
-$lang['iexssprotect'] = 'Pārbaudīt, vai augšupielādētajā failā nav nav potenciāli bīstamā JavaScript vai HTML koda.';
-$lang['showuseras'] = 'Kā rādīt pēdējo lietotāju, ka labojis lapu';
+$lang['sneaky_index'] = 'Pēc noklusētā DokuWiki lapu sarakstā parāda visu nodaļu lapas. Ieslēdzot šo parametru, noslēps tās nodaļas, kuras apmeklētājam nav tiesības lasīt. Bet tad tiks arī paslēptas dziļākas, bet atļautas nodaļas. Atsevišķos pieejas tiesību konfigurācijas gadījumos lapu saraksts var nedarboties.';
+$lang['hidepages'] = 'Slēpt lapas (regulāras izteiksmes)';
$lang['useacl'] = 'Izmantot piekļuves tiesības';
$lang['autopasswd'] = 'Automātiski ģenerēt paroles';
$lang['authtype'] = 'Autentifikācijas mehānisms';
@@ -76,57 +70,63 @@ $lang['defaultgroup'] = 'Noklusētā grupa';
$lang['superuser'] = 'Administrators - grupa, lietotājs vai to saraksts ( piem.: user1,@group1,user2), kam ir pilnas tiesības.';
$lang['manager'] = 'Pārziņi - grupa, lietotājs vai to saraksts ( piem.: user1,@group1,user2), kam ir pieeja pie dažām administrēšanas funkcijām.';
$lang['profileconfirm'] = 'Profila labošanai vajag paroli';
+$lang['rememberme'] = 'Atļaut pastāvīgas ielogošanās sīkdatnes ("atceries mani")';
$lang['disableactions'] = 'Bloķēt Dokuwiki darbības';
$lang['disableactions_check'] = 'atzīmēt';
$lang['disableactions_subscription'] = 'abonēt/atteikties';
$lang['disableactions_wikicode'] = 'skatīt/eksportēt izejtekstu';
$lang['disableactions_other'] = 'citas darbības (atdalīt ar komatiem)';
-$lang['sneaky_index'] = 'Pēc noklusētā DokuWiki lapu sarakstā parāda visu nodaļu lapas. Ieslēdzot šo parametru, noslēps tās nodaļas, kuras apmeklētājam nav tiesības lasīt. Bet tad tiks arī paslēptas dziļākas, bet atļautas nodaļas. Atsevišķos pieejas tiesību konfigurācijas gadījumos lapu saraksts var nedarboties.';
$lang['auth_security_timeout'] = 'Autorizācijas drošības intervāls (sekundēs)';
$lang['securecookie'] = 'Vai pa HTTPS sūtāmās sīkdatnes sūtīt tikai pa HTTPS? Atslēdz šo iespēju, kad tikai pieteikšanās wiki sistēmā notiek pa SSL šifrētu savienojumu, bet skatīšana - pa nešifrētu.';
+$lang['usewordblock'] = 'Bloķēt spamu pēc slikto vārdu saraksta.';
+$lang['relnofollow'] = 'rel="nofollow" ārējām saitēm';
+$lang['indexdelay'] = 'Laika aizture pirms indeksācijas (sekundēs)';
+$lang['mailguard'] = 'Slēpt epasta adreses';
+$lang['iexssprotect'] = 'Pārbaudīt, vai augšupielādētajā failā nav nav potenciāli bīstamā JavaScript vai HTML koda.';
+$lang['usedraft'] = 'Labojot automātiski saglabāt melnrakstu';
+$lang['htmlok'] = 'Atļaut iekļautu HTTP';
+$lang['phpok'] = 'Atļaut iekļautu PHP';
+$lang['locktime'] = 'Bloķēšanas failu maksimālais vecums';
+$lang['cachetime'] = 'Bufera maksimālais vecums (sek)';
+$lang['target____wiki'] = 'Kur atvērt iekšējās saites';
+$lang['target____interwiki'] = 'Kur atvērt saites strap wiki';
+$lang['target____extern'] = 'Kur atvērt ārējās saites';
+$lang['target____media'] = 'Kur atvērt mēdiju saites';
+$lang['target____windows'] = 'Kur atvērt saites uz tīkla mapēm';
+$lang['refcheck'] = 'Pārbaudīt saites uz mēdiju failiem';
+$lang['refshow'] = 'Cik saites uz mēdiju failiem rādīt';
+$lang['gdlib'] = 'GD Lib versija';
+$lang['im_convert'] = 'Ceļš uz ImageMagick convert rīku';
+$lang['jpg_quality'] = 'JPG saspiešanas kvalitāte';
+$lang['fetchsize'] = 'Maksimālais faila apjoms baitos, ko fetch.php var ielādēt no interneta.';
+$lang['subscribers'] = 'Atļaut abonēt izmaiņas';
+$lang['subscribe_time'] = 'Pēc cik ilga laika izsūtīt abonētos sarakstus un kopsavilkumus (sekundes); jābūt mazākam par laiku, kas norādīts "recent_days".';
+$lang['notify'] = 'Nosūtīt izmaiņu paziņojumu uz epasta adresi';
+$lang['registernotify'] = 'Nosūtīt paziņojumu par jauniem lietotājiem uz epasta adresi';
+$lang['mailfrom'] = 'Epasta adrese automātiskajiem paziņojumiem';
+$lang['mailprefix'] = 'E-pasta temata prefikss automātiskajiem paziņojumiem';
+$lang['sitemap'] = 'Lapas karte priekš Google (dienas)';
+$lang['rss_type'] = 'XML barotnes veids';
+$lang['rss_linkto'] = 'XML barotnes uz ';
+$lang['rss_content'] = 'Ko attēlot XML barotnē?';
+$lang['rss_update'] = 'XML barotnes atjaunošanas intervāls (sec)';
+$lang['rss_show_summary'] = 'Rādīt visrakstos XML barotnes kopsavilkumu ';
$lang['updatecheck'] = 'Pārbaudīt, vai pieejami atjauninājumi un drošības brīdinājumi? Dokuwiki sazināsies ar update.dokuwiki.org';
$lang['userewrite'] = 'Ērti lasāmas adreses (URL)';
$lang['useslash'] = 'Lietot slīpiņu par URL atdalītāju';
-$lang['usedraft'] = 'Labojot automātiski saglabāt melnrakstu';
$lang['sepchar'] = 'Lapas nosaukuma vārdu atdalītājs';
$lang['canonical'] = 'Lietot kanoniskus URL';
$lang['fnencode'] = 'Ne ASCII failvārdu kodēšanas metode:';
$lang['autoplural'] = 'Automātisks daudzskaitlis';
$lang['compression'] = 'Saspiešanas metode vecajiem failiem';
-$lang['cachetime'] = 'Bufera maksimālais vecums (sek)';
-$lang['locktime'] = 'Bloķēšanas failu maksimālais vecums';
-$lang['fetchsize'] = 'Maksimālais faila apjoms baitos, ko fetch.php var ielādēt no interneta.';
-$lang['notify'] = 'Nosūtīt izmaiņu paziņojumu uz epasta adresi';
-$lang['registernotify'] = 'Nosūtīt paziņojumu par jauniem lietotājiem uz epasta adresi';
-$lang['mailfrom'] = 'Epasta adrese automātiskajiem paziņojumiem';
-$lang['mailprefix'] = 'E-pasta temata prefikss automātiskajiem paziņojumiem';
$lang['gzip_output'] = 'Lietot gzip Content-Encoding priekš xhtml';
-$lang['gdlib'] = 'GD Lib versija';
-$lang['im_convert'] = 'Ceļš uz ImageMagick convert rīku';
-$lang['jpg_quality'] = 'JPG saspiešanas kvalitāte';
-$lang['subscribers'] = 'Atļaut abonēt izmaiņas';
-$lang['subscribe_time'] = 'Pēc cik ilga laika izsūtīt abonētos sarakstus un kopsavilkumus (sekundes); jābūt mazākam par laiku, kas norādīts "recent_days".';
$lang['compress'] = 'Saspiest CSS un javascript failus';
-$lang['hidepages'] = 'Slēpt lapas (regulāras izteiksmes)';
$lang['send404'] = 'Par neesošām lapām atbildēt "HTTP 404/Page Not Found" ';
-$lang['sitemap'] = 'Lapas karte priekš Google (dienas)';
$lang['broken_iua'] = 'Varbūt tavā serverī nedarbojas funkcija ignore_user_abort? Tā dēļ var nestādāt meklēšanas indeksācija. Šī problēma sastopama, piemēram, IIS ar PHP/CGI. Papildus informāciju skatīt <a href="http://bugs.splitbrain.org/?do=details&amp;task_id=852">Kļūdā Nr.852</a>.';
$lang['xsendfile'] = 'Lietot X-Sendfile virsrakstu, augšupielādējot failu serverī? ';
$lang['renderer_xhtml'] = 'Galveno (xhtml) wiki saturu renderēt ar ';
$lang['renderer__core'] = '%s (dokuwiki kodols)';
$lang['renderer__plugin'] = '%s (modulis)';
-$lang['rememberme'] = 'Atļaut pastāvīgas ielogošanās sīkdatnes ("atceries mani")';
-$lang['rss_type'] = 'XML barotnes veids';
-$lang['rss_linkto'] = 'XML barotnes uz ';
-$lang['rss_content'] = 'Ko attēlot XML barotnē?';
-$lang['rss_update'] = 'XML barotnes atjaunošanas intervāls (sec)';
-$lang['recent_days'] = 'Cik dienas glabāt jaunākās izmaiņas';
-$lang['rss_show_summary'] = 'Rādīt visrakstos XML barotnes kopsavilkumu ';
-$lang['target____wiki'] = 'Kur atvērt iekšējās saites';
-$lang['target____interwiki'] = 'Kur atvērt saites strap wiki';
-$lang['target____extern'] = 'Kur atvērt ārējās saites';
-$lang['target____media'] = 'Kur atvērt mēdiju saites';
-$lang['target____windows'] = 'Kur atvērt saites uz tīkla mapēm';
$lang['proxy____host'] = 'Proxy servera vārds';
$lang['proxy____port'] = 'Proxy ports';
$lang['proxy____user'] = 'Proxy lietotāja vārds';
diff --git a/lib/plugins/plugin/lang/lv/lang.php b/lib/plugins/plugin/lang/lv/lang.php
index 0f6103899..9a8727875 100644
--- a/lib/plugins/plugin/lang/lv/lang.php
+++ b/lib/plugins/plugin/lang/lv/lang.php
@@ -48,3 +48,4 @@ $lang['enabled'] = 'Modulis %s pieslēgts.';
$lang['notenabled'] = 'Moduli %s nevar pieslēgt, pārbaudi failu tiesības.';
$lang['disabled'] = 'Modulis %s atslēgts.';
$lang['notdisabled'] = 'Moduli %s nevar atslēgt, pārbaudi failu tiesības.';
+$lang['packageinstalled'] = 'Moduļu paka (pavisam kopā %d: %s) veiksmīgi uzstādīti.';
diff --git a/lib/plugins/popularity/action.php b/lib/plugins/popularity/action.php
index bf11efba6..1c7a2f65d 100644
--- a/lib/plugins/popularity/action.php
+++ b/lib/plugins/popularity/action.php
@@ -18,7 +18,7 @@ class action_plugin_popularity extends Dokuwiki_Action_Plugin {
/**
* Register its handlers with the dokuwiki's event controller
*/
- function register(&$controller) {
+ function register(Doku_Event_Handler $controller) {
$controller->register_hook('INDEXER_TASKS_RUN', 'AFTER', $this, '_autosubmit', array());
}
diff --git a/lib/plugins/popularity/lang/ko/intro.txt b/lib/plugins/popularity/lang/ko/intro.txt
index 0af7ee2cc..b9e66094e 100644
--- a/lib/plugins/popularity/lang/ko/intro.txt
+++ b/lib/plugins/popularity/lang/ko/intro.txt
@@ -1,6 +1,6 @@
====== 인기도 조사 ======
-설치된 위키의 익명 정보를 DokuWiki 개발자에게 보냅니다. 이 [[doku>popularity|기능]]은 DokuWiki가 실제 사용자에게 어떻게 사용되는지 DokuWiki 개발자에게 알려줌으로써 이 후 개발 시 참고가 됩니다.
+설치된 위키의 익명 정보를 DokuWiki 개발자에게 보냅니다. 이 [[doku>popularity|도구]]는 DokuWiki가 실제 사용자에게 어떻게 사용되는지 DokuWiki 개발자에게 알려줌으로써 이 후 개발 시 참고가 됩니다.
설치된 위키가 커짐에 따라서 이 과정을 반복할 필요가 있습니다. 반복된 데이타는 익명 ID로 구별되어집니다.
diff --git a/lib/plugins/safefnrecode/action.php b/lib/plugins/safefnrecode/action.php
index 5d3eaae3a..aae11c437 100644
--- a/lib/plugins/safefnrecode/action.php
+++ b/lib/plugins/safefnrecode/action.php
@@ -13,7 +13,7 @@ require_once DOKU_PLUGIN.'action.php';
class action_plugin_safefnrecode extends DokuWiki_Action_Plugin {
- public function register(Doku_Event_Handler &$controller) {
+ public function register(Doku_Event_Handler $controller) {
$controller->register_hook('INDEXER_TASKS_RUN', 'BEFORE', $this, 'handle_indexer_tasks_run');
diff --git a/lib/plugins/testing/action.php b/lib/plugins/testing/action.php
index e829847b6..a242ab0b7 100644
--- a/lib/plugins/testing/action.php
+++ b/lib/plugins/testing/action.php
@@ -7,7 +7,8 @@
* @author Tobias Sarnowski <tobias@trustedco.de>
*/
class action_plugin_testing extends DokuWiki_Action_Plugin {
- function register(&$controller) {
+
+ function register(Doku_Event_Handler $controller) {
$controller->register_hook('DOKUWIKI_STARTED', 'AFTER', $this, 'dokuwikiStarted');
}
diff --git a/lib/plugins/usermanager/lang/ko/edit.txt b/lib/plugins/usermanager/lang/ko/edit.txt
index b8b13c5c8..ebb5bb002 100644
--- a/lib/plugins/usermanager/lang/ko/edit.txt
+++ b/lib/plugins/usermanager/lang/ko/edit.txt
@@ -1 +1 @@
-===== 사용자 정보 수정 =====
+===== 사용자 정보 편집 =====
diff --git a/lib/plugins/usermanager/lang/ko/lang.php b/lib/plugins/usermanager/lang/ko/lang.php
index 3754fea90..58f9bf14a 100644
--- a/lib/plugins/usermanager/lang/ko/lang.php
+++ b/lib/plugins/usermanager/lang/ko/lang.php
@@ -35,14 +35,14 @@ $lang['summary'] = '찾은 사용자 %3$d 중 %1$d-%2$d 보기.
$lang['nonefound'] = '찾은 사용자가 없습니다. 전체 사용자 %d명.';
$lang['delete_ok'] = '사용자 %d명이 삭제되었습니다';
$lang['delete_fail'] = '사용자 %d명의 삭제가 실패했습니다.';
-$lang['update_ok'] = '사용자 변경을 성공했습니다.';
-$lang['update_fail'] = '사용자 변경을 실패했습니다.';
-$lang['update_exists'] = '사용자 이름 변경이 실패했습니다. 사용자 이름(%s)이 이미 존재합니다. (다른 항목의 바뀜은 적용됩니다.)';
+$lang['update_ok'] = '사용자 정보를 성공적으로 바꾸었습니다.';
+$lang['update_fail'] = '사용자 정보를 바꾸는 데 실패했습니다.';
+$lang['update_exists'] = '사용자 이름을 바꾸기는 데 실패했습니다. 사용자 이름(%s)이 이미 존재합니다. (다른 항목의 바뀜은 적용됩니다.)';
$lang['start'] = '시작';
$lang['prev'] = '이전';
$lang['next'] = '다음';
$lang['last'] = '마지막';
-$lang['edit_usermissing'] = '선택된 사용자를 찾을 수 없습니다. 사용자 이름이 삭제되거나 변경됐을 수도 있습니다.';
+$lang['edit_usermissing'] = '선택된 사용자를 찾을 수 없습니다. 사용자 이름이 삭제되거나 바뀌었을 수도 있습니다.';
$lang['user_notify'] = '사용자에게 알림';
$lang['note_notify'] = '사용자에게 새로운 비밀번호를 준 경우에만 알림 이메일이 보내집니다.';
$lang['note_group'] = '새로운 사용자는 어떤 그룹도 설정하지 않은 경우에 기본 그룹(%s)에 추가됩니다.';