merge master into filesystem

This commit is contained in:
Robin Appelman 2012-10-13 04:29:20 +02:00
commit 11e9ce25e6
150 changed files with 2626 additions and 1318 deletions

View File

@ -35,7 +35,7 @@
* @author Vincent Blavet <vincent@phpconcept.net> * @author Vincent Blavet <vincent@phpconcept.net>
* @copyright 1997-2010 The Authors * @copyright 1997-2010 The Authors
* @license http://www.opensource.org/licenses/bsd-license.php New BSD License * @license http://www.opensource.org/licenses/bsd-license.php New BSD License
* @version CVS: $Id: Tar.php 323476 2012-02-24 15:27:26Z mrook $ * @version CVS: $Id: Tar.php 324840 2012-04-05 08:44:41Z mrook $
* @link http://pear.php.net/package/Archive_Tar * @link http://pear.php.net/package/Archive_Tar
*/ */
@ -50,7 +50,7 @@ define('ARCHIVE_TAR_END_BLOCK', pack("a512", ''));
* @package Archive_Tar * @package Archive_Tar
* @author Vincent Blavet <vincent@phpconcept.net> * @author Vincent Blavet <vincent@phpconcept.net>
* @license http://www.opensource.org/licenses/bsd-license.php New BSD License * @license http://www.opensource.org/licenses/bsd-license.php New BSD License
* @version $Revision: 323476 $ * @version $Revision: 324840 $
*/ */
class Archive_Tar extends PEAR class Archive_Tar extends PEAR
{ {
@ -577,7 +577,7 @@ class Archive_Tar extends PEAR
} }
// ----- Get the arguments // ----- Get the arguments
$v_att_list = func_get_args(); $v_att_list = &func_get_args();
// ----- Read the attributes // ----- Read the attributes
$i=0; $i=0;
@ -649,14 +649,14 @@ class Archive_Tar extends PEAR
// {{{ _error() // {{{ _error()
function _error($p_message) function _error($p_message)
{ {
$this->error_object = $this->raiseError($p_message); $this->error_object = &$this->raiseError($p_message);
} }
// }}} // }}}
// {{{ _warning() // {{{ _warning()
function _warning($p_message) function _warning($p_message)
{ {
$this->error_object = $this->raiseError($p_message); $this->error_object = &$this->raiseError($p_message);
} }
// }}} // }}}
@ -981,7 +981,7 @@ class Archive_Tar extends PEAR
// }}} // }}}
// {{{ _addFile() // {{{ _addFile()
function _addFile($p_filename, &$p_header, $p_add_dir, $p_remove_dir,$v_stored_filename=null) function _addFile($p_filename, &$p_header, $p_add_dir, $p_remove_dir)
{ {
if (!$this->_file) { if (!$this->_file) {
$this->_error('Invalid file descriptor'); $this->_error('Invalid file descriptor');
@ -992,31 +992,29 @@ class Archive_Tar extends PEAR
$this->_error('Invalid file name'); $this->_error('Invalid file name');
return false; return false;
} }
if(is_null($v_stored_filename)){
// ----- Calculate the stored filename // ----- Calculate the stored filename
$p_filename = $this->_translateWinPath($p_filename, false); $p_filename = $this->_translateWinPath($p_filename, false);;
$v_stored_filename = $p_filename; $v_stored_filename = $p_filename;
if (strcmp($p_filename, $p_remove_dir) == 0) { if (strcmp($p_filename, $p_remove_dir) == 0) {
return true; return true;
} }
if ($p_remove_dir != '') { if ($p_remove_dir != '') {
if (substr($p_remove_dir, -1) != '/') if (substr($p_remove_dir, -1) != '/')
$p_remove_dir .= '/'; $p_remove_dir .= '/';
if (substr($p_filename, 0, strlen($p_remove_dir)) == $p_remove_dir) if (substr($p_filename, 0, strlen($p_remove_dir)) == $p_remove_dir)
$v_stored_filename = substr($p_filename, strlen($p_remove_dir)); $v_stored_filename = substr($p_filename, strlen($p_remove_dir));
} }
$v_stored_filename = $this->_translateWinPath($v_stored_filename); $v_stored_filename = $this->_translateWinPath($v_stored_filename);
if ($p_add_dir != '') { if ($p_add_dir != '') {
if (substr($p_add_dir, -1) == '/') if (substr($p_add_dir, -1) == '/')
$v_stored_filename = $p_add_dir.$v_stored_filename; $v_stored_filename = $p_add_dir.$v_stored_filename;
else else
$v_stored_filename = $p_add_dir.'/'.$v_stored_filename; $v_stored_filename = $p_add_dir.'/'.$v_stored_filename;
} }
$v_stored_filename = $this->_pathReduction($v_stored_filename); $v_stored_filename = $this->_pathReduction($v_stored_filename);
}
if ($this->_isArchive($p_filename)) { if ($this->_isArchive($p_filename)) {
if (($v_file = @fopen($p_filename, "rb")) == 0) { if (($v_file = @fopen($p_filename, "rb")) == 0) {
@ -1775,12 +1773,20 @@ class Archive_Tar extends PEAR
} }
if ($this->_compress_type == 'gz') { if ($this->_compress_type == 'gz') {
$end_blocks = 0;
while (!@gzeof($v_temp_tar)) { while (!@gzeof($v_temp_tar)) {
$v_buffer = @gzread($v_temp_tar, 512); $v_buffer = @gzread($v_temp_tar, 512);
if ($v_buffer == ARCHIVE_TAR_END_BLOCK || strlen($v_buffer) == 0) { if ($v_buffer == ARCHIVE_TAR_END_BLOCK || strlen($v_buffer) == 0) {
$end_blocks++;
// do not copy end blocks, we will re-make them // do not copy end blocks, we will re-make them
// after appending // after appending
continue; continue;
} elseif ($end_blocks > 0) {
for ($i = 0; $i < $end_blocks; $i++) {
$this->_writeBlock(ARCHIVE_TAR_END_BLOCK);
}
$end_blocks = 0;
} }
$v_binary_data = pack("a512", $v_buffer); $v_binary_data = pack("a512", $v_buffer);
$this->_writeBlock($v_binary_data); $this->_writeBlock($v_binary_data);
@ -1789,9 +1795,19 @@ class Archive_Tar extends PEAR
@gzclose($v_temp_tar); @gzclose($v_temp_tar);
} }
elseif ($this->_compress_type == 'bz2') { elseif ($this->_compress_type == 'bz2') {
$end_blocks = 0;
while (strlen($v_buffer = @bzread($v_temp_tar, 512)) > 0) { while (strlen($v_buffer = @bzread($v_temp_tar, 512)) > 0) {
if ($v_buffer == ARCHIVE_TAR_END_BLOCK) { if ($v_buffer == ARCHIVE_TAR_END_BLOCK || strlen($v_buffer) == 0) {
$end_blocks++;
// do not copy end blocks, we will re-make them
// after appending
continue; continue;
} elseif ($end_blocks > 0) {
for ($i = 0; $i < $end_blocks; $i++) {
$this->_writeBlock(ARCHIVE_TAR_END_BLOCK);
}
$end_blocks = 0;
} }
$v_binary_data = pack("a512", $v_buffer); $v_binary_data = pack("a512", $v_buffer);
$this->_writeBlock($v_binary_data); $this->_writeBlock($v_binary_data);

View File

@ -2,7 +2,7 @@
/*~ class.phpmailer.php /*~ class.phpmailer.php
.---------------------------------------------------------------------------. .---------------------------------------------------------------------------.
| Software: PHPMailer - PHP email class | | Software: PHPMailer - PHP email class |
| Version: 5.2 | | Version: 5.2.1 |
| Site: https://code.google.com/a/apache-extras.org/p/phpmailer/ | | Site: https://code.google.com/a/apache-extras.org/p/phpmailer/ |
| ------------------------------------------------------------------------- | | ------------------------------------------------------------------------- |
| Admin: Jim Jagielski (project admininistrator) | | Admin: Jim Jagielski (project admininistrator) |
@ -10,7 +10,7 @@
| : Marcus Bointon (coolbru) coolbru@users.sourceforge.net | | : Marcus Bointon (coolbru) coolbru@users.sourceforge.net |
| : Jim Jagielski (jimjag) jimjag@gmail.com | | : Jim Jagielski (jimjag) jimjag@gmail.com |
| Founder: Brent R. Matzelle (original founder) | | Founder: Brent R. Matzelle (original founder) |
| Copyright (c) 2010-2011, Jim Jagielski. All Rights Reserved. | | Copyright (c) 2010-2012, Jim Jagielski. All Rights Reserved. |
| Copyright (c) 2004-2009, Andy Prevost. All Rights Reserved. | | Copyright (c) 2004-2009, Andy Prevost. All Rights Reserved. |
| Copyright (c) 2001-2003, Brent R. Matzelle | | Copyright (c) 2001-2003, Brent R. Matzelle |
| ------------------------------------------------------------------------- | | ------------------------------------------------------------------------- |
@ -29,7 +29,7 @@
* @author Andy Prevost * @author Andy Prevost
* @author Marcus Bointon * @author Marcus Bointon
* @author Jim Jagielski * @author Jim Jagielski
* @copyright 2010 - 2011 Jim Jagielski * @copyright 2010 - 2012 Jim Jagielski
* @copyright 2004 - 2009 Andy Prevost * @copyright 2004 - 2009 Andy Prevost
* @version $Id: class.phpmailer.php 450 2010-06-23 16:46:33Z coolbru $ * @version $Id: class.phpmailer.php 450 2010-06-23 16:46:33Z coolbru $
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
@ -129,6 +129,13 @@ class PHPMailer {
*/ */
protected $MIMEHeader = ''; protected $MIMEHeader = '';
/**
* Stores the complete sent MIME message (Body and Headers)
* @var string
* @access protected
*/
protected $SentMIMEMessage = '';
/** /**
* Sets word wrapping on the body of the message to a given number of * Sets word wrapping on the body of the message to a given number of
* characters. * characters.
@ -317,7 +324,7 @@ class PHPMailer {
* Sets the PHPMailer Version number * Sets the PHPMailer Version number
* @var string * @var string
*/ */
public $Version = '5.2'; public $Version = '5.2.1';
/** /**
* What to use in the X-Mailer header * What to use in the X-Mailer header
@ -460,7 +467,7 @@ class PHPMailer {
* @return boolean * @return boolean
*/ */
public function AddReplyTo($address, $name = '') { public function AddReplyTo($address, $name = '') {
return $this->AddAnAddress('ReplyTo', $address, $name); return $this->AddAnAddress('Reply-To', $address, $name);
} }
/** /**
@ -473,12 +480,14 @@ class PHPMailer {
* @access protected * @access protected
*/ */
protected function AddAnAddress($kind, $address, $name = '') { protected function AddAnAddress($kind, $address, $name = '') {
if (!preg_match('/^(to|cc|bcc|ReplyTo)$/', $kind)) { if (!preg_match('/^(to|cc|bcc|Reply-To)$/', $kind)) {
$this->SetError($this->Lang('Invalid recipient array').': '.$kind); $this->SetError($this->Lang('Invalid recipient array').': '.$kind);
if ($this->exceptions) { if ($this->exceptions) {
throw new phpmailerException('Invalid recipient array: ' . $kind); throw new phpmailerException('Invalid recipient array: ' . $kind);
} }
echo $this->Lang('Invalid recipient array').': '.$kind; if ($this->SMTPDebug) {
echo $this->Lang('Invalid recipient array').': '.$kind;
}
return false; return false;
} }
$address = trim($address); $address = trim($address);
@ -488,10 +497,12 @@ class PHPMailer {
if ($this->exceptions) { if ($this->exceptions) {
throw new phpmailerException($this->Lang('invalid_address').': '.$address); throw new phpmailerException($this->Lang('invalid_address').': '.$address);
} }
echo $this->Lang('invalid_address').': '.$address; if ($this->SMTPDebug) {
echo $this->Lang('invalid_address').': '.$address;
}
return false; return false;
} }
if ($kind != 'ReplyTo') { if ($kind != 'Reply-To') {
if (!isset($this->all_recipients[strtolower($address)])) { if (!isset($this->all_recipients[strtolower($address)])) {
array_push($this->$kind, array($address, $name)); array_push($this->$kind, array($address, $name));
$this->all_recipients[strtolower($address)] = true; $this->all_recipients[strtolower($address)] = true;
@ -520,14 +531,16 @@ class PHPMailer {
if ($this->exceptions) { if ($this->exceptions) {
throw new phpmailerException($this->Lang('invalid_address').': '.$address); throw new phpmailerException($this->Lang('invalid_address').': '.$address);
} }
echo $this->Lang('invalid_address').': '.$address; if ($this->SMTPDebug) {
echo $this->Lang('invalid_address').': '.$address;
}
return false; return false;
} }
$this->From = $address; $this->From = $address;
$this->FromName = $name; $this->FromName = $name;
if ($auto) { if ($auto) {
if (empty($this->ReplyTo)) { if (empty($this->ReplyTo)) {
$this->AddAnAddress('ReplyTo', $address, $name); $this->AddAnAddress('Reply-To', $address, $name);
} }
if (empty($this->Sender)) { if (empty($this->Sender)) {
$this->Sender = $address; $this->Sender = $address;
@ -574,6 +587,7 @@ class PHPMailer {
if(!$this->PreSend()) return false; if(!$this->PreSend()) return false;
return $this->PostSend(); return $this->PostSend();
} catch (phpmailerException $e) { } catch (phpmailerException $e) {
$this->SentMIMEMessage = '';
$this->SetError($e->getMessage()); $this->SetError($e->getMessage());
if ($this->exceptions) { if ($this->exceptions) {
throw $e; throw $e;
@ -584,6 +598,7 @@ class PHPMailer {
protected function PreSend() { protected function PreSend() {
try { try {
$mailHeader = "";
if ((count($this->to) + count($this->cc) + count($this->bcc)) < 1) { if ((count($this->to) + count($this->cc) + count($this->bcc)) < 1) {
throw new phpmailerException($this->Lang('provide_address'), self::STOP_CRITICAL); throw new phpmailerException($this->Lang('provide_address'), self::STOP_CRITICAL);
} }
@ -603,6 +618,19 @@ class PHPMailer {
$this->MIMEHeader = $this->CreateHeader(); $this->MIMEHeader = $this->CreateHeader();
$this->MIMEBody = $this->CreateBody(); $this->MIMEBody = $this->CreateBody();
// To capture the complete message when using mail(), create
// an extra header list which CreateHeader() doesn't fold in
if ($this->Mailer == 'mail') {
if (count($this->to) > 0) {
$mailHeader .= $this->AddrAppend("To", $this->to);
} else {
$mailHeader .= $this->HeaderLine("To", "undisclosed-recipients:;");
}
$mailHeader .= $this->HeaderLine('Subject', $this->EncodeHeader($this->SecureHeader(trim($this->Subject))));
// if(count($this->cc) > 0) {
// $mailHeader .= $this->AddrAppend("Cc", $this->cc);
// }
}
// digitally sign with DKIM if enabled // digitally sign with DKIM if enabled
if ($this->DKIM_domain && $this->DKIM_private) { if ($this->DKIM_domain && $this->DKIM_private) {
@ -610,7 +638,9 @@ class PHPMailer {
$this->MIMEHeader = str_replace("\r\n", "\n", $header_dkim) . $this->MIMEHeader; $this->MIMEHeader = str_replace("\r\n", "\n", $header_dkim) . $this->MIMEHeader;
} }
$this->SentMIMEMessage = sprintf("%s%s\r\n\r\n%s",$this->MIMEHeader,$mailHeader,$this->MIMEBody);
return true; return true;
} catch (phpmailerException $e) { } catch (phpmailerException $e) {
$this->SetError($e->getMessage()); $this->SetError($e->getMessage());
if ($this->exceptions) { if ($this->exceptions) {
@ -628,6 +658,8 @@ class PHPMailer {
return $this->SendmailSend($this->MIMEHeader, $this->MIMEBody); return $this->SendmailSend($this->MIMEHeader, $this->MIMEBody);
case 'smtp': case 'smtp':
return $this->SmtpSend($this->MIMEHeader, $this->MIMEBody); return $this->SmtpSend($this->MIMEHeader, $this->MIMEBody);
case 'mail':
return $this->MailSend($this->MIMEHeader, $this->MIMEBody);
default: default:
return $this->MailSend($this->MIMEHeader, $this->MIMEBody); return $this->MailSend($this->MIMEHeader, $this->MIMEBody);
} }
@ -637,7 +669,9 @@ class PHPMailer {
if ($this->exceptions) { if ($this->exceptions) {
throw $e; throw $e;
} }
echo $e->getMessage()."\n"; if ($this->SMTPDebug) {
echo $e->getMessage()."\n";
}
return false; return false;
} }
} }
@ -703,7 +737,7 @@ class PHPMailer {
$to = implode(', ', $toArr); $to = implode(', ', $toArr);
if (empty($this->Sender)) { if (empty($this->Sender)) {
$params = "-oi -f %s"; $params = "-oi ";
} else { } else {
$params = sprintf("-oi -f %s", $this->Sender); $params = sprintf("-oi -f %s", $this->Sender);
} }
@ -732,7 +766,7 @@ class PHPMailer {
$this->doCallback($isSent, $val, $this->cc, $this->bcc, $this->Subject, $body); $this->doCallback($isSent, $val, $this->cc, $this->bcc, $this->Subject, $body);
} }
} else { } else {
$rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header); $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
// implement call back function if it exists // implement call back function if it exists
$isSent = ($rt == 1) ? 1 : 0; $isSent = ($rt == 1) ? 1 : 0;
$this->doCallback($isSent, $to, $this->cc, $this->bcc, $this->Subject, $body); $this->doCallback($isSent, $to, $this->cc, $this->bcc, $this->Subject, $body);
@ -880,7 +914,9 @@ class PHPMailer {
} }
} catch (phpmailerException $e) { } catch (phpmailerException $e) {
$this->smtp->Reset(); $this->smtp->Reset();
throw $e; if ($this->exceptions) {
throw $e;
}
} }
return true; return true;
} }
@ -1159,7 +1195,7 @@ class PHPMailer {
$result .= $this->HeaderLine('To', 'undisclosed-recipients:;'); $result .= $this->HeaderLine('To', 'undisclosed-recipients:;');
} }
} }
} }
$from = array(); $from = array();
$from[0][0] = trim($this->From); $from[0][0] = trim($this->From);
@ -1177,7 +1213,7 @@ class PHPMailer {
} }
if(count($this->ReplyTo) > 0) { if(count($this->ReplyTo) > 0) {
$result .= $this->AddrAppend('Reply-to', $this->ReplyTo); $result .= $this->AddrAppend('Reply-To', $this->ReplyTo);
} }
// mail() sets the subject itself // mail() sets the subject itself
@ -1250,6 +1286,16 @@ class PHPMailer {
return $result; return $result;
} }
/**
* Returns the MIME message (headers and body). Only really valid post PreSend().
* @access public
* @return string
*/
public function GetSentMIMEMessage() {
return $this->SentMIMEMessage;
}
/** /**
* Assembles the message body. Returns an empty string on failure. * Assembles the message body. Returns an empty string on failure.
* @access public * @access public
@ -1363,8 +1409,8 @@ class PHPMailer {
$signed = tempnam("", "signed"); $signed = tempnam("", "signed");
if (@openssl_pkcs7_sign($file, $signed, "file://".$this->sign_cert_file, array("file://".$this->sign_key_file, $this->sign_key_pass), NULL)) { if (@openssl_pkcs7_sign($file, $signed, "file://".$this->sign_cert_file, array("file://".$this->sign_key_file, $this->sign_key_pass), NULL)) {
@unlink($file); @unlink($file);
@unlink($signed);
$body = file_get_contents($signed); $body = file_get_contents($signed);
@unlink($signed);
} else { } else {
@unlink($file); @unlink($file);
@unlink($signed); @unlink($signed);
@ -1487,7 +1533,9 @@ class PHPMailer {
if ($this->exceptions) { if ($this->exceptions) {
throw $e; throw $e;
} }
echo $e->getMessage()."\n"; if ($this->SMTPDebug) {
echo $e->getMessage()."\n";
}
if ( $e->getCode() == self::STOP_CRITICAL ) { if ( $e->getCode() == self::STOP_CRITICAL ) {
return false; return false;
} }
@ -1590,15 +1638,23 @@ class PHPMailer {
return false; return false;
} }
} }
if (version_compare(PHP_VERSION, '5.3.0', '<')) { $magic_quotes = get_magic_quotes_runtime();
$magic_quotes = get_magic_quotes_runtime(); if ($magic_quotes) {
set_magic_quotes_runtime(0); if (version_compare(PHP_VERSION, '5.3.0', '<')) {
} set_magic_quotes_runtime(0);
} else {
ini_set('magic_quotes_runtime', 0);
}
}
$file_buffer = file_get_contents($path); $file_buffer = file_get_contents($path);
$file_buffer = $this->EncodeString($file_buffer, $encoding); $file_buffer = $this->EncodeString($file_buffer, $encoding);
if (version_compare(PHP_VERSION, '5.3.0', '<')) { if ($magic_quotes) {
set_magic_quotes_runtime($magic_quotes); if (version_compare(PHP_VERSION, '5.3.0', '<')) {
} set_magic_quotes_runtime($magic_quotes);
} else {
ini_set('magic_quotes_runtime', $magic_quotes);
}
}
return $file_buffer; return $file_buffer;
} catch (Exception $e) { } catch (Exception $e) {
$this->SetError($e->getMessage()); $this->SetError($e->getMessage());
@ -2154,7 +2210,7 @@ class PHPMailer {
* @return $message * @return $message
*/ */
public function MsgHTML($message, $basedir = '') { public function MsgHTML($message, $basedir = '') {
preg_match_all("/(src|background)=\"(.*)\"/Ui", $message, $images); preg_match_all("/(src|background)=[\"'](.*)[\"']/Ui", $message, $images);
if(isset($images[2])) { if(isset($images[2])) {
foreach($images[2] as $i => $url) { foreach($images[2] as $i => $url) {
// do not change urls for absolute images (thanks to corvuscorax) // do not change urls for absolute images (thanks to corvuscorax)
@ -2168,20 +2224,23 @@ class PHPMailer {
if ( strlen($basedir) > 1 && substr($basedir, -1) != '/') { $basedir .= '/'; } if ( strlen($basedir) > 1 && substr($basedir, -1) != '/') { $basedir .= '/'; }
if ( strlen($directory) > 1 && substr($directory, -1) != '/') { $directory .= '/'; } if ( strlen($directory) > 1 && substr($directory, -1) != '/') { $directory .= '/'; }
if ( $this->AddEmbeddedImage($basedir.$directory.$filename, md5($filename), $filename, 'base64', $mimeType) ) { if ( $this->AddEmbeddedImage($basedir.$directory.$filename, md5($filename), $filename, 'base64', $mimeType) ) {
$message = preg_replace("/".$images[1][$i]."=\"".preg_quote($url, '/')."\"/Ui", $images[1][$i]."=\"".$cid."\"", $message); $message = preg_replace("/".$images[1][$i]."=[\"']".preg_quote($url, '/')."[\"']/Ui", $images[1][$i]."=\"".$cid."\"", $message);
} }
} }
} }
} }
$this->IsHTML(true); $this->IsHTML(true);
$this->Body = $message; $this->Body = $message;
$textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/s', '', $message))); if (empty($this->AltBody)) {
if (!empty($textMsg) && empty($this->AltBody)) { $textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/s', '', $message)));
$this->AltBody = html_entity_decode($textMsg); if (!empty($textMsg)) {
} $this->AltBody = html_entity_decode($textMsg, ENT_QUOTES, $this->CharSet);
}
}
if (empty($this->AltBody)) { if (empty($this->AltBody)) {
$this->AltBody = 'To view this email message, open it in a program that understands HTML!' . "\n\n"; $this->AltBody = 'To view this email message, open it in a program that understands HTML!' . "\n\n";
} }
return $message;
} }
/** /**

View File

@ -2,7 +2,7 @@
/*~ class.smtp.php /*~ class.smtp.php
.---------------------------------------------------------------------------. .---------------------------------------------------------------------------.
| Software: PHPMailer - PHP email class | | Software: PHPMailer - PHP email class |
| Version: 5.2 | | Version: 5.2.1 |
| Site: https://code.google.com/a/apache-extras.org/p/phpmailer/ | | Site: https://code.google.com/a/apache-extras.org/p/phpmailer/ |
| ------------------------------------------------------------------------- | | ------------------------------------------------------------------------- |
| Admin: Jim Jagielski (project admininistrator) | | Admin: Jim Jagielski (project admininistrator) |
@ -10,7 +10,7 @@
| : Marcus Bointon (coolbru) coolbru@users.sourceforge.net | | : Marcus Bointon (coolbru) coolbru@users.sourceforge.net |
| : Jim Jagielski (jimjag) jimjag@gmail.com | | : Jim Jagielski (jimjag) jimjag@gmail.com |
| Founder: Brent R. Matzelle (original founder) | | Founder: Brent R. Matzelle (original founder) |
| Copyright (c) 2010-2011, Jim Jagielski. All Rights Reserved. | | Copyright (c) 2010-2012, Jim Jagielski. All Rights Reserved. |
| Copyright (c) 2004-2009, Andy Prevost. All Rights Reserved. | | Copyright (c) 2004-2009, Andy Prevost. All Rights Reserved. |
| Copyright (c) 2001-2003, Brent R. Matzelle | | Copyright (c) 2001-2003, Brent R. Matzelle |
| ------------------------------------------------------------------------- | | ------------------------------------------------------------------------- |
@ -30,7 +30,7 @@
* @author Marcus Bointon * @author Marcus Bointon
* @copyright 2004 - 2008 Andy Prevost * @copyright 2004 - 2008 Andy Prevost
* @author Jim Jagielski * @author Jim Jagielski
* @copyright 2010 - 2011 Jim Jagielski * @copyright 2010 - 2012 Jim Jagielski
* @license http://www.gnu.org/copyleft/lesser.html Distributed under the Lesser General Public License (LGPL) * @license http://www.gnu.org/copyleft/lesser.html Distributed under the Lesser General Public License (LGPL)
* @version $Id: class.smtp.php 450 2010-06-23 16:46:33Z coolbru $ * @version $Id: class.smtp.php 450 2010-06-23 16:46:33Z coolbru $
*/ */
@ -72,7 +72,7 @@ class SMTP {
* Sets the SMTP PHPMailer Version number * Sets the SMTP PHPMailer Version number
* @var string * @var string
*/ */
public $Version = '5.2'; public $Version = '5.2.1';
///////////////////////////////////////////////// /////////////////////////////////////////////////
// PROPERTIES, PRIVATE AND PROTECTED // PROPERTIES, PRIVATE AND PROTECTED
@ -797,7 +797,8 @@ class SMTP {
*/ */
private function get_lines() { private function get_lines() {
$data = ""; $data = "";
while($str = @fgets($this->smtp_conn,515)) { while(!feof($this->smtp_conn)) {
$str = @fgets($this->smtp_conn,515);
if($this->do_debug >= 4) { if($this->do_debug >= 4) {
echo "SMTP -> get_lines(): \$data was \"$data\"" . $this->CRLF . '<br />'; echo "SMTP -> get_lines(): \$data was \"$data\"" . $this->CRLF . '<br />';
echo "SMTP -> get_lines(): \$str is \"$str\"" . $this->CRLF . '<br />'; echo "SMTP -> get_lines(): \$str is \"$str\"" . $this->CRLF . '<br />';

BIN
3rdparty/css/chosen-sprite.png vendored Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 742 B

After

Width:  |  Height:  |  Size: 559 B

259
3rdparty/css/chosen.css vendored Normal file → Executable file
View File

@ -1,16 +1,10 @@
/* @group Base */ /* @group Base */
select.chzn-select {
visibility: hidden;
height: 28px !important;
min-height: 28px !important;
}
.chzn-container { .chzn-container {
font-size: 13px; font-size: 13px;
position: relative; position: relative;
display: inline-block; display: inline-block;
zoom: 1; zoom: 1;
*display: inline; *display: inline;
vertical-align: bottom;
} }
.chzn-container .chzn-drop { .chzn-container .chzn-drop {
background: #fff; background: #fff;
@ -29,31 +23,37 @@ select.chzn-select {
/* @group Single Chosen */ /* @group Single Chosen */
.chzn-container-single .chzn-single { .chzn-container-single .chzn-single {
background-color: #fff; background-color: #ffffff;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.5, white)); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0 );
background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 50%); background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 50%); background-image: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-image: -o-linear-gradient(top, #eeeeee 0%,#ffffff 50%); background-image: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-image: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 50%); background-image: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 ); background-image: -ms-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-image: linear-gradient(top, #eeeeee 0%,#ffffff 50%); background-image: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
-webkit-border-radius: 4px; -webkit-border-radius: 5px;
-moz-border-radius : 4px; -moz-border-radius : 5px;
border-radius : 4px; border-radius : 5px;
-moz-background-clip : padding; -moz-background-clip : padding;
-webkit-background-clip: padding-box; -webkit-background-clip: padding-box;
background-clip : padding-box; background-clip : padding-box;
border: 1px solid #aaa; border: 1px solid #aaaaaa;
-webkit-box-shadow: 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
-moz-box-shadow : 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
box-shadow : 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
display: block; display: block;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
position: relative; position: relative;
height: 26px; height: 23px;
line-height: 26px; line-height: 24px;
padding: 0 0 0 8px; padding: 0 0 0 8px;
color: #444; color: #444444;
text-decoration: none; text-decoration: none;
} }
.chzn-container-single .chzn-default {
color: #999;
}
.chzn-container-single .chzn-single span { .chzn-container-single .chzn-single span {
margin-right: 26px; margin-right: 26px;
display: block; display: block;
@ -61,25 +61,22 @@ select.chzn-select {
white-space: nowrap; white-space: nowrap;
-o-text-overflow: ellipsis; -o-text-overflow: ellipsis;
-ms-text-overflow: ellipsis; -ms-text-overflow: ellipsis;
-moz-binding: url('/xml/ellipsis.xml#ellipsis');
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.chzn-container-single .chzn-single abbr {
display: block;
position: absolute;
right: 26px;
top: 6px;
width: 12px;
height: 13px;
font-size: 1px;
background: url(chosen-sprite.png) right top no-repeat;
}
.chzn-container-single .chzn-single abbr:hover {
background-position: right -11px;
}
.chzn-container-single .chzn-single div { .chzn-container-single .chzn-single div {
-webkit-border-radius: 0 4px 4px 0;
-moz-border-radius : 0 4px 4px 0;
border-radius : 0 4px 4px 0;
-moz-background-clip : padding;
-webkit-background-clip: padding-box;
background-clip : padding-box;
background: #ccc;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
background-image: -o-linear-gradient(bottom, #ccc 0%, #eee 60%);
background-image: -ms-linear-gradient(top, #cccccc 0%,#eeeeee 60%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cccccc', endColorstr='#eeeeee',GradientType=0 );
background-image: linear-gradient(top, #cccccc 0%,#eeeeee 60%);
border-left: 1px solid #aaa;
position: absolute; position: absolute;
right: 0; right: 0;
top: 0; top: 0;
@ -88,25 +85,26 @@ select.chzn-select {
width: 18px; width: 18px;
} }
.chzn-container-single .chzn-single div b { .chzn-container-single .chzn-single div b {
background: url('chosen-sprite.png') no-repeat 0 1px; background: url('chosen-sprite.png') no-repeat 0 0;
display: block; display: block;
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.chzn-container-single .chzn-search { .chzn-container-single .chzn-search {
padding: 3px 4px; padding: 3px 4px;
position: relative;
margin: 0; margin: 0;
white-space: nowrap; white-space: nowrap;
z-index: 1010;
} }
.chzn-container-single .chzn-search input { .chzn-container-single .chzn-search input {
background: #fff url('chosen-sprite.png') no-repeat 100% -20px; background: #fff url('chosen-sprite.png') no-repeat 100% -22px;
background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); background: url('chosen-sprite.png') no-repeat 100% -22px, -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
background: url('chosen-sprite.png') no-repeat 100% -20px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); background: url('chosen-sprite.png') no-repeat 100% -22px, -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -20px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); background: url('chosen-sprite.png') no-repeat 100% -22px, -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -20px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%); background: url('chosen-sprite.png') no-repeat 100% -22px, -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -20px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); background: url('chosen-sprite.png') no-repeat 100% -22px, -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -20px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); background: url('chosen-sprite.png') no-repeat 100% -22px, linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -20px, linear-gradient(top, #ffffff 85%,#eeeeee 99%);
margin: 1px 0; margin: 1px 0;
padding: 4px 20px 4px 5px; padding: 4px 20px 4px 5px;
outline: 0; outline: 0;
@ -124,16 +122,20 @@ select.chzn-select {
} }
/* @end */ /* @end */
.chzn-container-single-nosearch .chzn-search input {
position: absolute;
left: -9000px;
}
/* @group Multi Chosen */ /* @group Multi Chosen */
.chzn-container-multi .chzn-choices { .chzn-container-multi .chzn-choices {
background-color: #fff; background-color: #fff;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
background-image: -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); background-image: -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); background-image: -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: -o-linear-gradient(bottom, white 85%, #eeeeee 99%); background-image: -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); background-image: -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 ); background-image: linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: linear-gradient(top, #ffffff 85%,#eeeeee 99%);
border: 1px solid #aaa; border: 1px solid #aaa;
margin: 0; margin: 0;
padding: 0; padding: 0;
@ -156,6 +158,9 @@ select.chzn-select {
color: #666; color: #666;
background: transparent !important; background: transparent !important;
border: 0 !important; border: 0 !important;
font-family: sans-serif;
font-size: 100%;
height: 15px;
padding: 5px; padding: 5px;
margin: 1px 0; margin: 1px 0;
outline: 0; outline: 0;
@ -175,21 +180,22 @@ select.chzn-select {
-webkit-background-clip: padding-box; -webkit-background-clip: padding-box;
background-clip : padding-box; background-clip : padding-box;
background-color: #e4e4e4; background-color: #e4e4e4;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #e4e4e4), color-stop(0.7, #eeeeee)); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#eeeeee', GradientType=0 );
background-image: -webkit-linear-gradient(center bottom, #e4e4e4 0%, #eeeeee 70%); background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
background-image: -moz-linear-gradient(center bottom, #e4e4e4 0%, #eeeeee 70%); background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -o-linear-gradient(bottom, #e4e4e4 0%, #eeeeee 70%); background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -ms-linear-gradient(top, #e4e4e4 0%,#eeeeee 70%); background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e4e4e4', endColorstr='#eeeeee',GradientType=0 ); background-image: -ms-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: linear-gradient(top, #e4e4e4 0%,#eeeeee 70%); background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
-webkit-box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
-moz-box-shadow : 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
box-shadow : 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
color: #333; color: #333;
border: 1px solid #b4b4b4; border: 1px solid #aaaaaa;
line-height: 13px; line-height: 13px;
padding: 3px 19px 3px 6px; padding: 3px 20px 3px 5px;
margin: 3px 0 3px 5px; margin: 3px 0 3px 5px;
position: relative; position: relative;
}
.chzn-container-multi .chzn-choices .search-choice span {
cursor: default; cursor: default;
} }
.chzn-container-multi .chzn-choices .search-choice-focus { .chzn-container-multi .chzn-choices .search-choice-focus {
@ -198,25 +204,25 @@ select.chzn-select {
.chzn-container-multi .chzn-choices .search-choice .search-choice-close { .chzn-container-multi .chzn-choices .search-choice .search-choice-close {
display: block; display: block;
position: absolute; position: absolute;
right: 5px; right: 3px;
top: 6px; top: 4px;
width: 8px; width: 12px;
height: 9px; height: 13px;
font-size: 1px; font-size: 1px;
background: url(chosen-sprite.png) right top no-repeat; background: url(chosen-sprite.png) right top no-repeat;
} }
.chzn-container-multi .chzn-choices .search-choice .search-choice-close:hover { .chzn-container-multi .chzn-choices .search-choice .search-choice-close:hover {
background-position: right -9px; background-position: right -11px;
} }
.chzn-container-multi .chzn-choices .search-choice-focus .search-choice-close { .chzn-container-multi .chzn-choices .search-choice-focus .search-choice-close {
background-position: right -9px; background-position: right -11px;
} }
/* @end */ /* @end */
/* @group Results */ /* @group Results */
.chzn-container .chzn-results { .chzn-container .chzn-results {
margin: 0 4px 4px 0; margin: 0 4px 4px 0;
max-height: 190px; max-height: 240px;
padding: 0 0 0 4px; padding: 0 0 0 4px;
position: relative; position: relative;
overflow-x: hidden; overflow-x: hidden;
@ -227,16 +233,25 @@ select.chzn-select {
padding: 0; padding: 0;
} }
.chzn-container .chzn-results li { .chzn-container .chzn-results li {
line-height: 80%; display: none;
padding: 7px 7px 8px; line-height: 15px;
padding: 5px 6px;
margin: 0; margin: 0;
list-style: none; list-style: none;
} }
.chzn-container .chzn-results .active-result { .chzn-container .chzn-results .active-result {
cursor: pointer; cursor: pointer;
display: list-item;
} }
.chzn-container .chzn-results .highlighted { .chzn-container .chzn-results .highlighted {
background: #3875d7; background-color: #3875d7;
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3875d7', endColorstr='#2a62bc', GradientType=0 );
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
background-image: -webkit-linear-gradient(top, #3875d7 20%, #2a62bc 90%);
background-image: -moz-linear-gradient(top, #3875d7 20%, #2a62bc 90%);
background-image: -o-linear-gradient(top, #3875d7 20%, #2a62bc 90%);
background-image: -ms-linear-gradient(top, #3875d7 20%, #2a62bc 90%);
background-image: linear-gradient(top, #3875d7 20%, #2a62bc 90%);
color: #fff; color: #fff;
} }
.chzn-container .chzn-results li em { .chzn-container .chzn-results li em {
@ -248,6 +263,7 @@ select.chzn-select {
} }
.chzn-container .chzn-results .no-results { .chzn-container .chzn-results .no-results {
background: #f4f4f4; background: #f4f4f4;
display: list-item;
} }
.chzn-container .chzn-results .group-result { .chzn-container .chzn-results .group-result {
cursor: default; cursor: default;
@ -255,11 +271,34 @@ select.chzn-select {
font-weight: bold; font-weight: bold;
} }
.chzn-container .chzn-results .group-option { .chzn-container .chzn-results .group-option {
padding-left: 20px; padding-left: 15px;
} }
.chzn-container-multi .chzn-drop .result-selected { .chzn-container-multi .chzn-drop .result-selected {
display: none; display: none;
} }
.chzn-container .chzn-results-scroll {
background: white;
margin: 0 4px;
position: absolute;
text-align: center;
width: 321px; /* This should by dynamic with js */
z-index: 1;
}
.chzn-container .chzn-results-scroll span {
display: inline-block;
height: 17px;
text-indent: -5000px;
width: 9px;
}
.chzn-container .chzn-results-scroll-down {
bottom: 0;
}
.chzn-container .chzn-results-scroll-down span {
background: url('chosen-sprite.png') no-repeat -4px -3px;
}
.chzn-container .chzn-results-scroll-up span {
background: url('chosen-sprite.png') no-repeat -22px -3px;
}
/* @end */ /* @end */
/* @group Active */ /* @group Active */
@ -277,13 +316,13 @@ select.chzn-select {
-o-box-shadow : 0 1px 0 #fff inset; -o-box-shadow : 0 1px 0 #fff inset;
box-shadow : 0 1px 0 #fff inset; box-shadow : 0 1px 0 #fff inset;
background-color: #eee; background-color: #eee;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, white), color-stop(0.5, #eeeeee)); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0 );
background-image: -webkit-linear-gradient(center bottom, white 0%, #eeeeee 50%); background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff));
background-image: -moz-linear-gradient(center bottom, white 0%, #eeeeee 50%); background-image: -webkit-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
background-image: -o-linear-gradient(bottom, white 0%, #eeeeee 50%); background-image: -moz-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
background-image: -ms-linear-gradient(top, #ffffff 0%,#eeeeee 50%); background-image: -o-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 ); background-image: -ms-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
background-image: linear-gradient(top, #ffffff 0%,#eeeeee 50%); background-image: linear-gradient(top, #eeeeee 20%, #ffffff 80%);
-webkit-border-bottom-left-radius : 0; -webkit-border-bottom-left-radius : 0;
-webkit-border-bottom-right-radius: 0; -webkit-border-bottom-right-radius: 0;
-moz-border-radius-bottomleft : 0; -moz-border-radius-bottomleft : 0;
@ -310,32 +349,44 @@ select.chzn-select {
} }
/* @end */ /* @end */
/* @group Right to Left */ /* @group Disabled Support */
.chzn-rtl { direction:rtl;text-align: right; } .chzn-disabled {
.chzn-rtl .chzn-single { padding-left: 0; padding-right: 8px; } cursor: default;
.chzn-rtl .chzn-single span { margin-left: 26px; margin-right: 0; } opacity:0.5 !important;
.chzn-rtl .chzn-single div {
left: 0; right: auto;
border-left: none; border-right: 1px solid #aaaaaa;
-webkit-border-radius: 4px 0 0 4px;
-moz-border-radius : 4px 0 0 4px;
border-radius : 4px 0 0 4px;
} }
.chzn-disabled .chzn-single {
cursor: default;
}
.chzn-disabled .chzn-choices .search-choice .search-choice-close {
cursor: default;
}
/* @group Right to Left */
.chzn-rtl { text-align: right; }
.chzn-rtl .chzn-single { padding: 0 8px 0 0; overflow: visible; }
.chzn-rtl .chzn-single span { margin-left: 26px; margin-right: 0; direction: rtl; }
.chzn-rtl .chzn-single div { left: 3px; right: auto; }
.chzn-rtl .chzn-single abbr {
left: 26px;
right: auto;
}
.chzn-rtl .chzn-choices .search-field input { direction: rtl; }
.chzn-rtl .chzn-choices li { float: right; } .chzn-rtl .chzn-choices li { float: right; }
.chzn-rtl .chzn-choices .search-choice { padding: 3px 6px 3px 19px; margin: 3px 5px 3px 0; } .chzn-rtl .chzn-choices .search-choice { padding: 3px 5px 3px 19px; margin: 3px 5px 3px 0; }
.chzn-rtl .chzn-choices .search-choice .search-choice-close { left: 5px; right: auto; background-position: right top;} .chzn-rtl .chzn-choices .search-choice .search-choice-close { left: 4px; right: auto; background-position: right top;}
.chzn-rtl.chzn-container-single .chzn-results { margin-left: 4px; margin-right: 0; padding-left: 0; padding-right: 4px; } .chzn-rtl.chzn-container-single .chzn-results { margin: 0 0 4px 4px; padding: 0 4px 0 0; }
.chzn-rtl .chzn-results .group-option { padding-left: 0; padding-right: 20px; } .chzn-rtl .chzn-results .group-option { padding-left: 0; padding-right: 15px; }
.chzn-rtl.chzn-container-active .chzn-single-with-drop div { border-right: none; } .chzn-rtl.chzn-container-active .chzn-single-with-drop div { border-right: none; }
.chzn-rtl .chzn-search input { .chzn-rtl .chzn-search input {
background: url('chosen-sprite.png') no-repeat -38px -20px, #ffffff; background: #fff url('chosen-sprite.png') no-repeat -38px -22px;
background: url('chosen-sprite.png') no-repeat -38px -20px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); background: url('chosen-sprite.png') no-repeat -38px -22px, -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
background: url('chosen-sprite.png') no-repeat -38px -20px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); background: url('chosen-sprite.png') no-repeat -38px -22px, -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -38px -20px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); background: url('chosen-sprite.png') no-repeat -38px -22px, -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -38px -20px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%); background: url('chosen-sprite.png') no-repeat -38px -22px, -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -38px -20px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); background: url('chosen-sprite.png') no-repeat -38px -22px, -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -38px -20px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); background: url('chosen-sprite.png') no-repeat -38px -22px, linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -38px -20px, linear-gradient(top, #ffffff 85%,#eeeeee 99%);
padding: 4px 5px 4px 20px; padding: 4px 5px 4px 20px;
direction: rtl;
} }
/* @end */ /* @end */

204
3rdparty/css/chosen/chosen.css vendored Normal file → Executable file
View File

@ -23,31 +23,37 @@
/* @group Single Chosen */ /* @group Single Chosen */
.chzn-container-single .chzn-single { .chzn-container-single .chzn-single {
background-color: #fff; background-color: #ffffff;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.5, white)); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0 );
background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 50%); background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 50%); background-image: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-image: -o-linear-gradient(top, #eeeeee 0%,#ffffff 50%); background-image: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-image: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 50%); background-image: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 ); background-image: -ms-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-image: linear-gradient(top, #eeeeee 0%,#ffffff 50%); background-image: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
-webkit-border-radius: 4px; -webkit-border-radius: 5px;
-moz-border-radius : 4px; -moz-border-radius : 5px;
border-radius : 4px; border-radius : 5px;
-moz-background-clip : padding; -moz-background-clip : padding;
-webkit-background-clip: padding-box; -webkit-background-clip: padding-box;
background-clip : padding-box; background-clip : padding-box;
border: 1px solid #aaa; border: 1px solid #aaaaaa;
-webkit-box-shadow: 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
-moz-box-shadow : 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
box-shadow : 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
display: block; display: block;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
position: relative; position: relative;
height: 26px; height: 23px;
line-height: 26px; line-height: 24px;
padding: 0 0 0 8px; padding: 0 0 0 8px;
color: #444; color: #444444;
text-decoration: none; text-decoration: none;
} }
.chzn-container-single .chzn-default {
color: #999;
}
.chzn-container-single .chzn-single span { .chzn-container-single .chzn-single span {
margin-right: 26px; margin-right: 26px;
display: block; display: block;
@ -61,7 +67,7 @@
display: block; display: block;
position: absolute; position: absolute;
right: 26px; right: 26px;
top: 8px; top: 6px;
width: 12px; width: 12px;
height: 13px; height: 13px;
font-size: 1px; font-size: 1px;
@ -71,21 +77,6 @@
background-position: right -11px; background-position: right -11px;
} }
.chzn-container-single .chzn-single div { .chzn-container-single .chzn-single div {
-webkit-border-radius: 0 4px 4px 0;
-moz-border-radius : 0 4px 4px 0;
border-radius : 0 4px 4px 0;
-moz-background-clip : padding;
-webkit-background-clip: padding-box;
background-clip : padding-box;
background: #ccc;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
background-image: -o-linear-gradient(bottom, #ccc 0%, #eee 60%);
background-image: -ms-linear-gradient(top, #cccccc 0%,#eeeeee 60%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cccccc', endColorstr='#eeeeee',GradientType=0 );
background-image: linear-gradient(top, #cccccc 0%,#eeeeee 60%);
border-left: 1px solid #aaa;
position: absolute; position: absolute;
right: 0; right: 0;
top: 0; top: 0;
@ -94,7 +85,7 @@
width: 18px; width: 18px;
} }
.chzn-container-single .chzn-single div b { .chzn-container-single .chzn-single div b {
background: url('chosen-sprite.png') no-repeat 0 1px; background: url('chosen-sprite.png') no-repeat 0 0;
display: block; display: block;
width: 100%; width: 100%;
height: 100%; height: 100%;
@ -104,16 +95,16 @@
position: relative; position: relative;
margin: 0; margin: 0;
white-space: nowrap; white-space: nowrap;
z-index: 1010;
} }
.chzn-container-single .chzn-search input { .chzn-container-single .chzn-search input {
background: #fff url('chosen-sprite.png') no-repeat 100% -22px; background: #fff url('chosen-sprite.png') no-repeat 100% -22px;
background: url('chosen-sprite.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); background: url('chosen-sprite.png') no-repeat 100% -22px, -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
background: url('chosen-sprite.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); background: url('chosen-sprite.png') no-repeat 100% -22px, -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); background: url('chosen-sprite.png') no-repeat 100% -22px, -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%); background: url('chosen-sprite.png') no-repeat 100% -22px, -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); background: url('chosen-sprite.png') no-repeat 100% -22px, -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); background: url('chosen-sprite.png') no-repeat 100% -22px, linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%,#eeeeee 99%);
margin: 1px 0; margin: 1px 0;
padding: 4px 20px 4px 5px; padding: 4px 20px 4px 5px;
outline: 0; outline: 0;
@ -139,13 +130,12 @@
/* @group Multi Chosen */ /* @group Multi Chosen */
.chzn-container-multi .chzn-choices { .chzn-container-multi .chzn-choices {
background-color: #fff; background-color: #fff;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
background-image: -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); background-image: -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); background-image: -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: -o-linear-gradient(bottom, white 85%, #eeeeee 99%); background-image: -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); background-image: -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 ); background-image: linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: linear-gradient(top, #ffffff 85%,#eeeeee 99%);
border: 1px solid #aaa; border: 1px solid #aaa;
margin: 0; margin: 0;
padding: 0; padding: 0;
@ -168,6 +158,9 @@
color: #666; color: #666;
background: transparent !important; background: transparent !important;
border: 0 !important; border: 0 !important;
font-family: sans-serif;
font-size: 100%;
height: 15px;
padding: 5px; padding: 5px;
margin: 1px 0; margin: 1px 0;
outline: 0; outline: 0;
@ -187,21 +180,22 @@
-webkit-background-clip: padding-box; -webkit-background-clip: padding-box;
background-clip : padding-box; background-clip : padding-box;
background-color: #e4e4e4; background-color: #e4e4e4;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #e4e4e4), color-stop(0.7, #eeeeee)); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#eeeeee', GradientType=0 );
background-image: -webkit-linear-gradient(center bottom, #e4e4e4 0%, #eeeeee 70%); background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
background-image: -moz-linear-gradient(center bottom, #e4e4e4 0%, #eeeeee 70%); background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -o-linear-gradient(bottom, #e4e4e4 0%, #eeeeee 70%); background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -ms-linear-gradient(top, #e4e4e4 0%,#eeeeee 70%); background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e4e4e4', endColorstr='#eeeeee',GradientType=0 ); background-image: -ms-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: linear-gradient(top, #e4e4e4 0%,#eeeeee 70%); background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
-webkit-box-shadow: 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
-moz-box-shadow : 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
box-shadow : 0 0 2px #ffffff inset, 0 1px 0 rgba(0,0,0,0.05);
color: #333; color: #333;
border: 1px solid #b4b4b4; border: 1px solid #aaaaaa;
line-height: 13px; line-height: 13px;
padding: 3px 19px 3px 6px; padding: 3px 20px 3px 5px;
margin: 3px 0 3px 5px; margin: 3px 0 3px 5px;
position: relative; position: relative;
}
.chzn-container-multi .chzn-choices .search-choice span {
cursor: default; cursor: default;
} }
.chzn-container-multi .chzn-choices .search-choice-focus { .chzn-container-multi .chzn-choices .search-choice-focus {
@ -228,7 +222,7 @@
/* @group Results */ /* @group Results */
.chzn-container .chzn-results { .chzn-container .chzn-results {
margin: 0 4px 4px 0; margin: 0 4px 4px 0;
max-height: 190px; max-height: 240px;
padding: 0 0 0 4px; padding: 0 0 0 4px;
position: relative; position: relative;
overflow-x: hidden; overflow-x: hidden;
@ -240,8 +234,8 @@
} }
.chzn-container .chzn-results li { .chzn-container .chzn-results li {
display: none; display: none;
line-height: 80%; line-height: 15px;
padding: 7px 7px 8px; padding: 5px 6px;
margin: 0; margin: 0;
list-style: none; list-style: none;
} }
@ -250,7 +244,14 @@
display: list-item; display: list-item;
} }
.chzn-container .chzn-results .highlighted { .chzn-container .chzn-results .highlighted {
background: #3875d7; background-color: #3875d7;
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3875d7', endColorstr='#2a62bc', GradientType=0 );
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
background-image: -webkit-linear-gradient(top, #3875d7 20%, #2a62bc 90%);
background-image: -moz-linear-gradient(top, #3875d7 20%, #2a62bc 90%);
background-image: -o-linear-gradient(top, #3875d7 20%, #2a62bc 90%);
background-image: -ms-linear-gradient(top, #3875d7 20%, #2a62bc 90%);
background-image: linear-gradient(top, #3875d7 20%, #2a62bc 90%);
color: #fff; color: #fff;
} }
.chzn-container .chzn-results li em { .chzn-container .chzn-results li em {
@ -270,11 +271,34 @@
font-weight: bold; font-weight: bold;
} }
.chzn-container .chzn-results .group-option { .chzn-container .chzn-results .group-option {
padding-left: 20px; padding-left: 15px;
} }
.chzn-container-multi .chzn-drop .result-selected { .chzn-container-multi .chzn-drop .result-selected {
display: none; display: none;
} }
.chzn-container .chzn-results-scroll {
background: white;
margin: 0 4px;
position: absolute;
text-align: center;
width: 321px; /* This should by dynamic with js */
z-index: 1;
}
.chzn-container .chzn-results-scroll span {
display: inline-block;
height: 17px;
text-indent: -5000px;
width: 9px;
}
.chzn-container .chzn-results-scroll-down {
bottom: 0;
}
.chzn-container .chzn-results-scroll-down span {
background: url('chosen-sprite.png') no-repeat -4px -3px;
}
.chzn-container .chzn-results-scroll-up span {
background: url('chosen-sprite.png') no-repeat -22px -3px;
}
/* @end */ /* @end */
/* @group Active */ /* @group Active */
@ -292,13 +316,13 @@
-o-box-shadow : 0 1px 0 #fff inset; -o-box-shadow : 0 1px 0 #fff inset;
box-shadow : 0 1px 0 #fff inset; box-shadow : 0 1px 0 #fff inset;
background-color: #eee; background-color: #eee;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, white), color-stop(0.5, #eeeeee)); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0 );
background-image: -webkit-linear-gradient(center bottom, white 0%, #eeeeee 50%); background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff));
background-image: -moz-linear-gradient(center bottom, white 0%, #eeeeee 50%); background-image: -webkit-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
background-image: -o-linear-gradient(bottom, white 0%, #eeeeee 50%); background-image: -moz-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
background-image: -ms-linear-gradient(top, #ffffff 0%,#eeeeee 50%); background-image: -o-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 ); background-image: -ms-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
background-image: linear-gradient(top, #ffffff 0%,#eeeeee 50%); background-image: linear-gradient(top, #eeeeee 20%, #ffffff 80%);
-webkit-border-bottom-left-radius : 0; -webkit-border-bottom-left-radius : 0;
-webkit-border-bottom-right-radius: 0; -webkit-border-bottom-right-radius: 0;
-moz-border-radius-bottomleft : 0; -moz-border-radius-bottomleft : 0;
@ -338,31 +362,31 @@
} }
/* @group Right to Left */ /* @group Right to Left */
.chzn-rtl { direction:rtl;text-align: right; } .chzn-rtl { text-align: right; }
.chzn-rtl .chzn-single { padding-left: 0; padding-right: 8px; } .chzn-rtl .chzn-single { padding: 0 8px 0 0; overflow: visible; }
.chzn-rtl .chzn-single span { margin-left: 26px; margin-right: 0; } .chzn-rtl .chzn-single span { margin-left: 26px; margin-right: 0; direction: rtl; }
.chzn-rtl .chzn-single div {
left: 0; right: auto; .chzn-rtl .chzn-single div { left: 3px; right: auto; }
border-left: none; border-right: 1px solid #aaaaaa; .chzn-rtl .chzn-single abbr {
-webkit-border-radius: 4px 0 0 4px; left: 26px;
-moz-border-radius : 4px 0 0 4px; right: auto;
border-radius : 4px 0 0 4px;
} }
.chzn-rtl .chzn-choices .search-field input { direction: rtl; }
.chzn-rtl .chzn-choices li { float: right; } .chzn-rtl .chzn-choices li { float: right; }
.chzn-rtl .chzn-choices .search-choice { padding: 3px 6px 3px 19px; margin: 3px 5px 3px 0; } .chzn-rtl .chzn-choices .search-choice { padding: 3px 5px 3px 19px; margin: 3px 5px 3px 0; }
.chzn-rtl .chzn-choices .search-choice .search-choice-close { left: 5px; right: auto; background-position: right top;} .chzn-rtl .chzn-choices .search-choice .search-choice-close { left: 4px; right: auto; background-position: right top;}
.chzn-rtl.chzn-container-single .chzn-results { margin-left: 4px; margin-right: 0; padding-left: 0; padding-right: 4px; } .chzn-rtl.chzn-container-single .chzn-results { margin: 0 0 4px 4px; padding: 0 4px 0 0; }
.chzn-rtl .chzn-results .group-option { padding-left: 0; padding-right: 20px; } .chzn-rtl .chzn-results .group-option { padding-left: 0; padding-right: 15px; }
.chzn-rtl.chzn-container-active .chzn-single-with-drop div { border-right: none; } .chzn-rtl.chzn-container-active .chzn-single-with-drop div { border-right: none; }
.chzn-rtl .chzn-search input { .chzn-rtl .chzn-search input {
background: url('chosen-sprite.png') no-repeat -38px -22px, #ffffff; background: #fff url('chosen-sprite.png') no-repeat -38px -22px;
background: url('chosen-sprite.png') no-repeat -38px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee)); background: url('chosen-sprite.png') no-repeat -38px -22px, -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
background: url('chosen-sprite.png') no-repeat -38px -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%); background: url('chosen-sprite.png') no-repeat -38px -22px, -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -38px -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%); background: url('chosen-sprite.png') no-repeat -38px -22px, -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -38px -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%); background: url('chosen-sprite.png') no-repeat -38px -22px, -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -38px -22px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); background: url('chosen-sprite.png') no-repeat -38px -22px, -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -38px -22px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%); background: url('chosen-sprite.png') no-repeat -38px -22px, linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background: url('chosen-sprite.png') no-repeat -38px -22px, linear-gradient(top, #ffffff 85%,#eeeeee 99%);
padding: 4px 5px 4px 20px; padding: 4px 5px 4px 20px;
direction: rtl;
} }
/* @end */ /* @end */

View File

@ -1,11 +1,11 @@
/* /*
* FullCalendar v1.5.3 Stylesheet * FullCalendar v1.5.4 Stylesheet
* *
* Copyright (c) 2011 Adam Shaw * Copyright (c) 2011 Adam Shaw
* Dual licensed under the MIT and GPL licenses, located in * Dual licensed under the MIT and GPL licenses, located in
* MIT-LICENSE.txt and GPL-LICENSE.txt respectively. * MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
* *
* Date: Mon Feb 6 22:40:40 2012 -0800 * Date: Tue Sep 4 23:38:33 2012 -0700
* *
*/ */

View File

@ -1,5 +1,5 @@
/* /*
* FullCalendar v1.5.3 Print Stylesheet * FullCalendar v1.5.4 Print Stylesheet
* *
* Include this stylesheet on your page to get a more printer-friendly calendar. * Include this stylesheet on your page to get a more printer-friendly calendar.
* When including this stylesheet, use the media='print' attribute of the <link> tag. * When including this stylesheet, use the media='print' attribute of the <link> tag.
@ -9,7 +9,7 @@
* Dual licensed under the MIT and GPL licenses, located in * Dual licensed under the MIT and GPL licenses, located in
* MIT-LICENSE.txt and GPL-LICENSE.txt respectively. * MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
* *
* Date: Mon Feb 6 22:40:40 2012 -0800 * Date: Tue Sep 4 23:38:33 2012 -0700
* *
*/ */

View File

@ -1,6 +1,6 @@
/** /**
* @preserve * @preserve
* FullCalendar v1.5.3 * FullCalendar v1.5.4
* http://arshaw.com/fullcalendar/ * http://arshaw.com/fullcalendar/
* *
* Use fullcalendar.css for basic styling. * Use fullcalendar.css for basic styling.
@ -11,7 +11,7 @@
* Dual licensed under the MIT and GPL licenses, located in * Dual licensed under the MIT and GPL licenses, located in
* MIT-LICENSE.txt and GPL-LICENSE.txt respectively. * MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
* *
* Date: Mon Feb 6 22:40:40 2012 -0800 * Date: Tue Sep 4 23:38:33 2012 -0700
* *
*/ */
@ -111,7 +111,7 @@ var rtlDefaults = {
var fc = $.fullCalendar = { version: "1.5.3" }; var fc = $.fullCalendar = { version: "1.5.4" };
var fcViews = fc.views = {}; var fcViews = fc.views = {};
@ -1742,29 +1742,26 @@ function setOuterHeight(element, height, includeMargins) {
} }
// TODO: curCSS has been deprecated (jQuery 1.4.3 - 10/16/2010)
function hsides(element, includeMargins) { function hsides(element, includeMargins) {
return hpadding(element) + hborders(element) + (includeMargins ? hmargins(element) : 0); return hpadding(element) + hborders(element) + (includeMargins ? hmargins(element) : 0);
} }
function hpadding(element) { function hpadding(element) {
return (parseFloat($.curCSS(element[0], 'paddingLeft', true)) || 0) + return (parseFloat($.css(element[0], 'paddingLeft', true)) || 0) +
(parseFloat($.curCSS(element[0], 'paddingRight', true)) || 0); (parseFloat($.css(element[0], 'paddingRight', true)) || 0);
} }
function hmargins(element) { function hmargins(element) {
return (parseFloat($.curCSS(element[0], 'marginLeft', true)) || 0) + return (parseFloat($.css(element[0], 'marginLeft', true)) || 0) +
(parseFloat($.curCSS(element[0], 'marginRight', true)) || 0); (parseFloat($.css(element[0], 'marginRight', true)) || 0);
} }
function hborders(element) { function hborders(element) {
return (parseFloat($.curCSS(element[0], 'borderLeftWidth', true)) || 0) + return (parseFloat($.css(element[0], 'borderLeftWidth', true)) || 0) +
(parseFloat($.curCSS(element[0], 'borderRightWidth', true)) || 0); (parseFloat($.css(element[0], 'borderRightWidth', true)) || 0);
} }
@ -1774,20 +1771,20 @@ function vsides(element, includeMargins) {
function vpadding(element) { function vpadding(element) {
return (parseFloat($.curCSS(element[0], 'paddingTop', true)) || 0) + return (parseFloat($.css(element[0], 'paddingTop', true)) || 0) +
(parseFloat($.curCSS(element[0], 'paddingBottom', true)) || 0); (parseFloat($.css(element[0], 'paddingBottom', true)) || 0);
} }
function vmargins(element) { function vmargins(element) {
return (parseFloat($.curCSS(element[0], 'marginTop', true)) || 0) + return (parseFloat($.css(element[0], 'marginTop', true)) || 0) +
(parseFloat($.curCSS(element[0], 'marginBottom', true)) || 0); (parseFloat($.css(element[0], 'marginBottom', true)) || 0);
} }
function vborders(element) { function vborders(element) {
return (parseFloat($.curCSS(element[0], 'borderTopWidth', true)) || 0) + return (parseFloat($.css(element[0], 'borderTopWidth', true)) || 0) +
(parseFloat($.curCSS(element[0], 'borderBottomWidth', true)) || 0); (parseFloat($.css(element[0], 'borderBottomWidth', true)) || 0);
} }
@ -1956,7 +1953,6 @@ function firstDefined() {
} }
fcViews.month = MonthView; fcViews.month = MonthView;
function MonthView(element, calendar) { function MonthView(element, calendar) {
@ -4662,7 +4658,7 @@ function DayEventRenderer() {
"</span>"; "</span>";
} }
html += html +=
"<span class='fc-event-title'>" + event.title + "</span>" + "<span class='fc-event-title'>" + htmlEscape(event.title) + "</span>" +
"</div>"; "</div>";
if (seg.isEnd && isEventResizable(event)) { if (seg.isEnd && isEventResizable(event)) {
html += html +=

View File

@ -1,6 +1,6 @@
/* /*
FullCalendar v1.5.3 FullCalendar v1.5.4
http://arshaw.com/fullcalendar/ http://arshaw.com/fullcalendar/
Use fullcalendar.css for basic styling. Use fullcalendar.css for basic styling.
@ -11,7 +11,7 @@
Dual licensed under the MIT and GPL licenses, located in Dual licensed under the MIT and GPL licenses, located in
MIT-LICENSE.txt and GPL-LICENSE.txt respectively. MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
Date: Mon Feb 6 22:40:40 2012 -0800 Date: Tue Sep 4 23:38:33 2012 -0700
*/ */
(function(m,ma){function wb(a){m.extend(true,Ya,a)}function Yb(a,b,e){function d(k){if(E){u();q();na();S(k)}else f()}function f(){B=b.theme?"ui":"fc";a.addClass("fc");b.isRTL&&a.addClass("fc-rtl");b.theme&&a.addClass("ui-widget");E=m("<div class='fc-content' style='position:relative'/>").prependTo(a);C=new Zb(X,b);(P=C.render())&&a.prepend(P);y(b.defaultView);m(window).resize(oa);t()||g()}function g(){setTimeout(function(){!n.start&&t()&&S()},0)}function l(){m(window).unbind("resize",oa);C.destroy(); (function(m,ma){function wb(a){m.extend(true,Ya,a)}function Yb(a,b,e){function d(k){if(E){u();q();na();S(k)}else f()}function f(){B=b.theme?"ui":"fc";a.addClass("fc");b.isRTL&&a.addClass("fc-rtl");b.theme&&a.addClass("ui-widget");E=m("<div class='fc-content' style='position:relative'/>").prependTo(a);C=new Zb(X,b);(P=C.render())&&a.prepend(P);y(b.defaultView);m(window).resize(oa);t()||g()}function g(){setTimeout(function(){!n.start&&t()&&S()},0)}function l(){m(window).unbind("resize",oa);C.destroy();
@ -39,10 +39,10 @@ a[12])*1E3);lb(e,b)}else{e.setUTCFullYear(a[1],a[3]?a[3]-1:0,a[5]||1);e.setUTCHo
10):0)}}function Oa(a,b,e){return ib(a,null,b,e)}function ib(a,b,e,d){d=d||Ya;var f=a,g=b,l,j=e.length,t,y,S,Q="";for(l=0;l<j;l++){t=e.charAt(l);if(t=="'")for(y=l+1;y<j;y++){if(e.charAt(y)=="'"){if(f){Q+=y==l+1?"'":e.substring(l+1,y);l=y}break}}else if(t=="(")for(y=l+1;y<j;y++){if(e.charAt(y)==")"){l=Oa(f,e.substring(l+1,y),d);if(parseInt(l.replace(/\D/,""),10))Q+=l;l=y;break}}else if(t=="[")for(y=l+1;y<j;y++){if(e.charAt(y)=="]"){t=e.substring(l+1,y);l=Oa(f,t,d);if(l!=Oa(g,t,d))Q+=l;l=y;break}}else if(t== 10):0)}}function Oa(a,b,e){return ib(a,null,b,e)}function ib(a,b,e,d){d=d||Ya;var f=a,g=b,l,j=e.length,t,y,S,Q="";for(l=0;l<j;l++){t=e.charAt(l);if(t=="'")for(y=l+1;y<j;y++){if(e.charAt(y)=="'"){if(f){Q+=y==l+1?"'":e.substring(l+1,y);l=y}break}}else if(t=="(")for(y=l+1;y<j;y++){if(e.charAt(y)==")"){l=Oa(f,e.substring(l+1,y),d);if(parseInt(l.replace(/\D/,""),10))Q+=l;l=y;break}}else if(t=="[")for(y=l+1;y<j;y++){if(e.charAt(y)=="]"){t=e.substring(l+1,y);l=Oa(f,t,d);if(l!=Oa(g,t,d))Q+=l;l=y;break}}else if(t==
"{"){f=b;g=a}else if(t=="}"){f=a;g=b}else{for(y=j;y>l;y--)if(S=dc[e.substring(l,y)]){if(f)Q+=S(f,d);l=y-1;break}if(y==l)if(f)Q+=t}}return Q}function Ua(a){return a.end?ec(a.end,a.allDay):ba(N(a.start),1)}function ec(a,b){a=N(a);return b||a.getHours()||a.getMinutes()?ba(a,1):Ka(a)}function fc(a,b){return(b.msLength-a.msLength)*100+(a.event.start-b.event.start)}function Cb(a,b){return a.end>b.start&&a.start<b.end}function nb(a,b,e,d){var f=[],g,l=a.length,j,t,y,S,Q;for(g=0;g<l;g++){j=a[g];t=j.start; "{"){f=b;g=a}else if(t=="}"){f=a;g=b}else{for(y=j;y>l;y--)if(S=dc[e.substring(l,y)]){if(f)Q+=S(f,d);l=y-1;break}if(y==l)if(f)Q+=t}}return Q}function Ua(a){return a.end?ec(a.end,a.allDay):ba(N(a.start),1)}function ec(a,b){a=N(a);return b||a.getHours()||a.getMinutes()?ba(a,1):Ka(a)}function fc(a,b){return(b.msLength-a.msLength)*100+(a.event.start-b.event.start)}function Cb(a,b){return a.end>b.start&&a.start<b.end}function nb(a,b,e,d){var f=[],g,l=a.length,j,t,y,S,Q;for(g=0;g<l;g++){j=a[g];t=j.start;
y=b[g];if(y>e&&t<d){if(t<e){t=N(e);S=false}else{t=t;S=true}if(y>d){y=N(d);Q=false}else{y=y;Q=true}f.push({event:j,start:t,end:y,isStart:S,isEnd:Q,msLength:y-t})}}return f.sort(fc)}function ob(a){var b=[],e,d=a.length,f,g,l,j;for(e=0;e<d;e++){f=a[e];for(g=0;;){l=false;if(b[g])for(j=0;j<b[g].length;j++)if(Cb(b[g][j],f)){l=true;break}if(l)g++;else break}if(b[g])b[g].push(f);else b[g]=[f]}return b}function Db(a,b,e){a.unbind("mouseover").mouseover(function(d){for(var f=d.target,g;f!=this;){g=f;f=f.parentNode}if((f= y=b[g];if(y>e&&t<d){if(t<e){t=N(e);S=false}else{t=t;S=true}if(y>d){y=N(d);Q=false}else{y=y;Q=true}f.push({event:j,start:t,end:y,isStart:S,isEnd:Q,msLength:y-t})}}return f.sort(fc)}function ob(a){var b=[],e,d=a.length,f,g,l,j;for(e=0;e<d;e++){f=a[e];for(g=0;;){l=false;if(b[g])for(j=0;j<b[g].length;j++)if(Cb(b[g][j],f)){l=true;break}if(l)g++;else break}if(b[g])b[g].push(f);else b[g]=[f]}return b}function Db(a,b,e){a.unbind("mouseover").mouseover(function(d){for(var f=d.target,g;f!=this;){g=f;f=f.parentNode}if((f=
g._fci)!==ma){g._fci=ma;g=b[f];e(g.event,g.element,g);m(d.target).trigger(d)}d.stopPropagation()})}function Va(a,b,e){for(var d=0,f;d<a.length;d++){f=m(a[d]);f.width(Math.max(0,b-pb(f,e)))}}function Eb(a,b,e){for(var d=0,f;d<a.length;d++){f=m(a[d]);f.height(Math.max(0,b-Sa(f,e)))}}function pb(a,b){return gc(a)+hc(a)+(b?ic(a):0)}function gc(a){return(parseFloat(m.curCSS(a[0],"paddingLeft",true))||0)+(parseFloat(m.curCSS(a[0],"paddingRight",true))||0)}function ic(a){return(parseFloat(m.curCSS(a[0], g._fci)!==ma){g._fci=ma;g=b[f];e(g.event,g.element,g);m(d.target).trigger(d)}d.stopPropagation()})}function Va(a,b,e){for(var d=0,f;d<a.length;d++){f=m(a[d]);f.width(Math.max(0,b-pb(f,e)))}}function Eb(a,b,e){for(var d=0,f;d<a.length;d++){f=m(a[d]);f.height(Math.max(0,b-Sa(f,e)))}}function pb(a,b){return gc(a)+hc(a)+(b?ic(a):0)}function gc(a){return(parseFloat(m.css(a[0],"paddingLeft",true))||0)+(parseFloat(m.css(a[0],"paddingRight",true))||0)}function ic(a){return(parseFloat(m.css(a[0],"marginLeft",
"marginLeft",true))||0)+(parseFloat(m.curCSS(a[0],"marginRight",true))||0)}function hc(a){return(parseFloat(m.curCSS(a[0],"borderLeftWidth",true))||0)+(parseFloat(m.curCSS(a[0],"borderRightWidth",true))||0)}function Sa(a,b){return jc(a)+kc(a)+(b?Fb(a):0)}function jc(a){return(parseFloat(m.curCSS(a[0],"paddingTop",true))||0)+(parseFloat(m.curCSS(a[0],"paddingBottom",true))||0)}function Fb(a){return(parseFloat(m.curCSS(a[0],"marginTop",true))||0)+(parseFloat(m.curCSS(a[0],"marginBottom",true))||0)} true))||0)+(parseFloat(m.css(a[0],"marginRight",true))||0)}function hc(a){return(parseFloat(m.css(a[0],"borderLeftWidth",true))||0)+(parseFloat(m.css(a[0],"borderRightWidth",true))||0)}function Sa(a,b){return jc(a)+kc(a)+(b?Fb(a):0)}function jc(a){return(parseFloat(m.css(a[0],"paddingTop",true))||0)+(parseFloat(m.css(a[0],"paddingBottom",true))||0)}function Fb(a){return(parseFloat(m.css(a[0],"marginTop",true))||0)+(parseFloat(m.css(a[0],"marginBottom",true))||0)}function kc(a){return(parseFloat(m.css(a[0],
function kc(a){return(parseFloat(m.curCSS(a[0],"borderTopWidth",true))||0)+(parseFloat(m.curCSS(a[0],"borderBottomWidth",true))||0)}function Za(a,b){b=typeof b=="number"?b+"px":b;a.each(function(e,d){d.style.cssText+=";min-height:"+b+";_height:"+b})}function xb(){}function Gb(a,b){return a-b}function Hb(a){return Math.max.apply(Math,a)}function Pa(a){return(a<10?"0":"")+a}function jb(a,b){if(a[b]!==ma)return a[b];b=b.split(/(?=[A-Z])/);for(var e=b.length-1,d;e>=0;e--){d=a[b[e].toLowerCase()];if(d!== "borderTopWidth",true))||0)+(parseFloat(m.css(a[0],"borderBottomWidth",true))||0)}function Za(a,b){b=typeof b=="number"?b+"px":b;a.each(function(e,d){d.style.cssText+=";min-height:"+b+";_height:"+b})}function xb(){}function Gb(a,b){return a-b}function Hb(a){return Math.max.apply(Math,a)}function Pa(a){return(a<10?"0":"")+a}function jb(a,b){if(a[b]!==ma)return a[b];b=b.split(/(?=[A-Z])/);for(var e=b.length-1,d;e>=0;e--){d=a[b[e].toLowerCase()];if(d!==ma)return d}return a[""]}function Qa(a){return a.replace(/&/g,
ma)return d}return a[""]}function Qa(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function Ib(a){return a.id+"/"+a.className+"/"+a.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig,"")}function qb(a){a.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})}function ab(a){a.children().removeClass("fc-first fc-last").filter(":first-child").addClass("fc-first").end().filter(":last-child").addClass("fc-last")} "&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function Ib(a){return a.id+"/"+a.className+"/"+a.style.cssText.replace(/(^|;)\s*(top|left|width|height)\s*:[^;]*/ig,"")}function qb(a){a.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})}function ab(a){a.children().removeClass("fc-first fc-last").filter(":first-child").addClass("fc-first").end().filter(":last-child").addClass("fc-last")}
function rb(a,b){a.each(function(e,d){d.className=d.className.replace(/^fc-\w*/,"fc-"+lc[b.getDay()])})}function Jb(a,b){var e=a.source||{},d=a.color,f=e.color,g=b("eventColor"),l=a.backgroundColor||d||e.backgroundColor||f||b("eventBackgroundColor")||g;d=a.borderColor||d||e.borderColor||f||b("eventBorderColor")||g;a=a.textColor||e.textColor||b("eventTextColor");b=[];l&&b.push("background-color:"+l);d&&b.push("border-color:"+d);a&&b.push("color:"+a);return b.join(";")}function $a(a,b,e){if(m.isFunction(a))a= function rb(a,b){a.each(function(e,d){d.className=d.className.replace(/^fc-\w*/,"fc-"+lc[b.getDay()])})}function Jb(a,b){var e=a.source||{},d=a.color,f=e.color,g=b("eventColor"),l=a.backgroundColor||d||e.backgroundColor||f||b("eventBackgroundColor")||g;d=a.borderColor||d||e.borderColor||f||b("eventBorderColor")||g;a=a.textColor||e.textColor||b("eventTextColor");b=[];l&&b.push("background-color:"+l);d&&b.push("border-color:"+d);a&&b.push("color:"+a);return b.join(";")}function $a(a,b,e){if(m.isFunction(a))a=
[a];if(a){var d,f;for(d=0;d<a.length;d++)f=a[d].apply(b,e)||f;return f}}function Ta(){for(var a=0;a<arguments.length;a++)if(arguments[a]!==ma)return arguments[a]}function mc(a,b){function e(j,t){if(t){hb(j,t);j.setDate(1)}j=N(j,true);j.setDate(1);t=hb(N(j),1);var y=N(j),S=N(t),Q=f("firstDay"),q=f("weekends")?0:1;if(q){Fa(y);Fa(S,-1,true)}ba(y,-((y.getDay()-Math.max(Q,q)+7)%7));ba(S,(7-S.getDay()+Math.max(Q,q))%7);Q=Math.round((S-y)/(Ab*7));if(f("weekMode")=="fixed"){ba(S,(6-Q)*7);Q=6}d.title=l(j, [a];if(a){var d,f;for(d=0;d<a.length;d++)f=a[d].apply(b,e)||f;return f}}function Ta(){for(var a=0;a<arguments.length;a++)if(arguments[a]!==ma)return arguments[a]}function mc(a,b){function e(j,t){if(t){hb(j,t);j.setDate(1)}j=N(j,true);j.setDate(1);t=hb(N(j),1);var y=N(j),S=N(t),Q=f("firstDay"),q=f("weekends")?0:1;if(q){Fa(y);Fa(S,-1,true)}ba(y,-((y.getDay()-Math.max(Q,q)+7)%7));ba(S,(7-S.getDay()+Math.max(Q,q))%7);Q=Math.round((S-y)/(Ab*7));if(f("weekMode")=="fixed"){ba(S,(6-Q)*7);Q=6}d.title=l(j,
f("titleFormat"));d.start=j;d.end=t;d.visStart=y;d.visEnd=S;g(6,Q,q?5:7,true)}var d=this;d.render=e;sb.call(d,a,b,"month");var f=d.opt,g=d.renderBasic,l=b.formatDate}function nc(a,b){function e(j,t){t&&ba(j,t*7);j=ba(N(j),-((j.getDay()-f("firstDay")+7)%7));t=ba(N(j),7);var y=N(j),S=N(t),Q=f("weekends");if(!Q){Fa(y);Fa(S,-1,true)}d.title=l(y,ba(N(S),-1),f("titleFormat"));d.start=j;d.end=t;d.visStart=y;d.visEnd=S;g(1,1,Q?7:5,false)}var d=this;d.render=e;sb.call(d,a,b,"basicWeek");var f=d.opt,g=d.renderBasic, f("titleFormat"));d.start=j;d.end=t;d.visStart=y;d.visEnd=S;g(6,Q,q?5:7,true)}var d=this;d.render=e;sb.call(d,a,b,"month");var f=d.opt,g=d.renderBasic,l=b.formatDate}function nc(a,b){function e(j,t){t&&ba(j,t*7);j=ba(N(j),-((j.getDay()-f("firstDay")+7)%7));t=ba(N(j),7);var y=N(j),S=N(t),Q=f("weekends");if(!Q){Fa(y);Fa(S,-1,true)}d.title=l(y,ba(N(S),-1),f("titleFormat"));d.start=j;d.end=t;d.visStart=y;d.visEnd=S;g(1,1,Q?7:5,false)}var d=this;d.render=e;sb.call(d,a,b,"basicWeek");var f=d.opt,g=d.renderBasic,
@ -106,7 +106,7 @@ t,y=-1,S=-1;for(t=0;t<l;t++)if(g>=e[t][0]&&g<e[t][1]){y=t;break}for(t=0;t<j;t++)
g=l=null;a.build();b(t);d=y||"mousemove";m(document).bind(d,b)};e.stop=function(){m(document).unbind(d,b);return l}}function xc(a){if(a.pageX===ma){a.pageX=a.originalEvent.pageX;a.pageY=a.originalEvent.pageY}}function Pb(a){function b(l){return d[l]=d[l]||a(l)}var e=this,d={},f={},g={};e.left=function(l){return f[l]=f[l]===ma?b(l).position().left:f[l]};e.right=function(l){return g[l]=g[l]===ma?e.left(l)+b(l).width():g[l]};e.clear=function(){d={};f={};g={}}}var Ya={defaultView:"month",aspectRatio:1.35, g=l=null;a.build();b(t);d=y||"mousemove";m(document).bind(d,b)};e.stop=function(){m(document).unbind(d,b);return l}}function xc(a){if(a.pageX===ma){a.pageX=a.originalEvent.pageX;a.pageY=a.originalEvent.pageY}}function Pb(a){function b(l){return d[l]=d[l]||a(l)}var e=this,d={},f={},g={};e.left=function(l){return f[l]=f[l]===ma?b(l).position().left:f[l]};e.right=function(l){return g[l]=g[l]===ma?e.left(l)+b(l).width():g[l]};e.clear=function(){d={};f={};g={}}}var Ya={defaultView:"month",aspectRatio:1.35,
header:{left:"title",center:"",right:"today prev,next"},weekends:true,allDayDefault:true,ignoreTimezone:true,lazyFetching:true,startParam:"start",endParam:"end",titleFormat:{month:"MMMM yyyy",week:"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",day:"dddd, MMM d, yyyy"},columnFormat:{month:"ddd",week:"ddd M/d",day:"dddd M/d"},timeFormat:{"":"h(:mm)t"},isRTL:false,firstDay:0,monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan", header:{left:"title",center:"",right:"today prev,next"},weekends:true,allDayDefault:true,ignoreTimezone:true,lazyFetching:true,startParam:"start",endParam:"end",titleFormat:{month:"MMMM yyyy",week:"MMM d[ yyyy]{ '&#8212;'[ MMM] d yyyy}",day:"dddd, MMM d, yyyy"},columnFormat:{month:"ddd",week:"ddd M/d",day:"dddd M/d"},timeFormat:{"":"h(:mm)t"},isRTL:false,firstDay:0,monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan",
"Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],buttonText:{prev:"&nbsp;&#9668;&nbsp;",next:"&nbsp;&#9658;&nbsp;",prevYear:"&nbsp;&lt;&lt;&nbsp;",nextYear:"&nbsp;&gt;&gt;&nbsp;",today:"today",month:"month",week:"week",day:"day"},theme:false,buttonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e"},unselectAuto:true,dropAccept:"*"},yc= "Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],buttonText:{prev:"&nbsp;&#9668;&nbsp;",next:"&nbsp;&#9658;&nbsp;",prevYear:"&nbsp;&lt;&lt;&nbsp;",nextYear:"&nbsp;&gt;&gt;&nbsp;",today:"today",month:"month",week:"week",day:"day"},theme:false,buttonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e"},unselectAuto:true,dropAccept:"*"},yc=
{header:{left:"next,prev today",center:"",right:"title"},buttonText:{prev:"&nbsp;&#9658;&nbsp;",next:"&nbsp;&#9668;&nbsp;",prevYear:"&nbsp;&gt;&gt;&nbsp;",nextYear:"&nbsp;&lt;&lt;&nbsp;"},buttonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w"}},Aa=m.fullCalendar={version:"1.5.3"},Ja=Aa.views={};m.fn.fullCalendar=function(a){if(typeof a=="string"){var b=Array.prototype.slice.call(arguments,1),e;this.each(function(){var f=m.data(this,"fullCalendar");if(f&&m.isFunction(f[a])){f=f[a].apply(f, {header:{left:"next,prev today",center:"",right:"title"},buttonText:{prev:"&nbsp;&#9658;&nbsp;",next:"&nbsp;&#9668;&nbsp;",prevYear:"&nbsp;&gt;&gt;&nbsp;",nextYear:"&nbsp;&lt;&lt;&nbsp;"},buttonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w"}},Aa=m.fullCalendar={version:"1.5.4"},Ja=Aa.views={};m.fn.fullCalendar=function(a){if(typeof a=="string"){var b=Array.prototype.slice.call(arguments,1),e;this.each(function(){var f=m.data(this,"fullCalendar");if(f&&m.isFunction(f[a])){f=f[a].apply(f,
b);if(e===ma)e=f;a=="destroy"&&m.removeData(this,"fullCalendar")}});if(e!==ma)return e;return this}var d=a.eventSources||[];delete a.eventSources;if(a.events){d.push(a.events);delete a.events}a=m.extend(true,{},Ya,a.isRTL||a.isRTL===ma&&Ya.isRTL?yc:{},a);this.each(function(f,g){f=m(g);g=new Yb(f,a,d);f.data("fullCalendar",g);g.render()});return this};Aa.sourceNormalizers=[];Aa.sourceFetchers=[];var ac={dataType:"json",cache:false},bc=1;Aa.addDays=ba;Aa.cloneDate=N;Aa.parseDate=kb;Aa.parseISO8601= b);if(e===ma)e=f;a=="destroy"&&m.removeData(this,"fullCalendar")}});if(e!==ma)return e;return this}var d=a.eventSources||[];delete a.eventSources;if(a.events){d.push(a.events);delete a.events}a=m.extend(true,{},Ya,a.isRTL||a.isRTL===ma&&Ya.isRTL?yc:{},a);this.each(function(f,g){f=m(g);g=new Yb(f,a,d);f.data("fullCalendar",g);g.render()});return this};Aa.sourceNormalizers=[];Aa.sourceFetchers=[];var ac={dataType:"json",cache:false},bc=1;Aa.addDays=ba;Aa.cloneDate=N;Aa.parseDate=kb;Aa.parseISO8601=
Bb;Aa.parseTime=mb;Aa.formatDate=Oa;Aa.formatDates=ib;var lc=["sun","mon","tue","wed","thu","fri","sat"],Ab=864E5,cc=36E5,wc=6E4,dc={s:function(a){return a.getSeconds()},ss:function(a){return Pa(a.getSeconds())},m:function(a){return a.getMinutes()},mm:function(a){return Pa(a.getMinutes())},h:function(a){return a.getHours()%12||12},hh:function(a){return Pa(a.getHours()%12||12)},H:function(a){return a.getHours()},HH:function(a){return Pa(a.getHours())},d:function(a){return a.getDate()},dd:function(a){return Pa(a.getDate())}, Bb;Aa.parseTime=mb;Aa.formatDate=Oa;Aa.formatDates=ib;var lc=["sun","mon","tue","wed","thu","fri","sat"],Ab=864E5,cc=36E5,wc=6E4,dc={s:function(a){return a.getSeconds()},ss:function(a){return Pa(a.getSeconds())},m:function(a){return a.getMinutes()},mm:function(a){return Pa(a.getMinutes())},h:function(a){return a.getHours()%12||12},hh:function(a){return Pa(a.getHours()%12||12)},H:function(a){return a.getHours()},HH:function(a){return Pa(a.getHours())},d:function(a){return a.getDate()},dd:function(a){return Pa(a.getDate())},
ddd:function(a,b){return b.dayNamesShort[a.getDay()]},dddd:function(a,b){return b.dayNames[a.getDay()]},M:function(a){return a.getMonth()+1},MM:function(a){return Pa(a.getMonth()+1)},MMM:function(a,b){return b.monthNamesShort[a.getMonth()]},MMMM:function(a,b){return b.monthNames[a.getMonth()]},yy:function(a){return(a.getFullYear()+"").substring(2)},yyyy:function(a){return a.getFullYear()},t:function(a){return a.getHours()<12?"a":"p"},tt:function(a){return a.getHours()<12?"am":"pm"},T:function(a){return a.getHours()< ddd:function(a,b){return b.dayNamesShort[a.getDay()]},dddd:function(a,b){return b.dayNames[a.getDay()]},M:function(a){return a.getMonth()+1},MM:function(a){return Pa(a.getMonth()+1)},MMM:function(a,b){return b.monthNamesShort[a.getMonth()]},MMMM:function(a,b){return b.monthNames[a.getMonth()]},yy:function(a){return(a.getFullYear()+"").substring(2)},yyyy:function(a){return a.getFullYear()},t:function(a){return a.getHours()<12?"a":"p"},tt:function(a){return a.getHours()<12?"am":"pm"},T:function(a){return a.getHours()<

View File

@ -1,11 +1,11 @@
/* /*
* FullCalendar v1.5.3 Google Calendar Plugin * FullCalendar v1.5.4 Google Calendar Plugin
* *
* Copyright (c) 2011 Adam Shaw * Copyright (c) 2011 Adam Shaw
* Dual licensed under the MIT and GPL licenses, located in * Dual licensed under the MIT and GPL licenses, located in
* MIT-LICENSE.txt and GPL-LICENSE.txt respectively. * MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
* *
* Date: Mon Feb 6 22:40:40 2012 -0800 * Date: Tue Sep 4 23:38:33 2012 -0700
* *
*/ */

View File

@ -1 +1 @@
0.9.5 0.9.8

745
3rdparty/js/chosen/chosen.jquery.js vendored Normal file → Executable file

File diff suppressed because it is too large Load Diff

4
3rdparty/js/chosen/chosen.jquery.min.js vendored Normal file → Executable file

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 706 B

View File

@ -1,19 +1,13 @@
.miniColors-trigger { INPUT.miniColors {
height: 22px; margin-right: 4px;
width: 22px;
background: url(images/trigger.png) center no-repeat;
vertical-align: middle;
margin: 0 .25em;
display: inline-block;
outline: none;
} }
.miniColors-selector { .miniColors-selector {
position: absolute; position: absolute;
width: 175px; width: 175px;
height: 150px; height: 150px;
background: #FFF; background: white;
border: solid 1px #BBB; border: solid 1px #bababa;
-moz-box-shadow: 0 0 6px rgba(0, 0, 0, .25); -moz-box-shadow: 0 0 6px rgba(0, 0, 0, .25);
-webkit-box-shadow: 0 0 6px rgba(0, 0, 0, .25); -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, .25);
box-shadow: 0 0 6px rgba(0, 0, 0, .25); box-shadow: 0 0 6px rgba(0, 0, 0, .25);
@ -24,9 +18,13 @@
z-index: 999999; z-index: 999999;
} }
.miniColors.opacity.miniColors-selector {
width: 200px;
}
.miniColors-selector.black { .miniColors-selector.black {
background: #000; background: black;
border-color: #000; border-color: black;
} }
.miniColors-colors { .miniColors-colors {
@ -35,25 +33,43 @@
left: 5px; left: 5px;
width: 150px; width: 150px;
height: 150px; height: 150px;
background: url(images/colors.png) right no-repeat; background: url(images/colors.png) -40px 0 no-repeat;
cursor: crosshair; cursor: crosshair;
} }
.miniColors.opacity .miniColors-colors {
left: 30px;
}
.miniColors-hues { .miniColors-hues {
position: absolute; position: absolute;
top: 5px; top: 5px;
left: 160px; left: 160px;
width: 20px; width: 20px;
height: 150px; height: 150px;
background: url(images/colors.png) left no-repeat; background: url(images/colors.png) 0 0 no-repeat;
cursor: crosshair;
}
.miniColors.opacity .miniColors-hues {
left: 185px;
}
.miniColors-opacity {
position: absolute;
top: 5px;
left: 5px;
width: 20px;
height: 150px;
background: url(images/colors.png) -20px 0 no-repeat;
cursor: crosshair; cursor: crosshair;
} }
.miniColors-colorPicker { .miniColors-colorPicker {
position: absolute; position: absolute;
width: 9px; width: 11px;
height: 9px; height: 11px;
border: 1px solid #fff; border: 1px solid black;
-moz-border-radius: 11px; -moz-border-radius: 11px;
-webkit-border-radius: 11px; -webkit-border-radius: 11px;
border-radius: 11px; border-radius: 11px;
@ -64,18 +80,46 @@
left: 0; left: 0;
width: 7px; width: 7px;
height: 7px; height: 7px;
border: 1px solid #000; border: 2px solid white;
-moz-border-radius: 9px; -moz-border-radius: 9px;
-webkit-border-radius: 9px; -webkit-border-radius: 9px;
border-radius: 9px; border-radius: 9px;
} }
.miniColors-huePicker { .miniColors-huePicker,
.miniColors-opacityPicker {
position: absolute; position: absolute;
left: -3px; left: -2px;
width: 24px; width: 22px;
height: 1px; height: 2px;
border: 1px solid #fff; border: 1px solid black;
background: white;
margin-top: -1px;
border-radius: 2px; border-radius: 2px;
background: #000; }
.miniColors-trigger,
.miniColors-triggerWrap {
width: 22px;
height: 22px;
display: inline-block;
}
.miniColors-triggerWrap {
background: url(images/trigger.png) -22px 0 no-repeat;
}
.miniColors-triggerWrap.disabled {
filter: alpha(opacity=50);
opacity: .5;
}
.miniColors-trigger {
vertical-align: middle;
outline: none;
background: url(images/trigger.png) 0 0 no-repeat;
}
.miniColors-triggerWrap.disabled .miniColors-trigger {
cursor: default;
} }

View File

@ -1,7 +1,7 @@
/* /*
* jQuery miniColors: A small color selector * jQuery miniColors: A small color selector
* *
* Copyright 2011 Cory LaViska for A Beautiful Site, LLC. (http://abeautifulsite.net/) * Copyright 2012 Cory LaViska for A Beautiful Site, LLC. (http://www.abeautifulsite.net/)
* *
* Dual licensed under the MIT or GPL Version 2 licenses * Dual licensed under the MIT or GPL Version 2 licenses
* *
@ -18,20 +18,30 @@ if(jQuery) (function($) {
// //
// Determine initial color (defaults to white) // Determine initial color (defaults to white)
var color = expandHex(input.val()); var color = expandHex(input.val()) || 'ffffff',
if( !color ) color = 'ffffff'; hsb = hex2hsb(color),
var hsb = hex2hsb(color); rgb = hsb2rgb(hsb),
alpha = parseFloat(input.attr('data-opacity')).toFixed(2);
if( alpha > 1 ) alpha = 1;
if( alpha < 0 ) alpha = 0;
// Create trigger // Create trigger
var trigger = $('<a class="miniColors-trigger" style="background-color: #' + color + '" href="#"></a>'); var trigger = $('<a class="miniColors-trigger" style="background-color: #' + color + '" href="#"></a>');
trigger.insertAfter(input); trigger.insertAfter(input);
trigger.wrap('<span class="miniColors-triggerWrap"></span>');
if( o.opacity ) {
trigger.css('backgroundColor', 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + alpha + ')');
}
// Set input data and update attributes // Set input data and update attributes
input input
.addClass('miniColors') .addClass('miniColors')
.data('original-maxlength', input.attr('maxlength') || null) .data('original-maxlength', input.attr('maxlength') || null)
.data('original-autocomplete', input.attr('autocomplete') || null) .data('original-autocomplete', input.attr('autocomplete') || null)
.data('letterCase', 'uppercase') .data('letterCase', o.letterCase === 'uppercase' ? 'uppercase' : 'lowercase')
.data('opacity', o.opacity ? true : false)
.data('alpha', alpha)
.data('trigger', trigger) .data('trigger', trigger)
.data('hsb', hsb) .data('hsb', hsb)
.data('change', o.change ? o.change : null) .data('change', o.change ? o.change : null)
@ -42,11 +52,11 @@ if(jQuery) (function($) {
.val('#' + convertCase(color, o.letterCase)); .val('#' + convertCase(color, o.letterCase));
// Handle options // Handle options
if( o.readonly ) input.prop('readonly', true); if( o.readonly || input.prop('readonly') ) input.prop('readonly', true);
if( o.disabled ) disable(input); if( o.disabled || input.prop('disabled') ) disable(input);
// Show selector when trigger is clicked // Show selector when trigger is clicked
trigger.bind('click.miniColors', function(event) { trigger.on('click.miniColors', function(event) {
event.preventDefault(); event.preventDefault();
if( input.val() === '' ) input.val('#'); if( input.val() === '' ) input.val('#');
show(input); show(input);
@ -54,29 +64,29 @@ if(jQuery) (function($) {
}); });
// Show selector when input receives focus // Show selector when input receives focus
input.bind('focus.miniColors', function(event) { input.on('focus.miniColors', function(event) {
if( input.val() === '' ) input.val('#'); if( input.val() === '' ) input.val('#');
show(input); show(input);
}); });
// Hide on blur // Hide on blur
input.bind('blur.miniColors', function(event) { input.on('blur.miniColors', function(event) {
var hex = expandHex( hsb2hex(input.data('hsb')) ); var hex = expandHex( hsb2hex(input.data('hsb')) );
input.val( hex ? '#' + convertCase(hex, input.data('letterCase')) : '' ); input.val( hex ? '#' + convertCase(hex, input.data('letterCase')) : '' );
}); });
// Hide when tabbing out of the input // Hide when tabbing out of the input
input.bind('keydown.miniColors', function(event) { input.on('keydown.miniColors', function(event) {
if( event.keyCode === 9 ) hide(input); if( event.keyCode === 9 ) hide(input);
}); });
// Update when color is typed in // Update when color is typed in
input.bind('keyup.miniColors', function(event) { input.on('keyup.miniColors', function(event) {
setColorFromInput(input); setColorFromInput(input);
}); });
// Handle pasting // Handle pasting
input.bind('paste.miniColors', function(event) { input.on('paste.miniColors', function(event) {
// Short pause to wait for paste to complete // Short pause to wait for paste to complete
setTimeout( function() { setTimeout( function() {
setColorFromInput(input); setColorFromInput(input);
@ -89,19 +99,18 @@ if(jQuery) (function($) {
// //
// Destroys an active instance of the miniColors selector // Destroys an active instance of the miniColors selector
// //
hide(); hide();
input = $(input); input = $(input);
// Restore to original state // Restore to original state
input.data('trigger').remove(); input.data('trigger').parent().remove();
input input
.attr('autocomplete', input.data('original-autocomplete')) .attr('autocomplete', input.data('original-autocomplete'))
.attr('maxlength', input.data('original-maxlength')) .attr('maxlength', input.data('original-maxlength'))
.removeData() .removeData()
.removeClass('miniColors') .removeClass('miniColors')
.unbind('.miniColors'); .off('.miniColors');
$(document).unbind('.miniColors'); $(document).off('.miniColors');
}; };
var enable = function(input) { var enable = function(input) {
@ -110,8 +119,7 @@ if(jQuery) (function($) {
// //
input input
.prop('disabled', false) .prop('disabled', false)
.data('trigger') .data('trigger').parent().removeClass('disabled');
.css('opacity', 1);
}; };
var disable = function(input) { var disable = function(input) {
@ -121,8 +129,7 @@ if(jQuery) (function($) {
hide(input); hide(input);
input input
.prop('disabled', true) .prop('disabled', true)
.data('trigger') .data('trigger').parent().addClass('disabled');
.css('opacity', 0.5);
}; };
var show = function(input) { var show = function(input) {
@ -137,20 +144,23 @@ if(jQuery) (function($) {
// Generate the selector // Generate the selector
var selector = $('<div class="miniColors-selector"></div>'); var selector = $('<div class="miniColors-selector"></div>');
selector selector
.append('<div class="miniColors-colors" style="background-color: #FFF;"><div class="miniColors-colorPicker"><div class="miniColors-colorPicker-inner"></div></div>')
.append('<div class="miniColors-hues"><div class="miniColors-huePicker"></div></div>') .append('<div class="miniColors-hues"><div class="miniColors-huePicker"></div></div>')
.css({ .append('<div class="miniColors-colors" style="background-color: #FFF;"><div class="miniColors-colorPicker"><div class="miniColors-colorPicker-inner"></div></div>')
top: input.is(':visible') ? input.offset().top + input.outerHeight() : input.data('trigger').offset().top + input.data('trigger').outerHeight(), .css('display', 'none')
left: input.is(':visible') ? input.offset().left : input.data('trigger').offset().left,
display: 'none'
})
.addClass( input.attr('class') ); .addClass( input.attr('class') );
// Opacity
if( input.data('opacity') ) {
selector
.addClass('opacity')
.prepend('<div class="miniColors-opacity"><div class="miniColors-opacityPicker"></div></div>');
}
// Set background for colors // Set background for colors
var hsb = input.data('hsb'); var hsb = input.data('hsb');
selector selector
.find('.miniColors-colors') .find('.miniColors-colors').css('backgroundColor', '#' + hsb2hex({ h: hsb.h, s: 100, b: 100 })).end()
.css('backgroundColor', '#' + hsb2hex({ h: hsb.h, s: 100, b: 100 })); .find('.miniColors-opacity').css('backgroundColor', '#' + hsb2hex({ h: hsb.h, s: hsb.s, b: hsb.b })).end();
// Set colorPicker position // Set colorPicker position
var colorPosition = input.data('colorPosition'); var colorPosition = input.data('colorPosition');
@ -162,64 +172,106 @@ if(jQuery) (function($) {
// Set huePicker position // Set huePicker position
var huePosition = input.data('huePosition'); var huePosition = input.data('huePosition');
if( !huePosition ) huePosition = getHuePositionFromHSB(hsb); if( !huePosition ) huePosition = getHuePositionFromHSB(hsb);
selector.find('.miniColors-huePicker').css('top', huePosition.y + 'px'); selector.find('.miniColors-huePicker').css('top', huePosition + 'px');
// Set opacity position
var opacityPosition = input.data('opacityPosition');
if( !opacityPosition ) opacityPosition = getOpacityPositionFromAlpha(input.attr('data-opacity'));
selector.find('.miniColors-opacityPicker').css('top', opacityPosition + 'px');
// Set input data // Set input data
input input
.data('selector', selector) .data('selector', selector)
.data('huePicker', selector.find('.miniColors-huePicker')) .data('huePicker', selector.find('.miniColors-huePicker'))
.data('opacityPicker', selector.find('.miniColors-opacityPicker'))
.data('colorPicker', selector.find('.miniColors-colorPicker')) .data('colorPicker', selector.find('.miniColors-colorPicker'))
.data('mousebutton', 0); .data('mousebutton', 0);
$('BODY').append(selector); $('BODY').append(selector);
selector.fadeIn(100);
// Position the selector
var trigger = input.data('trigger'),
hidden = !input.is(':visible'),
top = hidden ? trigger.offset().top + trigger.outerHeight() : input.offset().top + input.outerHeight(),
left = hidden ? trigger.offset().left : input.offset().left,
selectorWidth = selector.outerWidth(),
selectorHeight = selector.outerHeight(),
triggerWidth = trigger.outerWidth(),
triggerHeight = trigger.outerHeight(),
windowHeight = $(window).height(),
windowWidth = $(window).width(),
scrollTop = $(window).scrollTop(),
scrollLeft = $(window).scrollLeft();
// Adjust based on viewport
if( (top + selectorHeight) > windowHeight + scrollTop ) top = top - selectorHeight - triggerHeight;
if( (left + selectorWidth) > windowWidth + scrollLeft ) left = left - selectorWidth + triggerWidth;
// Set position and show
selector.css({
top: top,
left: left
}).fadeIn(100);
// Prevent text selection in IE // Prevent text selection in IE
selector.bind('selectstart', function() { return false; }); selector.on('selectstart', function() { return false; });
$(document).bind('mousedown.miniColors touchstart.miniColors', function(event) { // Hide on resize (IE7/8 trigger this when any element is resized...)
if( !$.browser.msie || ($.browser.msie && $.browser.version >= 9) ) {
input.data('mousebutton', 1); $(window).on('resize.miniColors', function(event) {
var testSubject = $(event.target).parents().andSelf(); hide(input);
});
if( testSubject.hasClass('miniColors-colors') ) { }
event.preventDefault();
input.data('moving', 'colors');
moveColor(input, event);
}
if( testSubject.hasClass('miniColors-hues') ) {
event.preventDefault();
input.data('moving', 'hues');
moveHue(input, event);
}
if( testSubject.hasClass('miniColors-selector') ) {
event.preventDefault();
return;
}
if( testSubject.hasClass('miniColors') ) return;
hide(input);
});
$(document) $(document)
.bind('mouseup.miniColors touchend.miniColors', function(event) { .on('mousedown.miniColors touchstart.miniColors', function(event) {
input.data('mousebutton', 1);
var testSubject = $(event.target).parents().andSelf();
if( testSubject.hasClass('miniColors-colors') ) {
event.preventDefault();
input.data('moving', 'colors');
moveColor(input, event);
}
if( testSubject.hasClass('miniColors-hues') ) {
event.preventDefault();
input.data('moving', 'hues');
moveHue(input, event);
}
if( testSubject.hasClass('miniColors-opacity') ) {
event.preventDefault();
input.data('moving', 'opacity');
moveOpacity(input, event);
}
if( testSubject.hasClass('miniColors-selector') ) {
event.preventDefault();
return;
}
if( testSubject.hasClass('miniColors') ) return;
hide(input);
})
.on('mouseup.miniColors touchend.miniColors', function(event) {
event.preventDefault(); event.preventDefault();
input.data('mousebutton', 0).removeData('moving'); input.data('mousebutton', 0).removeData('moving');
}) })
.bind('mousemove.miniColors touchmove.miniColors', function(event) { .on('mousemove.miniColors touchmove.miniColors', function(event) {
event.preventDefault(); event.preventDefault();
if( input.data('mousebutton') === 1 ) { if( input.data('mousebutton') === 1 ) {
if( input.data('moving') === 'colors' ) moveColor(input, event); if( input.data('moving') === 'colors' ) moveColor(input, event);
if( input.data('moving') === 'hues' ) moveHue(input, event); if( input.data('moving') === 'hues' ) moveHue(input, event);
if( input.data('moving') === 'opacity' ) moveOpacity(input, event);
} }
}); });
// Fire open callback // Fire open callback
if( input.data('open') ) { if( input.data('open') ) {
input.data('open').call(input.get(0), '#' + hsb2hex(hsb), hsb2rgb(hsb)); input.data('open').call(input.get(0), '#' + hsb2hex(hsb), $.extend(hsb2rgb(hsb), { a: parseFloat(input.attr('data-opacity')) }));
} }
}; };
@ -231,22 +283,22 @@ if(jQuery) (function($) {
// //
// Hide all other instances if input isn't specified // Hide all other instances if input isn't specified
if( !input ) input = '.miniColors'; if( !input ) input = $('.miniColors');
$(input).each( function() { input.each( function() {
var selector = $(this).data('selector'); var selector = $(this).data('selector');
$(this).removeData('selector'); $(this).removeData('selector');
$(selector).fadeOut(100, function() { $(selector).fadeOut(100, function() {
// Fire close callback // Fire close callback
if( input.data('close') ) { if( input.data('close') ) {
var hsb = input.data('hsb'), hex = hsb2hex(hsb); var hsb = input.data('hsb'), hex = hsb2hex(hsb);
input.data('close').call(input.get(0), '#' + hex, hsb2rgb(hsb)); input.data('close').call(input.get(0), '#' + hex, $.extend(hsb2rgb(hsb), { a: parseFloat(input.attr('data-opacity')) }));
} }
$(this).remove(); $(this).remove();
}); });
}); });
$(document).unbind('.miniColors'); $(document).off('.miniColors');
}; };
@ -266,8 +318,8 @@ if(jQuery) (function($) {
position.x = event.originalEvent.changedTouches[0].pageX; position.x = event.originalEvent.changedTouches[0].pageX;
position.y = event.originalEvent.changedTouches[0].pageY; position.y = event.originalEvent.changedTouches[0].pageY;
} }
position.x = position.x - input.data('selector').find('.miniColors-colors').offset().left - 5; position.x = position.x - input.data('selector').find('.miniColors-colors').offset().left - 6;
position.y = position.y - input.data('selector').find('.miniColors-colors').offset().top - 5; position.y = position.y - input.data('selector').find('.miniColors-colors').offset().top - 6;
if( position.x <= -5 ) position.x = -5; if( position.x <= -5 ) position.x = -5;
if( position.x >= 144 ) position.x = 144; if( position.x >= 144 ) position.x = 144;
if( position.y <= -5 ) position.y = -5; if( position.y <= -5 ) position.y = -5;
@ -301,23 +353,21 @@ if(jQuery) (function($) {
huePicker.hide(); huePicker.hide();
var position = { var position = event.pageY;
y: event.pageY
};
// Touch support // Touch support
if( event.originalEvent.changedTouches ) { if( event.originalEvent.changedTouches ) {
position.y = event.originalEvent.changedTouches[0].pageY; position = event.originalEvent.changedTouches[0].pageY;
} }
position.y = position.y - input.data('selector').find('.miniColors-colors').offset().top - 1; position = position - input.data('selector').find('.miniColors-colors').offset().top - 1;
if( position.y <= -1 ) position.y = -1; if( position <= -1 ) position = -1;
if( position.y >= 149 ) position.y = 149; if( position >= 149 ) position = 149;
input.data('huePosition', position); input.data('huePosition', position);
huePicker.css('top', position.y).show(); huePicker.css('top', position).show();
// Calculate hue // Calculate hue
var h = Math.round((150 - position.y - 1) * 2.4); var h = Math.round((150 - position - 1) * 2.4);
if( h < 0 ) h = 0; if( h < 0 ) h = 0;
if( h > 360 ) h = 360; if( h > 360 ) h = 360;
@ -330,18 +380,65 @@ if(jQuery) (function($) {
}; };
var moveOpacity = function(input, event) {
var opacityPicker = input.data('opacityPicker');
opacityPicker.hide();
var position = event.pageY;
// Touch support
if( event.originalEvent.changedTouches ) {
position = event.originalEvent.changedTouches[0].pageY;
}
position = position - input.data('selector').find('.miniColors-colors').offset().top - 1;
if( position <= -1 ) position = -1;
if( position >= 149 ) position = 149;
input.data('opacityPosition', position);
opacityPicker.css('top', position).show();
// Calculate opacity
var alpha = parseFloat((150 - position - 1) / 150).toFixed(2);
if( alpha < 0 ) alpha = 0;
if( alpha > 1 ) alpha = 1;
// Update opacity
input
.data('alpha', alpha)
.attr('data-opacity', alpha);
// Set color
setColor(input, input.data('hsb'), true);
};
var setColor = function(input, hsb, updateInput) { var setColor = function(input, hsb, updateInput) {
input.data('hsb', hsb); input.data('hsb', hsb);
var hex = hsb2hex(hsb); var hex = hsb2hex(hsb),
selector = $(input.data('selector'));
if( updateInput ) input.val( '#' + convertCase(hex, input.data('letterCase')) ); if( updateInput ) input.val( '#' + convertCase(hex, input.data('letterCase')) );
selector
.find('.miniColors-colors').css('backgroundColor', '#' + hsb2hex({ h: hsb.h, s: 100, b: 100 })).end()
.find('.miniColors-opacity').css('backgroundColor', '#' + hex).end();
var rgb = hsb2rgb(hsb);
// Set background color (also fallback for non RGBA browsers)
input.data('trigger').css('backgroundColor', '#' + hex); input.data('trigger').css('backgroundColor', '#' + hex);
if( input.data('selector') ) input.data('selector').find('.miniColors-colors').css('backgroundColor', '#' + hsb2hex({ h: hsb.h, s: 100, b: 100 }));
// Set background color + opacity
if( input.data('opacity') ) {
input.data('trigger').css('backgroundColor', 'rgba(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ', ' + input.attr('data-opacity') + ')');
}
// Fire change callback // Fire change callback
if( input.data('change') ) { if( input.data('change') ) {
if( hex === input.data('lastChange') ) return; if( (hex + ',' + input.attr('data-opacity')) === input.data('lastChange') ) return;
input.data('change').call(input.get(0), '#' + hex, hsb2rgb(hsb)); input.data('change').call(input.get(0), '#' + hex, $.extend(hsb2rgb(hsb), { a: parseFloat(input.attr('data-opacity')) }));
input.data('lastChange', hex); input.data('lastChange', hex + ',' + input.attr('data-opacity'));
} }
}; };
@ -355,10 +452,6 @@ if(jQuery) (function($) {
// Get HSB equivalent // Get HSB equivalent
var hsb = hex2hsb(hex); var hsb = hex2hsb(hex);
// If color is the same, no change required
var currentHSB = input.data('hsb');
if( hsb.h === currentHSB.h && hsb.s === currentHSB.s && hsb.b === currentHSB.b ) return true;
// Set colorPicker position // Set colorPicker position
var colorPosition = getColorPositionFromHSB(hsb); var colorPosition = getColorPositionFromHSB(hsb);
var colorPicker = $(input.data('colorPicker')); var colorPicker = $(input.data('colorPicker'));
@ -368,9 +461,14 @@ if(jQuery) (function($) {
// Set huePosition position // Set huePosition position
var huePosition = getHuePositionFromHSB(hsb); var huePosition = getHuePositionFromHSB(hsb);
var huePicker = $(input.data('huePicker')); var huePicker = $(input.data('huePicker'));
huePicker.css('top', huePosition.y + 'px'); huePicker.css('top', huePosition + 'px');
input.data('huePosition', huePosition); input.data('huePosition', huePosition);
// Set opacity position
var opacityPosition = getOpacityPositionFromAlpha(input.attr('data-opacity'));
var opacityPicker = $(input.data('opacityPicker'));
opacityPicker.css('top', opacityPosition + 'px');
input.data('opacityPosition', opacityPosition);
setColor(input, hsb); setColor(input, hsb);
return true; return true;
@ -378,9 +476,11 @@ if(jQuery) (function($) {
}; };
var convertCase = function(string, letterCase) { var convertCase = function(string, letterCase) {
if( letterCase === 'lowercase' ) return string.toLowerCase(); if( letterCase === 'uppercase' ) {
if( letterCase === 'uppercase' ) return string.toUpperCase(); return string.toUpperCase();
return string; } else {
return string.toLowerCase();
}
}; };
var getColorPositionFromHSB = function(hsb) { var getColorPositionFromHSB = function(hsb) {
@ -397,7 +497,14 @@ if(jQuery) (function($) {
var y = 150 - (hsb.h / 2.4); var y = 150 - (hsb.h / 2.4);
if( y < 0 ) h = 0; if( y < 0 ) h = 0;
if( y > 150 ) h = 150; if( y > 150 ) h = 150;
return { y: y - 1 }; return y;
};
var getOpacityPositionFromAlpha = function(alpha) {
var y = 150 * alpha;
if( y < 0 ) y = 0;
if( y > 150 ) y = 150;
return 150 - y;
}; };
var cleanHex = function(hex) { var cleanHex = function(hex) {
@ -543,6 +650,29 @@ if(jQuery) (function($) {
return $(this); return $(this);
case 'opacity':
// Getter
if( data === undefined ) {
if( !$(this).hasClass('miniColors') ) return;
if( $(this).data('opacity') ) {
return parseFloat($(this).attr('data-opacity'));
} else {
return null;
}
}
// Setter
$(this).each( function() {
if( !$(this).hasClass('miniColors') ) return;
if( data < 0 ) data = 0;
if( data > 1 ) data = 1;
$(this).attr('data-opacity', data).data('alpha', data);
setColorFromInput($(this));
});
return $(this);
case 'destroy': case 'destroy':
$(this).each( function() { $(this).each( function() {

File diff suppressed because one or more lines are too long

0
3rdparty/timepicker/GPL-LICENSE.txt vendored Normal file → Executable file
View File

0
3rdparty/timepicker/MIT-LICENSE.txt vendored Normal file → Executable file
View File

View File

Before

Width:  |  Height:  |  Size: 260 B

After

Width:  |  Height:  |  Size: 260 B

View File

Before

Width:  |  Height:  |  Size: 251 B

After

Width:  |  Height:  |  Size: 251 B

View File

Before

Width:  |  Height:  |  Size: 178 B

After

Width:  |  Height:  |  Size: 178 B

View File

Before

Width:  |  Height:  |  Size: 104 B

After

Width:  |  Height:  |  Size: 104 B

View File

Before

Width:  |  Height:  |  Size: 125 B

After

Width:  |  Height:  |  Size: 125 B

View File

Before

Width:  |  Height:  |  Size: 105 B

After

Width:  |  Height:  |  Size: 105 B

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

Before

Width:  |  Height:  |  Size: 90 B

After

Width:  |  Height:  |  Size: 90 B

View File

Before

Width:  |  Height:  |  Size: 129 B

After

Width:  |  Height:  |  Size: 129 B

0
3rdparty/timepicker/css/include/images/ui-icons_222222_256x240.png vendored Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

0
3rdparty/timepicker/css/include/images/ui-icons_228ef1_256x240.png vendored Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

0
3rdparty/timepicker/css/include/images/ui-icons_ef8c08_256x240.png vendored Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

0
3rdparty/timepicker/css/include/images/ui-icons_ffd27a_256x240.png vendored Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

0
3rdparty/timepicker/css/include/images/ui-icons_ffffff_256x240.png vendored Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

0
3rdparty/timepicker/css/include/jquery-1.5.1.min.js vendored Normal file → Executable file
View File

0
3rdparty/timepicker/css/include/jquery-ui-1.8.14.custom.css vendored Normal file → Executable file
View File

0
3rdparty/timepicker/css/include/jquery.ui.core.min.js vendored Normal file → Executable file
View File

0
3rdparty/timepicker/css/include/jquery.ui.position.min.js vendored Normal file → Executable file
View File

0
3rdparty/timepicker/css/include/jquery.ui.tabs.min.js vendored Normal file → Executable file
View File

0
3rdparty/timepicker/css/include/jquery.ui.widget.min.js vendored Normal file → Executable file
View File

View File

Before

Width:  |  Height:  |  Size: 260 B

After

Width:  |  Height:  |  Size: 260 B

View File

Before

Width:  |  Height:  |  Size: 251 B

After

Width:  |  Height:  |  Size: 251 B

View File

Before

Width:  |  Height:  |  Size: 178 B

After

Width:  |  Height:  |  Size: 178 B

View File

Before

Width:  |  Height:  |  Size: 104 B

After

Width:  |  Height:  |  Size: 104 B

View File

Before

Width:  |  Height:  |  Size: 125 B

After

Width:  |  Height:  |  Size: 125 B

View File

Before

Width:  |  Height:  |  Size: 105 B

After

Width:  |  Height:  |  Size: 105 B

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

Before

Width:  |  Height:  |  Size: 90 B

After

Width:  |  Height:  |  Size: 90 B

View File

Before

Width:  |  Height:  |  Size: 129 B

After

Width:  |  Height:  |  Size: 129 B

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

2
3rdparty/timepicker/css/jquery.ui.timepicker.css vendored Normal file → Executable file
View File

@ -10,7 +10,7 @@
.ui-timepicker-inline { display: inline; } .ui-timepicker-inline { display: inline; }
#ui-timepicker-div { padding: 0.2em } #ui-timepicker-div { padding: 0.2em; background-color: #fff; }
.ui-timepicker-table { display: inline-table; width: 0; } .ui-timepicker-table { display: inline-table; width: 0; }
.ui-timepicker-table table { margin:0.15em 0 0 0; border-collapse: collapse; } .ui-timepicker-table table { margin:0.15em 0 0 0; border-collapse: collapse; }

94
3rdparty/timepicker/js/i18n/i18n.html vendored Normal file → Executable file
View File

@ -1,6 +1,11 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<!-- Around the world, around the world -->
<!-- Around the world, around the world -->
<!-- Around the world, around the world -->
<!-- Around the world, around the world -->
<meta charset="utf-8"> <meta charset="utf-8">
<title>Internationalisation page for the jquery ui timepicker</title> <title>Internationalisation page for the jquery ui timepicker</title>
@ -14,10 +19,20 @@
<style> <style>
#timepicker { font-size: 10px } #timepicker { font-size: 10px }
</style> </style>
<script src='jquery.ui.timepicker-cs.js'></script>
<script src='jquery.ui.timepicker-de.js'></script> <script src='jquery.ui.timepicker-de.js'></script>
<script src='jquery.ui.timepicker-es.js'></script>
<script src='jquery.ui.timepicker-fr.js'></script> <script src='jquery.ui.timepicker-fr.js'></script>
<script src='jquery.ui.timepicker-hr.js'></script>
<script src='jquery.ui.timepicker-it.js'></script>
<script src='jquery.ui.timepicker-ja.js'></script> <script src='jquery.ui.timepicker-ja.js'></script>
<script src='jquery.ui.timepicker-nl.js'></script>
<script src='jquery.ui.timepicker-pl.js'></script>
<script src='jquery.ui.timepicker-pt-BR.js'></script>
<script src='jquery.ui.timepicker-sl.js'></script>
<script src='jquery.ui.timepicker-sv.js'></script>
<script src='jquery.ui.timepicker-tr.js'></script>
</head> </head>
<body> <body>
@ -32,18 +47,35 @@
showDeselectButton: true showDeselectButton: true
}); });
$('#locale').change(function() { $('#locale').change(updateLocale).keyup(updateLocale);
$('#timepicker').timepicker( "option",
$.timepicker.regional[ $( this ).val() ] );
});
}); });
function updateLocale()
{
$('#timepicker').timepicker( "option",
$.timepicker.regional[ $( '#locale' ).val() ] );
}
</script> </script>
Select a localisation : Select a localisation :
<select id='locale'> <select id='locale'>
<option value='fr'>Fran&ccedil;ais</option> <option>Select a localisation</option>
<option value='de'>Deutsch</option>
<option value='hr'>Croatian/Bosnian</option>
<option value='cs'>Czech</option>
<option value='de'>German (Deutsch)</option>
<option value='nl'>Dutch (Nederlands)</option>
<option value='fr'>Fran&ccedil;ais</option>
<option value='it'>Italian</option>
<option value='ja'>Japanese</option> <option value='ja'>Japanese</option>
<option value='pl'>Polish</option>
<option value="pt-BR">Portuguese/Brazilian</option>
<option value='sl'>Slovenian</option>
<option value='es'>Spanish</option>
<option value='sv'>Swedish</option>
<option value='tr'>Turkish</option>
</select> </select>
<br> <br>
@ -56,18 +88,60 @@
List of localisations : List of localisations :
<ul> <ul>
<li> <li>
<a href="jquery.ui.timepicker-de.js">Deutsch (jquery.ui.timepicker-de.js</a> <a href="jquery.ui.timepicker-hr.js">Croatian/Bosnian (jquery.ui.timepicker.hr.js)</a>
</li> </li>
<li> <li>
<a href="jquery.ui.timepicker-fr.js">Fran&ccedil;ais (jquery.ui.timepicker-fr.js</a> <a href="jquery.ui.timepicker-cs.js">Czech (jquery.ui.timepicker-cs.js</a>
</li> </li>
<li> <li>
<a href="jquery.ui.timepicker-ja.js">Japanese (jquery.ui.timepicker-ja.js</a> <a href="jquery.ui.timepicker-de.js">German (Deutsch) (jquery.ui.timepicker-de.js)</a>
</li>
<li>
<a href="jquery.ui.timepicker-nl.js">Dutch (Nederlands) (jquery.ui.timepicker-nl.js)</a>
</li>
<li>
<a href="jquery.ui.timepicker-fr.js">Fran&ccedil;ais (jquery.ui.timepicker-fr.js)</a>
</li>
<li>
<a href="jquery.ui.timepicker-it.js">Italian (jquery.ui.timepicker-it.js)</a>
</li>
<li>
<a href="jquery.ui.timepicker-ja.js">Japanese (jquery.ui.timepicker-ja.js)</a>
</li>
<li>
<a href="jquery.ui.timepicker-pl.js">Polish (jquery.ui.timepicker-pl.js)</a>
</li>
<li>
<a href="jquery.ui.timepicker-pt-BR.js">Portuguese/Brazilian (jquery.ui.timepicker-pt-BR.js)</a>
</li>
<li>
<a href="jquery.ui.timepicker-sl.js">Slovenian (jquery.ui.timepicker-sl.js)</a>
</li>
<li>
<a href="jquery.ui.timepicker-sv.js">Swedish (jquery.ui.timepicker-sv.js)</a>
</li>
<li>
<a href="jquery.ui.timepicker-es.js">Spanish (jquery.ui.timepicker-es.js)</a>
</li>
<li>
<a href="jquery.ui.timepicker-sv.js">Turkish (jquery.ui.timepicker-tr.js)</a>
</li> </li>
</ul> </ul>
</body> </body>
</html>

View File

@ -0,0 +1,12 @@
/* Czech initialisation for the timepicker plugin */
/* Written by David Spohr (spohr.david at gmail). */
jQuery(function($){
$.timepicker.regional['cs'] = {
hourText: 'Hodiny',
minuteText: 'Minuty',
amPmText: ['AM', 'PM'] ,
closeButtonText: 'Zavřít',
nowButtonText: 'Nyní',
deselectButtonText: 'Odoznačit' }
$.timepicker.setDefaults($.timepicker.regional['cs']);
});

9
3rdparty/timepicker/js/i18n/jquery.ui.timepicker-de.js vendored Normal file → Executable file
View File

@ -1,9 +1,12 @@
/* Deutsch initialisation for the timepicker plugin */ /* German initialisation for the timepicker plugin */
/* Written by Bernd Plagge (bplagge@choicenet.ne.jp). */ /* Written by Lowie Hulzinga. */
jQuery(function($){ jQuery(function($){
$.timepicker.regional['de'] = { $.timepicker.regional['de'] = {
hourText: 'Stunde', hourText: 'Stunde',
minuteText: 'Minuten', minuteText: 'Minuten',
amPmText: ['AM', 'PM'] } amPmText: ['AM', 'PM'] ,
closeButtonText: 'Beenden',
nowButtonText: 'Aktuelle Zeit',
deselectButtonText: 'Wischen' }
$.timepicker.setDefaults($.timepicker.regional['de']); $.timepicker.setDefaults($.timepicker.regional['de']);
}); });

View File

@ -0,0 +1,12 @@
/* Spanish initialisation for the jQuery time picker plugin. */
/* Writen by Jandro González (agonzalezalves@gmail.com) */
jQuery(function($){
$.timepicker.regional['es'] = {
hourText: 'Hora',
minuteText: 'Minuto',
amPmText: ['AM', 'PM'],
closeButtonText: 'Aceptar',
nowButtonText: 'Ahora',
deselectButtonText: 'Deseleccionar' }
$.timepicker.setDefaults($.timepicker.regional['es']);
});

0
3rdparty/timepicker/js/i18n/jquery.ui.timepicker-fr.js vendored Normal file → Executable file
View File

View File

@ -0,0 +1,13 @@
/* Croatian/Bosnian initialisation for the timepicker plugin */
/* Written by Rene Brakus (rene.brakus@infobip.com). */
jQuery(function($){
$.timepicker.regional['hr'] = {
hourText: 'Sat',
minuteText: 'Minuta',
amPmText: ['Prijepodne', 'Poslijepodne'],
closeButtonText: 'Zatvoriti',
nowButtonText: 'Sada',
deselectButtonText: 'Poništite'}
$.timepicker.setDefaults($.timepicker.regional['hr']);
});

View File

@ -0,0 +1,12 @@
/* Italian initialisation for the jQuery time picker plugin. */
/* Written by Serge Margarita (serge.margarita@gmail.com) */
jQuery(function($){
$.timepicker.regional['it'] = {
hourText: 'Ore',
minuteText: 'Minuti',
amPmText: ['AM', 'PM'],
closeButtonText: 'Chiudi',
nowButtonText: 'Adesso',
deselectButtonText: 'Svuota' }
$.timepicker.setDefaults($.timepicker.regional['it']);
});

5
3rdparty/timepicker/js/i18n/jquery.ui.timepicker-ja.js vendored Normal file → Executable file
View File

@ -4,6 +4,9 @@ jQuery(function($){
$.timepicker.regional['ja'] = { $.timepicker.regional['ja'] = {
hourText: '時間', hourText: '時間',
minuteText: '分', minuteText: '分',
amPmText: ['午前', '午後'] } amPmText: ['午前', '午後'],
closeButtonText: '閉じる',
nowButtonText: '現時',
deselectButtonText: '選択解除' }
$.timepicker.setDefaults($.timepicker.regional['ja']); $.timepicker.setDefaults($.timepicker.regional['ja']);
}); });

View File

@ -0,0 +1,12 @@
/* Nederlands initialisation for the timepicker plugin */
/* Written by Lowie Hulzinga. */
jQuery(function($){
$.timepicker.regional['nl'] = {
hourText: 'Uren',
minuteText: 'Minuten',
amPmText: ['AM', 'PM'],
closeButtonText: 'Sluiten',
nowButtonText: 'Actuele tijd',
deselectButtonText: 'Wissen' }
$.timepicker.setDefaults($.timepicker.regional['nl']);
});

View File

@ -0,0 +1,12 @@
/* Polish initialisation for the timepicker plugin */
/* Written by Mateusz Wadolkowski (mw@pcdoctor.pl). */
jQuery(function($){
$.timepicker.regional['pl'] = {
hourText: 'Godziny',
minuteText: 'Minuty',
amPmText: ['', ''],
closeButtonText: 'Zamknij',
nowButtonText: 'Teraz',
deselectButtonText: 'Odznacz'}
$.timepicker.setDefaults($.timepicker.regional['pl']);
});

View File

@ -0,0 +1,12 @@
/* Brazilan initialisation for the timepicker plugin */
/* Written by Daniel Almeida (quantodaniel@gmail.com). */
jQuery(function($){
$.timepicker.regional['pt-BR'] = {
hourText: 'Hora',
minuteText: 'Minuto',
amPmText: ['AM', 'PM'],
closeButtonText: 'Fechar',
nowButtonText: 'Agora',
deselectButtonText: 'Limpar' }
$.timepicker.setDefaults($.timepicker.regional['pt-BR']);
});

View File

@ -0,0 +1,12 @@
/* Slovenian localization for the jQuery time picker plugin. */
/* Written by Blaž Maležič (blaz@malezic.si) */
jQuery(function($){
$.timepicker.regional['sl'] = {
hourText: 'Ure',
minuteText: 'Minute',
amPmText: ['AM', 'PM'],
closeButtonText: 'Zapri',
nowButtonText: 'Zdaj',
deselectButtonText: 'Pobriši' }
$.timepicker.setDefaults($.timepicker.regional['sl']);
});

View File

@ -0,0 +1,12 @@
/* Swedish initialisation for the timepicker plugin */
/* Written by Björn Westlin (bjorn.westlin@su.se). */
jQuery(function($){
$.timepicker.regional['sv'] = {
hourText: 'Timme',
minuteText: 'Minut',
amPmText: ['AM', 'PM'] ,
closeButtonText: 'Stäng',
nowButtonText: 'Nu',
deselectButtonText: 'Rensa' }
$.timepicker.setDefaults($.timepicker.regional['sv']);
});

View File

@ -0,0 +1,12 @@
/* Turkish initialisation for the jQuery time picker plugin. */
/* Written by Mutlu Tevfik Koçak (mtkocak@gmail.com) */
jQuery(function($){
$.timepicker.regional['tr'] = {
hourText: 'Saat',
minuteText: 'Dakika',
amPmText: ['AM', 'PM'],
closeButtonText: 'Kapat',
nowButtonText: 'Şu anda',
deselectButtonText: 'Seçimi temizle' }
$.timepicker.setDefaults($.timepicker.regional['tr']);
});

115
3rdparty/timepicker/js/jquery.ui.timepicker.js vendored Normal file → Executable file
View File

@ -1,5 +1,5 @@
/* /*
* jQuery UI Timepicker 0.2.9 * jQuery UI Timepicker 0.3.1
* *
* Copyright 2010-2011, Francois Gelinas * Copyright 2010-2011, Francois Gelinas
* Dual licensed under the MIT or GPL Version 2 licenses. * Dual licensed under the MIT or GPL Version 2 licenses.
@ -38,12 +38,12 @@
->T-Rex<- ->T-Rex<-
*/ */
(function ($, undefined) { (function ($) {
$.extend($.ui, { timepicker: { version: "0.2.9"} }); $.extend($.ui, { timepicker: { version: "0.3.1"} });
var PROP_NAME = 'timepicker'; var PROP_NAME = 'timepicker',
var tpuuid = new Date().getTime(); tpuuid = new Date().getTime();
/* Time picker manager. /* Time picker manager.
Use the singleton instance of this class, $.timepicker, to interact with the time picker. Use the singleton instance of this class, $.timepicker, to interact with the time picker.
@ -53,7 +53,6 @@
function Timepicker() { function Timepicker() {
this.debug = true; // Change this to true to start debugging this.debug = true; // Change this to true to start debugging
this._curInst = null; // The current instance in use this._curInst = null; // The current instance in use
this._isInline = false; // true if the instance is displayed inline
this._disabledInputs = []; // List of time picker inputs that have been disabled this._disabledInputs = []; // List of time picker inputs that have been disabled
this._timepickerShowing = false; // True if the popup picker is showing , false if not this._timepickerShowing = false; // True if the popup picker is showing , false if not
this._inDialog = false; // True if showing within a "dialog", false if not this._inDialog = false; // True if showing within a "dialog", false if not
@ -267,17 +266,23 @@
input[isRTL ? 'before' : 'after'](inst.append); input[isRTL ? 'before' : 'after'](inst.append);
} }
input.unbind('focus.timepicker', this._showTimepicker); input.unbind('focus.timepicker', this._showTimepicker);
input.unbind('click.timepicker', this._adjustZIndex);
if (inst.trigger) { inst.trigger.remove(); } if (inst.trigger) { inst.trigger.remove(); }
var showOn = this._get(inst, 'showOn'); var showOn = this._get(inst, 'showOn');
if (showOn == 'focus' || showOn == 'both') { // pop-up time picker when in the marked field if (showOn == 'focus' || showOn == 'both') { // pop-up time picker when in the marked field
input.bind("focus.timepicker", this._showTimepicker); input.bind("focus.timepicker", this._showTimepicker);
input.bind("click.timepicker", this._adjustZIndex);
} }
if (showOn == 'button' || showOn == 'both') { // pop-up time picker when 'button' element is clicked if (showOn == 'button' || showOn == 'both') { // pop-up time picker when 'button' element is clicked
var button = this._get(inst, 'button'); var button = this._get(inst, 'button');
$(button).bind("click.timepicker", function () { $(button).bind("click.timepicker", function () {
if ($.timepicker._timepickerShowing && $.timepicker._lastInput == input[0]) { $.timepicker._hideTimepicker(); } if ($.timepicker._timepickerShowing && $.timepicker._lastInput == input[0]) {
else { $.timepicker._showTimepicker(input[0]); } $.timepicker._hideTimepicker();
} else if (!inst.input.is(':disabled')) {
$.timepicker._showTimepicker(input[0]);
}
return false; return false;
}); });
@ -303,12 +308,19 @@
inst.tpDiv.show(); inst.tpDiv.show();
}, },
_adjustZIndex: function(input) {
input = input.target || input;
var inst = $.timepicker._getInst(input);
inst.tpDiv.css('zIndex', $.timepicker._getZIndex(input) +1);
},
/* Pop-up the time picker for a given input field. /* Pop-up the time picker for a given input field.
@param input element - the input field attached to the time picker or @param input element - the input field attached to the time picker or
event - if triggered by focus */ event - if triggered by focus */
_showTimepicker: function (input) { _showTimepicker: function (input) {
input = input.target || input; input = input.target || input;
if (input.nodeName.toLowerCase() != 'input') { input = $('input', input.parentNode)[0]; } // find from button/image trigger if (input.nodeName.toLowerCase() != 'input') { input = $('input', input.parentNode)[0]; } // find from button/image trigger
if ($.timepicker._isDisabledTimepicker(input) || $.timepicker._lastInput == input) { return; } // already here if ($.timepicker._isDisabledTimepicker(input) || $.timepicker._lastInput == input) { return; } // already here
// fix v 0.0.8 - close current timepicker before showing another one // fix v 0.0.8 - close current timepicker before showing another one
@ -389,7 +401,8 @@
}; };
// Fixed the zIndex problem for real (I hope) - FG - v 0.2.9 // Fixed the zIndex problem for real (I hope) - FG - v 0.2.9
inst.tpDiv.css('zIndex', $.timepicker._getZIndex(input) +1); $.timepicker._adjustZIndex(input);
//inst.tpDiv.css('zIndex', $.timepicker._getZIndex(input) +1);
if ($.effects && $.effects[showAnim]) { if ($.effects && $.effects[showAnim]) {
inst.tpDiv.show(showAnim, $.timepicker._get(inst, 'showOptions'), duration, postProcess); inst.tpDiv.show(showAnim, $.timepicker._get(inst, 'showOptions'), duration, postProcess);
@ -419,6 +432,16 @@
} }
}, },
/* Refresh the time picker
@param target element - The target input field or inline container element. */
_refreshTimepicker: function(target) {
var inst = this._getInst(target);
if (inst) {
this._updateTimepicker(inst);
}
},
/* Generate the time picker content. */ /* Generate the time picker content. */
_updateTimepicker: function (inst) { _updateTimepicker: function (inst) {
inst.tpDiv.empty().append(this._generateHTML(inst)); inst.tpDiv.empty().append(this._generateHTML(inst));
@ -467,7 +490,7 @@
.find('.' + this._dayOverClass + ' a') .find('.' + this._dayOverClass + ' a')
.trigger('mouseover') .trigger('mouseover')
.end() .end()
.find('.ui-timepicker-now').bind("click",function(e) { .find('.ui-timepicker-now').bind("click", function(e) {
$.timepicker.selectNow(e); $.timepicker.selectNow(e);
}).end() }).end()
.find('.ui-timepicker-deselect').bind("click",function(e) { .find('.ui-timepicker-deselect').bind("click",function(e) {
@ -786,6 +809,26 @@
}, },
/* Detach a timepicker from its control.
@param target element - the target input field or division or span */
_destroyTimepicker: function(target) {
var $target = $(target);
var inst = $.data(target, PROP_NAME);
if (!$target.hasClass(this.markerClassName)) {
return;
}
var nodeName = target.nodeName.toLowerCase();
$.removeData(target, PROP_NAME);
if (nodeName == 'input') {
inst.append.remove();
inst.trigger.remove();
$target.removeClass(this.markerClassName)
.unbind('focus.timepicker', this._showTimepicker)
.unbind('click.timepicker', this._adjustZIndex);
} else if (nodeName == 'div' || nodeName == 'span')
$target.removeClass(this.markerClassName).empty();
},
/* Enable the date picker to a jQuery selection. /* Enable the date picker to a jQuery selection.
@param target element - the target input field or division or span */ @param target element - the target input field or division or span */
_enableTimepicker: function(target) { _enableTimepicker: function(target) {
@ -799,12 +842,17 @@
var nodeName = target.nodeName.toLowerCase(); var nodeName = target.nodeName.toLowerCase();
if (nodeName == 'input') { if (nodeName == 'input') {
target.disabled = false; target.disabled = false;
var button = this._get(inst, 'button');
$(button).removeClass('ui-state-disabled').disabled = false;
inst.trigger.filter('button'). inst.trigger.filter('button').
each(function() { this.disabled = false; }).end(); each(function() { this.disabled = false; }).end();
} }
else if (nodeName == 'div' || nodeName == 'span') { else if (nodeName == 'div' || nodeName == 'span') {
var inline = $target.children('.' + this._inlineClass); var inline = $target.children('.' + this._inlineClass);
inline.children().removeClass('ui-state-disabled'); inline.children().removeClass('ui-state-disabled');
inline.find('button').each(
function() { this.disabled = false }
)
} }
this._disabledInputs = $.map(this._disabledInputs, this._disabledInputs = $.map(this._disabledInputs,
function(value) { return (value == target_id ? null : value); }); // delete entry function(value) { return (value == target_id ? null : value); }); // delete entry
@ -820,6 +868,9 @@
} }
var nodeName = target.nodeName.toLowerCase(); var nodeName = target.nodeName.toLowerCase();
if (nodeName == 'input') { if (nodeName == 'input') {
var button = this._get(inst, 'button');
$(button).addClass('ui-state-disabled').disabled = true;
target.disabled = true; target.disabled = true;
inst.trigger.filter('button'). inst.trigger.filter('button').
@ -829,6 +880,10 @@
else if (nodeName == 'div' || nodeName == 'span') { else if (nodeName == 'div' || nodeName == 'span') {
var inline = $target.children('.' + this._inlineClass); var inline = $target.children('.' + this._inlineClass);
inline.children().addClass('ui-state-disabled'); inline.children().addClass('ui-state-disabled');
inline.find('button').each(
function() { this.disabled = true }
)
} }
this._disabledInputs = $.map(this._disabledInputs, this._disabledInputs = $.map(this._disabledInputs,
function(value) { return (value == target ? null : value); }); // delete entry function(value) { return (value == target ? null : value); }); // delete entry
@ -923,13 +978,9 @@
(showAnim == 'fadeIn' ? 'fadeOut' : 'hide'))]((showAnim ? duration : null), postProcess); (showAnim == 'fadeIn' ? 'fadeOut' : 'hide'))]((showAnim ? duration : null), postProcess);
} }
if (!showAnim) { postProcess(); } if (!showAnim) { postProcess(); }
var onClose = this._get(inst, 'onClose');
if (onClose) {
onClose.apply(
(inst.input ? inst.input[0] : null),
[(inst.input ? inst.input.val() : ''), inst]); // trigger custom callback
}
this._timepickerShowing = false; this._timepickerShowing = false;
this._lastInput = null; this._lastInput = null;
if (this._inDialog) { if (this._inDialog) {
this._dialogInput.css({ position: 'absolute', left: '0', top: '-100px' }); this._dialogInput.css({ position: 'absolute', left: '0', top: '-100px' });
@ -939,6 +990,14 @@
} }
} }
this._inDialog = false; this._inDialog = false;
var onClose = this._get(inst, 'onClose');
if (onClose) {
onClose.apply(
(inst.input ? inst.input[0] : null),
[(inst.input ? inst.input.val() : ''), inst]); // trigger custom callback
}
} }
}, },
@ -1106,12 +1165,10 @@
return retVal; return retVal;
}, },
selectNow: function(e) { selectNow: function(event) {
var id = $(event.target).attr("data-timepicker-instance-id"),
var id = $(e.target).attr("data-timepicker-instance-id"),
$target = $(id), $target = $(id),
inst = this._getInst($target[0]); inst = this._getInst($target[0]);
//if (!inst || (input && inst != $.data(input, PROP_NAME))) { return; } //if (!inst || (input && inst != $.data(input, PROP_NAME))) { return; }
var currentTime = new Date(); var currentTime = new Date();
inst.hours = currentTime.getHours(); inst.hours = currentTime.getHours();
@ -1121,8 +1178,8 @@
this._hideTimepicker(); this._hideTimepicker();
}, },
deselectTime: function(e) { deselectTime: function(event) {
var id = $(e.target).attr("data-timepicker-instance-id"), var id = $(event.target).attr("data-timepicker-instance-id"),
$target = $(id), $target = $(id),
inst = this._getInst($target[0]); inst = this._getInst($target[0]);
inst.hours = -1; inst.hours = -1;
@ -1135,7 +1192,7 @@
selectHours: function (event) { selectHours: function (event) {
var $td = $(event.currentTarget), var $td = $(event.currentTarget),
id = $td.attr("data-timepicker-instance-id"), id = $td.attr("data-timepicker-instance-id"),
newHours = $td.attr("data-hour"), newHours = parseInt($td.attr("data-hour")),
fromDoubleClick = event.data.fromDoubleClick, fromDoubleClick = event.data.fromDoubleClick,
$target = $(id), $target = $(id),
inst = this._getInst($target[0]), inst = this._getInst($target[0]),
@ -1168,7 +1225,7 @@
selectMinutes: function (event) { selectMinutes: function (event) {
var $td = $(event.currentTarget), var $td = $(event.currentTarget),
id = $td.attr("data-timepicker-instance-id"), id = $td.attr("data-timepicker-instance-id"),
newMinutes = $td.attr("data-minute"), newMinutes = parseInt($td.attr("data-minute")),
fromDoubleClick = event.data.fromDoubleClick, fromDoubleClick = event.data.fromDoubleClick,
$target = $(id), $target = $(id),
inst = this._getInst($target[0]), inst = this._getInst($target[0]),
@ -1213,8 +1270,10 @@
return ''; return '';
} }
if ((inst.hours < 0) || (inst.hours > 23)) { inst.hours = 12; } // default to 0 AM if hours is not valid
if ((inst.minutes < 0) || (inst.minutes > 59)) { inst.minutes = 0; } if ((inst.hours < inst.hours.starts) || (inst.hours > inst.hours.ends )) { inst.hours = 0; }
// default to 0 minutes if minute is not valid
if ((inst.minutes < inst.minutes.starts) || (inst.minutes > inst.minutes.ends)) { inst.minutes = 0; }
var period = "", var period = "",
showPeriod = (this._get(inst, 'showPeriod') == true), showPeriod = (this._get(inst, 'showPeriod') == true),
@ -1309,6 +1368,8 @@
$.timepicker.initialized = true; $.timepicker.initialized = true;
} }
var otherArgs = Array.prototype.slice.call(arguments, 1); var otherArgs = Array.prototype.slice.call(arguments, 1);
if (typeof options == 'string' && (options == 'getTime' || options == 'getHour' || options == 'getMinute' )) if (typeof options == 'string' && (options == 'getTime' || options == 'getHour' || options == 'getMinute' ))
return $.timepicker['_' + options + 'Timepicker']. return $.timepicker['_' + options + 'Timepicker'].
@ -1336,7 +1397,7 @@
$.timepicker = new Timepicker(); // singleton instance $.timepicker = new Timepicker(); // singleton instance
$.timepicker.initialized = false; $.timepicker.initialized = false;
$.timepicker.uuid = new Date().getTime(); $.timepicker.uuid = new Date().getTime();
$.timepicker.version = "0.2.9"; $.timepicker.version = "0.3.1";
// Workaround for #4055 // Workaround for #4055
// Add another global to avoid noConflict issues with inline event handlers // Add another global to avoid noConflict issues with inline event handlers

10
3rdparty/timepicker/releases.txt vendored Normal file → Executable file
View File

@ -1,3 +1,13 @@
Release 0.3.0 - 27 March 2012
Fixed a zIndex problem in jQuery Dialog when the user clicked on the input while the timepicker was still visible.
Added Czech translation, thanks David Spohr
Added Swedish translation, thanks Björn Westlin
Added Dutch translation, thanks Lowie Hulzinga
Prevent showing the timepicker dialog with the button when disabled(Thanks ruhley. ref #38)
Add ui-state-disabled class to button trigger when disabled.
Fixed onClose function on first time passes the hours variable as string (Thanks Zanisimo, ref #39)
Added "refresh" method $('selector').timepicker('refresh');
Release 0.2.9 - November 13, 2011 Release 0.2.9 - November 13, 2011
Fixed the zIndex problem and removed the zIndex option (Thanks everyone who reported the problem) Fixed the zIndex problem and removed the zIndex option (Thanks everyone who reported the problem)
Fix a bug where repeatedly clicking on hour cells made the timepicker very slow. Fix a bug where repeatedly clicking on hour cells made the timepicker very slow.

View File

@ -15,9 +15,9 @@ var FileList={
extension=false; extension=false;
} }
html+='<td class="filename" style="background-image:url('+img+')"><input type="checkbox" />'; html+='<td class="filename" style="background-image:url('+img+')"><input type="checkbox" />';
html+='<a class="name" href="download.php?file='+$('#dir').val().replace(/</, '&lt;').replace(/>/, '&gt;')+'/'+name+'"><span class="nametext">'+basename; html+='<a class="name" href="download.php?file='+$('#dir').val().replace(/</, '&lt;').replace(/>/, '&gt;')+'/'+escapeHTML(name)+'"><span class="nametext">'+escapeHTML(basename);
if(extension){ if(extension){
html+='<span class="extension">'+extension+'</span>'; html+='<span class="extension">'+escapeHTML(extension)+'</span>';
} }
html+='</span></a></td>'; html+='</span></a></td>';
if(size!='Pending'){ if(size!='Pending'){
@ -189,9 +189,9 @@ var FileList={
checkName:function(oldName, newName, isNewFile) { checkName:function(oldName, newName, isNewFile) {
if (isNewFile || $('tr').filterAttr('data-file', newName).length > 0) { if (isNewFile || $('tr').filterAttr('data-file', newName).length > 0) {
if (isNewFile) { if (isNewFile) {
$('#notification').html(newName+' '+t('files', 'already exists')+'<span class="replace">'+t('files', 'replace')+'</span><span class="suggest">'+t('files', 'suggest name')+'</span><span class="cancel">'+t('files', 'cancel')+'</span>'); $('#notification').html(escapeHTML(newName)+' '+t('files', 'already exists')+'<span class="replace">'+t('files', 'replace')+'</span><span class="suggest">'+t('files', 'suggest name')+'</span><span class="cancel">'+t('files', 'cancel')+'</span>');
} else { } else {
$('#notification').html(newName+' '+t('files', 'already exists')+'<span class="replace">'+t('files', 'replace')+'</span><span class="cancel">'+t('files', 'cancel')+'</span>'); $('#notification').html(escapeHTML(newName)+' '+t('files', 'already exists')+'<span class="replace">'+t('files', 'replace')+'</span><span class="cancel">'+t('files', 'cancel')+'</span>');
} }
$('#notification').data('oldName', oldName); $('#notification').data('oldName', oldName);
$('#notification').data('newName', newName); $('#notification').data('newName', newName);
@ -272,9 +272,9 @@ var FileList={
} else { } else {
// NOTE: Temporary fix to change the text to unshared for files in root of Shared folder // NOTE: Temporary fix to change the text to unshared for files in root of Shared folder
if ($('#dir').val() == '/Shared') { if ($('#dir').val() == '/Shared') {
$('#notification').html(t('files', 'unshared')+' '+files+'<span class="undo">'+t('files', 'undo')+'</span>'); $('#notification').html(t('files', 'unshared')+' '+ escapeHTML(files) +'<span class="undo">'+t('files', 'undo')+'</span>');
} else { } else {
$('#notification').html(t('files', 'deleted')+' '+files+'<span class="undo">'+t('files', 'undo')+'</span>'); $('#notification').html(t('files', 'deleted')+' '+ escapeHTML(files)+'<span class="undo">'+t('files', 'undo')+'</span>');
} }
$('#notification').fadeIn(); $('#notification').fadeIn();
} }

View File

@ -209,7 +209,7 @@ $(document).ready(function() {
var totalSize=0; var totalSize=0;
if(files){ if(files){
for(var i=0;i<files.length;i++){ for(var i=0;i<files.length;i++){
if(files[i].size ==0 && files[i].type== '') if(files[i].size ==0 || files[i].type== '')
{ {
OC.dialogs.alert(t('files', 'Unable to upload your file as it is a directory or has 0 bytes'), t('files', 'Upload Error')); OC.dialogs.alert(t('files', 'Unable to upload your file as it is a directory or has 0 bytes'), t('files', 'Upload Error'));
return; return;
@ -282,7 +282,7 @@ $(document).ready(function() {
var fileName = files[i].name var fileName = files[i].name
var dropTarget = $(e.originalEvent.target).closest('tr'); var dropTarget = $(e.originalEvent.target).closest('tr');
if(dropTarget && dropTarget.attr('data-type') === 'dir') { // drag&drop upload to folder if(dropTarget && dropTarget.attr('data-type') === 'dir') { // drag&drop upload to folder
var dirName = dropTarget.attr('data-file') var dirName = dropTarget.attr('data-file');
var jqXHR = $('.file_upload_start').fileupload('send', {files: files[i], var jqXHR = $('.file_upload_start').fileupload('send', {files: files[i],
formData: function(form) { formData: function(form) {
var formArray = form.serializeArray(); var formArray = form.serializeArray();

View File

@ -23,6 +23,8 @@
"Unable to upload your file as it is a directory or has 0 bytes" => "Kunne ikke uploade din fil, da det enten er en mappe eller er tom", "Unable to upload your file as it is a directory or has 0 bytes" => "Kunne ikke uploade din fil, da det enten er en mappe eller er tom",
"Upload Error" => "Fejl ved upload", "Upload Error" => "Fejl ved upload",
"Pending" => "Afventer", "Pending" => "Afventer",
"1 file uploading" => "1 fil uploades",
"files uploading" => "filer uploades",
"Upload cancelled." => "Upload afbrudt.", "Upload cancelled." => "Upload afbrudt.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret.", "File upload is in progress. Leaving the page now will cancel the upload." => "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret.",
"Invalid name, '/' is not allowed." => "Ugyldigt navn, '/' er ikke tilladt.", "Invalid name, '/' is not allowed." => "Ugyldigt navn, '/' er ikke tilladt.",
@ -35,6 +37,16 @@
"folders" => "mapper", "folders" => "mapper",
"file" => "fil", "file" => "fil",
"files" => "filer", "files" => "filer",
"seconds ago" => "sekunder siden",
"minute ago" => "minut siden",
"minutes ago" => "minutter",
"today" => "i dag",
"yesterday" => "i går",
"days ago" => "dage siden",
"last month" => "sidste måned",
"months ago" => "måneder siden",
"last year" => "sidste år",
"years ago" => "år siden",
"File handling" => "Filhåndtering", "File handling" => "Filhåndtering",
"Maximum upload size" => "Maksimal upload-størrelse", "Maximum upload size" => "Maksimal upload-størrelse",
"max. possible: " => "max. mulige: ", "max. possible: " => "max. mulige: ",

View File

@ -9,6 +9,7 @@
"Files" => "文件", "Files" => "文件",
"Unshare" => "取消共享", "Unshare" => "取消共享",
"Delete" => "删除", "Delete" => "删除",
"Rename" => "重命名",
"already exists" => "已经存在了", "already exists" => "已经存在了",
"replace" => "替换", "replace" => "替换",
"suggest name" => "推荐名称", "suggest name" => "推荐名称",
@ -22,6 +23,8 @@
"Unable to upload your file as it is a directory or has 0 bytes" => "不能上传你指定的文件,可能因为它是个文件夹或者大小为0", "Unable to upload your file as it is a directory or has 0 bytes" => "不能上传你指定的文件,可能因为它是个文件夹或者大小为0",
"Upload Error" => "上传错误", "Upload Error" => "上传错误",
"Pending" => "Pending", "Pending" => "Pending",
"1 file uploading" => "1 个文件正在上传",
"files uploading" => "个文件正在上传",
"Upload cancelled." => "上传取消了", "Upload cancelled." => "上传取消了",
"File upload is in progress. Leaving the page now will cancel the upload." => "文件正在上传。关闭页面会取消上传。", "File upload is in progress. Leaving the page now will cancel the upload." => "文件正在上传。关闭页面会取消上传。",
"Invalid name, '/' is not allowed." => "非法文件名,\"/\"是不被许可的", "Invalid name, '/' is not allowed." => "非法文件名,\"/\"是不被许可的",
@ -34,6 +37,16 @@
"folders" => "文件夹", "folders" => "文件夹",
"file" => "文件", "file" => "文件",
"files" => "文件", "files" => "文件",
"seconds ago" => "秒前",
"minute ago" => "分钟前",
"minutes ago" => "分钟前",
"today" => "今天",
"yesterday" => "昨天",
"days ago" => "天前",
"last month" => "上个月",
"months ago" => "月前",
"last year" => "去年",
"years ago" => "年前",
"File handling" => "文件处理中", "File handling" => "文件处理中",
"Maximum upload size" => "最大上传大小", "Maximum upload size" => "最大上传大小",
"max. possible: " => "最大可能", "max. possible: " => "最大可能",

View File

@ -1,4 +1,10 @@
<?php $TRANSLATIONS = array( <?php $TRANSLATIONS = array(
"Access granted" => "Adgang godkendt",
"Error configuring Dropbox storage" => "Fejl ved konfiguration af Dropbox plads",
"Grant access" => "Godkend adgang",
"Fill out all required fields" => "Udfyld alle nødvendige felter",
"Please provide a valid Dropbox app key and secret." => "Angiv venligst en valid Dropbox app nøgle og hemmelighed",
"Error configuring Google Drive storage" => "Fejl ved konfiguration af Google Drive plads",
"External Storage" => "Ekstern opbevaring", "External Storage" => "Ekstern opbevaring",
"Mount point" => "Monteringspunkt", "Mount point" => "Monteringspunkt",
"Backend" => "Backend", "Backend" => "Backend",

View File

@ -1,9 +1,9 @@
<?php $TRANSLATIONS = array( <?php $TRANSLATIONS = array(
"Access granted" => "Zugriff erlaubt", "Access granted" => "Zugriff gestattet",
"Error configuring Dropbox storage" => "Fehler beim Einrichten von Dropbox", "Error configuring Dropbox storage" => "Fehler beim Einrichten von Dropbox",
"Grant access" => "Zugriff erlauben", "Grant access" => "Zugriff gestatten",
"Fill out all required fields" => "Alle notwendigen Felder füllen", "Fill out all required fields" => "Bitte alle notwendigen Felder füllen",
"Please provide a valid Dropbox app key and secret." => "Bitte geben Sie einen gültigen Dropbox-App-Key mit Secret ein.", "Please provide a valid Dropbox app key and secret." => "Bitte trage einen gültigen Dropbox-App-Key mit Secret ein.",
"Error configuring Google Drive storage" => "Fehler beim Einrichten von Google Drive", "Error configuring Google Drive storage" => "Fehler beim Einrichten von Google Drive",
"External Storage" => "Externer Speicher", "External Storage" => "Externer Speicher",
"Mount point" => "Mount-Point", "Mount point" => "Mount-Point",

View File

@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array( <?php $TRANSLATIONS = array(
"Access granted" => "Pääsy sallittu",
"Error configuring Dropbox storage" => "Virhe Dropbox levyn asetuksia tehtäessä",
"Grant access" => "Salli pääsy",
"Fill out all required fields" => "Täytä kaikki vaaditut kentät",
"Error configuring Google Drive storage" => "Virhe Google Drive levyn asetuksia tehtäessä",
"External Storage" => "Erillinen tallennusväline", "External Storage" => "Erillinen tallennusväline",
"Mount point" => "Liitospiste", "Mount point" => "Liitospiste",
"Backend" => "Taustaosa", "Backend" => "Taustaosa",

View File

@ -1,4 +1,10 @@
<?php $TRANSLATIONS = array( <?php $TRANSLATIONS = array(
"Access granted" => "Toegang toegestaan",
"Error configuring Dropbox storage" => "Fout tijdens het configureren van Dropbox opslag",
"Grant access" => "Sta toegang toe",
"Fill out all required fields" => "Vul alle verplichte in",
"Please provide a valid Dropbox app key and secret." => "Geef een geldige Dropbox key en secret.",
"Error configuring Google Drive storage" => "Fout tijdens het configureren van Google Drive opslag",
"External Storage" => "Externe opslag", "External Storage" => "Externe opslag",
"Mount point" => "Aankoppelpunt", "Mount point" => "Aankoppelpunt",
"Backend" => "Backend", "Backend" => "Backend",

View File

@ -3,6 +3,8 @@
"Error configuring Dropbox storage" => "Ошибка при конфигурировании хранилища Dropbox", "Error configuring Dropbox storage" => "Ошибка при конфигурировании хранилища Dropbox",
"Grant access" => "Предоставить доступ", "Grant access" => "Предоставить доступ",
"Fill out all required fields" => "Заполните все требуемые поля", "Fill out all required fields" => "Заполните все требуемые поля",
"Please provide a valid Dropbox app key and secret." => "Пожалуйста представьте допустимый ключ приложения Dropbox и пароль.",
"Error configuring Google Drive storage" => "Ошибка настройки хранилища Google Drive",
"External Storage" => "Внешние системы хранения данных", "External Storage" => "Внешние системы хранения данных",
"Mount point" => "Точка монтирования", "Mount point" => "Точка монтирования",
"Backend" => "Бэкэнд", "Backend" => "Бэкэнд",

View File

@ -1,4 +1,10 @@
<?php $TRANSLATIONS = array( <?php $TRANSLATIONS = array(
"Access granted" => "已授予权限",
"Error configuring Dropbox storage" => "配置 Dropbox 存储出错",
"Grant access" => "授予权限",
"Fill out all required fields" => "填充全部必填字段",
"Please provide a valid Dropbox app key and secret." => "请提供一个有效的 Dropbox app key 和 secret。",
"Error configuring Google Drive storage" => "配置 Google Drive 存储失败",
"External Storage" => "外部存储", "External Storage" => "外部存储",
"Mount point" => "挂载点", "Mount point" => "挂载点",
"Backend" => "后端", "Backend" => "后端",

View File

@ -288,6 +288,9 @@ class OC_Mount_Config {
if (!is_dir($path)) mkdir($path); if (!is_dir($path)) mkdir($path);
$result = array(); $result = array();
$handle = opendir($path); $handle = opendir($path);
if (!$handle) {
return array();
}
while (false !== ($file = readdir($handle))) { while (false !== ($file = readdir($handle))) {
if($file != '.' && $file != '..') $result[] = $file; if($file != '.' && $file != '..') $result[] = $file;
} }

View File

@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array( <?php $TRANSLATIONS = array(
"Password" => "Пароль", "Password" => "Пароль",
"Submit" => "Передать", "Submit" => "Передать",
"%s shared the folder %s with you" => "%s имеет общий с Вами доступ к папке %s ",
"%s shared the file %s with you" => "%s имеет общий с Вами доступ к файлу %s ",
"Download" => "Загрузка", "Download" => "Загрузка",
"No preview available for" => "Предварительный просмотр недоступен", "No preview available for" => "Предварительный просмотр недоступен",
"web services under your control" => "веб-сервисы под Вашим контролем" "web services under your control" => "веб-сервисы под Вашим контролем"

View File

@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array( <?php $TRANSLATIONS = array(
"Password" => "密码", "Password" => "密码",
"Submit" => "提交", "Submit" => "提交",
"%s shared the folder %s with you" => "%s 与您分享了文件夹 %s",
"%s shared the file %s with you" => "%s 与您分享了文件 %s",
"Download" => "下载", "Download" => "下载",
"No preview available for" => "没有预览可用于", "No preview available for" => "没有预览可用于",
"web services under your control" => "您控制的网络服务" "web services under your control" => "您控制的网络服务"

View File

@ -45,7 +45,7 @@ function createVersionsDropdown(filename, files) {
var historyUrl = OC.linkTo('files_versions', 'history.php') + '?path='+encodeURIComponent( $( '#dir' ).val() ).replace( /%2F/g, '/' )+'/'+encodeURIComponent( filename ); var historyUrl = OC.linkTo('files_versions', 'history.php') + '?path='+encodeURIComponent( $( '#dir' ).val() ).replace( /%2F/g, '/' )+'/'+encodeURIComponent( filename );
var html = '<div id="dropdown" class="drop drop-versions" data-file="'+files+'">'; var html = '<div id="dropdown" class="drop drop-versions" data-file="'+escapeHTML(files)+'">';
html += '<div id="private">'; html += '<div id="private">';
html += '<select data-placeholder="Saved versions" id="found_versions" class="chzen-select" style="width:16em;">'; html += '<select data-placeholder="Saved versions" id="found_versions" class="chzen-select" style="width:16em;">';
html += '<option value=""></option>'; html += '<option value=""></option>';

View File

@ -1,5 +1,6 @@
<?php $TRANSLATIONS = array( <?php $TRANSLATIONS = array(
"Expire all versions" => "作废所有版本", "Expire all versions" => "作废所有版本",
"History" => "历史",
"Versions" => "版本", "Versions" => "版本",
"This will delete all existing backup versions of your files" => "这将删除所有您现有文件的备份版本", "This will delete all existing backup versions of your files" => "这将删除所有您现有文件的备份版本",
"Files Versioning" => "文件版本", "Files Versioning" => "文件版本",

View File

@ -6,15 +6,20 @@
"User DN" => "DN пользователя", "User DN" => "DN пользователя",
"Password" => "Пароль", "Password" => "Пароль",
"For anonymous access, leave DN and Password empty." => "Для анонимного доступа оставьте поля DN и пароль пустыми.", "For anonymous access, leave DN and Password empty." => "Для анонимного доступа оставьте поля DN и пароль пустыми.",
"User Login Filter" => "Фильтр имен пользователей",
"use %%uid placeholder, e.g. \"uid=%%uid\"" => "используйте %%uid заполнитель, например, \"uid=%%uid\"", "use %%uid placeholder, e.g. \"uid=%%uid\"" => "используйте %%uid заполнитель, например, \"uid=%%uid\"",
"without any placeholder, e.g. \"objectClass=person\"." => "без каких-либо заполнителей, например, \"objectClass=person\".", "without any placeholder, e.g. \"objectClass=person\"." => "без каких-либо заполнителей, например, \"objectClass=person\".",
"Group Filter" => "Групповой фильтр", "Group Filter" => "Групповой фильтр",
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "без каких-либо заполнителей, например, \"objectClass=posixGroup\".", "without any placeholder, e.g. \"objectClass=posixGroup\"." => "без каких-либо заполнителей, например, \"objectClass=posixGroup\".",
"Port" => "Порт", "Port" => "Порт",
"Base User Tree" => "Базовое дерево пользователей",
"Group-Member association" => "Связь член-группа",
"Use TLS" => "Использовать TLS", "Use TLS" => "Использовать TLS",
"Do not use it for SSL connections, it will fail." => "Не используйте это SSL-соединений, это не будет выполнено.", "Do not use it for SSL connections, it will fail." => "Не используйте это SSL-соединений, это не будет выполнено.",
"Case insensitve LDAP server (Windows)" => "Нечувствительный к регистру LDAP-сервер (Windows)",
"Turn off SSL certificate validation." => "Выключить проверку сертификата SSL.", "Turn off SSL certificate validation." => "Выключить проверку сертификата SSL.",
"Not recommended, use for testing only." => "Не рекомендовано, используйте только для тестирования.", "Not recommended, use for testing only." => "Не рекомендовано, используйте только для тестирования.",
"User Display Name Field" => "Поле, отображаемое как имя пользователя",
"The LDAP attribute to use to generate the user`s ownCloud name." => "Атрибут LDAP, используемый для создания имени пользователя в ownCloud.", "The LDAP attribute to use to generate the user`s ownCloud name." => "Атрибут LDAP, используемый для создания имени пользователя в ownCloud.",
"The LDAP attribute to use to generate the groups`s ownCloud name." => "Атрибут LDAP, используемый для создания группового имени в ownCloud.", "The LDAP attribute to use to generate the groups`s ownCloud name." => "Атрибут LDAP, используемый для создания группового имени в ownCloud.",
"in bytes" => "в байтах", "in bytes" => "в байтах",

View File

@ -46,6 +46,15 @@ function t(app,text, vars){
} }
t.cache={}; t.cache={};
/*
* Sanitizes a HTML string
* @param string
* @return Sanitized string
*/
function escapeHTML(s) {
return s.toString().split('&').join('&amp;').split('<').join('&lt;').split('"').join('&quot;');
}
/** /**
* Get the path to download a file * Get the path to download a file
* @param file The filename * @param file The filename

View File

@ -25,14 +25,20 @@
"Error while sharing" => "Fejl under deling", "Error while sharing" => "Fejl under deling",
"Error while unsharing" => "Fejl under annullering af deling", "Error while unsharing" => "Fejl under annullering af deling",
"Error while changing permissions" => "Fejl under justering af rettigheder", "Error while changing permissions" => "Fejl under justering af rettigheder",
"Shared with you and the group" => "Delt med dig og gruppen",
"by" => "af",
"Shared with you by" => "Delt med dig af",
"Share with" => "Del med", "Share with" => "Del med",
"Share with link" => "Del med link", "Share with link" => "Del med link",
"Password protect" => "Beskyt med adgangskode", "Password protect" => "Beskyt med adgangskode",
"Password" => "Kodeord", "Password" => "Kodeord",
"Set expiration date" => "Vælg udløbsdato", "Set expiration date" => "Vælg udløbsdato",
"Expiration date" => "Udløbsdato", "Expiration date" => "Udløbsdato",
"Share via email:" => "Del via email:",
"No people found" => "Ingen personer fundet", "No people found" => "Ingen personer fundet",
"Resharing is not allowed" => "Videredeling ikke tilladt", "Resharing is not allowed" => "Videredeling ikke tilladt",
"Shared in" => "Delt i",
"with" => "med",
"Unshare" => "Fjern deling", "Unshare" => "Fjern deling",
"can edit" => "kan redigere", "can edit" => "kan redigere",
"access control" => "Adgangskontrol", "access control" => "Adgangskontrol",
@ -41,6 +47,7 @@
"delete" => "slet", "delete" => "slet",
"share" => "del", "share" => "del",
"Password protected" => "Beskyttet med adgangskode", "Password protected" => "Beskyttet med adgangskode",
"Error unsetting expiration date" => "Fejl ved fjernelse af udløbsdato",
"Error setting expiration date" => "Fejl under sætning af udløbsdato", "Error setting expiration date" => "Fejl under sætning af udløbsdato",
"ownCloud password reset" => "Nulstil ownCloud kodeord", "ownCloud password reset" => "Nulstil ownCloud kodeord",
"Use the following link to reset your password: {link}" => "Anvend følgende link til at nulstille din adgangskode: {link}", "Use the following link to reset your password: {link}" => "Anvend følgende link til at nulstille din adgangskode: {link}",

View File

@ -22,18 +22,28 @@
"Ok" => "Ok", "Ok" => "Ok",
"No categories selected for deletion." => "Luokkia ei valittu poistettavaksi.", "No categories selected for deletion." => "Luokkia ei valittu poistettavaksi.",
"Error" => "Virhe", "Error" => "Virhe",
"Error while sharing" => "Virhe jaettaessa",
"Error while unsharing" => "Virhe jakoa peruttaessa",
"Error while changing permissions" => "Virhe oikeuksia muuttaessa", "Error while changing permissions" => "Virhe oikeuksia muuttaessa",
"Shared with you and the group" => "Jaettu sinulle ja ryhmälle",
"Share with link" => "Jaa linkillä",
"Password protect" => "Suojaa salasanalla", "Password protect" => "Suojaa salasanalla",
"Password" => "Salasana", "Password" => "Salasana",
"Set expiration date" => "Aseta päättymispäivä", "Set expiration date" => "Aseta päättymispäivä",
"Expiration date" => "Päättymispäivä", "Expiration date" => "Päättymispäivä",
"Share via email:" => "Jaa sähköpostilla:",
"No people found" => "Henkilöitä ei löytynyt",
"Resharing is not allowed" => "Jakaminen uudelleen ei ole salittu", "Resharing is not allowed" => "Jakaminen uudelleen ei ole salittu",
"with" => "kanssa",
"Unshare" => "Peru jakaminen",
"can edit" => "voi muokata", "can edit" => "voi muokata",
"access control" => "Pääsyn hallinta",
"create" => "luo", "create" => "luo",
"update" => "päivitä", "update" => "päivitä",
"delete" => "poista", "delete" => "poista",
"share" => "jaa", "share" => "jaa",
"Password protected" => "Salasanasuojattu", "Password protected" => "Salasanasuojattu",
"Error unsetting expiration date" => "Virhe purettaessa eräpäivää",
"Error setting expiration date" => "Virhe päättymispäivää asettaessa", "Error setting expiration date" => "Virhe päättymispäivää asettaessa",
"ownCloud password reset" => "ownCloud-salasanan nollaus", "ownCloud password reset" => "ownCloud-salasanan nollaus",
"Use the following link to reset your password: {link}" => "Voit palauttaa salasanasi seuraavassa osoitteessa: {link}", "Use the following link to reset your password: {link}" => "Voit palauttaa salasanasi seuraavassa osoitteessa: {link}",

View File

@ -25,14 +25,20 @@
"Error while sharing" => "Fout tijdens het delen", "Error while sharing" => "Fout tijdens het delen",
"Error while unsharing" => "Fout tijdens het stoppen met delen", "Error while unsharing" => "Fout tijdens het stoppen met delen",
"Error while changing permissions" => "Fout tijdens het veranderen van permissies", "Error while changing permissions" => "Fout tijdens het veranderen van permissies",
"Shared with you and the group" => "Gedeeld me u en de groep",
"by" => "door",
"Shared with you by" => "Gedeeld met u door",
"Share with" => "Deel met", "Share with" => "Deel met",
"Share with link" => "Deel met link", "Share with link" => "Deel met link",
"Password protect" => "Passeerwoord beveiliging", "Password protect" => "Passeerwoord beveiliging",
"Password" => "Wachtwoord", "Password" => "Wachtwoord",
"Set expiration date" => "Zet vervaldatum", "Set expiration date" => "Zet vervaldatum",
"Expiration date" => "Vervaldatum", "Expiration date" => "Vervaldatum",
"Share via email:" => "Deel via email:",
"No people found" => "Geen mensen gevonden", "No people found" => "Geen mensen gevonden",
"Resharing is not allowed" => "Verder delen is niet toegestaan", "Resharing is not allowed" => "Verder delen is niet toegestaan",
"Shared in" => "Gedeeld in",
"with" => "met",
"Unshare" => "Stop met delen", "Unshare" => "Stop met delen",
"can edit" => "kan wijzigen", "can edit" => "kan wijzigen",
"access control" => "toegangscontrole", "access control" => "toegangscontrole",
@ -41,6 +47,7 @@
"delete" => "verwijderen", "delete" => "verwijderen",
"share" => "deel", "share" => "deel",
"Password protected" => "Passeerwoord beveiligd", "Password protected" => "Passeerwoord beveiligd",
"Error unsetting expiration date" => "Fout tijdens het verwijderen van de verval datum",
"Error setting expiration date" => "Fout tijdens het configureren van de vervaldatum", "Error setting expiration date" => "Fout tijdens het configureren van de vervaldatum",
"ownCloud password reset" => "ownCloud wachtwoord herstellen", "ownCloud password reset" => "ownCloud wachtwoord herstellen",
"Use the following link to reset your password: {link}" => "Gebruik de volgende link om je wachtwoord te resetten: {link}", "Use the following link to reset your password: {link}" => "Gebruik de volgende link om je wachtwoord te resetten: {link}",

View File

@ -15,13 +15,40 @@
"October" => "Outubro", "October" => "Outubro",
"November" => "Novembro", "November" => "Novembro",
"December" => "Dezembro", "December" => "Dezembro",
"Choose" => "Escolha",
"Cancel" => "Cancelar", "Cancel" => "Cancelar",
"No" => "Não", "No" => "Não",
"Yes" => "Sim", "Yes" => "Sim",
"Ok" => "Ok", "Ok" => "Ok",
"No categories selected for deletion." => "Nenhuma categoria seleccionar para eliminar", "No categories selected for deletion." => "Nenhuma categoria seleccionar para eliminar",
"Error" => "Erro", "Error" => "Erro",
"Error while sharing" => "Erro ao partilhar",
"Error while unsharing" => "Erro ao deixar de partilhar",
"Error while changing permissions" => "Erro ao mudar permissões",
"Shared with you and the group" => "Partilhado consigo e o grupo",
"by" => "por",
"Shared with you by" => "Partilhado consigo por",
"Share with" => "Partilhar com",
"Share with link" => "Partilhar com link",
"Password protect" => "Proteger com palavra-passe",
"Password" => "Palavra chave", "Password" => "Palavra chave",
"Set expiration date" => "Especificar data de expiração",
"Expiration date" => "Data de expiração",
"Share via email:" => "Partilhar via email:",
"No people found" => "Não foi encontrado ninguém",
"Resharing is not allowed" => "Não é permitido partilhar de novo",
"Shared in" => "Partilhado em",
"with" => "com",
"Unshare" => "Deixar de partilhar",
"can edit" => "pode editar",
"access control" => "Controlo de acesso",
"create" => "criar",
"update" => "actualizar",
"delete" => "apagar",
"share" => "partilhar",
"Password protected" => "Protegido com palavra-passe",
"Error unsetting expiration date" => "Erro ao retirar a data de expiração",
"Error setting expiration date" => "Erro ao aplicar a data de expiração",
"ownCloud password reset" => "Reposição da password ownCloud", "ownCloud password reset" => "Reposição da password ownCloud",
"Use the following link to reset your password: {link}" => "Use o seguinte endereço para repor a sua password: {link}", "Use the following link to reset your password: {link}" => "Use o seguinte endereço para repor a sua password: {link}",
"You will receive a link to reset your password via Email." => "Vai receber um endereço para repor a sua password", "You will receive a link to reset your password via Email." => "Vai receber um endereço para repor a sua password",
@ -50,6 +77,7 @@
"Database user" => "Utilizador da base de dados", "Database user" => "Utilizador da base de dados",
"Database password" => "Password da base de dados", "Database password" => "Password da base de dados",
"Database name" => "Nome da base de dados", "Database name" => "Nome da base de dados",
"Database tablespace" => "Tablespace da base de dados",
"Database host" => "Host da base de dados", "Database host" => "Host da base de dados",
"Finish setup" => "Acabar instalação", "Finish setup" => "Acabar instalação",
"web services under your control" => "serviços web sob o seu controlo", "web services under your control" => "serviços web sob o seu controlo",

View File

@ -31,8 +31,10 @@
"Set expiration date" => "Установить срок действия", "Set expiration date" => "Установить срок действия",
"Expiration date" => "Дата истечения срока действия", "Expiration date" => "Дата истечения срока действия",
"No people found" => "Не найдено людей", "No people found" => "Не найдено людей",
"Resharing is not allowed" => "Рекурсивный общий доступ не разрешен",
"with" => "с", "with" => "с",
"Unshare" => "Отключить общий доступ", "Unshare" => "Отключить общий доступ",
"can edit" => "возможно редактирование",
"access control" => "контроль доступа", "access control" => "контроль доступа",
"create" => "создать", "create" => "создать",
"update" => "обновить", "update" => "обновить",

View File

@ -15,13 +15,40 @@
"October" => "十月", "October" => "十月",
"November" => "十一月", "November" => "十一月",
"December" => "十二月", "December" => "十二月",
"Choose" => "选择",
"Cancel" => "取消", "Cancel" => "取消",
"No" => "", "No" => "",
"Yes" => "", "Yes" => "",
"Ok" => "好的", "Ok" => "好的",
"No categories selected for deletion." => "没有选者要删除的分类.", "No categories selected for deletion." => "没有选者要删除的分类.",
"Error" => "错误", "Error" => "错误",
"Error while sharing" => "分享出错",
"Error while unsharing" => "取消分享出错",
"Error while changing permissions" => "变更权限出错",
"Shared with you and the group" => "与您和小组成员分享",
"by" => "",
"Shared with you by" => "与您的分享,由",
"Share with" => "分享",
"Share with link" => "分享链接",
"Password protect" => "密码保护",
"Password" => "密码", "Password" => "密码",
"Set expiration date" => "设置失效日期",
"Expiration date" => "失效日期",
"Share via email:" => "通过电子邮件分享:",
"No people found" => "查无此人",
"Resharing is not allowed" => "不允许重复分享",
"Shared in" => "分享在",
"with" => "",
"Unshare" => "取消分享",
"can edit" => "可编辑",
"access control" => "访问控制",
"create" => "创建",
"update" => "更新",
"delete" => "删除",
"share" => "分享",
"Password protected" => "密码保护",
"Error unsetting expiration date" => "取消设置失效日期出错",
"Error setting expiration date" => "设置失效日期出错",
"ownCloud password reset" => "私有云密码重置", "ownCloud password reset" => "私有云密码重置",
"Use the following link to reset your password: {link}" => "使用下面的链接来重置你的密码:{link}", "Use the following link to reset your password: {link}" => "使用下面的链接来重置你的密码:{link}",
"You will receive a link to reset your password via Email." => "你将会收到一个重置密码的链接", "You will receive a link to reset your password via Email." => "你将会收到一个重置密码的链接",

View File

@ -5,6 +5,7 @@
# Translators: # Translators:
# <mikkelbjerglarsen@gmail.com>, 2011, 2012. # <mikkelbjerglarsen@gmail.com>, 2011, 2012.
# Morten Juhl-Johansen Zölde-Fejér <morten@writtenandread.net>, 2011-2012. # Morten Juhl-Johansen Zölde-Fejér <morten@writtenandread.net>, 2011-2012.
# Ole Holm Frandsen <froksen@gmail.com>, 2012.
# Pascal d'Hermilly <pascal@dhermilly.dk>, 2011. # Pascal d'Hermilly <pascal@dhermilly.dk>, 2011.
# <simon@rosmi.dk>, 2012. # <simon@rosmi.dk>, 2012.
# Thomas Tanghus <>, 2012. # Thomas Tanghus <>, 2012.
@ -13,9 +14,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ownCloud\n" "Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
"POT-Creation-Date: 2012-09-28 23:34+0200\n" "POT-Creation-Date: 2012-10-13 02:04+0200\n"
"PO-Revision-Date: 2012-09-28 21:34+0000\n" "PO-Revision-Date: 2012-10-12 17:45+0000\n"
"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n" "Last-Translator: Ole Holm Frandsen <froksen@gmail.com>\n"
"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -35,55 +36,55 @@ msgstr "Ingen kategori at tilføje?"
msgid "This category already exists: " msgid "This category already exists: "
msgstr "Denne kategori eksisterer allerede: " msgstr "Denne kategori eksisterer allerede: "
#: js/js.js:213 templates/layout.user.php:49 templates/layout.user.php:50 #: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50
msgid "Settings" msgid "Settings"
msgstr "Indstillinger" msgstr "Indstillinger"
#: js/js.js:645 #: js/js.js:670
msgid "January" msgid "January"
msgstr "Januar" msgstr "Januar"
#: js/js.js:645 #: js/js.js:670
msgid "February" msgid "February"
msgstr "Februar" msgstr "Februar"
#: js/js.js:645 #: js/js.js:670
msgid "March" msgid "March"
msgstr "Marts" msgstr "Marts"
#: js/js.js:645 #: js/js.js:670
msgid "April" msgid "April"
msgstr "April" msgstr "April"
#: js/js.js:645 #: js/js.js:670
msgid "May" msgid "May"
msgstr "Maj" msgstr "Maj"
#: js/js.js:645 #: js/js.js:670
msgid "June" msgid "June"
msgstr "Juni" msgstr "Juni"
#: js/js.js:646 #: js/js.js:671
msgid "July" msgid "July"
msgstr "Juli" msgstr "Juli"
#: js/js.js:646 #: js/js.js:671
msgid "August" msgid "August"
msgstr "August" msgstr "August"
#: js/js.js:646 #: js/js.js:671
msgid "September" msgid "September"
msgstr "September" msgstr "September"
#: js/js.js:646 #: js/js.js:671
msgid "October" msgid "October"
msgstr "Oktober" msgstr "Oktober"
#: js/js.js:646 #: js/js.js:671
msgid "November" msgid "November"
msgstr "November" msgstr "November"
#: js/js.js:646 #: js/js.js:671
msgid "December" msgid "December"
msgstr "December" msgstr "December"
@ -111,8 +112,8 @@ msgstr "OK"
msgid "No categories selected for deletion." msgid "No categories selected for deletion."
msgstr "Ingen kategorier valgt" msgstr "Ingen kategorier valgt"
#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:489 #: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497
#: js/share.js:501 #: js/share.js:509
msgid "Error" msgid "Error"
msgstr "Fejl" msgstr "Fejl"
@ -130,15 +131,15 @@ msgstr "Fejl under justering af rettigheder"
#: js/share.js:130 #: js/share.js:130
msgid "Shared with you and the group" msgid "Shared with you and the group"
msgstr "" msgstr "Delt med dig og gruppen"
#: js/share.js:130 #: js/share.js:130
msgid "by" msgid "by"
msgstr "" msgstr "af"
#: js/share.js:132 #: js/share.js:132
msgid "Shared with you by" msgid "Shared with you by"
msgstr "" msgstr "Delt med dig af"
#: js/share.js:137 #: js/share.js:137
msgid "Share with" msgid "Share with"
@ -166,7 +167,7 @@ msgstr "Udløbsdato"
#: js/share.js:185 #: js/share.js:185
msgid "Share via email:" msgid "Share via email:"
msgstr "" msgstr "Del via email:"
#: js/share.js:187 #: js/share.js:187
msgid "No people found" msgid "No people found"
@ -178,49 +179,49 @@ msgstr "Videredeling ikke tilladt"
#: js/share.js:250 #: js/share.js:250
msgid "Shared in" msgid "Shared in"
msgstr "" msgstr "Delt i"
#: js/share.js:250 #: js/share.js:250
msgid "with" msgid "with"
msgstr "" msgstr "med"
#: js/share.js:271 #: js/share.js:271
msgid "Unshare" msgid "Unshare"
msgstr "Fjern deling" msgstr "Fjern deling"
#: js/share.js:279 #: js/share.js:283
msgid "can edit" msgid "can edit"
msgstr "kan redigere" msgstr "kan redigere"
#: js/share.js:281 #: js/share.js:285
msgid "access control" msgid "access control"
msgstr "Adgangskontrol" msgstr "Adgangskontrol"
#: js/share.js:284 #: js/share.js:288
msgid "create" msgid "create"
msgstr "opret" msgstr "opret"
#: js/share.js:287 #: js/share.js:291
msgid "update" msgid "update"
msgstr "opdater" msgstr "opdater"
#: js/share.js:290 #: js/share.js:294
msgid "delete" msgid "delete"
msgstr "slet" msgstr "slet"
#: js/share.js:293 #: js/share.js:297
msgid "share" msgid "share"
msgstr "del" msgstr "del"
#: js/share.js:317 js/share.js:476 #: js/share.js:322 js/share.js:484
msgid "Password protected" msgid "Password protected"
msgstr "Beskyttet med adgangskode" msgstr "Beskyttet med adgangskode"
#: js/share.js:489 #: js/share.js:497
msgid "Error unsetting expiration date" msgid "Error unsetting expiration date"
msgstr "" msgstr "Fejl ved fjernelse af udløbsdato"
#: js/share.js:501 #: js/share.js:509
msgid "Error setting expiration date" msgid "Error setting expiration date"
msgstr "Fejl under sætning af udløbsdato" msgstr "Fejl under sætning af udløbsdato"
@ -249,7 +250,7 @@ msgstr "Login fejlede!"
msgid "Username" msgid "Username"
msgstr "Brugernavn" msgstr "Brugernavn"
#: lostpassword/templates/lostpassword.php:15 #: lostpassword/templates/lostpassword.php:14
msgid "Request reset" msgid "Request reset"
msgstr "Anmod om nulstilling" msgstr "Anmod om nulstilling"
@ -350,7 +351,7 @@ msgstr "Databasehost"
msgid "Finish setup" msgid "Finish setup"
msgstr "Afslut opsætning" msgstr "Afslut opsætning"
#: templates/layout.guest.php:36 #: templates/layout.guest.php:38
msgid "web services under your control" msgid "web services under your control"
msgstr "Webtjenester under din kontrol" msgstr "Webtjenester under din kontrol"
@ -362,11 +363,11 @@ msgstr "Log ud"
msgid "Lost your password?" msgid "Lost your password?"
msgstr "Mistet dit kodeord?" msgstr "Mistet dit kodeord?"
#: templates/login.php:17 #: templates/login.php:16
msgid "remember" msgid "remember"
msgstr "husk" msgstr "husk"
#: templates/login.php:18 #: templates/login.php:17
msgid "Log in" msgid "Log in"
msgstr "Log ind" msgstr "Log ind"

View File

@ -4,6 +4,7 @@
# #
# Translators: # Translators:
# Morten Juhl-Johansen Zölde-Fejér <morten@writtenandread.net>, 2011-2012. # Morten Juhl-Johansen Zölde-Fejér <morten@writtenandread.net>, 2011-2012.
# Ole Holm Frandsen <froksen@gmail.com>, 2012.
# <osos@openeyes.dk>, 2012. # <osos@openeyes.dk>, 2012.
# Pascal d'Hermilly <pascal@dhermilly.dk>, 2011. # Pascal d'Hermilly <pascal@dhermilly.dk>, 2011.
# <simon@rosmi.dk>, 2012. # <simon@rosmi.dk>, 2012.
@ -13,9 +14,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ownCloud\n" "Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
"POT-Creation-Date: 2012-09-26 13:19+0200\n" "POT-Creation-Date: 2012-10-13 02:04+0200\n"
"PO-Revision-Date: 2012-09-26 11:20+0000\n" "PO-Revision-Date: 2012-10-12 17:48+0000\n"
"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n" "Last-Translator: Ole Holm Frandsen <froksen@gmail.com>\n"
"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -69,39 +70,39 @@ msgstr "Slet"
msgid "Rename" msgid "Rename"
msgstr "Omdøb" msgstr "Omdøb"
#: js/filelist.js:190 js/filelist.js:192 #: js/filelist.js:192 js/filelist.js:194
msgid "already exists" msgid "already exists"
msgstr "findes allerede" msgstr "findes allerede"
#: js/filelist.js:190 js/filelist.js:192 #: js/filelist.js:192 js/filelist.js:194
msgid "replace" msgid "replace"
msgstr "erstat" msgstr "erstat"
#: js/filelist.js:190 #: js/filelist.js:192
msgid "suggest name" msgid "suggest name"
msgstr "foreslå navn" msgstr "foreslå navn"
#: js/filelist.js:190 js/filelist.js:192 #: js/filelist.js:192 js/filelist.js:194
msgid "cancel" msgid "cancel"
msgstr "fortryd" msgstr "fortryd"
#: js/filelist.js:239 js/filelist.js:241 #: js/filelist.js:241 js/filelist.js:243
msgid "replaced" msgid "replaced"
msgstr "erstattet" msgstr "erstattet"
#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 #: js/filelist.js:241 js/filelist.js:243 js/filelist.js:275 js/filelist.js:277
msgid "undo" msgid "undo"
msgstr "fortryd" msgstr "fortryd"
#: js/filelist.js:241 #: js/filelist.js:243
msgid "with" msgid "with"
msgstr "med" msgstr "med"
#: js/filelist.js:273 #: js/filelist.js:275
msgid "unshared" msgid "unshared"
msgstr "udelt" msgstr "udelt"
#: js/filelist.js:275 #: js/filelist.js:277
msgid "deleted" msgid "deleted"
msgstr "Slettet" msgstr "Slettet"
@ -109,114 +110,114 @@ msgstr "Slettet"
msgid "generating ZIP-file, it may take some time." msgid "generating ZIP-file, it may take some time."
msgstr "genererer ZIP-fil, det kan tage lidt tid." msgstr "genererer ZIP-fil, det kan tage lidt tid."
#: js/files.js:208 #: js/files.js:214
msgid "Unable to upload your file as it is a directory or has 0 bytes" msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Kunne ikke uploade din fil, da det enten er en mappe eller er tom" msgstr "Kunne ikke uploade din fil, da det enten er en mappe eller er tom"
#: js/files.js:208 #: js/files.js:214
msgid "Upload Error" msgid "Upload Error"
msgstr "Fejl ved upload" msgstr "Fejl ved upload"
#: js/files.js:236 js/files.js:341 js/files.js:371 #: js/files.js:242 js/files.js:347 js/files.js:377
msgid "Pending" msgid "Pending"
msgstr "Afventer" msgstr "Afventer"
#: js/files.js:256 #: js/files.js:262
msgid "1 file uploading" msgid "1 file uploading"
msgstr "" msgstr "1 fil uploades"
#: js/files.js:259 js/files.js:304 js/files.js:319 #: js/files.js:265 js/files.js:310 js/files.js:325
msgid "files uploading" msgid "files uploading"
msgstr "" msgstr "filer uploades"
#: js/files.js:322 js/files.js:355 #: js/files.js:328 js/files.js:361
msgid "Upload cancelled." msgid "Upload cancelled."
msgstr "Upload afbrudt." msgstr "Upload afbrudt."
#: js/files.js:424 #: js/files.js:430
msgid "" msgid ""
"File upload is in progress. Leaving the page now will cancel the upload." "File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret." msgstr "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret."
#: js/files.js:494 #: js/files.js:500
msgid "Invalid name, '/' is not allowed." msgid "Invalid name, '/' is not allowed."
msgstr "Ugyldigt navn, '/' er ikke tilladt." msgstr "Ugyldigt navn, '/' er ikke tilladt."
#: js/files.js:667 #: js/files.js:681
msgid "files scanned" msgid "files scanned"
msgstr "filer scannet" msgstr "filer scannet"
#: js/files.js:675 #: js/files.js:689
msgid "error while scanning" msgid "error while scanning"
msgstr "fejl under scanning" msgstr "fejl under scanning"
#: js/files.js:748 templates/index.php:48 #: js/files.js:762 templates/index.php:48
msgid "Name" msgid "Name"
msgstr "Navn" msgstr "Navn"
#: js/files.js:749 templates/index.php:56 #: js/files.js:763 templates/index.php:56
msgid "Size" msgid "Size"
msgstr "Størrelse" msgstr "Størrelse"
#: js/files.js:750 templates/index.php:58 #: js/files.js:764 templates/index.php:58
msgid "Modified" msgid "Modified"
msgstr "Ændret" msgstr "Ændret"
#: js/files.js:777 #: js/files.js:791
msgid "folder" msgid "folder"
msgstr "mappe" msgstr "mappe"
#: js/files.js:779 #: js/files.js:793
msgid "folders" msgid "folders"
msgstr "mapper" msgstr "mapper"
#: js/files.js:787 #: js/files.js:801
msgid "file" msgid "file"
msgstr "fil" msgstr "fil"
#: js/files.js:789 #: js/files.js:803
msgid "files" msgid "files"
msgstr "filer" msgstr "filer"
#: js/files.js:833 #: js/files.js:847
msgid "seconds ago" msgid "seconds ago"
msgstr "" msgstr "sekunder siden"
#: js/files.js:834 #: js/files.js:848
msgid "minute ago" msgid "minute ago"
msgstr "" msgstr "minut siden"
#: js/files.js:835 #: js/files.js:849
msgid "minutes ago" msgid "minutes ago"
msgstr "" msgstr "minutter"
#: js/files.js:838 #: js/files.js:852
msgid "today" msgid "today"
msgstr "" msgstr "i dag"
#: js/files.js:839 #: js/files.js:853
msgid "yesterday" msgid "yesterday"
msgstr "" msgstr "i går"
#: js/files.js:840 #: js/files.js:854
msgid "days ago" msgid "days ago"
msgstr "" msgstr "dage siden"
#: js/files.js:841 #: js/files.js:855
msgid "last month" msgid "last month"
msgstr "" msgstr "sidste måned"
#: js/files.js:843 #: js/files.js:857
msgid "months ago" msgid "months ago"
msgstr "" msgstr "måneder siden"
#: js/files.js:844 #: js/files.js:858
msgid "last year" msgid "last year"
msgstr "" msgstr "sidste år"
#: js/files.js:845 #: js/files.js:859
msgid "years ago" msgid "years ago"
msgstr "" msgstr "år siden"
#: templates/admin.php:5 #: templates/admin.php:5
msgid "File handling" msgid "File handling"

View File

@ -4,13 +4,14 @@
# #
# Translators: # Translators:
# Morten Juhl-Johansen Zölde-Fejér <morten@writtenandread.net>, 2012. # Morten Juhl-Johansen Zölde-Fejér <morten@writtenandread.net>, 2012.
# Ole Holm Frandsen <froksen@gmail.com>, 2012.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ownCloud\n" "Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
"POT-Creation-Date: 2012-10-02 23:16+0200\n" "POT-Creation-Date: 2012-10-13 02:04+0200\n"
"PO-Revision-Date: 2012-10-02 21:17+0000\n" "PO-Revision-Date: 2012-10-12 17:53+0000\n"
"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n" "Last-Translator: Ole Holm Frandsen <froksen@gmail.com>\n"
"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -20,27 +21,27 @@ msgstr ""
#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23
msgid "Access granted" msgid "Access granted"
msgstr "" msgstr "Adgang godkendt"
#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86
msgid "Error configuring Dropbox storage" msgid "Error configuring Dropbox storage"
msgstr "" msgstr "Fejl ved konfiguration af Dropbox plads"
#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40
msgid "Grant access" msgid "Grant access"
msgstr "" msgstr "Godkend adgang"
#: js/dropbox.js:73 js/google.js:72 #: js/dropbox.js:73 js/google.js:72
msgid "Fill out all required fields" msgid "Fill out all required fields"
msgstr "" msgstr "Udfyld alle nødvendige felter"
#: js/dropbox.js:85 #: js/dropbox.js:85
msgid "Please provide a valid Dropbox app key and secret." msgid "Please provide a valid Dropbox app key and secret."
msgstr "" msgstr "Angiv venligst en valid Dropbox app nøgle og hemmelighed"
#: js/google.js:26 js/google.js:73 js/google.js:78 #: js/google.js:26 js/google.js:73 js/google.js:78
msgid "Error configuring Google Drive storage" msgid "Error configuring Google Drive storage"
msgstr "" msgstr "Fejl ved konfiguration af Google Drive plads"
#: templates/settings.php:3 #: templates/settings.php:3
msgid "External Storage" msgid "External Storage"

View File

@ -6,6 +6,7 @@
# <icewind1991@gmail.com>, 2012. # <icewind1991@gmail.com>, 2012.
# <mikkelbjerglarsen@gmail.com>, 2011. # <mikkelbjerglarsen@gmail.com>, 2011.
# Morten Juhl-Johansen Zölde-Fejér <morten@writtenandread.net>, 2011-2012. # Morten Juhl-Johansen Zölde-Fejér <morten@writtenandread.net>, 2011-2012.
# Ole Holm Frandsen <froksen@gmail.com>, 2012.
# Pascal d'Hermilly <pascal@dhermilly.dk>, 2011. # Pascal d'Hermilly <pascal@dhermilly.dk>, 2011.
# <simon@rosmi.dk>, 2012. # <simon@rosmi.dk>, 2012.
# <sr@ybnet.dk>, 2012. # <sr@ybnet.dk>, 2012.
@ -15,9 +16,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ownCloud\n" "Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
"POT-Creation-Date: 2012-10-09 02:03+0200\n" "POT-Creation-Date: 2012-10-13 02:05+0200\n"
"PO-Revision-Date: 2012-10-09 00:03+0000\n" "PO-Revision-Date: 2012-10-12 17:31+0000\n"
"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n" "Last-Translator: Ole Holm Frandsen <froksen@gmail.com>\n"
"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -29,7 +30,7 @@ msgstr ""
msgid "Unable to load list from App Store" msgid "Unable to load list from App Store"
msgstr "Kunne ikke indlæse listen fra App Store" msgstr "Kunne ikke indlæse listen fra App Store"
#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 #: ajax/creategroup.php:9 ajax/removeuser.php:18 ajax/setquota.php:18
#: ajax/togglegroups.php:15 #: ajax/togglegroups.php:15
msgid "Authentication error" msgid "Authentication error"
msgstr "Adgangsfejl" msgstr "Adgangsfejl"
@ -66,7 +67,7 @@ msgstr "Ugyldig forespørgsel"
msgid "Unable to delete group" msgid "Unable to delete group"
msgstr "Gruppen kan ikke slettes" msgstr "Gruppen kan ikke slettes"
#: ajax/removeuser.php:22 #: ajax/removeuser.php:27
msgid "Unable to delete user" msgid "Unable to delete user"
msgstr "Bruger kan ikke slettes" msgstr "Bruger kan ikke slettes"
@ -193,7 +194,7 @@ msgstr "Tilføj din App"
#: templates/apps.php:11 #: templates/apps.php:11
msgid "More Apps" msgid "More Apps"
msgstr "" msgstr "Flere Apps"
#: templates/apps.php:27 #: templates/apps.php:27
msgid "Select an App" msgid "Select an App"

View File

@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# #
# Translators: # Translators:
# <blobbyjj@ymail.com>, 2012.
# I Robot <thomas.mueller@tmit.eu>, 2012. # I Robot <thomas.mueller@tmit.eu>, 2012.
# <thomas.mueller@tmit.eu>, 2012. # <thomas.mueller@tmit.eu>, 2012.
# <transifex.3.mensaje@spamgourmet.com>, 2012. # <transifex.3.mensaje@spamgourmet.com>, 2012.
@ -10,9 +11,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ownCloud\n" "Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
"POT-Creation-Date: 2012-10-03 02:01+0200\n" "POT-Creation-Date: 2012-10-13 02:04+0200\n"
"PO-Revision-Date: 2012-10-02 21:25+0000\n" "PO-Revision-Date: 2012-10-12 22:22+0000\n"
"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n" "Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" "Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -22,7 +23,7 @@ msgstr ""
#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23
msgid "Access granted" msgid "Access granted"
msgstr "Zugriff erlaubt" msgstr "Zugriff gestattet"
#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86
msgid "Error configuring Dropbox storage" msgid "Error configuring Dropbox storage"
@ -30,15 +31,15 @@ msgstr "Fehler beim Einrichten von Dropbox"
#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40
msgid "Grant access" msgid "Grant access"
msgstr "Zugriff erlauben" msgstr "Zugriff gestatten"
#: js/dropbox.js:73 js/google.js:72 #: js/dropbox.js:73 js/google.js:72
msgid "Fill out all required fields" msgid "Fill out all required fields"
msgstr "Alle notwendigen Felder füllen" msgstr "Bitte alle notwendigen Felder füllen"
#: js/dropbox.js:85 #: js/dropbox.js:85
msgid "Please provide a valid Dropbox app key and secret." msgid "Please provide a valid Dropbox app key and secret."
msgstr "Bitte geben Sie einen gültigen Dropbox-App-Key mit Secret ein." msgstr "Bitte trage einen gültigen Dropbox-App-Key mit Secret ein."
#: js/google.js:26 js/google.js:73 js/google.js:78 #: js/google.js:26 js/google.js:73 js/google.js:78
msgid "Error configuring Google Drive storage" msgid "Error configuring Google Drive storage"

Some files were not shown because too many files have changed in this diff Show More