Merge branch 'master' of github.com:owncloud/core into vcategories_db

This commit is contained in:
Thomas Tanghus 2012-10-15 21:41:38 +02:00
commit 9c9f5ef2d6
266 changed files with 8078 additions and 5366 deletions

View file

@ -35,7 +35,7 @@
* @author Vincent Blavet <vincent@phpconcept.net>
* @copyright 1997-2010 The Authors
* @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
*/
@ -50,7 +50,7 @@ define('ARCHIVE_TAR_END_BLOCK', pack("a512", ''));
* @package Archive_Tar
* @author Vincent Blavet <vincent@phpconcept.net>
* @license http://www.opensource.org/licenses/bsd-license.php New BSD License
* @version $Revision: 323476 $
* @version $Revision: 324840 $
*/
class Archive_Tar extends PEAR
{
@ -577,7 +577,7 @@ class Archive_Tar extends PEAR
}
// ----- Get the arguments
$v_att_list = func_get_args();
$v_att_list = &func_get_args();
// ----- Read the attributes
$i=0;
@ -649,14 +649,14 @@ class Archive_Tar extends PEAR
// {{{ _error()
function _error($p_message)
{
$this->error_object = $this->raiseError($p_message);
$this->error_object = &$this->raiseError($p_message);
}
// }}}
// {{{ _warning()
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()
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, $v_stored_filename=null)
{
if (!$this->_file) {
$this->_error('Invalid file descriptor');
@ -992,31 +992,32 @@ class Archive_Tar extends PEAR
$this->_error('Invalid file name');
return false;
}
if(is_null($v_stored_filename)){
// ----- Calculate the stored filename
$p_filename = $this->_translateWinPath($p_filename, false);
$v_stored_filename = $p_filename;
if (strcmp($p_filename, $p_remove_dir) == 0) {
return true;
}
if ($p_remove_dir != '') {
if (substr($p_remove_dir, -1) != '/')
$p_remove_dir .= '/';
// ownCloud change to make it possible to specify the filename to use
if(is_null($v_stored_filename)) {
// ----- Calculate the stored filename
$p_filename = $this->_translateWinPath($p_filename, false);
$v_stored_filename = $p_filename;
if (strcmp($p_filename, $p_remove_dir) == 0) {
return true;
}
if ($p_remove_dir != '') {
if (substr($p_remove_dir, -1) != '/')
$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 = $this->_translateWinPath($v_stored_filename);
if ($p_add_dir != '') {
if (substr($p_add_dir, -1) == '/')
$v_stored_filename = $p_add_dir.$v_stored_filename;
else
$v_stored_filename = $p_add_dir.'/'.$v_stored_filename;
}
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 = $this->_translateWinPath($v_stored_filename);
if ($p_add_dir != '') {
if (substr($p_add_dir, -1) == '/')
$v_stored_filename = $p_add_dir.$v_stored_filename;
else
$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 (($v_file = @fopen($p_filename, "rb")) == 0) {
@ -1775,12 +1776,20 @@ class Archive_Tar extends PEAR
}
if ($this->_compress_type == 'gz') {
$end_blocks = 0;
while (!@gzeof($v_temp_tar)) {
$v_buffer = @gzread($v_temp_tar, 512);
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;
} 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);
$this->_writeBlock($v_binary_data);
@ -1789,9 +1798,19 @@ class Archive_Tar extends PEAR
@gzclose($v_temp_tar);
}
elseif ($this->_compress_type == 'bz2') {
$end_blocks = 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;
} 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);
$this->_writeBlock($v_binary_data);

View file

@ -2,7 +2,7 @@
/*~ class.phpmailer.php
.---------------------------------------------------------------------------.
| Software: PHPMailer - PHP email class |
| Version: 5.2 |
| Version: 5.2.1 |
| Site: https://code.google.com/a/apache-extras.org/p/phpmailer/ |
| ------------------------------------------------------------------------- |
| Admin: Jim Jagielski (project admininistrator) |
@ -10,7 +10,7 @@
| : Marcus Bointon (coolbru) coolbru@users.sourceforge.net |
| : Jim Jagielski (jimjag) jimjag@gmail.com |
| 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) 2001-2003, Brent R. Matzelle |
| ------------------------------------------------------------------------- |
@ -29,7 +29,7 @@
* @author Andy Prevost
* @author Marcus Bointon
* @author Jim Jagielski
* @copyright 2010 - 2011 Jim Jagielski
* @copyright 2010 - 2012 Jim Jagielski
* @copyright 2004 - 2009 Andy Prevost
* @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
@ -129,6 +129,13 @@ class PHPMailer {
*/
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
* characters.
@ -317,7 +324,7 @@ class PHPMailer {
* Sets the PHPMailer Version number
* @var string
*/
public $Version = '5.2';
public $Version = '5.2.1';
/**
* What to use in the X-Mailer header
@ -460,7 +467,7 @@ class PHPMailer {
* @return boolean
*/
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
*/
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);
if ($this->exceptions) {
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;
}
$address = trim($address);
@ -488,10 +497,12 @@ class PHPMailer {
if ($this->exceptions) {
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;
}
if ($kind != 'ReplyTo') {
if ($kind != 'Reply-To') {
if (!isset($this->all_recipients[strtolower($address)])) {
array_push($this->$kind, array($address, $name));
$this->all_recipients[strtolower($address)] = true;
@ -520,14 +531,16 @@ class PHPMailer {
if ($this->exceptions) {
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;
}
$this->From = $address;
$this->FromName = $name;
if ($auto) {
if (empty($this->ReplyTo)) {
$this->AddAnAddress('ReplyTo', $address, $name);
$this->AddAnAddress('Reply-To', $address, $name);
}
if (empty($this->Sender)) {
$this->Sender = $address;
@ -574,6 +587,7 @@ class PHPMailer {
if(!$this->PreSend()) return false;
return $this->PostSend();
} catch (phpmailerException $e) {
$this->SentMIMEMessage = '';
$this->SetError($e->getMessage());
if ($this->exceptions) {
throw $e;
@ -584,6 +598,7 @@ class PHPMailer {
protected function PreSend() {
try {
$mailHeader = "";
if ((count($this->to) + count($this->cc) + count($this->bcc)) < 1) {
throw new phpmailerException($this->Lang('provide_address'), self::STOP_CRITICAL);
}
@ -603,6 +618,19 @@ class PHPMailer {
$this->MIMEHeader = $this->CreateHeader();
$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
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->SentMIMEMessage = sprintf("%s%s\r\n\r\n%s",$this->MIMEHeader,$mailHeader,$this->MIMEBody);
return true;
} catch (phpmailerException $e) {
$this->SetError($e->getMessage());
if ($this->exceptions) {
@ -628,6 +658,8 @@ class PHPMailer {
return $this->SendmailSend($this->MIMEHeader, $this->MIMEBody);
case 'smtp':
return $this->SmtpSend($this->MIMEHeader, $this->MIMEBody);
case 'mail':
return $this->MailSend($this->MIMEHeader, $this->MIMEBody);
default:
return $this->MailSend($this->MIMEHeader, $this->MIMEBody);
}
@ -637,7 +669,9 @@ class PHPMailer {
if ($this->exceptions) {
throw $e;
}
echo $e->getMessage()."\n";
if ($this->SMTPDebug) {
echo $e->getMessage()."\n";
}
return false;
}
}
@ -703,7 +737,7 @@ class PHPMailer {
$to = implode(', ', $toArr);
if (empty($this->Sender)) {
$params = "-oi -f %s";
$params = "-oi ";
} else {
$params = sprintf("-oi -f %s", $this->Sender);
}
@ -732,7 +766,7 @@ class PHPMailer {
$this->doCallback($isSent, $val, $this->cc, $this->bcc, $this->Subject, $body);
}
} 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
$isSent = ($rt == 1) ? 1 : 0;
$this->doCallback($isSent, $to, $this->cc, $this->bcc, $this->Subject, $body);
@ -880,7 +914,9 @@ class PHPMailer {
}
} catch (phpmailerException $e) {
$this->smtp->Reset();
throw $e;
if ($this->exceptions) {
throw $e;
}
}
return true;
}
@ -1159,7 +1195,7 @@ class PHPMailer {
$result .= $this->HeaderLine('To', 'undisclosed-recipients:;');
}
}
}
}
$from = array();
$from[0][0] = trim($this->From);
@ -1177,7 +1213,7 @@ class PHPMailer {
}
if(count($this->ReplyTo) > 0) {
$result .= $this->AddrAppend('Reply-to', $this->ReplyTo);
$result .= $this->AddrAppend('Reply-To', $this->ReplyTo);
}
// mail() sets the subject itself
@ -1250,6 +1286,16 @@ class PHPMailer {
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.
* @access public
@ -1363,8 +1409,8 @@ class PHPMailer {
$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)) {
@unlink($file);
@unlink($signed);
$body = file_get_contents($signed);
@unlink($signed);
} else {
@unlink($file);
@unlink($signed);
@ -1487,7 +1533,9 @@ class PHPMailer {
if ($this->exceptions) {
throw $e;
}
echo $e->getMessage()."\n";
if ($this->SMTPDebug) {
echo $e->getMessage()."\n";
}
if ( $e->getCode() == self::STOP_CRITICAL ) {
return false;
}
@ -1590,15 +1638,23 @@ class PHPMailer {
return false;
}
}
if (version_compare(PHP_VERSION, '5.3.0', '<')) {
$magic_quotes = get_magic_quotes_runtime();
set_magic_quotes_runtime(0);
}
$magic_quotes = get_magic_quotes_runtime();
if ($magic_quotes) {
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 = $this->EncodeString($file_buffer, $encoding);
if (version_compare(PHP_VERSION, '5.3.0', '<')) {
set_magic_quotes_runtime($magic_quotes);
}
if ($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;
} catch (Exception $e) {
$this->SetError($e->getMessage());
@ -2154,7 +2210,7 @@ class PHPMailer {
* @return $message
*/
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])) {
foreach($images[2] as $i => $url) {
// 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($directory) > 1 && substr($directory, -1) != '/') { $directory .= '/'; }
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->Body = $message;
$textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/s', '', $message)));
if (!empty($textMsg) && empty($this->AltBody)) {
$this->AltBody = html_entity_decode($textMsg);
}
if (empty($this->AltBody)) {
$textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/s', '', $message)));
if (!empty($textMsg)) {
$this->AltBody = html_entity_decode($textMsg, ENT_QUOTES, $this->CharSet);
}
}
if (empty($this->AltBody)) {
$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
.---------------------------------------------------------------------------.
| Software: PHPMailer - PHP email class |
| Version: 5.2 |
| Version: 5.2.1 |
| Site: https://code.google.com/a/apache-extras.org/p/phpmailer/ |
| ------------------------------------------------------------------------- |
| Admin: Jim Jagielski (project admininistrator) |
@ -10,7 +10,7 @@
| : Marcus Bointon (coolbru) coolbru@users.sourceforge.net |
| : Jim Jagielski (jimjag) jimjag@gmail.com |
| 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) 2001-2003, Brent R. Matzelle |
| ------------------------------------------------------------------------- |
@ -30,7 +30,7 @@
* @author Marcus Bointon
* @copyright 2004 - 2008 Andy Prevost
* @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)
* @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
* @var string
*/
public $Version = '5.2';
public $Version = '5.2.1';
/////////////////////////////////////////////////
// PROPERTIES, PRIVATE AND PROTECTED
@ -797,7 +797,8 @@ class SMTP {
*/
private function get_lines() {
$data = "";
while($str = @fgets($this->smtp_conn,515)) {
while(!feof($this->smtp_conn)) {
$str = @fgets($this->smtp_conn,515);
if($this->do_debug >= 4) {
echo "SMTP -> get_lines(): \$data was \"$data\"" . $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

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

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

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

@ -23,31 +23,37 @@
/* @group Single Chosen */
.chzn-container-single .chzn-single {
background-color: #fff;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.5, white));
background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 50%);
background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 50%);
background-image: -o-linear-gradient(top, #eeeeee 0%,#ffffff 50%);
background-image: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 50%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 );
background-image: linear-gradient(top, #eeeeee 0%,#ffffff 50%);
-webkit-border-radius: 4px;
-moz-border-radius : 4px;
border-radius : 4px;
background-color: #ffffff;
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0 );
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: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-image: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-image: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-image: -ms-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
background-image: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
-webkit-border-radius: 5px;
-moz-border-radius : 5px;
border-radius : 5px;
-moz-background-clip : padding;
-webkit-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;
overflow: hidden;
white-space: nowrap;
position: relative;
height: 26px;
line-height: 26px;
height: 23px;
line-height: 24px;
padding: 0 0 0 8px;
color: #444;
color: #444444;
text-decoration: none;
}
.chzn-container-single .chzn-default {
color: #999;
}
.chzn-container-single .chzn-single span {
margin-right: 26px;
display: block;
@ -61,7 +67,7 @@
display: block;
position: absolute;
right: 26px;
top: 8px;
top: 6px;
width: 12px;
height: 13px;
font-size: 1px;
@ -71,21 +77,6 @@
background-position: right -11px;
}
.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;
right: 0;
top: 0;
@ -94,7 +85,7 @@
width: 18px;
}
.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;
width: 100%;
height: 100%;
@ -104,16 +95,16 @@
position: relative;
margin: 0;
white-space: nowrap;
z-index: 1010;
}
.chzn-container-single .chzn-search input {
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-linear-gradient(center bottom, white 85%, #eeeeee 99%);
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, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
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, #ffffff 85%,#eeeeee 99%);
background: url('chosen-sprite.png') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%,#eeeeee 99%);
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(top, #eeeeee 1%, #ffffff 15%);
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(top, #eeeeee 1%, #ffffff 15%);
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, linear-gradient(top, #eeeeee 1%, #ffffff 15%);
margin: 1px 0;
padding: 4px 20px 4px 5px;
outline: 0;
@ -139,13 +130,12 @@
/* @group Multi Chosen */
.chzn-container-multi .chzn-choices {
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-linear-gradient(center bottom, white 85%, #eeeeee 99%);
background-image: -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
background-image: -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
background-image: -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 );
background-image: linear-gradient(top, #ffffff 85%,#eeeeee 99%);
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
background-image: -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%);
background-image: linear-gradient(top, #eeeeee 1%, #ffffff 15%);
border: 1px solid #aaa;
margin: 0;
padding: 0;
@ -168,6 +158,9 @@
color: #666;
background: transparent !important;
border: 0 !important;
font-family: sans-serif;
font-size: 100%;
height: 15px;
padding: 5px;
margin: 1px 0;
outline: 0;
@ -187,21 +180,22 @@
-webkit-background-clip: padding-box;
background-clip : padding-box;
background-color: #e4e4e4;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #e4e4e4), color-stop(0.7, #eeeeee));
background-image: -webkit-linear-gradient(center bottom, #e4e4e4 0%, #eeeeee 70%);
background-image: -moz-linear-gradient(center bottom, #e4e4e4 0%, #eeeeee 70%);
background-image: -o-linear-gradient(bottom, #e4e4e4 0%, #eeeeee 70%);
background-image: -ms-linear-gradient(top, #e4e4e4 0%,#eeeeee 70%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e4e4e4', endColorstr='#eeeeee',GradientType=0 );
background-image: linear-gradient(top, #e4e4e4 0%,#eeeeee 70%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#eeeeee', GradientType=0 );
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: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
background-image: -ms-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
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;
border: 1px solid #b4b4b4;
border: 1px solid #aaaaaa;
line-height: 13px;
padding: 3px 19px 3px 6px;
padding: 3px 20px 3px 5px;
margin: 3px 0 3px 5px;
position: relative;
}
.chzn-container-multi .chzn-choices .search-choice span {
cursor: default;
}
.chzn-container-multi .chzn-choices .search-choice-focus {
@ -228,7 +222,7 @@
/* @group Results */
.chzn-container .chzn-results {
margin: 0 4px 4px 0;
max-height: 190px;
max-height: 240px;
padding: 0 0 0 4px;
position: relative;
overflow-x: hidden;
@ -240,8 +234,8 @@
}
.chzn-container .chzn-results li {
display: none;
line-height: 80%;
padding: 7px 7px 8px;
line-height: 15px;
padding: 5px 6px;
margin: 0;
list-style: none;
}
@ -250,7 +244,14 @@
display: list-item;
}
.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;
}
.chzn-container .chzn-results li em {
@ -270,11 +271,34 @@
font-weight: bold;
}
.chzn-container .chzn-results .group-option {
padding-left: 20px;
padding-left: 15px;
}
.chzn-container-multi .chzn-drop .result-selected {
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 */
/* @group Active */
@ -292,13 +316,13 @@
-o-box-shadow : 0 1px 0 #fff inset;
box-shadow : 0 1px 0 #fff inset;
background-color: #eee;
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, white), color-stop(0.5, #eeeeee));
background-image: -webkit-linear-gradient(center bottom, white 0%, #eeeeee 50%);
background-image: -moz-linear-gradient(center bottom, white 0%, #eeeeee 50%);
background-image: -o-linear-gradient(bottom, white 0%, #eeeeee 50%);
background-image: -ms-linear-gradient(top, #ffffff 0%,#eeeeee 50%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 );
background-image: linear-gradient(top, #ffffff 0%,#eeeeee 50%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0 );
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff));
background-image: -webkit-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
background-image: -moz-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
background-image: -o-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
background-image: -ms-linear-gradient(top, #eeeeee 20%, #ffffff 80%);
background-image: linear-gradient(top, #eeeeee 20%, #ffffff 80%);
-webkit-border-bottom-left-radius : 0;
-webkit-border-bottom-right-radius: 0;
-moz-border-radius-bottomleft : 0;
@ -338,31 +362,31 @@
}
/* @group Right to Left */
.chzn-rtl { direction:rtl;text-align: right; }
.chzn-rtl .chzn-single { padding-left: 0; padding-right: 8px; }
.chzn-rtl .chzn-single span { margin-left: 26px; margin-right: 0; }
.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-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 .search-choice { padding: 3px 6px 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-container-single .chzn-results { margin-left: 4px; margin-right: 0; padding-left: 0; padding-right: 4px; }
.chzn-rtl .chzn-results .group-option { padding-left: 0; padding-right: 20px; }
.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: 4px; right: auto; background-position: right top;}
.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: 15px; }
.chzn-rtl.chzn-container-active .chzn-single-with-drop div { border-right: none; }
.chzn-rtl .chzn-search input {
background: url('chosen-sprite.png') no-repeat -38px -22px, #ffffff;
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-linear-gradient(center bottom, white 85%, #eeeeee 99%);
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, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
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, #ffffff 85%,#eeeeee 99%);
background: url('chosen-sprite.png') no-repeat -38px -22px, linear-gradient(top, #ffffff 85%,#eeeeee 99%);
background: #fff url('chosen-sprite.png') no-repeat -38px -22px;
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(top, #eeeeee 1%, #ffffff 15%);
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(top, #eeeeee 1%, #ffffff 15%);
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, linear-gradient(top, #eeeeee 1%, #ffffff 15%);
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
* Dual licensed under the MIT and GPL licenses, located in
* 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.
* 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
* 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
* FullCalendar v1.5.3
* FullCalendar v1.5.4
* http://arshaw.com/fullcalendar/
*
* Use fullcalendar.css for basic styling.
@ -11,7 +11,7 @@
* Dual licensed under the MIT and GPL licenses, located in
* 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 = {};
@ -1658,7 +1658,7 @@ function sliceSegs(events, visEventEnds, start, end) {
msLength: segEnd - segStart
});
}
}
}
return segs.sort(segCmp);
}
@ -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) {
return hpadding(element) + hborders(element) + (includeMargins ? hmargins(element) : 0);
}
function hpadding(element) {
return (parseFloat($.curCSS(element[0], 'paddingLeft', true)) || 0) +
(parseFloat($.curCSS(element[0], 'paddingRight', true)) || 0);
return (parseFloat($.css(element[0], 'paddingLeft', true)) || 0) +
(parseFloat($.css(element[0], 'paddingRight', true)) || 0);
}
function hmargins(element) {
return (parseFloat($.curCSS(element[0], 'marginLeft', true)) || 0) +
(parseFloat($.curCSS(element[0], 'marginRight', true)) || 0);
return (parseFloat($.css(element[0], 'marginLeft', true)) || 0) +
(parseFloat($.css(element[0], 'marginRight', true)) || 0);
}
function hborders(element) {
return (parseFloat($.curCSS(element[0], 'borderLeftWidth', true)) || 0) +
(parseFloat($.curCSS(element[0], 'borderRightWidth', true)) || 0);
return (parseFloat($.css(element[0], 'borderLeftWidth', true)) || 0) +
(parseFloat($.css(element[0], 'borderRightWidth', true)) || 0);
}
@ -1774,20 +1771,20 @@ function vsides(element, includeMargins) {
function vpadding(element) {
return (parseFloat($.curCSS(element[0], 'paddingTop', true)) || 0) +
(parseFloat($.curCSS(element[0], 'paddingBottom', true)) || 0);
return (parseFloat($.css(element[0], 'paddingTop', true)) || 0) +
(parseFloat($.css(element[0], 'paddingBottom', true)) || 0);
}
function vmargins(element) {
return (parseFloat($.curCSS(element[0], 'marginTop', true)) || 0) +
(parseFloat($.curCSS(element[0], 'marginBottom', true)) || 0);
return (parseFloat($.css(element[0], 'marginTop', true)) || 0) +
(parseFloat($.css(element[0], 'marginBottom', true)) || 0);
}
function vborders(element) {
return (parseFloat($.curCSS(element[0], 'borderTopWidth', true)) || 0) +
(parseFloat($.curCSS(element[0], 'borderBottomWidth', true)) || 0);
return (parseFloat($.css(element[0], 'borderTopWidth', true)) || 0) +
(parseFloat($.css(element[0], 'borderBottomWidth', true)) || 0);
}
@ -1956,7 +1953,6 @@ function firstDefined() {
}
fcViews.month = MonthView;
function MonthView(element, calendar) {
@ -4662,7 +4658,7 @@ function DayEventRenderer() {
"</span>";
}
html +=
"<span class='fc-event-title'>" + event.title + "</span>" +
"<span class='fc-event-title'>" + htmlEscape(event.title) + "</span>" +
"</div>";
if (seg.isEnd && isEventResizable(event)) {
html +=

View file

@ -1,6 +1,6 @@
/*
FullCalendar v1.5.3
FullCalendar v1.5.4
http://arshaw.com/fullcalendar/
Use fullcalendar.css for basic styling.
@ -11,7 +11,7 @@
Dual licensed under the MIT and GPL licenses, located in
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();
@ -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==
"{"){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=
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],
"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)}
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!==
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")}
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",
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],
"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,
"&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=
[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,
@ -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,
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=
{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=
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()<

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
* Dual licensed under the MIT and GPL licenses, located in
* 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 {
height: 22px;
width: 22px;
background: url(images/trigger.png) center no-repeat;
vertical-align: middle;
margin: 0 .25em;
display: inline-block;
outline: none;
INPUT.miniColors {
margin-right: 4px;
}
.miniColors-selector {
position: absolute;
width: 175px;
height: 150px;
background: #FFF;
border: solid 1px #BBB;
background: white;
border: solid 1px #bababa;
-moz-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);
@ -24,9 +18,13 @@
z-index: 999999;
}
.miniColors.opacity.miniColors-selector {
width: 200px;
}
.miniColors-selector.black {
background: #000;
border-color: #000;
background: black;
border-color: black;
}
.miniColors-colors {
@ -35,25 +33,43 @@
left: 5px;
width: 150px;
height: 150px;
background: url(images/colors.png) right no-repeat;
background: url(images/colors.png) -40px 0 no-repeat;
cursor: crosshair;
}
.miniColors.opacity .miniColors-colors {
left: 30px;
}
.miniColors-hues {
position: absolute;
top: 5px;
left: 160px;
width: 20px;
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;
}
.miniColors-colorPicker {
position: absolute;
width: 9px;
height: 9px;
border: 1px solid #fff;
width: 11px;
height: 11px;
border: 1px solid black;
-moz-border-radius: 11px;
-webkit-border-radius: 11px;
border-radius: 11px;
@ -64,18 +80,46 @@
left: 0;
width: 7px;
height: 7px;
border: 1px solid #000;
border: 2px solid white;
-moz-border-radius: 9px;
-webkit-border-radius: 9px;
border-radius: 9px;
}
.miniColors-huePicker {
.miniColors-huePicker,
.miniColors-opacityPicker {
position: absolute;
left: -3px;
width: 24px;
height: 1px;
border: 1px solid #fff;
left: -2px;
width: 22px;
height: 2px;
border: 1px solid black;
background: white;
margin-top: -1px;
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
*
* 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
*
@ -18,20 +18,30 @@ if(jQuery) (function($) {
//
// Determine initial color (defaults to white)
var color = expandHex(input.val());
if( !color ) color = 'ffffff';
var hsb = hex2hsb(color);
var color = expandHex(input.val()) || 'ffffff',
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
var trigger = $('<a class="miniColors-trigger" style="background-color: #' + color + '" href="#"></a>');
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
input
.addClass('miniColors')
.data('original-maxlength', input.attr('maxlength') || 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('hsb', hsb)
.data('change', o.change ? o.change : null)
@ -42,11 +52,11 @@ if(jQuery) (function($) {
.val('#' + convertCase(color, o.letterCase));
// Handle options
if( o.readonly ) input.prop('readonly', true);
if( o.disabled ) disable(input);
if( o.readonly || input.prop('readonly') ) input.prop('readonly', true);
if( o.disabled || input.prop('disabled') ) disable(input);
// Show selector when trigger is clicked
trigger.bind('click.miniColors', function(event) {
trigger.on('click.miniColors', function(event) {
event.preventDefault();
if( input.val() === '' ) input.val('#');
show(input);
@ -54,29 +64,29 @@ if(jQuery) (function($) {
});
// Show selector when input receives focus
input.bind('focus.miniColors', function(event) {
input.on('focus.miniColors', function(event) {
if( input.val() === '' ) input.val('#');
show(input);
});
// Hide on blur
input.bind('blur.miniColors', function(event) {
input.on('blur.miniColors', function(event) {
var hex = expandHex( hsb2hex(input.data('hsb')) );
input.val( hex ? '#' + convertCase(hex, input.data('letterCase')) : '' );
});
// 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);
});
// Update when color is typed in
input.bind('keyup.miniColors', function(event) {
input.on('keyup.miniColors', function(event) {
setColorFromInput(input);
});
// Handle pasting
input.bind('paste.miniColors', function(event) {
input.on('paste.miniColors', function(event) {
// Short pause to wait for paste to complete
setTimeout( function() {
setColorFromInput(input);
@ -89,19 +99,18 @@ if(jQuery) (function($) {
//
// Destroys an active instance of the miniColors selector
//
hide();
input = $(input);
// Restore to original state
input.data('trigger').remove();
input.data('trigger').parent().remove();
input
.attr('autocomplete', input.data('original-autocomplete'))
.attr('maxlength', input.data('original-maxlength'))
.removeData()
.removeClass('miniColors')
.unbind('.miniColors');
$(document).unbind('.miniColors');
.off('.miniColors');
$(document).off('.miniColors');
};
var enable = function(input) {
@ -110,8 +119,7 @@ if(jQuery) (function($) {
//
input
.prop('disabled', false)
.data('trigger')
.css('opacity', 1);
.data('trigger').parent().removeClass('disabled');
};
var disable = function(input) {
@ -121,8 +129,7 @@ if(jQuery) (function($) {
hide(input);
input
.prop('disabled', true)
.data('trigger')
.css('opacity', 0.5);
.data('trigger').parent().addClass('disabled');
};
var show = function(input) {
@ -133,24 +140,27 @@ if(jQuery) (function($) {
// Hide all other instances
hide();
// Generate the selector
var selector = $('<div class="miniColors-selector"></div>');
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>')
.css({
top: input.is(':visible') ? input.offset().top + input.outerHeight() : input.data('trigger').offset().top + input.data('trigger').outerHeight(),
left: input.is(':visible') ? input.offset().left : input.data('trigger').offset().left,
display: 'none'
})
.append('<div class="miniColors-colors" style="background-color: #FFF;"><div class="miniColors-colorPicker"><div class="miniColors-colorPicker-inner"></div></div>')
.css('display', 'none')
.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
var hsb = input.data('hsb');
selector
.find('.miniColors-colors')
.css('backgroundColor', '#' + hsb2hex({ h: hsb.h, s: 100, b: 100 }));
.find('.miniColors-colors').css('backgroundColor', '#' + hsb2hex({ h: hsb.h, s: 100, b: 100 })).end()
.find('.miniColors-opacity').css('backgroundColor', '#' + hsb2hex({ h: hsb.h, s: hsb.s, b: hsb.b })).end();
// Set colorPicker position
var colorPosition = input.data('colorPosition');
@ -162,64 +172,106 @@ if(jQuery) (function($) {
// Set huePicker position
var huePosition = input.data('huePosition');
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
input
.data('selector', selector)
.data('huePicker', selector.find('.miniColors-huePicker'))
.data('opacityPicker', selector.find('.miniColors-opacityPicker'))
.data('colorPicker', selector.find('.miniColors-colorPicker'))
.data('mousebutton', 0);
$('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
selector.bind('selectstart', function() { return false; });
selector.on('selectstart', function() { return false; });
$(document).bind('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-selector') ) {
event.preventDefault();
return;
}
if( testSubject.hasClass('miniColors') ) return;
hide(input);
});
// Hide on resize (IE7/8 trigger this when any element is resized...)
if( !$.browser.msie || ($.browser.msie && $.browser.version >= 9) ) {
$(window).on('resize.miniColors', function(event) {
hide(input);
});
}
$(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();
input.data('mousebutton', 0).removeData('moving');
})
.bind('mousemove.miniColors touchmove.miniColors', function(event) {
.on('mousemove.miniColors touchmove.miniColors', function(event) {
event.preventDefault();
if( input.data('mousebutton') === 1 ) {
if( input.data('moving') === 'colors' ) moveColor(input, event);
if( input.data('moving') === 'hues' ) moveHue(input, event);
if( input.data('moving') === 'opacity' ) moveOpacity(input, event);
}
});
// Fire open callback
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
if( !input ) input = '.miniColors';
if( !input ) input = $('.miniColors');
$(input).each( function() {
input.each( function() {
var selector = $(this).data('selector');
$(this).removeData('selector');
$(selector).fadeOut(100, function() {
// Fire close callback
if( input.data('close') ) {
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();
});
});
$(document).unbind('.miniColors');
$(document).off('.miniColors');
};
@ -266,8 +318,8 @@ if(jQuery) (function($) {
position.x = event.originalEvent.changedTouches[0].pageX;
position.y = event.originalEvent.changedTouches[0].pageY;
}
position.x = position.x - input.data('selector').find('.miniColors-colors').offset().left - 5;
position.y = position.y - input.data('selector').find('.miniColors-colors').offset().top - 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 - 6;
if( position.x <= -5 ) position.x = -5;
if( position.x >= 144 ) position.x = 144;
if( position.y <= -5 ) position.y = -5;
@ -301,23 +353,21 @@ if(jQuery) (function($) {
huePicker.hide();
var position = {
y: event.pageY
};
var position = event.pageY;
// Touch support
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;
if( position.y <= -1 ) position.y = -1;
if( position.y >= 149 ) position.y = 149;
position = position - input.data('selector').find('.miniColors-colors').offset().top - 1;
if( position <= -1 ) position = -1;
if( position >= 149 ) position = 149;
input.data('huePosition', position);
huePicker.css('top', position.y).show();
huePicker.css('top', position).show();
// 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 > 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) {
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')) );
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);
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
if( input.data('change') ) {
if( hex === input.data('lastChange') ) return;
input.data('change').call(input.get(0), '#' + hex, hsb2rgb(hsb));
input.data('lastChange', hex);
if( (hex + ',' + input.attr('data-opacity')) === input.data('lastChange') ) return;
input.data('change').call(input.get(0), '#' + hex, $.extend(hsb2rgb(hsb), { a: parseFloat(input.attr('data-opacity')) }));
input.data('lastChange', hex + ',' + input.attr('data-opacity'));
}
};
@ -355,10 +452,6 @@ if(jQuery) (function($) {
// Get HSB equivalent
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
var colorPosition = getColorPositionFromHSB(hsb);
var colorPicker = $(input.data('colorPicker'));
@ -368,9 +461,14 @@ if(jQuery) (function($) {
// Set huePosition position
var huePosition = getHuePositionFromHSB(hsb);
var huePicker = $(input.data('huePicker'));
huePicker.css('top', huePosition.y + 'px');
huePicker.css('top', huePosition + 'px');
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);
return true;
@ -378,9 +476,11 @@ if(jQuery) (function($) {
};
var convertCase = function(string, letterCase) {
if( letterCase === 'lowercase' ) return string.toLowerCase();
if( letterCase === 'uppercase' ) return string.toUpperCase();
return string;
if( letterCase === 'uppercase' ) {
return string.toUpperCase();
} else {
return string.toLowerCase();
}
};
var getColorPositionFromHSB = function(hsb) {
@ -397,7 +497,14 @@ if(jQuery) (function($) {
var y = 150 - (hsb.h / 2.4);
if( y < 0 ) h = 0;
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) {
@ -542,6 +649,29 @@ if(jQuery) (function($) {
});
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':

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-div { padding: 0.2em }
#ui-timepicker-div { padding: 0.2em; background-color: #fff; }
.ui-timepicker-table { display: inline-table; width: 0; }
.ui-timepicker-table table { margin:0.15em 0 0 0; border-collapse: collapse; }

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

@ -1,6 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<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">
<title>Internationalisation page for the jquery ui timepicker</title>
@ -14,10 +19,20 @@
<style>
#timepicker { font-size: 10px }
</style>
<script src='jquery.ui.timepicker-cs.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-hr.js'></script>
<script src='jquery.ui.timepicker-it.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>
<body>
@ -32,18 +47,35 @@
showDeselectButton: true
});
$('#locale').change(function() {
$('#timepicker').timepicker( "option",
$.timepicker.regional[ $( this ).val() ] );
});
$('#locale').change(updateLocale).keyup(updateLocale);
});
function updateLocale()
{
$('#timepicker').timepicker( "option",
$.timepicker.regional[ $( '#locale' ).val() ] );
}
</script>
Select a localisation :
<select id='locale'>
<option value='fr'>Fran&ccedil;ais</option>
<option value='de'>Deutsch</option>
<option>Select a localisation</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='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>
<br>
@ -56,18 +88,60 @@
List of localisations :
<ul>
<li>
<a href="jquery.ui.timepicker-de.js">Deutsch (jquery.ui.timepicker-de.js</a>
</li>
<li>
<a href="jquery.ui.timepicker-fr.js">Fran&ccedil;ais (jquery.ui.timepicker-fr.js</a>
<a href="jquery.ui.timepicker-hr.js">Croatian/Bosnian (jquery.ui.timepicker.hr.js)</a>
</li>
<li>
<a href="jquery.ui.timepicker-ja.js">Japanese (jquery.ui.timepicker-ja.js</a>
<a href="jquery.ui.timepicker-cs.js">Czech (jquery.ui.timepicker-cs.js</a>
</li>
<li>
<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>
</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']);
});

11
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 */
/* Written by Bernd Plagge (bplagge@choicenet.ne.jp). */
/* German initialisation for the timepicker plugin */
/* Written by Lowie Hulzinga. */
jQuery(function($){
$.timepicker.regional['de'] = {
hourText: 'Stunde',
minuteText: 'Minuten',
amPmText: ['AM', 'PM'] }
amPmText: ['AM', 'PM'] ,
closeButtonText: 'Beenden',
nowButtonText: 'Aktuelle Zeit',
deselectButtonText: 'Wischen' }
$.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'] = {
hourText: '時間',
minuteText: '分',
amPmText: ['午前', '午後'] }
amPmText: ['午前', '午後'],
closeButtonText: '閉じる',
nowButtonText: '現時',
deselectButtonText: '選択解除' }
$.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
* Dual licensed under the MIT or GPL Version 2 licenses.
@ -38,12 +38,12 @@
->T-Rex<-
*/
(function ($, undefined) {
(function ($) {
$.extend($.ui, { timepicker: { version: "0.2.9"} });
$.extend($.ui, { timepicker: { version: "0.3.1"} });
var PROP_NAME = 'timepicker';
var tpuuid = new Date().getTime();
var PROP_NAME = 'timepicker',
tpuuid = new Date().getTime();
/* Time picker manager.
Use the singleton instance of this class, $.timepicker, to interact with the time picker.
@ -53,7 +53,6 @@
function Timepicker() {
this.debug = true; // Change this to true to start debugging
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._timepickerShowing = false; // True if the popup picker is showing , 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.unbind('focus.timepicker', this._showTimepicker);
input.unbind('click.timepicker', this._adjustZIndex);
if (inst.trigger) { inst.trigger.remove(); }
var showOn = this._get(inst, 'showOn');
if (showOn == 'focus' || showOn == 'both') { // pop-up time picker when in the marked field
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
var button = this._get(inst, 'button');
$(button).bind("click.timepicker", function () {
if ($.timepicker._timepickerShowing && $.timepicker._lastInput == input[0]) { $.timepicker._hideTimepicker(); }
else { $.timepicker._showTimepicker(input[0]); }
if ($.timepicker._timepickerShowing && $.timepicker._lastInput == input[0]) {
$.timepicker._hideTimepicker();
} else if (!inst.input.is(':disabled')) {
$.timepicker._showTimepicker(input[0]);
}
return false;
});
@ -303,12 +308,19 @@
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.
@param input element - the input field attached to the time picker or
event - if triggered by focus */
_showTimepicker: function (input) {
input = input.target || input;
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
// 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
inst.tpDiv.css('zIndex', $.timepicker._getZIndex(input) +1);
$.timepicker._adjustZIndex(input);
//inst.tpDiv.css('zIndex', $.timepicker._getZIndex(input) +1);
if ($.effects && $.effects[showAnim]) {
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. */
_updateTimepicker: function (inst) {
inst.tpDiv.empty().append(this._generateHTML(inst));
@ -467,7 +490,7 @@
.find('.' + this._dayOverClass + ' a')
.trigger('mouseover')
.end()
.find('.ui-timepicker-now').bind("click",function(e) {
.find('.ui-timepicker-now').bind("click", function(e) {
$.timepicker.selectNow(e);
}).end()
.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.
@param target element - the target input field or division or span */
_enableTimepicker: function(target) {
@ -799,12 +842,17 @@
var nodeName = target.nodeName.toLowerCase();
if (nodeName == 'input') {
target.disabled = false;
var button = this._get(inst, 'button');
$(button).removeClass('ui-state-disabled').disabled = false;
inst.trigger.filter('button').
each(function() { this.disabled = false; }).end();
}
else if (nodeName == 'div' || nodeName == 'span') {
var inline = $target.children('.' + this._inlineClass);
inline.children().removeClass('ui-state-disabled');
inline.find('button').each(
function() { this.disabled = false }
)
}
this._disabledInputs = $.map(this._disabledInputs,
function(value) { return (value == target_id ? null : value); }); // delete entry
@ -820,6 +868,9 @@
}
var nodeName = target.nodeName.toLowerCase();
if (nodeName == 'input') {
var button = this._get(inst, 'button');
$(button).addClass('ui-state-disabled').disabled = true;
target.disabled = true;
inst.trigger.filter('button').
@ -829,6 +880,10 @@
else if (nodeName == 'div' || nodeName == 'span') {
var inline = $target.children('.' + this._inlineClass);
inline.children().addClass('ui-state-disabled');
inline.find('button').each(
function() { this.disabled = true }
)
}
this._disabledInputs = $.map(this._disabledInputs,
function(value) { return (value == target ? null : value); }); // delete entry
@ -923,13 +978,9 @@
(showAnim == 'fadeIn' ? 'fadeOut' : 'hide'))]((showAnim ? duration : null), 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._lastInput = null;
if (this._inDialog) {
this._dialogInput.css({ position: 'absolute', left: '0', top: '-100px' });
@ -939,6 +990,14 @@
}
}
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;
},
selectNow: function(e) {
var id = $(e.target).attr("data-timepicker-instance-id"),
selectNow: function(event) {
var id = $(event.target).attr("data-timepicker-instance-id"),
$target = $(id),
inst = this._getInst($target[0]);
//if (!inst || (input && inst != $.data(input, PROP_NAME))) { return; }
var currentTime = new Date();
inst.hours = currentTime.getHours();
@ -1121,8 +1178,8 @@
this._hideTimepicker();
},
deselectTime: function(e) {
var id = $(e.target).attr("data-timepicker-instance-id"),
deselectTime: function(event) {
var id = $(event.target).attr("data-timepicker-instance-id"),
$target = $(id),
inst = this._getInst($target[0]);
inst.hours = -1;
@ -1135,7 +1192,7 @@
selectHours: function (event) {
var $td = $(event.currentTarget),
id = $td.attr("data-timepicker-instance-id"),
newHours = $td.attr("data-hour"),
newHours = parseInt($td.attr("data-hour")),
fromDoubleClick = event.data.fromDoubleClick,
$target = $(id),
inst = this._getInst($target[0]),
@ -1168,7 +1225,7 @@
selectMinutes: function (event) {
var $td = $(event.currentTarget),
id = $td.attr("data-timepicker-instance-id"),
newMinutes = $td.attr("data-minute"),
newMinutes = parseInt($td.attr("data-minute")),
fromDoubleClick = event.data.fromDoubleClick,
$target = $(id),
inst = this._getInst($target[0]),
@ -1213,8 +1270,10 @@
return '';
}
if ((inst.hours < 0) || (inst.hours > 23)) { inst.hours = 12; }
if ((inst.minutes < 0) || (inst.minutes > 59)) { inst.minutes = 0; }
// default to 0 AM if hours is not valid
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 = "",
showPeriod = (this._get(inst, 'showPeriod') == true),
@ -1309,6 +1368,8 @@
$.timepicker.initialized = true;
}
var otherArgs = Array.prototype.slice.call(arguments, 1);
if (typeof options == 'string' && (options == 'getTime' || options == 'getHour' || options == 'getMinute' ))
return $.timepicker['_' + options + 'Timepicker'].
@ -1336,7 +1397,7 @@
$.timepicker = new Timepicker(); // singleton instance
$.timepicker.initialized = false;
$.timepicker.uuid = new Date().getTime();
$.timepicker.version = "0.2.9";
$.timepicker.version = "0.3.1";
// Workaround for #4055
// 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
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.

6
README
View file

@ -11,3 +11,9 @@ IRC channel: https://webchat.freenode.net/?channels=owncloud
Diaspora: https://joindiaspora.com/u/owncloud
Identi.ca: https://identi.ca/owncloud
Important notice on translations:
Please submit translations via Transifex:
https://www.transifex.com/projects/p/owncloud/
For more detailed information about translations:
http://owncloud.org/dev/translation/

View file

@ -63,4 +63,3 @@ $tmpl->assign( 'maxPossibleUploadSize', $maxUploadFilesizePossible);
$tmpl->assign( 'allowZipDownload', $allowZipDownload);
$tmpl->assign( 'maxZipInputSize', $maxZipInputSize);
return $tmpl->fetchPage();

View file

@ -89,4 +89,3 @@ a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; }
#scanning-message{ top:40%; left:40%; position:absolute; display:none; }
div.crumb a{ padding: 0.9em 0 0.7em 0; }

View file

@ -15,9 +15,9 @@ var FileList={
extension=false;
}
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){
html+='<span class="extension">'+extension+'</span>';
html+='<span class="extension">'+escapeHTML(extension)+'</span>';
}
html+='</span></a></td>';
if(size!='Pending'){
@ -150,7 +150,7 @@ var FileList={
if (newname != name) {
if (FileList.checkName(name, newname, false)) {
newname = name;
} else {
} else {
$.get(OC.filePath('files','ajax','rename.php'), { dir : $('#dir').val(), newname: newname, file: name },function(result) {
if (!result || result.status == 'error') {
OC.dialogs.alert(result.data.message, 'Error moving file');
@ -158,7 +158,7 @@ var FileList={
}
tr.data('renaming',false);
});
}
}
tr.attr('data-file', newname);
@ -189,9 +189,9 @@ var FileList={
checkName:function(oldName, newName, isNewFile) {
if (isNewFile || $('tr').filterAttr('data-file', newName).length > 0) {
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 {
$('#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('newName', newName);
@ -264,17 +264,17 @@ var FileList={
if (FileList.lastAction) {
FileList.lastAction();
}
FileList.prepareDeletion(files);
if (!FileList.useUndo) {
FileList.lastAction();
} else {
// NOTE: Temporary fix to change the text to unshared for files in root of Shared folder
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 {
$('#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();
}

View file

@ -199,7 +199,7 @@ $(document).ready(function() {
$(document).bind('drop dragover', function (e) {
e.preventDefault(); // prevent browser from doing anything, if file isn't dropped in dropZone
});
if ( document.getElementById("data-upload-form") ) {
$(function() {
$('.file_upload_start').fileupload({
@ -209,7 +209,7 @@ $(document).ready(function() {
var totalSize=0;
if(files){
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'));
return;
@ -282,7 +282,7 @@ $(document).ready(function() {
var fileName = files[i].name
var dropTarget = $(e.originalEvent.target).closest('tr');
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],
formData: function(form) {
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",
"Upload Error" => "Fejl ved upload",
"Pending" => "Afventer",
"1 file uploading" => "1 fil uploades",
"files uploading" => "filer uploades",
"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.",
"Invalid name, '/' is not allowed." => "Ugyldigt navn, '/' er ikke tilladt.",
@ -35,6 +37,16 @@
"folders" => "mapper",
"file" => "fil",
"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",
"Maximum upload size" => "Maksimal upload-størrelse",
"max. possible: " => "max. mulige: ",

View file

@ -9,6 +9,7 @@
"Files" => "Dosieroj",
"Unshare" => "Malkunhavigi",
"Delete" => "Forigi",
"Rename" => "Alinomigi",
"already exists" => "jam ekzistas",
"replace" => "anstataŭigi",
"suggest name" => "sugesti nomon",
@ -22,9 +23,13 @@
"Unable to upload your file as it is a directory or has 0 bytes" => "Ne eblis alŝuti vian dosieron ĉar ĝi estas dosierujo aŭ havas 0 duumokojn",
"Upload Error" => "Alŝuta eraro",
"Pending" => "Traktotaj",
"1 file uploading" => "1 dosiero estas alŝutata",
"files uploading" => "dosieroj estas alŝutataj",
"Upload cancelled." => "La alŝuto nuliĝis.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Dosieralŝuto plenumiĝas. Lasi la paĝon nun nuligus la alŝuton.",
"Invalid name, '/' is not allowed." => "Nevalida nomo, “/” ne estas permesata.",
"files scanned" => "dosieroj skanitaj",
"error while scanning" => "eraro dum skano",
"Name" => "Nomo",
"Size" => "Grando",
"Modified" => "Modifita",
@ -32,6 +37,16 @@
"folders" => "dosierujoj",
"file" => "dosiero",
"files" => "dosieroj",
"seconds ago" => "sekundoj antaŭe",
"minute ago" => "minuto antaŭe",
"minutes ago" => "minutoj antaŭe",
"today" => "hodiaŭ",
"yesterday" => "hieraŭ",
"days ago" => "tagoj antaŭe",
"last month" => "lastamonate",
"months ago" => "monatoj antaŭe",
"last year" => "lastajare",
"years ago" => "jaroj antaŭe",
"File handling" => "Dosieradministro",
"Maximum upload size" => "Maksimuma alŝutogrando",
"max. possible: " => "maks. ebla: ",

View file

@ -23,6 +23,8 @@
"Unable to upload your file as it is a directory or has 0 bytes" => "uploaden van de file mislukt, het is of een directory of de bestandsgrootte is 0 bytes",
"Upload Error" => "Upload Fout",
"Pending" => "Wachten",
"1 file uploading" => "1 bestand wordt ge-upload",
"files uploading" => "Bestanden aan het uploaden",
"Upload cancelled." => "Uploaden geannuleerd.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Bestands upload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload.",
"Invalid name, '/' is not allowed." => "Ongeldige naam, '/' is niet toegestaan.",
@ -35,6 +37,16 @@
"folders" => "mappen",
"file" => "bestand",
"files" => "bestanden",
"seconds ago" => "seconden geleden",
"minute ago" => "minuut geleden",
"minutes ago" => "minuten geleden",
"today" => "vandaag",
"yesterday" => "gisteren",
"days ago" => "dagen geleden",
"last month" => "vorige maand",
"months ago" => "maanden geleden",
"last year" => "vorig jaar",
"years ago" => "jaar geleden",
"File handling" => "Bestand",
"Maximum upload size" => "Maximale bestandsgrootte voor uploads",
"max. possible: " => "max. mogelijk: ",

View file

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

View file

@ -6,7 +6,7 @@
}
?>
</script>
<?php foreach($_['files'] as $file):
$simple_file_size = OCP\simple_file_size($file['size']);
$simple_size_color = intval(200-$file['size']/(1024*1024)*2); // the bigger the file, the darker the shade of grey; megabytes*2

View file

@ -3,23 +3,23 @@
OCP\JSON::checkAppEnabled('files_external');
if ( !($filename = $_FILES['rootcert_import']['name']) ) {
header("Location: settings/personal.php");
header("Location: settings/personal.php");
exit;
}
$fh = fopen($_FILES['rootcert_import']['tmp_name'], 'r');
$data = fread($fh, filesize($_FILES['rootcert_import']['tmp_name']));
$fh = fopen($_FILES['rootcert_import']['tmp_name'], 'r');
$data = fread($fh, filesize($_FILES['rootcert_import']['tmp_name']));
fclose($fh);
$filename = $_FILES['rootcert_import']['name'];
$view = new \OC_FilesystemView('/'.\OCP\User::getUser().'/files_external/uploads');
$view = new \OC_FilesystemView('/'.\OCP\User::getUser().'/files_external/uploads');
if (!$view->file_exists('')) $view->mkdir('');
$isValid = openssl_pkey_get_public($data);
//maybe it was just the wrong file format, try to convert it...
if ($isValid == false) {
$data = chunk_split(base64_encode($data), 64, "\n");
$data = chunk_split(base64_encode($data), 64, "\n");
$data = "-----BEGIN CERTIFICATE-----\n".$data."-----END CERTIFICATE-----\n";
$isValid = openssl_pkey_get_public($data);
}

View file

@ -11,4 +11,3 @@ if ( $view->file_exists($file) ) {
$view->unlink($file);
OC_Mount_Config::createCertificateBundle();
}

View file

@ -1,4 +1,10 @@
<?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",
"Mount point" => "Monteringspunkt",
"Backend" => "Backend",

View file

@ -1,9 +1,9 @@
<?php $TRANSLATIONS = array(
"Access granted" => "Zugriff erlaubt",
"Access granted" => "Zugriff gestattet",
"Error configuring Dropbox storage" => "Fehler beim Einrichten von Dropbox",
"Grant access" => "Zugriff erlauben",
"Fill out all required fields" => "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.",
"Grant access" => "Zugriff gestatten",
"Fill out all required fields" => "Bitte alle notwendigen Felder füllen",
"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",
"External Storage" => "Externer Speicher",
"Mount point" => "Mount-Point",

View file

@ -1,4 +1,10 @@
<?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 και μυστικό.",
"Error configuring Google Drive storage" => "Σφάλμα ρυθμίζωντας αποθήκευση Google Drive ",
"External Storage" => "Εξωτερικό Αποθηκευτικό Μέσο",
"Mount point" => "Σημείο προσάρτησης",
"Backend" => "Σύστημα υποστήριξης",
@ -7,7 +13,7 @@
"Applicable" => "Εφαρμόσιμο",
"Add mount point" => "Προσθήκη σημείου προσάρτησης",
"None set" => "Κανένα επιλεγμένο",
"All Users" => "Όλοι οι χρήστες",
"All Users" => "Όλοι οι Χρήστες",
"Groups" => "Ομάδες",
"Users" => "Χρήστες",
"Delete" => "Διαγραφή",

View file

@ -1,4 +1,10 @@
<?php $TRANSLATIONS = array(
"Access granted" => "Alirpermeso donita",
"Error configuring Dropbox storage" => "Eraro dum agordado de la memorservo Dropbox",
"Grant access" => "Doni alirpermeson",
"Fill out all required fields" => "Plenigu ĉiujn neprajn kampojn",
"Please provide a valid Dropbox app key and secret." => "Bonvolu provizi ŝlosilon de la aplikaĵo Dropbox validan kaj sekretan.",
"Error configuring Google Drive storage" => "Eraro dum agordado de la memorservo Google Drive",
"External Storage" => "Malena memorilo",
"Mount point" => "Surmetingo",
"Backend" => "Motoro",

View file

@ -1,4 +1,9 @@
<?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",
"Mount point" => "Liitospiste",
"Backend" => "Taustaosa",

View file

@ -1,4 +1,10 @@
<?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",
"Mount point" => "Aankoppelpunt",
"Backend" => "Backend",

View file

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

View file

@ -1,4 +1,10 @@
<?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" => "外部存储",
"Mount point" => "挂载点",
"Backend" => "后端",

View file

@ -109,10 +109,10 @@ class OC_Mount_Config {
return $personal;
}
/**
* Add directory for mount point to the filesystem
* @param OC_Fileview instance $view
* @param string path to mount point
/**
* Add directory for mount point to the filesystem
* @param OC_Fileview instance $view
* @param string path to mount point
*/
private static function addMountPointDirectory($view, $path) {
$dir = '';
@ -120,10 +120,10 @@ class OC_Mount_Config {
$dir = $dir.'/'.$pathPart;
if ( !$view->file_exists($dir)) {
$view->mkdir($dir);
}
}
}
}
/**
* Add a mount point to the filesystem
@ -160,7 +160,7 @@ class OC_Mount_Config {
self::addMountPointDirectory($view, $path);
}
break;
case 'group' :
case 'group' :
$groupMembers = OC_Group::usersInGroups(array($applicable));
foreach ( $groupMembers as $user ) {
$path = $user.'/files/'.ltrim($mountPoint, '/');
@ -288,6 +288,9 @@ class OC_Mount_Config {
if (!is_dir($path)) mkdir($path);
$result = array();
$handle = opendir($path);
if (!$handle) {
return array();
}
while (false !== ($file = readdir($handle))) {
if($file != '.' && $file != '..') $result[] = $file;
}

View file

@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
"Password" => "Pasvorto",
"Submit" => "Sendi",
"%s shared the folder %s with you" => "%s kunhavigis la dosierujon %s kun vi",
"%s shared the file %s with you" => "%s kunhavigis la dosieron %s kun vi",
"Download" => "Elŝuti",
"No preview available for" => "Ne haveblas antaŭvido por",
"web services under your control" => "TTT-servoj regataj de vi"

View file

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

View file

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

View file

@ -59,7 +59,7 @@ class OC_Share_Backend_Folder extends OC_Share_Backend_File implements OCP\Share
$parents = array();
while ($file = $result->fetchRow()) {
$children[] = array('source' => $file['id'], 'file_path' => $file['name']);
// If a child folder is found look inside it
// If a child folder is found look inside it
if ($file['mimetype'] == 'httpd/unix-directory') {
$parents[] = $file['id'];
}

View file

@ -45,10 +45,10 @@ if (isset($_GET['file']) || isset($_GET['dir'])) {
}
if (isset($linkItem['share_with'])) {
// Check password
if (isset($_GET['file'])) {
$url = OCP\Util::linkToPublic('files').'&file='.$_GET['file'];
} else {
$url = OCP\Util::linkToPublic('files').'&dir='.$_GET['dir'];
if (isset($_GET['file'])) {
$url = OCP\Util::linkToPublic('files').'&file='.$_GET['file'];
} else {
$url = OCP\Util::linkToPublic('files').'&dir='.$_GET['dir'];
}
if (isset($_POST['password'])) {
$password = $_POST['password'];
@ -98,7 +98,7 @@ if (isset($_GET['file']) || isset($_GET['dir'])) {
} else { // download a single shared file
OC_Files::get("", $path, $_SERVER['REQUEST_METHOD'] == 'HEAD' ? true : false);
}
} else {
OCP\Util::addStyle('files_sharing', 'public');
OCP\Util::addScript('files_sharing', 'public');
@ -134,7 +134,7 @@ if (isset($_GET['file']) || isset($_GET['dir'])) {
if ($i != '') {
if ($i != $baseDir) {
$pathtohere .= '/'.$i;
}
}
if ( strlen($pathtohere) < strlen($_GET['dir'])) {
continue;
}

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 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 += '<select data-placeholder="Saved versions" id="found_versions" class="chzen-select" style="width:16em;">';
html += '<option value=""></option>';
@ -68,7 +68,7 @@ function createVersionsDropdown(filename, files) {
data: { source: files },
async: false,
success: function( versions ) {
if (versions) {
$.each( versions, function(index, row ) {
addVersion( row );
@ -128,7 +128,7 @@ function createVersionsDropdown(filename, files) {
version.appendTo('#found_versions');
}
$('tr').filterAttr('data-file',filename).addClass('mouseOver');
$('#dropdown').show('blind');
@ -144,6 +144,6 @@ $(this).click(
});
}
}
);

View file

@ -1,5 +1,8 @@
<?php $TRANSLATIONS = array(
"Expire all versions" => "Eksvalidigi ĉiujn eldonojn",
"History" => "Historio",
"Versions" => "Eldonoj",
"This will delete all existing backup versions of your files" => "Ĉi tio forigos ĉiujn estantajn sekurkopiajn eldonojn de viaj dosieroj"
"This will delete all existing backup versions of your files" => "Ĉi tio forigos ĉiujn estantajn sekurkopiajn eldonojn de viaj dosieroj",
"Files Versioning" => "Dosiereldonigo",
"Enable" => "Kapabligi"
);

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