Merge branch 'develop'

This commit is contained in:
Uwe Steinmann 2013-09-05 07:56:52 +02:00
commit 6f08c702ef
168 changed files with 12664 additions and 2491 deletions

View File

@ -1,3 +1,43 @@
--------------------------------------------------------------------------------
Changes in version 4.3.0
--------------------------------------------------------------------------------
- create preview images for attachted document files
- expiration date cannot be set for the version as indicated by the gui.
Even in the past it was set for the document, but this was not clear
for the user.
- reorganization of ViewDocument page
- maximum execution time of php scripts can be set in the settings and
is now actually used.
- replaced folder tree view with a tree based on jquery which loads subfolders
on demand
- attribute value must match regular expression if given (Bug #49)
- show more information about attributes in attribute manager
- set url in notification mail after document review (Bug #56)
- new configuration setting specifying a list of user ids that cannot be deleted
- fix output of breadcrumbs on some pages (Bug #55)
- do not take document comment for version if version comment is empty.
The user must explicitly force it.
- combine full text and database search in one form, filtering search result
by document status or category will no longer return folders
- update of translation for zh_CN, fr_FR, sv_SE, es_ES
- added new language arabic (Egypt) (Bug #63)
- turn on foreign key constraints for sqlite3 databases
- update to bootstrap 2.3.2
- better checking of valid search term for fulltext search (Bug #61)
- moving several documents/folders at a time (Bug #64)
- set encoding of terms when adding document to full text index (Bug #66)
- droped support for myisam database engine
- add support for connecting to ldap servers without anonymous bind
- if a user has a mandatory workflow, don't allow him/her to set a workflow
on insert/update of a document
- fixed calculation of password strength when simple password strength
is set and user data is saved (Bug #69)
- better handling of invalid query terms in full text search.
- check for minimum php version 5.2.0 in install tool (Bug #74)
- fix missing url params of paginator in search result
- fix missing email header in password forgotten mail (Bug #81)
- use POST request for password strength checking
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
Changes in version 4.2.2 Changes in version 4.2.2
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------

View File

@ -1,4 +1,4 @@
VERSION=4.2.2 VERSION=4.3.0
SRC=CHANGELOG inc conf utils index.php languages views op out README.md README.Notification README.Ubuntu drop-tables-innodb.sql styles js TODO LICENSE Makefile webdav install SRC=CHANGELOG inc conf utils index.php languages views op out README.md README.Notification README.Ubuntu drop-tables-innodb.sql styles js TODO LICENSE Makefile webdav install
#restapi webapp #restapi webapp
@ -19,7 +19,13 @@ webdav:
(cd tmp; tar --exclude=.svn -czvf ../seeddms-webdav-$(VERSION).tar.gz seeddms-webdav-$(VERSION)) (cd tmp; tar --exclude=.svn -czvf ../seeddms-webdav-$(VERSION).tar.gz seeddms-webdav-$(VERSION))
rm -rf tmp rm -rf tmp
webapp:
mkdir -p tmp/seeddms-webapp-$(VERSION)
cp -a restapi webapp tmp/seeddms-webapp-$(VERSION)
(cd tmp; tar --exclude=.svn -czvf ../seeddms-webapp-$(VERSION).tar.gz seeddms-webapp-$(VERSION))
rm -rf tmp
doc: doc:
phpdoc -d SeedDMS_Core --ignore 'getusers.php,getfoldertree.php,config.php,reverselookup.php' -t html phpdoc -d SeedDMS_Core --ignore 'getusers.php,getfoldertree.php,config.php,reverselookup.php' -t html
.PHONY: webdav .PHONY: webdav webapp

View File

@ -221,6 +221,13 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
*/ */
protected $_valueset; protected $_valueset;
/**
* @var string regular expression the value must match
*
* @access protected
*/
protected $_regex;
/** /**
* @var object SeedDMS_Core_DMS reference to the dms instance this attribute definition belongs to * @var object SeedDMS_Core_DMS reference to the dms instance this attribute definition belongs to
* *
@ -258,7 +265,7 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
* @param string $valueset separated list of allowed values, the first char * @param string $valueset separated list of allowed values, the first char
* is taken as the separator * is taken as the separator
*/ */
function SeedDMS_Core_AttributeDefinition($id, $name, $objtype, $type, $multiple, $minvalues, $maxvalues, $valueset) { /* {{{ */ function SeedDMS_Core_AttributeDefinition($id, $name, $objtype, $type, $multiple, $minvalues, $maxvalues, $valueset, $regex) { /* {{{ */
$this->_id = $id; $this->_id = $id;
$this->_name = $name; $this->_name = $name;
$this->_type = $type; $this->_type = $type;
@ -268,6 +275,7 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
$this->_maxvalues = $maxvalues; $this->_maxvalues = $maxvalues;
$this->_valueset = $valueset; $this->_valueset = $valueset;
$this->_separator = ''; $this->_separator = '';
$this->_regex = $regex;
$this->_dms = null; $this->_dms = null;
} /* }}} */ } /* }}} */
@ -438,11 +446,40 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
return true; return true;
} /* }}} */ } /* }}} */
/**
* Get the regular expression as saved in the database
*
* @return string regular expression
*/
function getRegex() { /* {{{ */
return $this->_regex;
} /* }}} */
/**
* Set the regular expression
*
* A value of the attribute must match this regular expression.
*
* @param string $regex
* @return boolean true if regex could be set, otherwise false
*/
function setRegex($regex) { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "UPDATE tblAttributeDefinitions SET regex =".$db->qstr($regex)." WHERE id = " . $this->_id;
$res = $db->getResult($queryStr);
if (!$res)
return false;
$this->_regex = $regex;
return true;
} /* }}} */
/** /**
* Check if the attribute definition is used * Check if the attribute definition is used
* *
* Checks all attributes whether at least one of them referenceѕ * Checks all documents, folders and document content whether at least
* this attribute definition * one of them referenceѕ this attribute definition
* *
* @return boolean true if attribute definition is used, otherwise false * @return boolean true if attribute definition is used, otherwise false
*/ */
@ -466,6 +503,70 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
return true; return true;
} /* }}} */ } /* }}} */
/**
* Return a list of documents, folders, document contents where this
* attribute definition is used
*
* @param integer $limit return not more the n objects of each type
* @return boolean true if attribute definition is used, otherwise false
*/
function getStatistics($limit=0) { /* {{{ */
$db = $this->_dms->getDB();
$result = array('docs'=>array(), 'folders'=>array(), 'contents'=>array());
if($this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_all ||
$this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_document) {
$queryStr = "SELECT * FROM tblDocumentAttributes WHERE attrdef=".$this->_id;
if($limit)
$queryStr .= " limit ".(int) $limit;
$resArr = $db->getResultArray($queryStr);
if($resArr) {
foreach($resArr as $rec) {
if($doc = $this->_dms->getDocument($rec['document'])) {
$result['docs'][] = $doc;
}
}
}
$queryStr = "SELECT count(*) c, value FROM tblDocumentAttributes WHERE attrdef=".$this->_id." GROUP BY value ORDER BY c DESC";
$resArr = $db->getResultArray($queryStr);
if($resArr) {
$result['frequencies'] = $resArr;
}
}
if($this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_all ||
$this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_folder) {
$queryStr = "SELECT * FROM tblFolderAttributes WHERE attrdef=".$this->_id;
if($limit)
$queryStr .= " limit ".(int) $limit;
$resArr = $db->getResultArray($queryStr);
if($resArr) {
foreach($resArr as $rec) {
if($folder = $this->_dms->getFolder($rec['folder'])) {
$result['folders'][] = $folder;
}
}
}
}
if($this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_all ||
$this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_documentcontent) {
$queryStr = "SELECT * FROM tblDocumentContentAttributes WHERE attrdef=".$this->_id;
if($limit)
$queryStr .= " limit ".(int) $limit;
$resArr = $db->getResultArray($queryStr);
if($resArr) {
foreach($resArr as $rec) {
if($content = $this->_dms->getDocumentContent($rec['content'])) {
$result['contents'][] = $content;
}
}
}
}
return $result;
} /* }}} */
/** /**
* Remove the attribute definition * Remove the attribute definition
* Removal is only executed when the definition is not used anymore. * Removal is only executed when the definition is not used anymore.

View File

@ -243,7 +243,7 @@ class SeedDMS_Core_DMS {
$this->convertFileTypes = array(); $this->convertFileTypes = array();
$this->version = '@package_version@'; $this->version = '@package_version@';
if($this->version[0] == '@') if($this->version[0] == '@')
$this->version = '4.2.2'; $this->version = '4.3.0';
} /* }}} */ } /* }}} */
function getDB() { /* {{{ */ function getDB() { /* {{{ */
@ -469,6 +469,30 @@ class SeedDMS_Core_DMS {
return $document; return $document;
} /* }}} */ } /* }}} */
/**
* Return a document content by its id
*
* This function retrieves a document content from the database by its id.
*
* @param integer $id internal id of document content
* @return object instance of {@link SeedDMS_Core_DocumentContent} or false
*/
function getDocumentContent($id) { /* {{{ */
if (!is_numeric($id)) return false;
$queryStr = "SELECT * FROM tblDocumentContent WHERE id = ".(int) $id;
$resArr = $this->db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)
return false;
if (count($resArr) != 1)
return false;
$row = $resArr[0];
$document = $this->getDocument($row['document']);
$version = new SeedDMS_Core_DocumentContent($row['id'], $document, $row['version'], $row['comment'], $row['date'], $row['createdBy'], $row['dir'], $row['orgFileName'], $row['fileType'], $row['mimeType'], $row['fileSize'], $row['checksum']);
return $version;
} /* }}} */
function makeTimeStamp($hour, $min, $sec, $year, $month, $day) { function makeTimeStamp($hour, $min, $sec, $year, $month, $day) {
$thirtyone = array (1, 3, 5, 7, 8, 10, 12); $thirtyone = array (1, 3, 5, 7, 8, 10, 12);
$thirty = array (4, 6, 9, 11); $thirty = array (4, 6, 9, 11);
@ -547,6 +571,7 @@ class SeedDMS_Core_DMS {
$searchin=array(1, 2, 3, 4); $searchin=array(1, 2, 3, 4);
/*--------- Do it all over again for folders -------------*/ /*--------- Do it all over again for folders -------------*/
$totalFolders = 0;
if($mode & 0x2) { if($mode & 0x2) {
$searchKey = ""; $searchKey = "";
$searchFields = array(); $searchFields = array();
@ -580,7 +605,15 @@ class SeedDMS_Core_DMS {
// document owner. // document owner.
$searchOwner = ""; $searchOwner = "";
if ($owner) { if ($owner) {
$searchOwner = "`tblFolders`.`owner` = '".$owner->getId()."'"; if(is_array($owner)) {
$ownerids = array();
foreach($owner as $o)
$ownerids[] = $o->getID();
if($ownerids)
$searchOwner = "`tblFolders`.`owner` IN (".implode(',', $ownerids).")";
} else {
$searchOwner = "`tblFolders`.`owner` = '".$owner->getId()."'";
}
} }
// Is the search restricted to documents created between two specific dates? // Is the search restricted to documents created between two specific dates?
@ -618,7 +651,6 @@ class SeedDMS_Core_DMS {
/* Do not search for folders if not at least a search for a key, /* Do not search for folders if not at least a search for a key,
* an owner, or creation date is requested. * an owner, or creation date is requested.
*/ */
$totalFolders = 0;
if($searchKey || $searchOwner || $searchCreateDate) { if($searchKey || $searchOwner || $searchCreateDate) {
// Count the number of rows that the search will produce. // Count the number of rows that the search will produce.
$resArr = $this->db->getResultArray("SELECT COUNT(*) AS num ".$searchQuery); $resArr = $this->db->getResultArray("SELECT COUNT(*) AS num ".$searchQuery);
@ -702,7 +734,15 @@ class SeedDMS_Core_DMS {
// document owner. // document owner.
$searchOwner = ""; $searchOwner = "";
if ($owner) { if ($owner) {
$searchOwner = "`tblDocuments`.`owner` = '".$owner->getId()."'"; if(is_array($owner)) {
$ownerids = array();
foreach($owner as $o)
$ownerids[] = $o->getID();
if($ownerids)
$searchOwner = "`tblDocuments`.`owner` IN (".implode(',', $ownerids).")";
} else {
$searchOwner = "`tblDocuments`.`owner` = '".$owner->getId()."'";
}
} }
// Check to see if the search has been restricted to a particular // Check to see if the search has been restricted to a particular
@ -1453,7 +1493,7 @@ class SeedDMS_Core_DMS {
$resArr = $resArr[0]; $resArr = $resArr[0];
$attrdef = new SeedDMS_Core_AttributeDefinition($resArr["id"], $resArr["name"], $resArr["objtype"], $resArr["type"], $resArr["multiple"], $resArr["minvalues"], $resArr["maxvalues"], $resArr["valueset"]); $attrdef = new SeedDMS_Core_AttributeDefinition($resArr["id"], $resArr["name"], $resArr["objtype"], $resArr["type"], $resArr["multiple"], $resArr["minvalues"], $resArr["maxvalues"], $resArr["valueset"], $resArr["regex"]);
$attrdef->setDMS($this); $attrdef->setDMS($this);
return $attrdef; return $attrdef;
} /* }}} */ } /* }}} */
@ -1477,7 +1517,7 @@ class SeedDMS_Core_DMS {
$resArr = $resArr[0]; $resArr = $resArr[0];
$attrdef = new SeedDMS_Core_AttributeDefinition($resArr["id"], $resArr["name"], $resArr["objtype"], $resArr["type"], $resArr["multiple"], $resArr["minvalues"], $resArr["maxvalues"], $resArr["valueset"]); $attrdef = new SeedDMS_Core_AttributeDefinition($resArr["id"], $resArr["name"], $resArr["objtype"], $resArr["type"], $resArr["multiple"], $resArr["minvalues"], $resArr["maxvalues"], $resArr["valueset"], $resArr["regex"]);
$attrdef->setDMS($this); $attrdef->setDMS($this);
return $attrdef; return $attrdef;
} /* }}} */ } /* }}} */
@ -1505,7 +1545,7 @@ class SeedDMS_Core_DMS {
$attrdefs = array(); $attrdefs = array();
for ($i = 0; $i < count($resArr); $i++) { for ($i = 0; $i < count($resArr); $i++) {
$attrdef = new SeedDMS_Core_AttributeDefinition($resArr[$i]["id"], $resArr[$i]["name"], $resArr[$i]["objtype"], $resArr[$i]["type"], $resArr[$i]["multiple"], $resArr[$i]["minvalues"], $resArr[$i]["maxvalues"], $resArr[$i]["valueset"]); $attrdef = new SeedDMS_Core_AttributeDefinition($resArr[$i]["id"], $resArr[$i]["name"], $resArr[$i]["objtype"], $resArr[$i]["type"], $resArr[$i]["multiple"], $resArr[$i]["minvalues"], $resArr[$i]["maxvalues"], $resArr[$i]["valueset"], $resArr[$i]["regex"]);
$attrdef->setDMS($this); $attrdef->setDMS($this);
$attrdefs[$i] = $attrdef; $attrdefs[$i] = $attrdef;
} }
@ -1524,13 +1564,13 @@ class SeedDMS_Core_DMS {
* @param string $valueset list of allowed values (csv format) * @param string $valueset list of allowed values (csv format)
* @return object of {@link SeedDMS_Core_User} * @return object of {@link SeedDMS_Core_User}
*/ */
function addAttributeDefinition($name, $objtype, $type, $multiple=0, $minvalues=0, $maxvalues=1, $valueset='') { /* {{{ */ function addAttributeDefinition($name, $objtype, $type, $multiple=0, $minvalues=0, $maxvalues=1, $valueset='', $regex='') { /* {{{ */
if (is_object($this->getAttributeDefinitionByName($name))) { if (is_object($this->getAttributeDefinitionByName($name))) {
return false; return false;
} }
if(!$type) if(!$type)
return false; return false;
$queryStr = "INSERT INTO tblAttributeDefinitions (name, objtype, type, multiple, minvalues, maxvalues, valueset) VALUES (".$this->db->qstr($name).", ".intval($objtype).", ".intval($type).", ".intval($multiple).", ".intval($minvalues).", ".intval($maxvalues).", ".$this->db->qstr($valueset).")"; $queryStr = "INSERT INTO tblAttributeDefinitions (name, objtype, type, multiple, minvalues, maxvalues, valueset, regex) VALUES (".$this->db->qstr($name).", ".intval($objtype).", ".intval($type).", ".intval($multiple).", ".intval($minvalues).", ".intval($maxvalues).", ".$this->db->qstr($valueset).", ".$this->db->qstr($regex).")";
$res = $this->db->getResult($queryStr); $res = $this->db->getResult($queryStr);
if (!$res) if (!$res)
return false; return false;

View File

@ -523,10 +523,8 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
* set to S_EXPIRED but the document isn't actually expired. * set to S_EXPIRED but the document isn't actually expired.
* The method will update the document status log database table * The method will update the document status log database table
* if needed. * if needed.
* FIXME: Why does it not set a document to S_EXPIRED if it is
* currently in state S_RELEASED
* FIXME: some left over reviewers/approvers are in the way if * FIXME: some left over reviewers/approvers are in the way if
* no workflow is set an traditional workflow mode is on. In that * no workflow is set and traditional workflow mode is on. In that
* case the status is set to S_DRAFT_REV or S_DRAFT_APP * case the status is set to S_DRAFT_REV or S_DRAFT_APP
* *
* @return boolean true if status has changed * @return boolean true if status has changed
@ -536,7 +534,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
if($lc) { if($lc) {
$st=$lc->getStatus(); $st=$lc->getStatus();
if (($st["status"]==S_DRAFT_REV || $st["status"]==S_DRAFT_APP || $st["status"]==S_IN_WORKFLOW) && $this->hasExpired()){ if (($st["status"]==S_DRAFT_REV || $st["status"]==S_DRAFT_APP || $st["status"]==S_IN_WORKFLOW || $st["status"]==S_RELEASED) && $this->hasExpired()){
return $lc->setStatus(S_EXPIRED,"", $this->getOwner()); return $lc->setStatus(S_EXPIRED,"", $this->getOwner());
} }
elseif ($st["status"]==S_EXPIRED && !$this->hasExpired() ){ elseif ($st["status"]==S_EXPIRED && !$this->hasExpired() ){
@ -3230,7 +3228,6 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
"SELECT * FROM tblWorkflowDocumentContent WHERE workflow=". intval($this->_workflow->getID()) "SELECT * FROM tblWorkflowDocumentContent WHERE workflow=". intval($this->_workflow->getID())
. " AND `version`='".$this->_version . " AND `version`='".$this->_version
."' AND `document` = '". $this->_document->getID() ."' "; ."' AND `document` = '". $this->_document->getID() ."' ";
echo $queryStr;
$recs = $db->getResultArray($queryStr); $recs = $db->getResultArray($queryStr);
if (is_bool($recs) && !$recs) { if (is_bool($recs) && !$recs) {
$db->rollbackTransaction(); $db->rollbackTransaction();
@ -3242,7 +3239,6 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
} }
$queryStr = "DELETE FROM `tblWorkflowDocumentContent` WHERE `workflow` =". intval($this->_workflow->getID())." AND `document` = '". $this->_document->getID() ."' AND `version` = '" . $this->_version."'"; $queryStr = "DELETE FROM `tblWorkflowDocumentContent` WHERE `workflow` =". intval($this->_workflow->getID())." AND `document` = '". $this->_document->getID() ."' AND `version` = '" . $this->_version."'";
echo $queryStr;
if (!$db->getResult($queryStr)) { if (!$db->getResult($queryStr)) {
$db->rollbackTransaction(); $db->rollbackTransaction();
return false; return false;

View File

@ -437,7 +437,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
* @return array Array of parents * @return array Array of parents
*/ */
function getPath() { /* {{{ */ function getPath() { /* {{{ */
if (!isset($this->_parentID) || ($this->_parentID == "") || ($this->_parentID == 0)) { if (!isset($this->_parentID) || ($this->_parentID == "") || ($this->_parentID == 0) || ($this->_id == $this->_dms->rootFolderID)) {
return array($this); return array($this);
} }
else { else {
@ -701,9 +701,9 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object {
$document = $this->_dms->getDocument($db->getInsertID()); $document = $this->_dms->getDocument($db->getInsertID());
if ($version_comment!="") // if ($version_comment!="")
$res = $document->addContent($version_comment, $owner, $tmpFile, $orgFileName, $fileType, $mimeType, $reviewers, $approvers,$reqversion, $version_attributes, $workflow); $res = $document->addContent($version_comment, $owner, $tmpFile, $orgFileName, $fileType, $mimeType, $reviewers, $approvers,$reqversion, $version_attributes, $workflow);
else $res = $document->addContent($comment, $owner, $tmpFile, $orgFileName, $fileType, $mimeType, $reviewers, $approvers,$reqversion, $version_attributes, $workflow); // else $res = $document->addContent($comment, $owner, $tmpFile, $orgFileName, $fileType, $mimeType, $reviewers, $approvers,$reqversion, $version_attributes, $workflow);
if (is_bool($res) && !$res) { if (is_bool($res) && !$res) {
$db->rollbackTransaction(); $db->rollbackTransaction();

View File

@ -158,5 +158,37 @@ class SeedDMS_Core_Object { /* {{{ */
return true; return true;
} /* }}} */ } /* }}} */
/**
* Remove an attribute of the object for the given attribute definition
*
* @return boolean true if operation was successful, otherwise false
*/
function removeAttribute($attrdef) { /* {{{ */
$db = $this->_dms->getDB();
if (!$this->_attributes) {
$this->getAttributes();
}
if(isset($this->_attributes[$attrdef->getId()])) {
switch(get_class($this)) {
case "SeedDMS_Core_Document":
$queryStr = "DELETE FROM tblDocumentAttributes WHERE document=".$this->_id." AND attrdef=".$attrdef->getId();
break;
case "SeedDMS_Core_DocumentContent":
$queryStr = "DELETE FROM tblDocumentContentAttributes WHERE content=".$this->_id." AND attrdef=".$attrdef->getId();
break;
case "SeedDMS_Core_Folder":
$queryStr = "DELETE FROM tblFolderAttributes WHERE folder=".$this->_id." AND attrdef=".$attrdef->getId();
break;
default:
return false;
}
$res = $db->getResult($queryStr);
if (!$res)
return false;
unset($this->_attributes[$attrdef->getId()]);
}
return true;
} /* }}} */
} /* }}} */ } /* }}} */
?> ?>

View File

@ -169,6 +169,9 @@ class SeedDMS_Core_DatabaseAccess {
case 'mysql': case 'mysql':
$this->_conn->exec('SET NAMES utf8'); $this->_conn->exec('SET NAMES utf8');
break; break;
case 'sqlite':
$this->_conn->exec('PRAGMA foreign_keys = ON');
break;
} }
$this->_connected = true; $this->_connected = true;
return true; return true;

View File

@ -12,11 +12,11 @@
<email>uwe@steinmann.cx</email> <email>uwe@steinmann.cx</email>
<active>yes</active> <active>yes</active>
</lead> </lead>
<date>2013-05-17</date> <date>2013-09-05</date>
<time>09:21:37</time> <time>07:41:57</time>
<version> <version>
<release>4.2.2</release> <release>4.3.0</release>
<api>4.2.1</api> <api>4.3.0</api>
</version> </version>
<stability> <stability>
<release>stable</release> <release>stable</release>
@ -24,7 +24,11 @@
</stability> </stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license> <license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes> <notes>
- admins can be added as reviewer/approver again - various small corrections
- comment of version is no longer taken from document if version comment is empty
- passing an array of users to SeedDMЅ_Core_DMS::search() instead of a single user ist now allowed
- turn on foreign key constraints for sqlite3
- SeedDMЅ_Core_Folder::getPath() can handle a subfolder treated as a root folder
</notes> </notes>
<contents> <contents>
<dir baseinstalldir="SeedDMS" name="/"> <dir baseinstalldir="SeedDMS" name="/">
@ -529,5 +533,21 @@ New release
- fixed bug in SeedDMS_Core_DocumentContent::addIndApp() - fixed bug in SeedDMS_Core_DocumentContent::addIndApp()
</notes> </notes>
</release> </release>
<release>
<date>2013-05-17</date>
<time>09:21:37</time>
<version>
<release>4.2.2</release>
<api>4.2.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- admins can be added as reviewer/approver again
</notes>
</release>
</changelog> </changelog>
</package> </package>

View File

@ -51,37 +51,37 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
foreach($attributes as $attribute) { foreach($attributes as $attribute) {
$attrdef = $attribute->getAttributeDefinition(); $attrdef = $attribute->getAttributeDefinition();
if($attrdef->getValueSet() != '') if($attrdef->getValueSet() != '')
$this->addField(Zend_Search_Lucene_Field::Keyword('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue())); $this->addField(Zend_Search_Lucene_Field::Keyword('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue(), 'utf-8'));
else else
$this->addField(Zend_Search_Lucene_Field::Text('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue())); $this->addField(Zend_Search_Lucene_Field::Text('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue(), 'utf-8'));
} }
} }
} }
$this->addField(Zend_Search_Lucene_Field::Text('title', $document->getName())); $this->addField(Zend_Search_Lucene_Field::Text('title', $document->getName(), 'utf-8'));
if($categories = $document->getCategories()) { if($categories = $document->getCategories()) {
$names = array(); $names = array();
foreach($categories as $cat) { foreach($categories as $cat) {
$names[] = $cat->getName(); $names[] = $cat->getName();
} }
$this->addField(Zend_Search_Lucene_Field::Text('category', implode(' ', $names))); $this->addField(Zend_Search_Lucene_Field::Text('category', implode(' ', $names), 'utf-8'));
} }
if($attributes = $document->getAttributes()) { if($attributes = $document->getAttributes()) {
foreach($attributes as $attribute) { foreach($attributes as $attribute) {
$attrdef = $attribute->getAttributeDefinition(); $attrdef = $attribute->getAttributeDefinition();
if($attrdef->getValueSet() != '') if($attrdef->getValueSet() != '')
$this->addField(Zend_Search_Lucene_Field::Keyword('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue())); $this->addField(Zend_Search_Lucene_Field::Keyword('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue(), 'utf-8'));
else else
$this->addField(Zend_Search_Lucene_Field::Text('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue())); $this->addField(Zend_Search_Lucene_Field::Text('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue(), 'utf-8'));
} }
} }
$owner = $document->getOwner(); $owner = $document->getOwner();
$this->addField(Zend_Search_Lucene_Field::Text('owner', $owner->getLogin())); $this->addField(Zend_Search_Lucene_Field::Text('owner', $owner->getLogin(), 'utf-8'));
if($keywords = $document->getKeywords()) { if($keywords = $document->getKeywords()) {
$this->addField(Zend_Search_Lucene_Field::Text('keywords', $keywords)); $this->addField(Zend_Search_Lucene_Field::Text('keywords', $keywords, 'utf-8'));
} }
if($comment = $document->getComment()) { if($comment = $document->getComment()) {
$this->addField(Zend_Search_Lucene_Field::Text('comment', $comment)); $this->addField(Zend_Search_Lucene_Field::Text('comment', $comment, 'utf-8'));
} }
if($version && !$nocontent) { if($version && !$nocontent) {
$path = $dms->contentDir . $version->getPath(); $path = $dms->contentDir . $version->getPath();

View File

@ -49,30 +49,39 @@ class SeedDMS_Lucene_Search {
* @return object instance of SeedDMS_Lucene_Search * @return object instance of SeedDMS_Lucene_Search
*/ */
function search($term, $owner, $status='', $categories=array(), $fields=array()) { /* {{{ */ function search($term, $owner, $status='', $categories=array(), $fields=array()) { /* {{{ */
$query = ''; $querystr = '';
if($fields) { if($fields) {
} else { } else {
if($term) if($term)
$query .= trim($term); $querystr .= trim($term);
} }
if($owner) { if($owner) {
if($query) if($querystr)
$query .= ' && '; $querystr .= ' && ';
$query .= 'owner:'.$owner; $querystr .= 'owner:'.$owner;
} }
if($categories) { if($categories) {
if($query) if($querystr)
$query .= ' && '; $querystr .= ' && ';
$query .= '(category:"'; $querystr .= '(category:"';
$query .= implode('" || category:"', $categories); $querystr .= implode('" || category:"', $categories);
$query .= '")'; $querystr .= '")';
} }
$hits = $this->index->find($query); try {
$recs = array(); $query = Zend_Search_Lucene_Search_QueryParser::parse($querystr);
foreach($hits as $hit) { try {
$recs[] = array('id'=>$hit->id, 'document_id'=>$hit->document_id); $hits = $this->index->find($query);
$recs = array();
foreach($hits as $hit) {
$recs[] = array('id'=>$hit->id, 'document_id'=>$hit->document_id);
}
return $recs;
} catch (Zend_Search_Lucene_Exception $e) {
return false;
}
} catch (Zend_Search_Lucene_Search_QueryParserException $e) {
return false;
} }
return $recs;
} /* }}} */ } /* }}} */
} }
?> ?>

View File

@ -11,11 +11,11 @@
<email>uwe@steinmann.cx</email> <email>uwe@steinmann.cx</email>
<active>yes</active> <active>yes</active>
</lead> </lead>
<date>2012-12-03</date> <date>2013-08-13</date>
<time>10:31:23</time> <time>21:56:55</time>
<version> <version>
<release>1.1.1</release> <release>1.1.4</release>
<api>1.1.1</api> <api>1.1.4</api>
</version> </version>
<stability> <stability>
<release>stable</release> <release>stable</release>
@ -23,7 +23,7 @@
</stability> </stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license> <license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes> <notes>
catch exception if index is opened but not available class SeedDMS_Lucene_Search::search returns false if query is invalid instead of an empty result record
</notes> </notes>
<contents> <contents>
<dir baseinstalldir="SeedDMS" name="/"> <dir baseinstalldir="SeedDMS" name="/">
@ -104,5 +104,54 @@ use a configurable list of mime type converters, fixed indexing and searching
of special chars like german umlaute. of special chars like german umlaute.
</notes> </notes>
</release> </release>
<release>
<date>2012-12-03</date>
<time>10:31:23</time>
<version>
<release>1.1.1</release>
<api>1.1.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
catch exception if index is opened but not available
</notes>
</release>
<release>
<date>2013-06-17</date>
<time>10:31:23</time>
<version>
<release>1.1.2</release>
<api>1.1.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
parse query term and catch errors before using it
</notes>
</release>
<release>
<date>2013-06-27</date>
<time>15:12:50</time>
<version>
<release>1.1.3</release>
<api>1.1.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
explicitly set encoding to utf-8 when adding fields
do not check if deleting document from index fails, update it in any case
</notes>
</release>
</changelog> </changelog>
</package> </package>

View File

@ -50,27 +50,50 @@ class SeedDMS_Preview_Previewer {
$this->width = intval($width); $this->width = intval($width);
} }
function createPreview($documentcontent, $width=0) { /* {{{ */ /**
* Retrieve the physical filename of the preview image on disk
*
* @param object $object document content or document file
* @param integer $width width of preview image
* @return string file name of preview image
*/
protected function getFileName($object, $width) { /* }}} */
$document = $object->getDocument();
$dir = $this->previewDir.'/'.$document->getDir();
switch(get_class($object)) {
case "SeedDMS_Core_DocumentContent":
$target = $dir.'p'.$object->getVersion().'-'.$width.'.png';
break;
case "SeedDMS_Core_DocumentFile":
$target = $dir.'f'.$object->getID().'-'.$width.'.png';
break;
default:
return false;
}
return $target;
} /* }}} */
public function createPreview($object, $width=0) { /* {{{ */
if($width == 0) if($width == 0)
$width = $this->width; $width = $this->width;
else else
$width = intval($width); $width = intval($width);
if(!$this->previewDir) if(!$this->previewDir)
return false; return false;
$document = $documentcontent->getDocument(); $document = $object->getDocument();
$dir = $this->previewDir.'/'.$document->getDir(); $dir = $this->previewDir.'/'.$document->getDir();
if(!is_dir($dir)) { if(!is_dir($dir)) {
if (!SeedDMS_Core_File::makeDir($dir)) { if (!SeedDMS_Core_File::makeDir($dir)) {
return false; return false;
} }
} }
$file = $document->_dms->contentDir.$documentcontent->getPath(); $file = $document->_dms->contentDir.$object->getPath();
if(!file_exists($file)) if(!file_exists($file))
return false; return false;
$target = $dir.'p'.$documentcontent->getVersion().'-'.$width.'.png'; $target = $this->getFileName($object, $width);
if(!file_exists($target)) { if($target !== false && !file_exists($target)) {
$cmd = ''; $cmd = '';
switch($documentcontent->getMimeType()) { switch($object->getMimeType()) {
case "image/png": case "image/png":
case "image/gif": case "image/gif":
case "image/jpeg": case "image/jpeg":
@ -89,46 +112,43 @@ class SeedDMS_Preview_Previewer {
} /* }}} */ } /* }}} */
function hasPreview($documentcontent, $width=0) { /* {{{ */ public function hasPreview($object, $width=0) { /* {{{ */
if($width == 0) if($width == 0)
$width = $this->width; $width = $this->width;
else else
$width = intval($width); $width = intval($width);
if(!$this->previewDir) if(!$this->previewDir)
return false; return false;
$document = $documentcontent->getDocument(); $target = $this->getFileName($object, $width);
$dir = $this->previewDir.'/'.$document->getDir(); if($target && file_exists($target)) {
$target = $dir.'p'.$documentcontent->getVersion().'-'.$width.'.png';
if(file_exists($target)) {
return true; return true;
} }
return false; return false;
} /* }}} */ } /* }}} */
function getPreview($documentcontent, $width=0) { /* {{{ */ public function getPreview($object, $width=0) { /* {{{ */
if($width == 0) if($width == 0)
$width = $this->width; $width = $this->width;
else else
$width = intval($width); $width = intval($width);
if(!$this->previewDir) if(!$this->previewDir)
return false; return false;
$document = $documentcontent->getDocument();
$dir = $this->previewDir.'/'.$document->getDir(); $target = $this->getFileName($object, $width);
$target = $dir.'p'.$documentcontent->getVersion().'-'.$width.'.png'; if($target && file_exists($target)) {
if(file_exists($target)) {
readfile($target); readfile($target);
} }
} /* }}} */ } /* }}} */
function deletePreview($document, $documentcontent) { /* {{{ */ public function deletePreview($document, $object, $width=0) { /* {{{ */
if($width == 0) if($width == 0)
$width = $this->width; $width = $this->width;
else else
$width = intval($width); $width = intval($width);
if(!$this->previewDir) if(!$this->previewDir)
return false; return false;
$dir = $this->previewDir.'/'.$document->getDir();
$target = $dir.'p'.$documentcontent->getVersion().'-'.$width.'.png'; $target = $this->getFileName($object, $width);
} /* }}} */ } /* }}} */
} }
?> ?>

View File

@ -11,11 +11,11 @@
<email>uwe@steinmann.cx</email> <email>uwe@steinmann.cx</email>
<active>yes</active> <active>yes</active>
</lead> </lead>
<date>2012-11-20</date> <date>2013-04-29</date>
<time>08:05:38</time> <time>19:34:07</time>
<version> <version>
<release>1.0.0</release> <release>1.1.0</release>
<api>1.0.0</api> <api>1.1.0</api>
</version> </version>
<stability> <stability>
<release>stable</release> <release>stable</release>
@ -23,7 +23,7 @@
</stability> </stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license> <license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes> <notes>
initial version preview image can also be created from a document file (SeedDMS_Core_DocumentFile)
</notes> </notes>
<contents> <contents>
<dir baseinstalldir="SeedDMS" name="/"> <dir baseinstalldir="SeedDMS" name="/">
@ -52,6 +52,20 @@ initial version
<phprelease /> <phprelease />
<changelog> <changelog>
<release> <release>
<date>2012-11-20</date>
<time>08:05:38</time>
<version>
<release>1.0.0</release>
<api>1.0.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
initial version
</notes>
</release> </release>
</changelog> </changelog>
</package> </package>

View File

@ -22,6 +22,7 @@
- enableUsersView: enable/disable group and user view for all users - enableUsersView: enable/disable group and user view for all users
- enableFullSearch: false to don't use fulltext search - enableFullSearch: false to don't use fulltext search
- enableLanguageSelector: false to don't show the language selector after login - enableLanguageSelector: false to don't show the language selector after login
- enableClipboard: false to hide the clipboard
- enableFolderTree: false to don't show the folder tree - enableFolderTree: false to don't show the folder tree
- expandFolderTree: 0 to start with tree hidden - expandFolderTree: 0 to start with tree hidden
- 1 to start with tree shown and first level expanded - 1 to start with tree shown and first level expanded
@ -36,6 +37,7 @@
enableEmail = "true" enableEmail = "true"
enableUsersView = "true" enableUsersView = "true"
enableFullSearch = "false" enableFullSearch = "false"
enableClipboard = "false"
enableFolderTree = "true" enableFolderTree = "true"
expandFolderTree = "1" expandFolderTree = "1"
enableLanguageSelector = "true" enableLanguageSelector = "true"
@ -116,6 +118,8 @@
host = "ldaps://ldap.host.com" host = "ldaps://ldap.host.com"
port = "389" port = "389"
baseDN = "" baseDN = ""
bindDN=""
bindPw=""
> >
</connector> </connector>
<!-- ***** CONNECTOR Microsoft Active Directory ***** <!-- ***** CONNECTOR Microsoft Active Directory *****
@ -133,6 +137,8 @@
port = "389" port = "389"
baseDN = "" baseDN = ""
accountDomainName = "example.com" accountDomainName = "example.com"
bindDN=""
bindPw=""
> >
</connector> </connector>
</connectors> </connectors>

View File

@ -129,16 +129,13 @@ class SeedDMS_AccessOperation {
* Check if expiration date may be set * Check if expiration date may be set
* *
* This check can only be done for documents. Setting the documents * This check can only be done for documents. Setting the documents
* expiration date is only allowed if version modification is turned on in * expiration date is only allowed if the document has not been obsoleted.
* the settings and the document has not been obsoleted.
* The admin may set the expiration date even if is
* disallowed in the settings.
*/ */
function maySetExpires() { /* {{{ */ function maySetExpires() { /* {{{ */
if(get_class($this->obj) == 'SeedDMS_Core_Document') { if(get_class($this->obj) == 'SeedDMS_Core_Document') {
$latestContent = $this->obj->getLatestContent(); $latestContent = $this->obj->getLatestContent();
$status = $latestContent->getStatus(); $status = $latestContent->getStatus();
if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]!=S_OBSOLETE)) { if ((($this->obj->getAccessMode($this->user) == M_ALL) || $this->user->isAdmin()) && ($status["status"]!=S_OBSOLETE)) {
return true; return true;
} }
} }

View File

@ -49,7 +49,8 @@ class SeedDMS_Email extends SeedDMS_Notify {
$message = getMLText("email_header", array(), "", $lang)."\r\n\r\n".getMLText($message, $params, "", $lang); $message = getMLText("email_header", array(), "", $lang)."\r\n\r\n".getMLText($message, $params, "", $lang);
$message .= "\r\n\r\n".getMLText("email_footer", array(), "", $lang); $message .= "\r\n\r\n".getMLText("email_footer", array(), "", $lang);
mail($recipient->getEmail(), getMLText($subject, $params, "", $lang), $message, implode("\r\n", $headers)); $subject = "=?UTF-8?B?".base64_encode(getMLText($subject, $params, "", $lang))."?=";
mail($recipient->getEmail(), $subject, $message, implode("\r\n", $headers));
return true; return true;
} /* }}} */ } /* }}} */
@ -86,10 +87,11 @@ class SeedDMS_Email extends SeedDMS_Notify {
$headers = array(); $headers = array();
$headers[] = "MIME-Version: 1.0"; $headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=utf-8"; $headers[] = "Content-type: text/plain; charset=utf-8";
$headers[] = "From: ". $settings->_smtpSendFrom(); $headers[] = "From: ". $settings->_smtpSendFrom;
$headers[] = "Reply-To: ". $settings->_smtpSendFrom(); $headers[] = "Reply-To: ". $settings->_smtpSendFrom;
return (mail($recipient->getEmail(), $this->replaceMarker($subject), $this->replaceMarker($message), implode("\r\n", $header)) ? 0 : -1); $subject = "=?UTF-8?B?".base64_encode($this->replaceMarker($subject))."?=";
return (mail($recipient->getEmail(), $subject, $this->replaceMarker($message), implode("\r\n", $headers)) ? 0 : -1);
} /* }}} */ } /* }}} */
} }
?> ?>

View File

@ -77,11 +77,15 @@ class SeedDMS_Session {
if (!$this->db->getResult($queryStr)) if (!$this->db->getResult($queryStr))
return false; return false;
$this->id = $id; $this->id = $id;
$this->data = array('userid'=>$resArr[0]['userID'], 'theme'=>$resArr[0]['theme'], 'lang'=>$resArr[0]['language'], 'id'=>$resArr[0]['id'], 'lastaccess'=>$resArr[0]['lastAccess'], 'flashmsg'=>'', 'su'=>$resArr[0]['su']); $this->data = array('userid'=>$resArr[0]['userID'], 'theme'=>$resArr[0]['theme'], 'lang'=>$resArr[0]['language'], 'id'=>$resArr[0]['id'], 'lastaccess'=>$resArr[0]['lastAccess'], 'su'=>$resArr[0]['su']);
if($resArr[0]['clipboard']) if($resArr[0]['clipboard'])
$this->data['clipboard'] = json_decode($resArr[0]['clipboard'], true); $this->data['clipboard'] = json_decode($resArr[0]['clipboard'], true);
else else
$this->data['clipboard'] = array('docs'=>array(), 'folders'=>array()); $this->data['clipboard'] = array('docs'=>array(), 'folders'=>array());
if($resArr[0]['splashmsg'])
$this->data['splashmsg'] = json_decode($resArr[0]['splashmsg'], true);
else
$this->data['splashmsg'] = array();
return $resArr[0]; return $resArr[0];
} /* }}} */ } /* }}} */
@ -105,8 +109,10 @@ class SeedDMS_Session {
$this->data = $data; $this->data = $data;
$this->data['id'] = $id; $this->data['id'] = $id;
$this->data['lastaccess'] = $lastaccess; $this->data['lastaccess'] = $lastaccess;
$this->data['su'] = $su; $this->data['su'] = 0;
$this->data['clipboard'] = array('docs'=>array(), 'folders'=>array()); $this->data['clipboard'] = array('docs'=>array(), 'folders'=>array());
$this->data['clipboard'] = array('type'=>'', 'msg'=>'');
$this->data['splashmsg'] = array();
return $id; return $id;
} /* }}} */ } /* }}} */
@ -238,7 +244,7 @@ class SeedDMS_Session {
function setClipboard($clipboard) { /* {{{ */ function setClipboard($clipboard) { /* {{{ */
/* id is only set if load() was called before */ /* id is only set if load() was called before */
if($this->id) { if($this->id) {
$queryStr = "UPDATE tblSessions SET clipboard = " . json_encode($this->db->qstr($clipboard)) . " WHERE id = " . $this->db->qstr($this->id); $queryStr = "UPDATE tblSessions SET clipboard = " . $this->db->qstr(json_encode($clipboard)) . " WHERE id = " . $this->db->qstr($this->id);
if (!$this->db->getResult($queryStr)) if (!$this->db->getResult($queryStr))
return false; return false;
$this->data['clipboard'] = $clipboard; $this->data['clipboard'] = $clipboard;
@ -301,5 +307,59 @@ class SeedDMS_Session {
return true; return true;
} /* }}} */ } /* }}} */
/**
* Clear clipboard
*
*/
function clearClipboard() { /* {{{ */
$this->data['clipboard']['docs'] = array();
$this->data['clipboard']['folders'] = array();
$queryStr = "UPDATE tblSessions SET clipboard = " . $this->db->qstr(json_encode($this->data['clipboard'])) . " WHERE id = " . $this->db->qstr($this->id);
if (!$this->db->getResult($queryStr))
return false;
return true;
} /* }}} */
/**
* Set splash message of session
*
* @param array $msg contains 'typ' and 'msg'
*/
function setSplashMsg($msg) { /* {{{ */
/* id is only set if load() was called before */
if($this->id) {
$queryStr = "UPDATE tblSessions SET splashmsg = " . $this->db->qstr(json_encode($msg)) . " WHERE id = " . $this->db->qstr($this->id);
if (!$this->db->getResult($queryStr))
return false;
$this->data['splashmsg'] = $msg;
}
return true;
} /* }}} */
/**
* Set splash message of session
*
* @param array $msg contains 'typ' and 'msg'
*/
function clearSplashMsg() { /* {{{ */
/* id is only set if load() was called before */
if($this->id) {
$queryStr = "UPDATE tblSessions SET splashmsg = '' WHERE id = " . $this->db->qstr($this->id);
if (!$this->db->getResult($queryStr))
return false;
$this->data['splashmsg'] = '';
}
return true;
} /* }}} */
/**
* Get splash message of session
*
* @return array last splash message
*/
function getSplashMsg() { /* {{{ */
return (array) $this->data['splashmsg'];
} /* }}} */
} }
?> ?>

View File

@ -52,6 +52,8 @@ class Settings { /* {{{ */
var $_loginFailure = 0; var $_loginFailure = 0;
// maximum amount of bytes a user may consume, 0 = unlimited // maximum amount of bytes a user may consume, 0 = unlimited
var $_quota = 0; var $_quota = 0;
// comma separated list of undeleteable user ids
var $_undelUserIds = 0;
// Restricted access: only allow users to log in if they have an entry in // Restricted access: only allow users to log in if they have an entry in
// the local database (irrespective of successful authentication with LDAP). // the local database (irrespective of successful authentication with LDAP).
var $_restricted = true; var $_restricted = true;
@ -141,6 +143,8 @@ class Settings { /* {{{ */
var $_calendarDefaultView = "y"; var $_calendarDefaultView = "y";
// first day of the week (0=sunday, 1=monday, 6=saturday) // first day of the week (0=sunday, 1=monday, 6=saturday)
var $_firstDayOfWeek = 0; var $_firstDayOfWeek = 0;
// enable/disable display of the clipboard
var $_enableClipboard = true;
// enable/disable display of the folder tree // enable/disable display of the folder tree
var $_enableFolderTree = true; var $_enableFolderTree = true;
// count documents and folders for folderview recursively // count documents and folders for folderview recursively
@ -182,6 +186,8 @@ class Settings { /* {{{ */
var $_ldapHost = ""; // URIs are supported, e.g.: ldaps://ldap.host.com var $_ldapHost = ""; // URIs are supported, e.g.: ldaps://ldap.host.com
var $_ldapPort = 389; // Optional. var $_ldapPort = 389; // Optional.
var $_ldapBaseDN = ""; var $_ldapBaseDN = "";
var $_ldapBindDN = "";
var $_ldapBindPw = "";
var $_ldapAccountDomainName = ""; var $_ldapAccountDomainName = "";
var $_ldapType = 1; // 0 = ldap; 1 = AD var $_ldapType = 1; // 0 = ldap; 1 = AD
var $_converters = array(); // list of commands used to convert files to text for Indexer var $_converters = array(); // list of commands used to convert files to text for Indexer
@ -304,6 +310,7 @@ class Settings { /* {{{ */
$this->_enableConverting = Settings::boolVal($tab["enableConverting"]); $this->_enableConverting = Settings::boolVal($tab["enableConverting"]);
$this->_enableEmail = Settings::boolVal($tab["enableEmail"]); $this->_enableEmail = Settings::boolVal($tab["enableEmail"]);
$this->_enableUsersView = Settings::boolVal($tab["enableUsersView"]); $this->_enableUsersView = Settings::boolVal($tab["enableUsersView"]);
$this->_enableClipboard = Settings::boolVal($tab["enableClipboard"]);
$this->_enableFolderTree = Settings::boolVal($tab["enableFolderTree"]); $this->_enableFolderTree = Settings::boolVal($tab["enableFolderTree"]);
$this->_enableRecursiveCount = Settings::boolVal($tab["enableRecursiveCount"]); $this->_enableRecursiveCount = Settings::boolVal($tab["enableRecursiveCount"]);
$this->_maxRecursiveCount = intval($tab["maxRecursiveCount"]); $this->_maxRecursiveCount = intval($tab["maxRecursiveCount"]);
@ -346,6 +353,7 @@ class Settings { /* {{{ */
$this->_passwordHistory = intval($tab["passwordHistory"]); $this->_passwordHistory = intval($tab["passwordHistory"]);
$this->_loginFailure = intval($tab["loginFailure"]); $this->_loginFailure = intval($tab["loginFailure"]);
$this->_quota = intval($tab["quota"]); $this->_quota = intval($tab["quota"]);
$this->_undelUserIds = strval($tab["undelUserIds"]);
$this->_encryptionKey = strval($tab["encryptionKey"]); $this->_encryptionKey = strval($tab["encryptionKey"]);
$this->_cookieLifetime = intval($tab["cookieLifetime"]); $this->_cookieLifetime = intval($tab["cookieLifetime"]);
$this->_restricted = Settings::boolVal($tab["restricted"]); $this->_restricted = Settings::boolVal($tab["restricted"]);
@ -376,6 +384,8 @@ class Settings { /* {{{ */
$this->_ldapHost = strVal($connectorNode["host"]); $this->_ldapHost = strVal($connectorNode["host"]);
$this->_ldapPort = intVal($connectorNode["port"]); $this->_ldapPort = intVal($connectorNode["port"]);
$this->_ldapBaseDN = strVal($connectorNode["baseDN"]); $this->_ldapBaseDN = strVal($connectorNode["baseDN"]);
$this->_ldapBindDN = strVal($connectorNode["bindDN"]);
$this->_ldapBindPw = strVal($connectorNode["bindPw"]);
$this->_ldapType = 0; $this->_ldapType = 0;
} }
else if ($params['enable'] && ($typeConn == "AD")) else if ($params['enable'] && ($typeConn == "AD"))
@ -383,6 +393,8 @@ class Settings { /* {{{ */
$this->_ldapHost = strVal($connectorNode["host"]); $this->_ldapHost = strVal($connectorNode["host"]);
$this->_ldapPort = intVal($connectorNode["port"]); $this->_ldapPort = intVal($connectorNode["port"]);
$this->_ldapBaseDN = strVal($connectorNode["baseDN"]); $this->_ldapBaseDN = strVal($connectorNode["baseDN"]);
$this->_ldapBindDN = strVal($connectorNode["bindDN"]);
$this->_ldapBindPw = strVal($connectorNode["bindPw"]);
$this->_ldapType = 1; $this->_ldapType = 1;
$this->_ldapAccountDomainName = strVal($connectorNode["accountDomainName"]); $this->_ldapAccountDomainName = strVal($connectorNode["accountDomainName"]);
} }
@ -554,6 +566,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "enableConverting", $this->_enableConverting); $this->setXMLAttributValue($node, "enableConverting", $this->_enableConverting);
$this->setXMLAttributValue($node, "enableEmail", $this->_enableEmail); $this->setXMLAttributValue($node, "enableEmail", $this->_enableEmail);
$this->setXMLAttributValue($node, "enableUsersView", $this->_enableUsersView); $this->setXMLAttributValue($node, "enableUsersView", $this->_enableUsersView);
$this->setXMLAttributValue($node, "enableClipboard", $this->_enableClipboard);
$this->setXMLAttributValue($node, "enableFolderTree", $this->_enableFolderTree); $this->setXMLAttributValue($node, "enableFolderTree", $this->_enableFolderTree);
$this->setXMLAttributValue($node, "enableRecursiveCount", $this->_enableRecursiveCount); $this->setXMLAttributValue($node, "enableRecursiveCount", $this->_enableRecursiveCount);
$this->setXMLAttributValue($node, "maxRecursiveCount", $this->_maxRecursiveCount); $this->setXMLAttributValue($node, "maxRecursiveCount", $this->_maxRecursiveCount);
@ -594,6 +607,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "passwordHistory", $this->_passwordHistory); $this->setXMLAttributValue($node, "passwordHistory", $this->_passwordHistory);
$this->setXMLAttributValue($node, "loginFailure", $this->_loginFailure); $this->setXMLAttributValue($node, "loginFailure", $this->_loginFailure);
$this->setXMLAttributValue($node, "quota", $this->_quota); $this->setXMLAttributValue($node, "quota", $this->_quota);
$this->setXMLAttributValue($node, "undelUserIds", $this->_undelUserIds);
$this->setXMLAttributValue($node, "encryptionKey", $this->_encryptionKey); $this->setXMLAttributValue($node, "encryptionKey", $this->_encryptionKey);
$this->setXMLAttributValue($node, "cookieLifetime", $this->_cookieLifetime); $this->setXMLAttributValue($node, "cookieLifetime", $this->_cookieLifetime);
$this->setXMLAttributValue($node, "restricted", $this->_restricted); $this->setXMLAttributValue($node, "restricted", $this->_restricted);
@ -1076,6 +1090,15 @@ class Settings { /* {{{ */
} }
} }
// Check PHP version
if (version_compare(PHP_VERSION, '5.2.0') < 0) {
$result["php_version"] = array(
"status" => "versiontolow",
"type" => "error",
"suggestion" => "upgrade_php"
);
}
// Check PHP configuration // Check PHP configuration
$loaded_extensions = get_loaded_extensions(); $loaded_extensions = get_loaded_extensions();
// gd2 // gd2

View File

@ -44,13 +44,20 @@ class UI extends UI_Default {
* @param array $params parameter passed to constructor of view class * @param array $params parameter passed to constructor of view class
* @return object an object of a class implementing the view * @return object an object of a class implementing the view
*/ */
static function factory($theme, $class, $params=array()) { /* {{{ */ static function factory($theme, $class='', $params=array()) { /* {{{ */
global $settings, $session; global $settings, $session;
if(file_exists("../views/".$theme."/class.".$class.".php")) { if(!$class) {
require("../views/".$theme."/class.".$class.".php"); $class = 'Bootstrap';
$classname = "SeedDMS_Bootstrap_Style";
} else {
$classname = "SeedDMS_View_".$class; $classname = "SeedDMS_View_".$class;
}
$filename = "../views/".$theme."/class.".$class.".php";
if(file_exists($filename)) {
require($filename);
$view = new $classname($params, $theme); $view = new $classname($params, $theme);
/* Set some configuration parameters */ /* Set some configuration parameters */
$view->setParam('refferer', $_SERVER['REQUEST_URI']);
$view->setParam('session', $session); $view->setParam('session', $session);
$view->setParam('sitename', $settings->_siteName); $view->setParam('sitename', $settings->_siteName);
$view->setParam('rootfolderid', $settings->_rootFolderID); $view->setParam('rootfolderid', $settings->_rootFolderID);

View File

@ -44,6 +44,11 @@ class SeedDMS_View_Common {
$this->params[$name] = $value; $this->params[$name] = $value;
} }
function unsetParam($name) {
if(isset($this->params[$name]))
unset($this->params[$name]);
}
/* /*
function setConfiguration($conf) { function setConfiguration($conf) {
$this->settings = $conf; $this->settings = $conf;

View File

@ -18,6 +18,7 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$LANG = array();
foreach(getLanguages() as $_lang) { foreach(getLanguages() as $_lang) {
if(file_exists($settings->_rootDir . "languages/" . $_lang . "/lang.inc")) { if(file_exists($settings->_rootDir . "languages/" . $_lang . "/lang.inc")) {
include $settings->_rootDir . "languages/" . $_lang . "/lang.inc"; include $settings->_rootDir . "languages/" . $_lang . "/lang.inc";
@ -74,8 +75,10 @@ function getMLText($key, $replace = array(), $defaulttext = "", $lang="") { /* {
if(!isset($LANG[$lang][$key])) { if(!isset($LANG[$lang][$key])) {
if (!$defaulttext) { if (!$defaulttext) {
$tmpText = $LANG[$settings->_language][$key]; if(isset($LANG[$settings->_language][$key]))
// return "Error getting Text: " . $key . " (" . $lang . ")"; $tmpText = $LANG[$settings->_language][$key];
else
$tmpText = '';
} else } else
$tmpText = $defaulttext; $tmpText = $defaulttext;
} else } else

View File

@ -70,4 +70,7 @@ if (isset($settingsOLD)) {
if(isset($settings->_extraPath)) if(isset($settings->_extraPath))
ini_set('include_path', $settings->_extraPath. PATH_SEPARATOR .ini_get('include_path')); ini_set('include_path', $settings->_extraPath. PATH_SEPARATOR .ini_get('include_path'));
if(isset($settings->_maxExecutionTime))
ini_set('max_execution_time', $settings->_maxExecutionTime);
?> ?>

View File

@ -20,7 +20,7 @@
class SeedDMS_Version { class SeedDMS_Version {
var $_number = "4.2.2"; var $_number = "4.3.0";
var $_string = "SeedDMS"; var $_string = "SeedDMS";
function SeedDMS_Version() { function SeedDMS_Version() {

View File

@ -39,6 +39,7 @@ CREATE TABLE `tblAttributeDefinitions` (
`minvalues` int(11) NOT NULL default '0', `minvalues` int(11) NOT NULL default '0',
`maxvalues` int(11) NOT NULL default '0', `maxvalues` int(11) NOT NULL default '0',
`valueset` text default NULL, `valueset` text default NULL,
`regex` text DEFAULT '',
UNIQUE(`name`), UNIQUE(`name`),
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@ -490,6 +491,8 @@ CREATE TABLE `tblSessions` (
`theme` varchar(30) NOT NULL default '', `theme` varchar(30) NOT NULL default '',
`language` varchar(30) NOT NULL default '', `language` varchar(30) NOT NULL default '',
`clipboard` text default '', `clipboard` text default '',
`su` INTEGER DEFAULT NULL,
`splashmsg` text default '',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
CONSTRAINT `tblSessions_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE CONSTRAINT `tblSessions_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8; ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
@ -708,5 +711,5 @@ CREATE TABLE `tblVersion` (
INSERT INTO tblUsers VALUES (1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Administrator', 'address@server.com', '', '', '', 1, 0, '', 0, 0, 0); INSERT INTO tblUsers VALUES (1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Administrator', 'address@server.com', '', '', '', 1, 0, '', 0, 0, 0);
INSERT INTO tblUsers VALUES (2, 'guest', NULL, 'Guest User', NULL, '', '', '', 2, 0, '', 0, 0, 0); INSERT INTO tblUsers VALUES (2, 'guest', NULL, 'Guest User', NULL, '', '', '', 2, 0, '', 0, 0, 0);
INSERT INTO tblFolders VALUES (1, 'DMS', 0, '', 'DMS root', UNIX_TIMESTAMP(), 1, 0, 2, 0); INSERT INTO tblFolders VALUES (1, 'DMS', 0, '', 'DMS root', UNIX_TIMESTAMP(), 1, 0, 2, 0);
INSERT INTO tblVersion VALUES (NOW(), 4, 0, 0); INSERT INTO tblVersion VALUES (NOW(), 4, 3, 0);
INSERT INTO tblCategory VALUES (0, ''); INSERT INTO tblCategory VALUES (0, '');

View File

@ -37,6 +37,7 @@ CREATE TABLE `tblAttributeDefinitions` (
`minvalues` INTEGER NOT NULL default '0', `minvalues` INTEGER NOT NULL default '0',
`maxvalues` INTEGER NOT NULL default '0', `maxvalues` INTEGER NOT NULL default '0',
`valueset` TEXT default NULL, `valueset` TEXT default NULL,
`regex` TEXT DEFAULT '',
UNIQUE(`name`) UNIQUE(`name`)
) ; ) ;
@ -426,7 +427,9 @@ CREATE TABLE `tblSessions` (
`lastAccess` INTEGER NOT NULL default '0', `lastAccess` INTEGER NOT NULL default '0',
`theme` varchar(30) NOT NULL default '', `theme` varchar(30) NOT NULL default '',
`language` varchar(30) NOT NULL default '', `language` varchar(30) NOT NULL default '',
`clipboard` text default '' `clipboard` text default '',
`su` INTEGER DEFAULT NULL,
`splashmsg` text default ''
) ; ) ;
-- -------------------------------------------------------- -- --------------------------------------------------------
@ -615,5 +618,5 @@ CREATE TABLE `tblVersion` (
INSERT INTO tblUsers VALUES (1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Administrator', 'address@server.com', '', '', '', 1, 0, '', 0, 0, 0); INSERT INTO tblUsers VALUES (1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Administrator', 'address@server.com', '', '', '', 1, 0, '', 0, 0, 0);
INSERT INTO tblUsers VALUES (2, 'guest', NULL, 'Guest User', NULL, '', '', '', 2, 0, '', 0, 0, 0); INSERT INTO tblUsers VALUES (2, 'guest', NULL, 'Guest User', NULL, '', '', '', 2, 0, '', 0, 0, 0);
INSERT INTO tblFolders VALUES (1, 'DMS', 0, '', 'DMS root', strftime('%s','now'), 1, 0, 2, 0); INSERT INTO tblFolders VALUES (1, 'DMS', 0, '', 'DMS root', strftime('%s','now'), 1, 0, 2, 0);
INSERT INTO tblVersion VALUES (DATETIME(), 4, 0, 0); INSERT INTO tblVersion VALUES (DATETIME(), 4, 3, 0);
INSERT INTO tblCategory VALUES (0, ''); INSERT INTO tblCategory VALUES (0, '');

View File

@ -1,540 +0,0 @@
--
-- Table structure for table `tblACLs`
--
CREATE TABLE `tblACLs` (
`id` int(11) NOT NULL auto_increment,
`target` int(11) NOT NULL default '0',
`targetType` tinyint(4) NOT NULL default '0',
`userID` int(11) NOT NULL default '-1',
`groupID` int(11) NOT NULL default '-1',
`mode` tinyint(4) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblAttributeDefinitions`
--
CREATE TABLE `tblAttributeDefinitions` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100) default NULL,
`objtype` tinyint(4) NOT NULL default '0',
`type` tinyint(4) NOT NULL default '0',
`multiple` tinyint(4) NOT NULL default '0',
`minvalues` int(11) NOT NULL default '0',
`maxvalues` int(11) NOT NULL default '0',
`valueset` text default NULL,
UNIQUE(`name`),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblUsers`
--
CREATE TABLE `tblUsers` (
`id` int(11) NOT NULL auto_increment,
`login` varchar(50) default NULL,
`pwd` varchar(50) default NULL,
`fullName` varchar(100) default NULL,
`email` varchar(70) default NULL,
`language` varchar(32) NOT NULL,
`theme` varchar(32) NOT NULL,
`comment` text NOT NULL,
`role` smallint(1) NOT NULL default '0',
`hidden` smallint(1) NOT NULL default '0',
`pwdExpiration` datetime NOT NULL default '0000-00-00 00:00:00',
`loginfailures` tinyint(4) NOT NULL default '0',
`disabled` smallint(1) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblUserPasswordRequest`
--
CREATE TABLE `tblUserPasswordRequest` (
`id` int(11) NOT NULL auto_increment,
`userID` int(11) NOT NULL default '0',
`hash` varchar(50) default NULL,
`date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblUserPasswordHistory`
--
CREATE TABLE `tblUserPasswordHistory` (
`id` int(11) NOT NULL auto_increment,
`userID` int(11) NOT NULL default '0',
`pwd` varchar(50) default NULL,
`date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblUserImages`
--
CREATE TABLE `tblUserImages` (
`id` int(11) NOT NULL auto_increment,
`userID` int(11) NOT NULL default '0',
`image` blob NOT NULL,
`mimeType` varchar(10) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblFolders`
--
CREATE TABLE `tblFolders` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(70) default NULL,
`parent` int(11) default NULL,
`folderList` text NOT NULL,
`comment` text,
`date` int(12) default NULL,
`owner` int(11) default NULL,
`inheritAccess` tinyint(1) NOT NULL default '1',
`defaultAccess` tinyint(4) NOT NULL default '0',
`sequence` double NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `parent` (`parent`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblFolderAttributes`
--
CREATE TABLE `tblFolderAttributes` (
`id` int(11) NOT NULL auto_increment,
`folder` int(11) default NULL,
`attrdef` int(11) default NULL,
`value` text default NULL,
UNIQUE (folder, attrdef),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocuments`
--
CREATE TABLE `tblDocuments` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(150) default NULL,
`comment` text,
`date` int(12) default NULL,
`expires` int(12) default NULL,
`owner` int(11) default NULL,
`folder` int(11) default NULL,
`folderList` text NOT NULL,
`inheritAccess` tinyint(1) NOT NULL default '1',
`defaultAccess` tinyint(4) NOT NULL default '0',
`locked` int(11) NOT NULL default '-1',
`keywords` text NOT NULL,
`sequence` double NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocumentAttributes`
--
CREATE TABLE `tblDocumentAttributes` (
`id` int(11) NOT NULL auto_increment,
`document` int(11) default NULL,
`attrdef` int(11) default NULL,
`value` text default NULL,
UNIQUE (document, attrdef),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocumentApprovers`
--
CREATE TABLE `tblDocumentApprovers` (
`approveID` int(11) NOT NULL auto_increment,
`documentID` int(11) NOT NULL default '0',
`version` smallint(5) unsigned NOT NULL default '0',
`type` tinyint(4) NOT NULL default '0',
`required` int(11) NOT NULL default '0',
PRIMARY KEY (`approveID`),
UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocumentApproveLog`
--
CREATE TABLE `tblDocumentApproveLog` (
`approveLogID` int(11) NOT NULL auto_increment,
`approveID` int(11) NOT NULL default '0',
`status` tinyint(4) NOT NULL default '0',
`comment` text NOT NULL,
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`userID` int(11) NOT NULL default '0',
PRIMARY KEY (`approveLogID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocumentContent`
--
CREATE TABLE `tblDocumentContent` (
`id` int(11) NOT NULL auto_increment,
`document` int(11) NOT NULL default '0',
`version` smallint(5) unsigned NOT NULL,
`comment` text,
`date` int(12) default NULL,
`createdBy` int(11) default NULL,
`dir` varchar(255) NOT NULL default '',
`orgFileName` varchar(150) NOT NULL default '',
`fileType` varchar(10) NOT NULL default '',
`mimeType` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE (`document`,`version`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocumentContentAttributes`
--
CREATE TABLE `tblDocumentContentAttributes` (
`id` int(11) NOT NULL auto_increment,
`content` int(11) default NULL,
`attrdef` int(11) default NULL,
`value` text default NULL,
PRIMARY KEY (`id`),
UNIQUE (content, attrdef)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocumentLinks`
--
CREATE TABLE `tblDocumentLinks` (
`id` int(11) NOT NULL auto_increment,
`document` int(11) NOT NULL default '0',
`target` int(11) NOT NULL default '0',
`userID` int(11) NOT NULL default '0',
`public` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocumentFiles`
--
CREATE TABLE `tblDocumentFiles` (
`id` int(11) NOT NULL auto_increment,
`document` int(11) NOT NULL default '0',
`userID` int(11) NOT NULL default '0',
`comment` text,
`name` varchar(150) default NULL,
`date` int(12) default NULL,
`dir` varchar(255) NOT NULL default '',
`orgFileName` varchar(150) NOT NULL default '',
`fileType` varchar(10) NOT NULL default '',
`mimeType` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocumentLocks`
--
CREATE TABLE `tblDocumentLocks` (
`document` int(11) NOT NULL default '0',
`userID` int(11) NOT NULL default '0',
PRIMARY KEY (`document`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocumentReviewLog`
--
CREATE TABLE `tblDocumentReviewLog` (
`reviewLogID` int(11) NOT NULL auto_increment,
`reviewID` int(11) NOT NULL default '0',
`status` tinyint(4) NOT NULL default '0',
`comment` text NOT NULL,
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`userID` int(11) NOT NULL default '0',
PRIMARY KEY (`reviewLogID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocumentReviewers`
--
CREATE TABLE `tblDocumentReviewers` (
`reviewID` int(11) NOT NULL auto_increment,
`documentID` int(11) NOT NULL default '0',
`version` smallint(5) unsigned NOT NULL default '0',
`type` tinyint(4) NOT NULL default '0',
`required` int(11) NOT NULL default '0',
PRIMARY KEY (`reviewID`),
UNIQUE KEY `documentID` (`documentID`,`version`,`type`,`required`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocumentStatus`
--
CREATE TABLE `tblDocumentStatus` (
`statusID` int(11) NOT NULL auto_increment,
`documentID` int(11) NOT NULL default '0',
`version` smallint(5) unsigned NOT NULL default '0',
PRIMARY KEY (`statusID`),
UNIQUE KEY `documentID` (`documentID`,`version`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocumentStatusLog`
--
CREATE TABLE `tblDocumentStatusLog` (
`statusLogID` int(11) NOT NULL auto_increment,
`statusID` int(11) NOT NULL default '0',
`status` tinyint(4) NOT NULL default '0',
`comment` text NOT NULL,
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`userID` int(11) NOT NULL default '0',
PRIMARY KEY (`statusLogID`),
KEY `statusID` (`statusID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblGroupMembers`
--
CREATE TABLE `tblGroupMembers` (
`groupID` int(11) NOT NULL default '0',
`userID` int(11) NOT NULL default '0',
`manager` smallint(1) NOT NULL default '0',
PRIMARY KEY (`groupID`,`userID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblGroups`
--
CREATE TABLE `tblGroups` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) default NULL,
`comment` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblKeywordCategories`
--
CREATE TABLE `tblKeywordCategories` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL default '',
`owner` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblKeywords`
--
CREATE TABLE `tblKeywords` (
`id` int(11) NOT NULL auto_increment,
`category` int(11) NOT NULL default '0',
`keywords` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblCategory`
--
CREATE TABLE `tblCategory` (
`id` int(11) NOT NULL auto_increment,
`name` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblDocumentCategory`
--
CREATE TABLE `tblDocumentCategory` (
`categoryID` int(11) NOT NULL default 0,
`documentID` int(11) NOT NULL default 0
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblNotify`
--
CREATE TABLE `tblNotify` (
`target` int(11) NOT NULL default '0',
`targetType` int(11) NOT NULL default '0',
`userID` int(11) NOT NULL default '-1',
`groupID` int(11) NOT NULL default '-1',
PRIMARY KEY (`target`,`targetType`,`userID`,`groupID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `tblSessions`
--
CREATE TABLE `tblSessions` (
`id` varchar(50) NOT NULL default '',
`userID` int(11) NOT NULL default '0',
`lastAccess` int(11) NOT NULL default '0',
`theme` varchar(30) NOT NULL default '',
`language` varchar(30) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- dirID is the current target content subdirectory. The last file loaded
-- into MyDMS will be physically stored here. Is updated every time a new
-- file is uploaded.
--
-- dirPath is a essentially a foreign key from tblPathList, referencing the
-- parent directory path for dirID, relative to MyDMS's _contentDir.
--
CREATE TABLE `tblDirPath` (
`dirID` int(11) NOT NULL auto_increment,
`dirPath` varchar(255) NOT NULL,
PRIMARY KEY (`dirPath`,`dirID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
CREATE TABLE `tblPathList` (
`id` int(11) NOT NULL auto_increment,
`parentPath` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for mandatory reviewers
--
CREATE TABLE `tblMandatoryReviewers` (
`userID` int(11) NOT NULL default '0',
`reviewerUserID` int(11) NOT NULL default '0',
`reviewerGroupID` int(11) NOT NULL default '0',
PRIMARY KEY (`userID`,`reviewerUserID`,`reviewerGroupID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Table structure for mandatory approvers
--
CREATE TABLE `tblMandatoryApprovers` (
`userID` int(11) NOT NULL default '0',
`approverUserID` int(11) NOT NULL default '0',
`approverGroupID` int(11) NOT NULL default '0',
PRIMARY KEY (`userID`,`approverUserID`,`approverGroupID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Table structure for events (calendar)
--
CREATE TABLE `tblEvents` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(150) default NULL,
`comment` text,
`start` int(12) default NULL,
`stop` int(12) default NULL,
`date` int(12) default NULL,
`userID` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Table structure for version
--
CREATE TABLE `tblVersion` (
`date` datetime,
`major` smallint,
`minor` smallint,
`subminor` smallint
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Initial content for database
--
INSERT INTO tblUsers VALUES (1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'Administrator', 'address@server.com', '', '', '', 1, 0, '', 0, 0);
INSERT INTO tblUsers VALUES (2, 'guest', NULL, 'Guest User', NULL, '', '', '', 2, 0, '', 0, 0);
INSERT INTO tblFolders VALUES (1, 'DMS', 0, '', 'DMS root', UNIX_TIMESTAMP(), 1, 0, 2, 0);
INSERT INTO tblVersion VALUES (NOW(), 3, 4, 0);
INSERT INTO tblCategory VALUES (0, '');

View File

@ -33,8 +33,8 @@ if (!file_exists("create_tables-innodb.sql")) {
echo "Can't install SeedDMS, 'create_tables-innodb.sql' missing"; echo "Can't install SeedDMS, 'create_tables-innodb.sql' missing";
exit; exit;
} }
if (!file_exists("create_tables.sql")) { if (!file_exists("create_tables-sqlite3.sql")) {
echo "Can't install SeedDMS, 'create_tables.sql' missing"; echo "Can't install SeedDMS, 'create_tables-sqlite3.sql' missing";
exit; exit;
} }
if (!file_exists("settings.xml.template_install")) { if (!file_exists("settings.xml.template_install")) {
@ -116,7 +116,7 @@ function fileExistsInIncludePath($file) { /* {{{ */
* Load default settings + set * Load default settings + set
*/ */
define("SEEDDMS_INSTALL", "on"); define("SEEDDMS_INSTALL", "on");
define("SEEDDMS_VERSION", "4.2.2"); define("SEEDDMS_VERSION", "4.3.0");
require_once('../inc/inc.ClassSettings.php'); require_once('../inc/inc.ClassSettings.php');

View File

@ -9,7 +9,7 @@
--> -->
<display <display
siteName = "SeedDMS" siteName = "SeedDMS"
footNote = "SeedDMS free document management system - www.seeddms.org" footNote = "SeedDMS free document management system - &lt;a href='http://www.seeddms.org'&gt;www.seeddms.org&lt;/a&gt; - please donate if you like SeedDMS!"
printDisclaimer="true" printDisclaimer="true"
language = "en_GB" language = "en_GB"
theme = "bootstrap" theme = "bootstrap"
@ -121,6 +121,8 @@
host = "ldaps://ldap.host.com" host = "ldaps://ldap.host.com"
port = "389" port = "389"
baseDN = "" baseDN = ""
bindDN=""
bindPw=""
> >
</connector> </connector>
<!-- ***** CONNECTOR Microsoft Active Directory ***** <!-- ***** CONNECTOR Microsoft Active Directory *****
@ -138,6 +140,8 @@
port = "389" port = "389"
baseDN = "" baseDN = ""
accountDomainName = "example.com" accountDomainName = "example.com"
bindDN=""
bindPw=""
> >
</connector> </connector>
</connectors> </connectors>
@ -234,7 +238,7 @@
</server> </server>
<converters> <converters>
<converter mimeType="application/pdf"> <converter mimeType="application/pdf">
pdftotext -nopgbrk %s - | sed -e 's/ [a-zA-Z0-9.]\{1\} / /g' -e 's/[0-9.]//g' pdftotext -enc UTF-8 -nopgbrk %s - | sed -e 's/ [a-zA-Z0-9.]\{1\} / /g' -e 's/[0-9.]//g'
</converter> </converter>
<converter mimeType="application/msword"> <converter mimeType="application/msword">
catdoc %s catdoc %s

View File

@ -1,9 +1,9 @@
LetoDMS is now SeedDMS LetoDMS is now SeedDMS
====================== ======================
I had to change of LetoDMS and took SeedDMS. It is a smooth continuation I had to change the name of LetoDMS and took SeedDMS. It is a smooth
of LetoDMS. This initial version of SeedDMS will be able to update all continuation of LetoDMS. This initial version of SeedDMS will be able
former versions of LetoDMS back to 3.0.0. to update all former versions of LetoDMS back to 3.0.0.
Run object check after upgrade Run object check after upgrade
============================== ==============================

View File

@ -4,3 +4,7 @@ Directory for language files
This version uses different names for the directories containing the This version uses different names for the directories containing the
language files. Users should explicitly set the language the next time language files. Users should explicitly set the language the next time
they log in in order to update their user preferences. they log in in order to update their user preferences.
You as the system administrator should also manually edit conf/settings.xml
and set the default language to one of the available languages as can
be seen in the directory 'languages'.

View File

@ -0,0 +1,10 @@
BEGIN;
ALTER TABLE tblSessions ADD COLUMN `splashmsg` TEXT DEFAULT '';
ALTER TABLE tblAttributeDefinitions ADD COLUMN `regex` TEXT DEFAULT '';
UPDATE tblVersion set major=4, minor=3, subminor=0;
COMMIT;

View File

@ -0,0 +1,10 @@
START TRANSACTION;
ALTER TABLE tblSessions ADD COLUMN `splashmsg` TEXT DEFAULT '';
ALTER TABLE tblAttributeDefinitions ADD COLUMN `regex` TEXT DEFAULT '';
UPDATE tblVersion set major=4, minor=3, subminor=0;
COMMIT;

View File

@ -47,15 +47,18 @@
var target = $(obj).attr('rel'); var target = $(obj).attr('rel');
$(obj).unbind().keyup(function() { $(obj).unbind().keyup(function() {
$.getJSON(opts.url, $.ajax({url: opts.url,
{command: 'checkpwstrength', pwd: $(this).val()}, type: 'POST',
function(data) { dataType: "json",
data: {command: 'checkpwstrength', pwd: $(this).val()},
success: function(data) {
if(data.error) { if(data.error) {
opts.onError(data, target); opts.onError(data, target);
} else { } else {
opts.onChange(data, target); opts.onChange(data, target);
} }
}); }
});
}); });
}); });
}; };

900
languages/ar_EG/lang.inc Normal file
View File

@ -0,0 +1,900 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli
// Copyright (C) 2012 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$text = array(
'accept' => "وافق",
'access_denied' => "دخول غير مصرح به.",
'access_inheritance' => "صلاحيات موروثة",
'access_mode' => "نوع الدخول",
'access_mode_all' => "كل الصلاحيات",
'access_mode_none' => "ممنوع الدخول",
'access_mode_read' => "صلاحيات قراءة فقط",
'access_mode_readwrite' => "صلاحيات القراء والكتابة",
'access_permission_changed_email' => "تم تغيير الصلاحيات",
'access_permission_changed_email_subject' => "[sitename]: [name] - تم تغيير الصلاحيات",
'access_permission_changed_email_body' => "تم تغيير الصلاحيات\r\nDocument: [name]\r\nParent folder: [folder_path]\r\nUser: [username]\r\nURL: [url]",
'according_settings' => "اعدادات خاصة",
'action' => "اجراء",
'action_approve' => "موافقة",
'action_complete' => "انهاء",
'action_is_complete' => "تم انهاؤه",
'action_is_not_complete' => "لم ينتهى بعد",
'action_reject' => "رفض",
'action_review' => "مراجعة",
'action_revise' => "تنقيح",
'actions' => "اجراءات",
'add' => "إضافة",
'add_doc_reviewer_approver_warning' => "ملاحظة : يتم اعتبار المستندات نهائية اذا لم يتم تعيين مراجع او موافق للمستند ",
'add_doc_workflow_warning' => "ملاحظة : يتم اعتبار المستندات نهائية اذا لم يتم اختيار مسار عمل للمستند",
'add_document' => "إضافة مستند",
'add_document_link' => "إضافة رابط",
'add_event' => "إضافة حدث",
'add_group' => "إضافة مجموعة جديدة",
'add_member' => "إضافة عضو",
'add_multiple_documents' => "إضافة مستندات عديدة",
'add_multiple_files' => "إضافة مستندات عديدة - سيتم استخدام اسم الملف كاسم المستند",
'add_subfolder' => "إضافة مجلد فرعي",
'add_to_clipboard' => "اضف الى لوحة القصاصات",
'add_user' => "إضافة مستخدم",
'add_user_to_group' => "إضافة مستخدم لمجموعة",
'add_workflow' => "اضف مسار عمل جديد",
'add_workflow_state' => "اضف حالة مسار عمل جديدة",
'add_workflow_action' => "اضف اجراء جديد لمسار العمل",
'admin' => "مدير النظام",
'admin_tools' => "أدوات-الإدارة ",
'all' => "الكل",
'all_categories' => "كل الاقسام",
'all_documents' => "كل المستندات",
'all_pages' => "الكل",
'all_users' => "كل المستخدمين",
'already_subscribed' => "بالفعل مشترك",
'and' => "و",
'apply' => "تطبيق",
'approval_deletion_email' => "طلب الموافقة تم الغاؤه",
'approval_group' => "مجموعة الموافقة",
'approval_request_email' => "طلب الموافقة",
'approval_request_email_subject' => "[sitename]: [name] - طلب الموافقة",
'approval_request_email_body' => "طلب الموافقة\r\nDocument: [name]\r\nVersion: [version]\r\nParent folder: [folder_path]\r\nUser: [username]\r\nURL: [url]",
'approval_status' => "حالة الموافقة",
'approval_submit_email' => "تم ارسال الموافقة",
'approval_summary' => "ملخص الموافقة",
'approval_update_failed' => "خطأ في تحديث حالة الموافقة. فشل التحديث.",
'approvers' => "الموافقون",
'april' => "ابريل",
'archive_creation' => "انشاء ارشيف",
'archive_creation_warning' => "من خلال العملية التالية يمكنك انشاء ارشيف يحتوي على كل ملفات النظام. بعد انشاء الارشيف سيتم حفظه في ملف البيانات على السيرفر.<br>تحذير: الارشيف الذي تم انشاؤه ليكون مقروء بواسطة المستخدم لن يكون نافعا كملف نسخ احتياطي للسيرفر",
'assign_approvers' => "تخصيص موافقون",
'assign_reviewers' => "تخصيص مراجعون",
'assign_user_property_to' => "تخصيص خصائص المستخدم الى",
'assumed_released' => "يعتبر تم نشره",
'attrdef_management' => "ادارة تعريف السمات",
'attrdef_exists' => "تعريف السمة بالفعل موجود",
'attrdef_in_use' => "تعريف السمة مشغول حاليا",
'attrdef_name' => "اسم",
'attrdef_multiple' => "السماح باكثر من قيمة",
'attrdef_objtype' => "نوع الكائن",
'attrdef_type' => "نوع",
'attrdef_minvalues' => "اقل عدد من القيم",
'attrdef_maxvalues' => "اكبر عدد من القيم",
'attrdef_valueset' => "مجموعة القيم",
'attribute_changed_email_subject' => "[sitename]: [name] - تم تغيير سمة",
'attribute_changed_email_body' => "تم تغيير سمة\r\nDocument: [name]\r\nVersion: [version]\r\nAttribute: [attribute]\r\nParent folder: [folder_path]\r\nUser: [username]\r\nURL: [url]",
'attributes' => "السمات",
'august' => "أغسطس",
'automatic_status_update' => "تغير الحالة تلقائيا",
'back' => "العودة للخلف",
'backup_list' => "قائمة نسخ احتياطي حالية",
'backup_remove' => "ازالة ملف النسخ الاحتياطي",
'backup_tools' => "أدوات النسخ الاحتياطي",
'backup_log_management' => "نسخ احتياطي/سجلات",
'between' => "بين",
'calendar' => "النتيجة",
'cancel' => "الغاء",
'cannot_assign_invalid_state' => "لايمكن تعديل ملف مرفوض او مهمل",
'cannot_change_final_states' => "تحذير: لا يمكن تعديل حالة مستند مرفوض او منتهى صلاحيته او رهن المراجعة او الموافقة",
'cannot_delete_yourself' => "لايمكنك مسح نفسك",
'cannot_move_root' => "خطأ: لايمكنك تحريك المجلد الرئيسي.",
'cannot_retrieve_approval_snapshot' => "لا يمكن استدعاء لقطة حالة الموافقة لهذا الاصدار من المستند",
'cannot_retrieve_review_snapshot' => "لا يمكن استدعاء لقطة حالة المراجعة لهذا الاصدار من المستند",
'cannot_rm_root' => "خطأ: لايمكنك مسح المجلد الرئيسي.",
'category' => "قسم",
'category_exists' => ".القسم بالفعل موجود",
'category_filter' => "اقسام فقط",
'category_in_use' => "هذا القسم مستخدم حاليا بواسطة مستندات.",
'category_noname' => "لم يتم كتابة اسم القسم.",
'categories' => "اقسام",
'change_assignments' => "تغيير التخصيصات",
'change_password' => "تغيير كلمة السر",
'change_password_message' => "تم تغيير كلمة السر.",
'change_status' => "تغيير الحالة",
'choose_attrdef' => "من فضلك اختر تعريف السمة",
'choose_category' => "من فضلك اختر",
'choose_group' => "اختر المجموعة",
'choose_target_category' => "اختر القسم",
'choose_target_document' => "اختر المستند",
'choose_target_file' => "اختر الملف",
'choose_target_folder' => "اختر المجلد",
'choose_user' => "اختر المستخدم",
'choose_workflow' => "اختر مسار عمل",
'choose_workflow_state' => "اختر حالة مسار عمل",
'choose_workflow_action' => "اختر اجراء مسار عمل",
'clipboard' => "لوحة القصاصات",
'close' => "إغلاق",
'comment' => "تعليق",
'comment_for_current_version' => "تعليق على الاصدار",
'confirm_create_fulltext_index' => "نعم: اود اعادة انشاء فهرس للنص الكامل !",
'confirm_pwd' => "تأكيد كلمة السر",
'confirm_rm_backup' => "هل تود حقا ازالة الملف \"[arkname]\"?<br>كن حذرا: هذا الاجراء لايمكن التراجع فيه",
'confirm_rm_document' => "هل تود حقا ازالة المستند \"[documentname]\"?<br>كن حذرا: هذا الاجراء لايمكن التراجع فيه",
'confirm_rm_dump' => "هل تود حقا ازالة الملف \"[dumpname]\"?<br>كن حذرا: هذا الاجراء لايمكن التراجع فيه",
'confirm_rm_event' => "هل تود حقا ازالة الحدث \"[name]\"?<br>كن حذرا: هذا الاجراء لايمكن التراجع فيه",
'confirm_rm_file' => "هل تود حقا ازالة الملف \"[name]\" الخاص بالمستند \"[documentname]\"?<br>كن حذرا: هذا الاجراء لايمكن التراجع فيه",
'confirm_rm_folder' => "هل تود حقا ازالة المجلد \"[foldername]\" وكل محتوياته؟<br>كن حذرا: هذا الاجراء لايمكن التراجع فيه",
'confirm_rm_folder_files' => "هل تود حقا ازالة كل الملفات الموجودة بالمجلد \"[foldername]\" وكل مافي المجلدات الفرعية؟<br>كن حذرا: هذا الاجراء لايمكن التراجع فيه",
'confirm_rm_group' => "هل تود حقا ازالة المجموعة \"[groupname]\"?<br>كن حذرا: هذا الاجراء لايمكن التراجع فيه",
'confirm_rm_log' => "هل تود حقا ازالة ملف السجل \"[logname]\"?<br>كن حذرا: هذا الاجراء لايمكن التراجع فيه",
'confirm_rm_user' => "هل تود حقا ازالة المستخدم \"[username]\"?<br>كن حذرا: هذا الاجراء لايمكن التراجع فيه",
'confirm_rm_version' => "هل تود حقا ازالة الاصدار [version] الخاص بالمستند \"[documentname]\"?<br>كن حذرا: هذا الاجراء لايمكن التراجع فيه",
'content' => "المحتوى",
'continue' => "استمرار",
'create_fulltext_index' => "انشاء فهرس للنص الكامل",
'create_fulltext_index_warning' => "انت على وشك اعادة انشاء فهرس النص الكامل.هذا سيتطلب وقت كافي وسيؤثر بشكل عام على كفاءة النظام. اذا كنت حقا تود اعادة انشاء الفهرس، من فضلك قم بتاكيد العملية.",
'creation_date' => "تم انشاؤه",
'current_password' => "كلمة السر الحالية",
'current_version' => "الإصدار الحالي",
'daily' => "يومي",
'days' => "أيام",
'databasesearch' => "بحث قاعدة البيانات",
'date' => "التاريخ",
'december' => "ديسمبر",
'default_access' => "حالة الدخول الافتراضية",
'default_keywords' => "كلمات بحثية اساسية",
'definitions' => "تعريفات",
'delete' => "مسح",
'details' => "تفاصيل",
'details_version' => "تفاصيل هذا الاصدار: [version]",
'disclaimer' => "هذه المنطقة محظورة. الدخول فقط مسموح للموظفين المعتمدين. اي اختراق سيتم التعامل معه وفقا للقوانين المحلية والدولية.",
'do_object_repair' => "إصلاح كل المستندات والمجلدات.",
'do_object_setfilesize' => "تحديد حجم الملف",
'do_object_setchecksum' => "تحديد فحص اخطاء",
'do_object_unlink' => "مسح اصدار مستند",
'document_already_locked' => "هذا المستند محمي ضد التعديل",
'document_comment_changed_email' => "تم تعديل التعليق",
'document_comment_changed_email_subject' => "[sitename]: [name] - تم تعديل التعليق",
'document_comment_changed_email_body' => "تم تعديل التعليق\r\nالمستند: [name]\r\nالتعليق القديم: [old_comment]\r\nالتعليق الجديد: [new_comment]\r\nParent folder: [folder_path]\r\nالمستخدم: [username]\r\nURL: [url]",
'document_deleted' => "تم مسح المستند",
'document_deleted_email' => "تم مسح المستند",
'document_deleted_email_subject' => "[sitename]: [name] - تم مسح المستند",
'document_deleted_email_body' => "تم مسح المستند\r\nالمستند: [name]\r\nParent folder: [folder_path]\r\nالمستخدم: [username]",
'document_duplicate_name' => "اسم المستند متكرر",
'document' => "المستند",
'document_has_no_workflow' => "المستند لايحتوى مسار عمل",
'document_infos' => "معلومات المستند",
'document_is_not_locked' => "هذا المستند غير محمي ضد التعديل",
'document_link_by' => "مربوط بواسطة",
'document_link_public' => "عام",
'document_moved_email' => "تم تحريك المستند",
'document_moved_email_subject' => "[sitename]: [name] - تم تحريك المستند",
'document_moved_email_body' => "تم تحريك المستند\r\nالمستند: [name]\r\nالمجلد القديم: [old_folder_path]\r\nالمجلد الجديد: [new_folder_path]\r\nالمستخدم: [username]\r\nURL: [url]",
'document_renamed_email' => "تم اعادة تسمية المستند",
'document_renamed_email_subject' => "[sitename]: [name] - تم اعادة تسمية المستند",
'document_renamed_email_body' => "تم اعادة تسمية المستند\r\nالمستند: [name]\r\nParent folder: [folder_path]\r\nالاسم القديم: [old_name]\r\nالمستخدم: [username]\r\nURL: [url]",
'documents' => "المستندات",
'documents_in_process' => "مستندات رهن المعالجة",
'documents_locked_by_you' => "المستندات محمية من التعديل بواسطتك",
'documents_only' => "مستندات فقط",
'document_status_changed_email' => "تم تغيير حالة المستند",
'document_status_changed_email_subject' => "[sitename]: [name] - تم تغيير حالةالمستند",
'document_status_changed_email_body' => "تم تغيير حالة المستند\r\nالمستند: [name]\r\nالحالة: [status]\r\nParent folder: [folder_path]\r\nالمستخدم: [username]\r\nURL: [url]",
'documents_to_approve' => "مستندات في انتظار الموافقة",
'documents_to_review' => "مستندات في انتظار المراجعة",
'documents_user_requiring_attention' => "مستندات ملكك تستلزم انتباهك",
'document_title' => "المستند '[documentname]'",
'document_updated_email' => "تم تحديث المستند",
'document_updated_email_subject' => "[sitename]: [name] - تم تحديث المستند",
'document_updated_email_body' => "تم تحديث المستند\r\nالمستند: [name]\r\nParent folder: [folder_path]\r\nالمستخدم: [username]\r\nURL: [url]",
'does_not_expire' => "لا ينتهى صلاحيته",
'does_not_inherit_access_msg' => "صلاحيات موروثة",
'download' => "تنزيل",
'drag_icon_here' => "قم بسحب ايقونة المستند او المجلد الى هنا!",
'draft_pending_approval' => "مسودة - قيد الموافقة",
'draft_pending_review' => "مسودة - قيد المراجعة",
'dropfolder_file' => "ملف من مجلد التجميع",
'dump_creation' => "انشاء مستخرج من قاعدة البيانات",
'dump_creation_warning' => "من خلال تلك العملية يمكنك انشاء ملف مستخرج من محتوى قاعدة البيانات. بعد انشاء الملف المستخرج سيتم حفظه في مجلد البيانات الخاص بسيرفرك",
'dump_list' => "ملف مستخرج حالي",
'dump_remove' => "ازالة الملف المستخرج",
'edit_attributes' => "تعديل السمات",
'edit_comment' => "تعديل تعليق",
'edit_default_keywords' => "تعديل الكلمات البحثية",
'edit_document_access' => "تعديل صلاحيات",
'edit_document_notify' => "تعديل قائمة التنبيهات",
'edit_document_props' => "تعديل مستند",
'edit' => "تعديل",
'edit_event' => "تعديل الحدث",
'edit_existing_access' => "تعديل قائمة الصلاحيات",
'edit_existing_notify' => "تعديل قائمة التنبيهات",
'edit_folder_access' => "تعديل صلاحيات",
'edit_folder_notify' => "تعديل قائمة التنبيهات",
'edit_folder_props' => "تعديل مجلد",
'edit_group' => "تعديل مجموعة",
'edit_user_details' => "تعديل بيانات المستخدم",
'edit_user' => "تعديل المستخدم",
'email' => "بريد الكتروني",
'email_error_title' => "لمي يتم ادخال البريد الالكتروني",
'email_footer' => "يمكنك دائما تغيير اعدادات بريدك الالكتروني من خلال خاصية - مستنداتي",
'email_header' => "هذا رسالة تلقائية من نظام ادارة المستندات!",
'email_not_given' => "من فضلك ادخل بريد الكتروني صحيح.",
'empty_folder_list' => "لايوجد مستندات او مجلدات",
'empty_notify_list' => "لايوجد مدخلات",
'equal_transition_states' => "حالة البداية والنهاية متشابهة",
'error' => "خطأ",
'error_no_document_selected' => "لم يتم اختيار مستند",
'error_no_folder_selected' => "لم يتم اختيار مجلد",
'error_occured' => "حدث خطأ",
'event_details' => "تفاصيل الحدث",
'expired' => "انتهى صلاحيته",
'expires' => "تنتهى صلاحيته",
'expiry_changed_email' => "تم تغيير تاريخ الصلاحية",
'expiry_changed_email_subject' => "[sitename]: [name] - تم تغيير تاريخ الصلاحية",
'expiry_changed_email_body' => "تم تغيير تاريخ الصلاحية\r\nالمستند: [name]\r\nParent folder: [folder_path]\r\nالمستخدم: [username]\r\nURL: [url]",
'february' => "فبراير",
'file' => "ملف",
'files_deletion' => "مسح الملف",
'files_deletion_warning' => "من خلال تلك الخاصية يمكنك مسح كل الملفات على مجلدات النظام. ملفات معلومات الاصدارات فقط ستظل متاحة للرؤية.",
'files' => "ملفات",
'file_size' => "حجم الملف",
'folder_comment_changed_email' => "تم تعديل التعليق",
'folder_comment_changed_email_subject' => "[sitename]: [folder] - تم تعديل التعليق",
'folder_comment_changed_email_body' => "تم تعديل التعليق\r\nالملجلد: [name]\r\nالإصدرا: [version]\r\nالتعليق القديم: [old_comment]\r\nالتعليق الجديد: [new_comment]\r\nParent folder: [folder_path]\r\nالمستخدم: [username]\r\nURL: [url]",
'folder_contents' => "محتوى المجلدات",
'folder_deleted_email' => "تم مسح المجلد",
'folder_deleted_email_subject' => "[sitename]: [name] - تم مسح المجلد",
'folder_deleted_email_body' => "تم مسح المجلد\r\nFolder: [name]\r\nParent folder: [folder_path]\r\nالمستخدم: [username]\r\nURL: [url]",
'folder' => "مجلد",
'folder_infos' => "معلومات المجلد",
'folder_moved_email' => "تم تحريك المجلد",
'folder_moved_email_subject' => "[sitename]: [name] - تم تحريك المجلد",
'folder_moved_email_body' => "تم تحريك المجلد\r\nFolder: [name]\r\nالمجلد القديم: [old_folder_path]\r\nالمجلد الجديد: [new_folder_path]\r\nالمستخدم: [username]\r\nURL: [url]",
'folder_renamed_email' => "تم اعادة تسمية المجلد",
'folder_renamed_email_subject' => "[sitename]: [name] - تم اعادة تسمية المجلد",
'folder_renamed_email_body' => "تم اعادة تسمية المجلد\r\nFolder: [name]\r\nParent folder: [folder_path]\r\nالاسم القديم: [old_name]\r\nالمستخدم: [username]\r\nURL: [url]",
'folders_and_documents_statistic' => "رؤية عامة للمحتوى",
'folders' => "مجلدات",
'folder_title' => "مجلد '[foldername]'",
'friday' => "الجمعة",
'friday_abbr' => "ج",
'from' => "من",
'fullsearch' => "البحث النصي الكامل",
'fullsearch_hint' => "استخدم فهرس النص الكامل",
'fulltext_info' => "معلومات فهرس النص الكامل",
'global_attributedefinitions' => "سمات",
'global_default_keywords' => "كلمات بحثية عامة",
'global_document_categories' => "اقسام",
'global_workflows' => "مسارات العمل",
'global_workflow_actions' => "اجراءات مسار العمل",
'global_workflow_states' => "حالات مسار العمل",
'group_approval_summary' => "ملخص موافقة المجموعة",
'group_exists' => "المجموعة موجودة بالفعل.",
'group' => "مجموعة",
'group_management' => "إدارة المجموعات",
'group_members' => "أعضاء المجموعة",
'group_review_summary' => "ملخص مراجعة المجموعة",
'groups' => "المجموعات",
'guest_login_disabled' => "دخول ضيف غير متاح.",
'guest_login' => "الدخول كضيف",
'help' => "المساعدة",
'hourly' => "بالساعة",
'hours' => "ساعات",
'human_readable' => "ارشيف مقروء",
'id' => "معرف",
'identical_version' => "الاصدار الجديد مماثل للاصدار الحالي.",
'include_documents' => "اشمل مستندات",
'include_subdirectories' => "اشمل مجلدات فرعية",
'index_converters' => "فهرس تحويل المستند",
'individuals' => "افراد",
'inherited' => "موروث",
'inherits_access_msg' => "الصلاحيات موروثة.",
'inherits_access_copy_msg' => "نسخ قائمة صلاحيات موروثة.",
'inherits_access_empty_msg' => "ابدأ بقائمة صلاحيات فارغة",
'internal_error_exit' => "خطأ داخلي. عدم الاستطاعة لاستكمال الطلب. خروج",
'internal_error' => "خطأ داخلي",
'invalid_access_mode' => "حالة دخول غير صحيحة",
'invalid_action' => "اجراء خاطيء",
'invalid_approval_status' => "حالة موافقة خاطئة",
'invalid_create_date_end' => "تاريخ نهائي خاطىء لانشاء مدى تاريخي",
'invalid_create_date_start' => "تاريخ ابتدائي خاطيء لانشاء مدى تاريخي",
'invalid_doc_id' => "معرف مستند خاطىء",
'invalid_file_id' => "معرف ملف خاطىء",
'invalid_folder_id' => "معرف مجلد خاطىء",
'invalid_group_id' => "معرف مجموعة خاطىء",
'invalid_link_id' => "معرف رابط خاطىء",
'invalid_request_token' => "رمز طلب خاطىء",
'invalid_review_status' => "حالة مراجعة خاطئة",
'invalid_sequence' => "تتابع قيم خاطىء",
'invalid_status' => "حالة مستند خاطئة",
'invalid_target_doc_id' => "معرف خاطىء لمستند الهدف",
'invalid_target_folder' => "معرف خاطىء لمجلد الهدف",
'invalid_user_id' => "معرف مستخدم خاطىء",
'invalid_version' => "اصدار مستند خاطىء",
'in_workflow' => "رهن مسار عمل",
'is_disabled' => "تعطيل الحساب",
'is_hidden' => "اخفاء من قائمة المستخدمين",
'january' => "يناير",
'js_no_approval_group' => "من فضلك اختر مجموعة الموافقة",
'js_no_approval_status' => "من فضلك اختر حالة الموافقة",
'js_no_comment' => "لايوجد تعليق",
'js_no_email' => "اكتب بريدك الالكتروني",
'js_no_file' => "من فضلك اختر ملف",
'js_no_keywords' => "من فضلك اختر بعض الكلمات البحثية",
'js_no_login' => "من فضلك اكتب اسم المستخدم",
'js_no_name' => "من فضلك اكتب اسم",
'js_no_override_status' => "من فضلك اختر الحالة الجديدة",
'js_no_pwd' => "تحتاج لكتابة كلمة السر الخاصة بك",
'js_no_query' => "اكتب استعلام",
'js_no_review_group' => "من فضلك اختر مجموعة المراجعة",
'js_no_review_status' => "من فضلك اختر حالة المراجعة",
'js_pwd_not_conf' => "كلمة السر وتأكيدها غير متطابق",
'js_select_user_or_group' => "اختر على الاقل مستخدم او مجموعة",
'js_select_user' => "من فضلك اختر مستخدم",
'july' => "يوليو",
'june' => "يونيو",
'keep_doc_status' => "ابقاء حالة المستند",
'keyword_exists' => "كلمات البحث بالفعل موجودة",
'keywords' => "كلمات البحث",
'language' => "اللغة",
'last_update' => "اخر تحديث",
'legend' => "دليل",
'link_alt_updatedocument' => "اذا كنت تود تحميل ملفات اكبر من حجم الملفات المتاحة حاليا, من فضلك استخدم البديل <a href=\"%s\">صفحة التحميل</a>.",
'linked_documents' => "مستندات متعلقة",
'linked_files' => "ملحقات",
'local_file' => "ملف محلي",
'locked_by' => "محمي بواسطة",
'lock_document' => "حماية",
'lock_message' => "هذا الملف محمي بواسطة <a href=\"mailto:[email]\">[username]</a>. فقط المستخدمين المصرح لهم يمكنهم تعديله.",
'lock_status' => "حالة",
'login' => "دخول",
'login_disabled_text' => "حسابك معطل, غالبا بسبب المحاولات العديدة الخاطئة للدخول",
'login_disabled_title' => "الحساب معطل",
'login_error_text' => "خطأ في الدخول. خطأ في اسم المستخدم او كلمة السر ",
'login_error_title' => "خطأ في الدخول",
'login_not_given' => "لم يتم ادخال اسم المستخدم",
'login_ok' => "دخول صحيح",
'log_management' => "ادارة ملفات السجلات",
'logout' => "خروج",
'manager' => "مدير",
'march' => "مارس",
'max_upload_size' => "الحجم الاقصى للملف",
'may' => "مايو",
'mimetype' => "Mime type",
'misc' => "متنوعات",
'missing_checksum' => "فحص اخطاء مفقود",
'missing_filesize' => "حجم ملف مفقود",
'missing_transition_user_group' => "مستخدم/مجموعة مفقودة للتحول",
'minutes' => "دقائق",
'monday' => "الاثنين",
'monday_abbr' => "ن",
'month_view' => "عرض الشهر",
'monthly' => "شهريا",
'move_document' => "تحريك مستند",
'move_folder' => "تحريك مجلد",
'move' => "تحريك",
'my_account' => "حسابي",
'my_documents' => "مستنداتي",
'name' => "اسم",
'needs_workflow_action' => "هذا المستند يتطلب انتباهك . من فضلك تفقد زر مسار العمل",
'new_attrdef' => "اضافة تعريف سمة",
'new_default_keyword_category' => "اضافة قسم",
'new_default_keywords' => "اضافة كلمات بحث",
'new_document_category' => "اضافة قسم",
'new_document_email' => "مستند جديد",
'new_document_email_subject' => "[sitename]: [folder_name] - مستند جديد",
'new_document_email_body' => "مستند جديد\r\nاسم: [name]\r\nParent folder: [folder_path]\r\nتعليق: [comment]\r\nتعليق الاصدار: [version_comment]\r\nUser: [username]\r\nURL: [url]",
'new_file_email' => "مرفقات جديدة",
'new_file_email_subject' => "[sitename]: [document] - مرفقات جديدة",
'new_file_email_body' => "مرفقات جديدة\r\nName: [name]\r\nمستند: [document]\r\nتعليق: [comment]\r\nمستخدم: [username]\r\nURL: [url]",
'new_folder' => "مجلد جديد",
'new_password' => "كلمة سر جديدة",
'new' => "جديد",
'new_subfolder_email' => "مستند جديد",
'new_subfolder_email_subject' => "[sitename]: [name] - مجلد جديد",
'new_subfolder_email_body' => "مجلد جديد\r\nاسم: [name]\r\nParent folder: [folder_path]\r\nتعليق: [comment]\r\nمستخدم: [username]\r\nURL: [url]",
'new_user_image' => "صورة جديدة",
'next_state' => "حالة جديدة",
'no_action' => "لايوجد اجراء مطلوب",
'no_approval_needed' => "لايوجد موافقات منتظره",
'no_attached_files' => "لا يوجد مرفقات",
'no_default_keywords' => "لايوجد كلمات بحثية متاحة",
'no_docs_locked' => "لايوجد مستندات حاليا مقفلة/محمية من التعديل",
'no_docs_to_approve' => "لايوجد مستندات حالية في انتظار الموافقة",
'no_docs_to_look_at' => "لايوجد مستندات حاليا تستدعي انتباهك",
'no_docs_to_review' => "لايوجد مستندات حاليا متاحة للمراجعة",
'no_fulltextindex' => "لايوجد فهرس للنص الكامل متاح",
'no_group_members' => "هذه المجموعة لايوجد بها اعضاء",
'no_groups' => "لايوجد مجموعات",
'no' => "لا",
'no_linked_files' => "لايوجد ملفات مرتبطة",
'no_previous_versions' => "لايوجد اصدارات سابقة",
'no_review_needed' => "لايوجد مراجعات في الانتظار",
'notify_added_email' => "تم اضافتك الى قائمة التنبيهات",
'notify_added_email_subject' => "[sitename]: [name] - تم اضافتك الى قائمة التنبيهات",
'notify_added_email_body' => "تم اضافتك الى قائمة التنبيهات\r\nاسم: [name]\r\nParent folder: [folder_path]\r\nمستخدم: [username]\r\nURL: [url]",
'notify_deleted_email' => "تم ازالتك من قائمة التنبيهات",
'notify_deleted_email_subject' => "[sitename]: [name] - تم ازالتك من قائمة التنبيهات",
'notify_deleted_email_body' => "تم ازالتك من قائمة التنبيهات\r\nاسم: [name]\r\nParent folder: [folder_path]\r\nمستخدم: [username]\r\nURL: [url]",
'no_update_cause_locked' => "لايمكنك تعديل المستند. قم بمخاطبة المستخدم الذي قام بحمايته من التعديل",
'no_user_image' => "لا يوجد صورة متاحة",
'november' => "نوفمبر",
'now' => "الان",
'objectcheck' => "التحقق من مستند/مجلد",
'obsolete' => "مهمل",
'october' => "اكتوبر",
'old' => "قديم",
'only_jpg_user_images' => "فقط يمكنك استخدام ملفات من تنسيق jpg كصورة المستخدم",
'original_filename' => "اسم الملف الاصلي",
'owner' => "المالك",
'ownership_changed_email' => "تم تغيير المالك",
'ownership_changed_email_subject' => "[sitename]: [name] - تم تغيير المالك",
'ownership_changed_email_body' => "تم تغيير المالك\r\nمستند: [name]\r\nParent folder: [folder_path]\r\nالمالك القديم: [old_owner]\r\nالمالك الجديد: [new_owner]\r\nالمستخدم: [username]\r\nURL: [url]",
'password' => "كلمة السر",
'password_already_used' => "كلمة السر بالفعل تم ارسالها",
'password_repeat' => "تكرار كلمة السر",
'password_expiration' => "انتهاء صلاحية كلمة السر",
'password_expiration_text' => "انتهت صلاحية كلمة السر. من فضلك قم باختيارها قبل ان تستكمل عملك بالنظام",
'password_forgotten' => "نسيان كلمة السر",
'password_forgotten_email_subject' => "نسيان كلمة السر",
'password_forgotten_email_body' => "عزيزي مستخدم النظام,\n\nاستقبلنا طلبك لتغيير كلمة السر.\n\nيمكنك تغييرها عن طريق الرابط التالي:\n\n###URL_PREFIX###out/out.ChangePassword.php?hash=###HASH###\n\nIf you have still problems to login, then please contact your administrator.",
'password_forgotten_send_hash' => "تم ارسال التعليمات اللازمة لبريدك الالكتروني",
'password_forgotten_text' => "قم بملء النموذج التالي واتبع التعليمات التى سيتم ارسالها اليك بالبريد الالكتروني",
'password_forgotten_title' => "ارسال كلمة السر",
'password_strength' => "قوة كلمة السر",
'password_strength_insuffient' => "قوة كلمة السر غير كافية",
'password_wrong' => "كلمة سر خاطئة",
'personal_default_keywords' => "قوائم الكلمات البحثية الشخصية",
'previous_state' => "حالة سابقة",
'previous_versions' => "اصدارات سابقة",
'quota' => "المساحة المخصصة",
'quota_exceeded' => "لقد قمت بتعدي المساحة المخصصة لك بمقدار [bytes].",
'quota_warning' => "اقصى مساحة للقرص الصلب تم تعديها بمقدار [bytes]. من فضلك قم بمسح بعض المستندات او اصدارات سابقة منها",
'refresh' => "اعادة تحميل",
'rejected' => "مرفوض",
'released' => "منشور",
'remove_marked_files' => "ازالة الملفات المختارة",
'removed_workflow_email_subject' => "[sitename]: [name] - تم ازالة مسار العمل من اصدار المستند",
'removed_workflow_email_body' => "تم ازالة مسار العمل من اصدار المستند\r\nمستند: [name]\r\nاصدار: [version]\r\nمسار عمل: [workflow]\r\nParent folder: [folder_path]\r\nمستخدم: [username]\r\nURL: [url]",
'removed_approver' => "تم ازالته من قائمة الموافقون",
'removed_file_email' => "تم ازالة المرفقات",
'removed_file_email_subject' => "[sitename]: [document] - تم ازالة المرفقات",
'removed_file_email_body' => "تم ازالة المرفقات\r\nمستند: [document]\r\nالمستخدم: [username]\r\nURL: [url]",
'removed_reviewer' => "تم ازالته من قائمة المراجعة",
'repaired' => 'تم اصلاحه',
'repairing_objects' => "تحضير المستندات والمجلدات.",
'results_page' => "صفحة النتائج",
'return_from_subworkflow_email_subject' => "[sitename]: [name] - عودة من مسار عمل فرعي",
'return_from_subworkflow_email_body' => "عودة من مسار عمل فرعي\r\nمستند: [name]\r\nاصدار: [version]\r\nمسار عمل: [workflow]\r\nمسار عمل فرعي: [subworkflow]\r\nParent folder: [folder_path]\r\nمستخدم: [username]\r\nURL: [url]",
'review_deletion_email' => "طلب المراجعة تم مسحه",
'reviewer_already_assigned' => "بالفعل تم تخصيصة كمراجع",
'reviewer_already_removed' => "بالفعل تم ازالته من عملية المراجعة او تم تقديمه للمراجعة",
'reviewers' => "المراجعون",
'review_group' => "مجموعة المراجعة",
'review_request_email' => "طلب مراجعة",
'review_status' => "حالة المراجعة:",
'review_submit_email' => "تم تقديم المراجعة",
'review_submit_email_subject' => "[sitename]: [name] - تم تقديم المراجعة",
'review_submit_email_body' => "تم تقديم المراجعة\r\nDocument: [name]\r\nVersion: [version]\r\nStatus: [status]\r\nComment: [comment]\r\nParent folder: [folder_path]\r\nUser: [username]\r\nURL: [url]",
'review_summary' => "ملخص المراجعة",
'review_update_failed' => "خطأ في تحديث حالة المراجعة. التحديث فشل.",
'rewind_workflow' => "اعادة بدء مسار العمل",
'rewind_workflow_email_subject' => "[sitename]: [name] - اعادة بدء مسار العمل",
'rewind_workflow_email_body' => "اعادة بدء مسار العمل\r\nالمستند: [name]\r\nVersion: [version]\r\nمسار العمل: [workflow]\r\nParent folder: [folder_path]\r\nUser: [username]\r\nURL: [url]",
'rewind_workflow_warning' => "لو قمت باعادة تشغيل مسار العمل لحالته الاصلية، سيتم مسح سجلات مسار العمل للمستند ولايمكن استعادته",
'rm_attrdef' => "ازالة تعريف سمة",
'rm_default_keyword_category' => "ازالة القسم",
'rm_document' => "ازالة المستند",
'rm_document_category' => "ازالة القسم",
'rm_file' => "ازالة الملف",
'rm_folder' => "ازالة المجلد",
'rm_from_clipboard' => "ازالة من لوحة القصاصات",
'rm_group' => "ازالة هذه المجموعة",
'rm_user' => "ازالة هذا المستخدم",
'rm_version' => "ازالة اصدار",
'rm_workflow' => "ازالة مسار عمل",
'rm_workflow_state' => "ازالة حالة مسار عمل",
'rm_workflow_action' => "ازالة اجراء مسار عمل",
'rm_workflow_warning' => "انت على وشك ازالة مسار عمل من المستند. لايمكنك التراجع بعد الضغط",
'role_admin' => "مدير النظام",
'role_guest' => "ضيف",
'role_user' => "مستخدم",
'role' => "دور",
'return_from_subworkflow' => "العودة من مسار العمل الفرعي",
'run_subworkflow' => "تشغيل مسار عمل فرعي",
'run_subworkflow_email_subject' => "[sitename]: [name] - مسار العمل الفرعي بدأ",
'run_subworkflow_email_body' => "مسار العمل الفرعي بدأ\r\nالمستند: [name]\r\nالاصدار: [version]\r\nمسار العمل: [workflow]\r\nمسار العمل الفرعي: [subworkflow]\r\nParent folder: [folder_path]\r\nالمستخدم: [username]\r\nURL: [url]",
'saturday' => "السبت",
'saturday_abbr' => "س",
'save' => "حفظ",
'search_fulltext' => "بحث في النص الكامل",
'search_in' => "بحث في",
'search_mode_and' => "كل الكلمات",
'search_mode_or' => "على الاقل كلمة واحدة",
'search_no_results' => "لا يوجد مستند مطابق للبحث",
'search_query' => "بحث عن",
'search_report' => "وجد [doccount] مستند و [foldercount] مجلد في [searchtime] ثانية.",
'search_report_fulltext' => "وجد [doccount] مستندات",
'search_results_access_filtered' => "نتائج البحث من الممكن ان تحتوى بعد المستندات التى ليس لديك صلاحية اليها",
'search_results' => "نتائج البحث",
'search' => "البحث",
'search_time' => "الوقت المتبقي: [time] sec.",
'seconds' => "ثواني",
'selection' => "اختيار",
'select_category' => "اضغط لاختيار قسم",
'select_groups' => "اضغط لاختيار مجموعة",
'select_ind_reviewers' => "اضغط لاختيار مراجع فردي",
'select_ind_approvers' => "اضغط لاختيار موافق فردي",
'select_grp_reviewers' => "اضغط لاختيار مجموعة المراجعون",
'select_grp_approvers' => "اضغط لاختيار مجموعة الموافقون",
'select_one' => "اختر واحد",
'select_users' => "اضغط لاختيار المستخدم",
'select_workflow' => "اختر مسار العمل",
'september' => "سبتمبر",
'seq_after' => "بعد \"[prevname]\"",
'seq_end' => "في الاخر",
'seq_keep' => "حافظ على المرتبة",
'seq_start' => "اول مرتبة",
'sequence' => "تتابع",
'set_expiry' => "تحديد انتهاء الصلاحية",
'set_owner_error' => "خطأ في تحديد المالك",
'set_owner' => "تحديد المالك",
'set_password' => "تحديد كلمة السر",
'set_workflow' => "تحديد مسار العمل",
'settings_install_welcome_title' => "Welcome to the installation of SeedDMS",
'settings_install_welcome_text' => "<p>Before you start to install SeedDMS make sure you have created a file 'ENABLE_INSTALL_TOOL' in your configuration directory, otherwise the installation will not work. On Unix-System this can easily be done with 'touch conf/ENABLE_INSTALL_TOOL'. After you have finished the installation delete the file.</p><p>SeedDMS has very minimal requirements. You will need a mysql database or sqlite support and a php enabled web server. The pear package Log has to be installed too. For the lucene full text search, you will also need the Zend framework installed on disk where it can be found by php. For the WebDAV server you will also need the HTTP_WebDAV_Server. The path to it can later be set during installation.</p><p>If you like to create the database before you start installation, then just create it manually with your favorite tool, optionally create a database user with access on the database and import one of the database dumps in the configuration directory. The installation script can do that for you as well, but it will need database access with sufficient rights to create databases.</p>",
'settings_start_install' => "Start installation",
'settings_sortUsersInList' => "ترتيب المستخدمين في القائمة",
'settings_sortUsersInList_desc' => "Sets if users in selection menus are ordered by login or by its full name",
'settings_sortUsersInList_val_login' => "ترتيب بواسطة الدخول",
'settings_sortUsersInList_val_fullname' => "ترتيب بالاسم الكامل",
'settings_stopWordsFile' => "Path to stop words file",
'settings_stopWordsFile_desc' => "If fulltext search is enabled, this file will contain stop words not being indexed",
'settings_activate_module' => "Activate module",
'settings_activate_php_extension' => "Activate PHP extension",
'settings_adminIP' => "Admin IP",
'settings_adminIP_desc' => "If set admin can login only by specified IP addres, leave empty to avoid the control. NOTE: works only with local autentication (no LDAP)",
'settings_extraPath' => "Extra PHP include Path",
'settings_extraPath_desc' => "Path to additional software. This is the directory containing e.g. the adodb directory or additional pear packages",
'settings_Advanced' => "متقدم",
'settings_apache_mod_rewrite' => "Apache - Module Rewrite",
'settings_Authentication' => "Authentication settings",
'settings_cacheDir' => "Cache directory",
'settings_cacheDir_desc' => "Where the preview images are stored (best to choose a directory that is not accessible through your web-server)",
'settings_Calendar' => "اعدادات التقويم",
'settings_calendarDefaultView' => "العرض الافتراضي للتقويم",
'settings_calendarDefaultView_desc' => "العرض الافتراضي للتقويم",
'settings_cookieLifetime' => "Cookie Life time",
'settings_cookieLifetime_desc' => "The life time of a cookie in seconds. If set to 0 the cookie will be removed when the browser is closed.",
'settings_contentDir' => "مجلد المحتوى",
'settings_contentDir_desc' => "Where the uploaded files are stored (best to choose a directory that is not accessible through your web-server)",
'settings_contentOffsetDir' => "Content Offset Directory",
'settings_contentOffsetDir_desc' => "To work around limitations in the underlying file system, a new directory structure has been devised that exists within the content directory (Content Directory). This requires a base directory from which to begin. Usually leave this to the default setting, 1048576, but can be any number or string that does not already exist within (Content Directory)",
'settings_coreDir' => "Core SeedDMS directory",
'settings_coreDir_desc' => "Path to SeedDMS_Core (optional). Leave this empty if you have installed SeedDMS_Core at a place where it can be found by PHP, e.g. Extra PHP Include-Path",
'settings_loginFailure_desc' => "Disable account after n login failures.",
'settings_loginFailure' => "Login failure",
'settings_luceneClassDir' => "Lucene SeedDMS directory",
'settings_luceneClassDir_desc' => "Path to SeedDMS_Lucene (optional). Leave this empty if you have installed SeedDMS_Lucene at a place where it can be found by PHP, e.g. Extra PHP Include-Path",
'settings_luceneDir' => "Lucene index directory",
'settings_luceneDir_desc' => "Path to Lucene index",
'settings_cannot_disable' => "File ENABLE_INSTALL_TOOL could not deleted",
'settings_install_disabled' => "File ENABLE_INSTALL_TOOL was deleted. You can now log into SeedDMS and do further configuration.",
'settings_createdatabase' => "Create database tables",
'settings_createdirectory' => "Create directory",
'settings_currentvalue' => "Current value",
'settings_Database' => "Database settings",
'settings_dbDatabase' => "Database",
'settings_dbDatabase_desc' => "The name for your database entered during the installation process. Do not edit this field unless necessary, if for example the database has been moved.",
'settings_dbDriver' => "Database Type",
'settings_dbDriver_desc' => "The type of database in use entered during the installation process. Do not edit this field unless you are having to migrate to a different type of database perhaps due to changing hosts. Type of DB-Driver used by adodb (see adodb-readme)",
'settings_dbHostname_desc' => "The hostname for your database entered during the installation process. Do not edit field unless absolutely necessary, for example transfer of the database to a new Host.",
'settings_dbHostname' => "Server name",
'settings_dbPass_desc' => "The password for access to your database entered during the installation process.",
'settings_dbPass' => "Password",
'settings_dbUser_desc' => "The username for access to your database entered during the installation process. Do not edit field unless absolutely necessary, for example transfer of the database to a new Host.",
'settings_dbUser' => "Username",
'settings_dbVersion' => "Database schema too old",
'settings_delete_install_folder' => "In order to use SeedDMS, you must delete the file ENABLE_INSTALL_TOOL in the configuration directory",
'settings_disable_install' => "Delete file ENABLE_INSTALL_TOOL if possible",
'settings_disableSelfEdit_desc' => "If checked user cannot edit his own profile",
'settings_disableSelfEdit' => "Disable Self Edit",
'settings_dropFolderDir_desc' => "This directory can be used for dropping files on the server's file system and importing them from there instead of uploading via the browser. The directory must contain a sub directory for each user who is allowed to import files this way.",
'settings_dropFolderDir' => "Directory for drop folder",
'settings_Display' => "اعدادات العرض",
'settings_Edition' => "اعدادات التحرير",
'settings_enableAdminRevApp_desc' => "Enable this if you want administrators to be listed as reviewers/approvers and for workflow transitions.",
'settings_enableAdminRevApp' => "Allow review/approval for admins",
'settings_enableCalendar_desc' => "Enable/disable calendar",
'settings_enableCalendar' => "Enable Calendar",
'settings_enableConverting_desc' => "Enable/disable converting of files",
'settings_enableConverting' => "Enable Converting",
'settings_enableDuplicateDocNames_desc' => "Allows to have duplicate document names in a folder.",
'settings_enableDuplicateDocNames' => "Allow duplicate document names",
'settings_enableNotificationAppRev_desc' => "Check to send a notification to the reviewer/approver when a new document version is added",
'settings_enableNotificationAppRev' => "Enable reviewer/approver notification",
'settings_enableOwnerRevApp_desc' => "Enable this if you want the owner of a document to be listed as reviewers/approvers and for workflow transitions.",
'settings_enableOwnerRevApp' => "Allow review/approval for owner",
'settings_enableSelfRevApp_desc' => "Enable this if you want the currently logged in user to be listed as reviewers/approvers and for workflow transitions.",
'settings_enableSelfRevApp' => "Allow review/approval for logged in user",
'settings_enableVersionModification_desc' => "Enable/disable modification of a document versions by regular users after a version was uploaded. Admin may always modify the version after upload.",
'settings_enableVersionModification' => "Enable modification of versions",
'settings_enableVersionDeletion_desc' => "Enable/disable deletion of previous document versions by regular users. Admin may always delete old versions.",
'settings_enableVersionDeletion' => "Enable deletion of previous versions",
'settings_enableEmail_desc' => "Enable/disable automatic email notification",
'settings_enableEmail' => "Enable E-mail",
'settings_enableFolderTree' => "Enable Folder Tree",
'settings_enableFolderTree_desc' => "False to don't show the folder tree",
'settings_enableFullSearch' => "تفعيل البحث بالنص الكامل",
'settings_enableFullSearch_desc' => "تفعيل البحث بالنص الكامل",
'settings_enableGuestLogin' => "Enable Guest Login",
'settings_enableGuestLogin_desc' => "If you want anybody to login as guest, check this option. Note: guest login should be used only in a trusted environment",
'settings_enableLanguageSelector' => "Enable Language Selector",
'settings_enableLanguageSelector_desc' => "Show selector for user interface language after being logged in. This does not affect the language selection on the login page.",
'settings_enableLargeFileUpload_desc' => "If set, file upload is also available through a java applet called jumploader without a file size limit set by the browser. It also allows to upload several files in one step.",
'settings_enableLargeFileUpload' => "Enable large file upload",
'settings_maxRecursiveCount' => "Max. number of recursive document/folder count",
'settings_maxRecursiveCount_desc' => "This is the maximum number of documents or folders that will be checked for access rights, when recursively counting objects. If this number is exceeded, the number of documents and folders in the folder view will be estimated.",
'settings_enableOwnerNotification_desc' => "Check for adding a notification for the owner if a document when it is added.",
'settings_enableOwnerNotification' => "Enable owner notification by default",
'settings_enablePasswordForgotten_desc' => "If you want to allow user to set a new password and send it by mail, check this option.",
'settings_enablePasswordForgotten' => "Enable Password forgotten",
'settings_enableRecursiveCount_desc' => "If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.",
'settings_enableRecursiveCount' => "Enable recursive document/folder count",
'settings_enableUserImage_desc' => "Enable users images",
'settings_enableUserImage' => "Enable User Image",
'settings_enableUsersView_desc' => "Enable/disable group and user view for all users",
'settings_enableUsersView' => "Enable Users View",
'settings_encryptionKey' => "Encryption key",
'settings_encryptionKey_desc' => "This string is used for creating a unique identifier being added as a hidden field to a formular in order to prevent CSRF attacks.",
'settings_error' => "خطأ",
'settings_expandFolderTree_desc' => "Expand Folder Tree",
'settings_expandFolderTree' => "Expand Folder Tree",
'settings_expandFolderTree_val0' => "start with tree hidden",
'settings_expandFolderTree_val1' => "start with tree shown and first level expanded",
'settings_expandFolderTree_val2' => "start with tree shown fully expanded",
'settings_firstDayOfWeek_desc' => "First day of the week",
'settings_firstDayOfWeek' => "First day of the week",
'settings_footNote_desc' => "Message to display at the bottom of every page",
'settings_footNote' => "Foot Note",
'settings_guestID_desc' => "ID of guest-user used when logged in as guest (mostly no need to change)",
'settings_guestID' => "Guest ID",
'settings_httpRoot_desc' => "The relative path in the URL, after the domain part. Do not include the http:// prefix or the web host name. e.g. If the full URL is http://www.example.com/seeddms/, set '/seeddms/'. If the URL is http://www.example.com/, set '/'",
'settings_httpRoot' => "Http Root",
'settings_installADOdb' => "Install ADOdb",
'settings_install_success' => "The installation has been successfully completed.",
'settings_install_pear_package_log' => "Install Pear package 'Log'",
'settings_install_pear_package_webdav' => "Install Pear package 'HTTP_WebDAV_Server', if you intend to use the webdav interface",
'settings_install_zendframework' => "Install Zend Framework, if you intend to use the full text search engine",
'settings_language' => "Default language",
'settings_language_desc' => "Default language (name of a subfolder in folder \"languages\")",
'settings_logFileEnable_desc' => "Enable/disable log file",
'settings_logFileEnable' => "Log File Enable",
'settings_logFileRotation_desc' => "The log file rotation",
'settings_logFileRotation' => "Log File Rotation",
'settings_luceneDir' => "Directory for full text index",
'settings_maxDirID_desc' => "Maximum number of sub-directories per parent directory. Default: 32700.",
'settings_maxDirID' => "Max Directory ID",
'settings_maxExecutionTime_desc' => "This sets the maximum time in seconds a script is allowed to run before it is terminated by the parse",
'settings_maxExecutionTime' => "Max Execution Time (s)",
'settings_more_settings' => "Configure more settings. Default login: admin/admin",
'settings_Notification' => "Notification settings",
'settings_no_content_dir' => "Content directory",
'settings_notfound' => "Not found",
'settings_notwritable' => "The configuration cannot be saved because the configuration file is not writable.",
'settings_partitionSize' => "Partial filesize",
'settings_partitionSize_desc' => "Size of partial files in bytes, uploaded by jumploader. Do not set a value larger than the maximum upload size set by the server.",
'settings_passwordExpiration' => "Password expiration",
'settings_passwordExpiration_desc' => "The number of days after which a password expireѕ and must be reset. 0 turns password expiration off.",
'settings_passwordHistory' => "Password history",
'settings_passwordHistory_desc' => "The number of passwords a user must have been used before a password can be reused. 0 turns the password history off.",
'settings_passwordStrength' => "Min. password strength",
'settings_passwordЅtrength_desc' => "The minimum password strength is an integer value from 0 to 100. Setting it to 0 will turn off checking for the minimum password strength.",
'settings_passwordStrengthAlgorithm' => "Algorithm for password strength",
'settings_passwordStrengthAlgorithm_desc' => "The algorithm used for calculating the password strength. The 'simple' algorithm just checks for at least eight chars total, a lower case letter, an upper case letter, a number and a special char. If those conditions are met the returned score is 100 otherwise 0.",
'settings_passwordStrengthAlgorithm_valsimple' => "simple",
'settings_passwordStrengthAlgorithm_valadvanced' => "advanced",
'settings_perms' => "Permissions",
'settings_pear_log' => "Pear package : Log",
'settings_pear_webdav' => "Pear package : HTTP_WebDAV_Server",
'settings_php_dbDriver' => "PHP extension : php_'see current value'",
'settings_php_gd2' => "PHP extension : php_gd2",
'settings_php_mbstring' => "PHP extension : php_mbstring",
'settings_printDisclaimer_desc' => "If true the disclaimer message the lang.inc files will be print on the bottom of the page",
'settings_printDisclaimer' => "Print Disclaimer",
'settings_quota' => "User's quota",
'settings_quota_desc' => "The maximum number of bytes a user may use on disk. Set this to 0 for unlimited disk space. This value can be overridden for each uses in his profile.",
'settings_restricted_desc' => "Only allow users to log in if they have an entry in the local database (irrespective of successful authentication with LDAP)",
'settings_restricted' => "Restricted access",
'settings_rootDir_desc' => "Path to where SeedDMS is located",
'settings_rootDir' => "Root directory",
'settings_rootFolderID_desc' => "ID of root-folder (mostly no need to change)",
'settings_rootFolderID' => "Root Folder ID",
'settings_SaveError' => "Configuration file save error",
'settings_Server' => "Server settings",
'settings' => "الإعدادات",
'settings_siteDefaultPage_desc' => "Default page on login. If empty defaults to out/out.ViewFolder.php",
'settings_siteDefaultPage' => "Site Default Page",
'settings_siteName_desc' => "Name of site used in the page titles. Default: SeedDMS",
'settings_siteName' => "اسم الموقع",
'settings_Site' => "الموقع",
'settings_smtpPort_desc' => "SMTP Server port, default 25",
'settings_smtpPort' => "SMTP Server port",
'settings_smtpSendFrom_desc' => "Send from",
'settings_smtpSendFrom' => "Send fromSend from",
'settings_smtpServer_desc' => "SMTP Server hostname",
'settings_smtpServer' => "SMTP Server hostname",
'settings_SMTP' => "SMTP Server settings",
'settings_stagingDir' => "Directory for partial uploads",
'settings_stagingDir_desc' => "The directory where jumploader places the parts of a file upload before it is put back together.",
'settings_strictFormCheck_desc' => "Strict form checking. If set to true, then all fields in the form will be checked for a value. If set to false, then (most) comments and keyword fields become optional. Comments are always required when submitting a review or overriding document status",
'settings_strictFormCheck' => "Strict Form Check",
'settings_suggestionvalue' => "Suggestion value",
'settings_System' => "نظام",
'settings_theme' => "الشكل الافتراضي",
'settings_theme_desc' => "Default style (name of a subfolder in folder \"styles\")",
'settings_titleDisplayHack_desc' => "Workaround for page titles that go over more than 2 lines.",
'settings_titleDisplayHack' => "Title Display Hack",
'settings_updateDatabase' => "Run schema update scripts on database",
'settings_updateNotifyTime_desc' => "Users are notified about document-changes that took place within the last 'Update Notify Time' seconds",
'settings_updateNotifyTime' => "تحديث وقت التنبيه",
'settings_versioningFileName_desc' => "The name of the versioning info file created by the backup tool",
'settings_versioningFileName' => "اسم ملف الاصدار",
'settings_viewOnlineFileTypes_desc' => "Files with one of the following endings can be viewed online (USE ONLY LOWER CASE CHARACTERS)",
'settings_viewOnlineFileTypes' => "الملفات التى يمكن عرضها اونلاين",
'settings_workflowMode_desc' => "The advanced workflow allows to specify your own release workflow for document versions.",
'settings_workflowMode' => "حالة مسار العمل",
'settings_workflowMode_valtraditional' => "تقليدي",
'settings_workflowMode_valadvanced' => "متقدم",
'settings_zendframework' => "Zend Framework",
'signed_in_as' => "تسجيل الدخول بإسم",
'sign_in' => "تسجيل الدخول",
'sign_out' => "تسجيل الخروج",
'sign_out_user' => "تسجيل خروج مستخدم",
'space_used_on_data_folder' => "المساحة المستخدمة لمجلد البيانات",
'status_approval_rejected' => "مسودة مرفوضة",
'status_approved' => "تمت الموافقة",
'status_approver_removed' => "تم ازالة موافق من العملية",
'status_not_approved' => "لم تتم الموافقة بعد",
'status_not_reviewed' => "لم تتم مراجعته بعد",
'status_reviewed' => "تمت المراجعة",
'status_reviewer_rejected' => "مسودة مرفوضة",
'status_reviewer_removed' => "تم ازالة مراجع من العملية",
'status' => "الحالة",
'status_unknown' => "مجهول",
'storage_size' => "حجم التخزين",
'submit_approval' => "ادخال موافقة",
'submit_login' => "تسجيل الدخول",
'submit_password' => "تحديد كلمة سر جديدة",
'submit_password_forgotten' => "بدء العملية",
'submit_review' => "بدأ المراجعة",
'submit_userinfo' => "ادخال بيانات",
'substitute_user' => "استبدال المستخدم",
'sunday' => "الأحد",
'sunday_abbr' => "ح",
'switched_to' => "تحويل الى",
'theme' => "شكل",
'thursday' => "الخميس",
'thursday_abbr' => "خ",
'toggle_manager' => "رجح مدير",
'to' => "الى",
'transition_triggered_email' => "تم تحريك انتقال مسار العمل",
'transition_triggered_email_subject' => "[sitename]: [name] - تم تحريك انتقال مسار العمل",
'transition_triggered_email_body' => "تم تحريك انتقال مسار العمل\r\nالمستند: [name]\r\nالاصدار: [version]\r\nالتعليق: [comment]\r\nمسار العمل: [workflow]\r\nالحالة السابقة: [previous_state]\r\nالحالة الحالية: [current_state]\r\nParent folder: [folder_path]\r\nالمستخدم: [username]\r\nURL: [url]",
'trigger_workflow' => "مسار العمل",
'tuesday' => "الثلاثاء",
'tuesday_abbr' => "ث",
'type_to_search' => "اكتب لتبحث",
'under_folder' => "في المجلد",
'unknown_command' => "لم يتم التعرف على الأمر.",
'unknown_document_category' => "قسم مجهول",
'unknown_group' => "معرف قسم مجهول",
'unknown_id' => "معرف مجهول",
'unknown_keyword_category' => "قسم مجهول",
'unknown_owner' => "معرف مالك مجهول",
'unknown_user' => "معرف مستخدم مجهول",
'unlinked_content' => "محتوى غير مربوط",
'unlinking_objects' => "محتوى غير مربوط",
'unlock_cause_access_mode_all' => "يمكنك تحديثه لانك تملك الصلاحيات. سيتم ازالة الحماية تلقائية",
'unlock_cause_locking_user' => "يمكنك تحديثه لانك من قمت بحمايته. سيتم ازالة الحماية تلقائية.",
'unlock_document' => "ازالة القفل",
'update_approvers' => "تحديثة قائمة الموافقون",
'update_document' => "تحديث المستند",
'update_fulltext_index' => "تحديث فهرس النص الكامل",
'update_info' => "تحديث المعلومات",
'update_locked_msg' => "هذا المستند محمي من التعديل.",
'update_reviewers' => "تحيث قائمة المراجعين",
'update' => "تحديث",
'uploaded_by' => "تم الرفع بواسطة",
'uploading_failed' => "عملية رفع واحد من ملفاتك فشلت . من فضلك قم بالتأكد من اقصى ملف يمكن تحميله",
'uploading_zerosize' => "تحميل ملف فارغ. عملية التحميل الغيت",
'use_default_categories' => "استخدم اقسام سابقة التعريف",
'use_default_keywords' => "استخدام كلمات بحثية معدة مسبقا",
'used_discspace' => "المساحة المستخدمة",
'user_exists' => "المستخدم موجود بالفعل.",
'user_group_management' => "إدارة المستخدمين/المجموعات",
'user_image' => "صورة",
'user_info' => "بيانات المستخدمين",
'user_list' => "قائمة بالمستخدمين",
'user_login' => "اسم المستخدم",
'user_management' => "إدارة المستخدمين",
'user_name' => "الاسم بالكامل",
'users' => "مستخدمين",
'user' => "مستخدم",
'version_deleted_email' => "تم مسح الاصدار",
'version_deleted_email_subject' => "[sitename]: [name] - تم مسح الاصدار",
'version_deleted_email_body' => "تم مسح الاصدار\r\nDocument: [name]\r\nVersion: [version]\r\nParent folder: [folder_path]\r\nالمستخدم: [username]\r\nURL: [url]",
'version_info' => "معلومات الاصدار",
'versioning_file_creation' => "انشاء ملف الاصدارات",
'versioning_file_creation_warning' => "من خلال تلك العملية يمكنك انشاء ملف يحتوى معلومات الاصدار لمجمل مجلد النظام. بعد الانشاء كل ملف سيتم حفظه داخل المجلد الخاص به",
'versioning_info' => "معلومات الاصدار",
'version' => "اصدار",
'view' => "اعرض",
'view_online' => "شاهد اونلاين",
'warning' => "تحذير",
'wednesday' => "الاربعاء",
'wednesday_abbr' => "ر",
'week_view' => "عرض الاسبوع",
'weeks' => "اسابيع",
'workflow' => "مسار عمل",
'workflow_action_in_use' => "هذا الاجراء مستخدم حاليا في مسار عمل",
'workflow_action_name' => "اسم",
'workflow_editor' => "محرر مسارات العمل",
'workflow_group_summary' => "ملخص المجموعة",
'workflow_name' => "اسم",
'workflow_in_use' => "مسار العمل هذا مستخدم حاليا لمستندات",
'workflow_initstate' => "الحالة الابتدائية",
'workflow_management' => "ادارة مسار العمل",
'workflow_no_states' => "يجب تحديد حالات مسار العمل قبل تحديد مسار العمل.",
'workflow_states_management' => "ادارة حالات مسار العمل",
'workflow_actions_management' => "ادارة اجراءات مسار العمل",
'workflow_state_docstatus' => "حالة المستند",
'workflow_state_in_use' => "هذه الحالة مستخدمة من قبل مسار عمل",
'workflow_state_name' => "اسم",
'workflow_summary' => "ملخص مسار العمل",
'workflow_user_summary' => "ملخص المستخدم",
'year_view' => "عرض السنة",
'yes' => "نعم",
'ar_EG' => "العربية",
'ca_ES' => "الكاتالونية",
'cs_CZ' => "التشيكية",
'de_DE' => "الألمانية",
'en_GB' => "الإنكليزية (GB)",
'es_ES' => "الإسبانية",
'fr_FR' => "الفرنسية",
'hu_HU' => "مجرية",
'it_IT' => "الإيطالية",
'nl_NL' => "الهولندي",
'pt_BR' => "البرتغالية (BR)",
'ru_RU' => "الروسي",
'sk_SK' => "السلوفاكية",
'sv_SE' => "السويدية",
'zh_CN' => "الصينية (CN)",
'zh_TW' => "الصينية (TW)",
);
?>

View File

@ -80,7 +80,7 @@ $text = array(
'approvers' => "Freigebender", 'approvers' => "Freigebender",
'april' => "April", 'april' => "April",
'archive_creation' => "Archiv erzeugen", 'archive_creation' => "Archiv erzeugen",
'archive_creation_warning' => "Mit dieser Operation können Sie ein Archiv mit allen Dokumenten des DMS erzeugen. Nach der Erstellung wird das Archiv im Datenordner Ihres Servers gespeichert.<br />Warning: ein menschenlesbares Archiv ist als Server-Backup unbrauchbar.", 'archive_creation_warning' => "Mit dieser Operation können Sie ein Archiv mit allen Dokumenten des DMS erzeugen. Nach der Erstellung wird das Archiv im Datenordner Ihres Servers gespeichert.<br />Warnung: ein menschenlesbares Archiv ist als Server-Backup unbrauchbar.",
'assign_approvers' => "Freigebende zuweisen", 'assign_approvers' => "Freigebende zuweisen",
'assign_reviewers' => "Prüfer zuweisen", 'assign_reviewers' => "Prüfer zuweisen",
'assign_user_property_to' => "Dokumente einem anderen Benutzer zuweisen", 'assign_user_property_to' => "Dokumente einem anderen Benutzer zuweisen",
@ -94,6 +94,7 @@ $text = array(
'attrdef_type' => "Typ", 'attrdef_type' => "Typ",
'attrdef_minvalues' => "Min. Anzahl Werte", 'attrdef_minvalues' => "Min. Anzahl Werte",
'attrdef_maxvalues' => "Max. Anzahl Werte", 'attrdef_maxvalues' => "Max. Anzahl Werte",
'attrdef_regex' => "Regulärer Ausdruck",
'attrdef_valueset' => "Werteauswahl", 'attrdef_valueset' => "Werteauswahl",
'attribute_changed_email_subject' => "[sitename]: [name] - Attribut geändert", 'attribute_changed_email_subject' => "[sitename]: [name] - Attribut geändert",
'attribute_changed_email_body' => "Attribut geändert\r\nDokument: [name]\r\nVersion: [version]\r\nAttribut: [attribute]\r\nElternordner: [folder_path]\r\nBenutzer: [username]\r\nURL: [url]", 'attribute_changed_email_body' => "Attribut geändert\r\nDokument: [name]\r\nVersion: [version]\r\nAttribut: [attribute]\r\nElternordner: [folder_path]\r\nBenutzer: [username]\r\nURL: [url]",
@ -107,6 +108,7 @@ $text = array(
'backup_log_management' => "Backup/Logging", 'backup_log_management' => "Backup/Logging",
'between' => "zwischen", 'between' => "zwischen",
'calendar' => "Kalender", 'calendar' => "Kalender",
'calendar_week' => "Kalenderwoche",
'cancel' => "Abbrechen", 'cancel' => "Abbrechen",
'cannot_assign_invalid_state' => "Die Zuweisung eines neuen Prüfers zu einem Dokument, welches noch nachbearbeitet oder überprüft wird ist nicht möglich", 'cannot_assign_invalid_state' => "Die Zuweisung eines neuen Prüfers zu einem Dokument, welches noch nachbearbeitet oder überprüft wird ist nicht möglich",
'cannot_change_final_states' => "Warnung: Nicht imstande, Dokumentstatus für Dokumente, die zurückgewiesen worden sind, oder als abgelaufen bzw. überholt markiert wurden zu ändern", 'cannot_change_final_states' => "Warnung: Nicht imstande, Dokumentstatus für Dokumente, die zurückgewiesen worden sind, oder als abgelaufen bzw. überholt markiert wurden zu ändern",
@ -762,6 +764,8 @@ $text = array(
'settings_updateDatabase' => "Datenbank-Update-Skript ausführen", 'settings_updateDatabase' => "Datenbank-Update-Skript ausführen",
'settings_updateNotifyTime_desc' => "Users are notified about document-changes that took place within the last 'Update Notify Time' seconds", 'settings_updateNotifyTime_desc' => "Users are notified about document-changes that took place within the last 'Update Notify Time' seconds",
'settings_updateNotifyTime' => "Update Notify Time", 'settings_updateNotifyTime' => "Update Notify Time",
'settings_undelUserIds_desc' => "Komma-separierte Liste von Benutzer-IDs, die nicht gelöscht werden können.",
'settings_undelUserIds' => "Nicht löschbare Benutzer-IDs",
'settings_versioningFileName_desc' => "Der Name der Datei mit Versionsinformationen, wie sie durch das Backup-Tool erzeugt werden.", 'settings_versioningFileName_desc' => "Der Name der Datei mit Versionsinformationen, wie sie durch das Backup-Tool erzeugt werden.",
'settings_versioningFileName' => "Versionsinfo-Datei", 'settings_versioningFileName' => "Versionsinfo-Datei",
'settings_viewOnlineFileTypes_desc' => "Dateien mit den angegebenen Endungen können Online angeschaut werden (benutzen Sie ausschließlich Kleinbuchstaben).", 'settings_viewOnlineFileTypes_desc' => "Dateien mit den angegebenen Endungen können Online angeschaut werden (benutzen Sie ausschließlich Kleinbuchstaben).",
@ -776,6 +780,16 @@ $text = array(
'sign_out' => "Abmelden", 'sign_out' => "Abmelden",
'sign_out_user' => "Benutzer abmelden", 'sign_out_user' => "Benutzer abmelden",
'space_used_on_data_folder' => "Benutzter Plattenplatz", 'space_used_on_data_folder' => "Benutzter Plattenplatz",
'splash_added_to_clipboard' => "Der Zwischenablage hinzugefügt",
'splash_document_edited' => "Dokument gespeichert",
'splash_document_locked' => "Dokument gesperrt",
'splash_document_unlocked' => "Dokumentensperre aufgehoben",
'splash_folder_edited' => "Änderungen am Ordner gespeichert",
'splash_invalid_folder_id' => "Ungültige Ordner-ID",
'splash_removed_from_clipboard' => "Von der Zwischenablage entfernt",
'splash_settings_saved' => "Einstellungen gesichert",
'splash_substituted_user' => "Benutzer gewechselt",
'splash_switched_back_user' => "Zum ursprünglichen Benutzer zurückgekehrt",
'status_approval_rejected' => "Entwurf abgelehnt", 'status_approval_rejected' => "Entwurf abgelehnt",
'status_approved' => "freigegeben", 'status_approved' => "freigegeben",
'status_approver_removed' => "Freigebender wurde vom Prozess ausgeschlossen", 'status_approver_removed' => "Freigebender wurde vom Prozess ausgeschlossen",
@ -793,6 +807,7 @@ $text = array(
'submit_password_forgotten' => "Neues Passwort setzen und per E-Mail schicken", 'submit_password_forgotten' => "Neues Passwort setzen und per E-Mail schicken",
'submit_review' => "Überprüfung hinzufügen", 'submit_review' => "Überprüfung hinzufügen",
'submit_userinfo' => "Daten setzen", 'submit_userinfo' => "Daten setzen",
'substitute_user' => "Benutzer wechseln",
'sunday' => "Sonntag", 'sunday' => "Sonntag",
'sunday_abbr' => "So", 'sunday_abbr' => "So",
'switched_to' => "Gewechselt zu", 'switched_to' => "Gewechselt zu",
@ -827,10 +842,11 @@ $text = array(
'update_info' => "Informationen zur Aktualisierung", 'update_info' => "Informationen zur Aktualisierung",
'update_locked_msg' => "Dieses Dokument wurde gesperrt<p>Die Sperrung wurde von <a href=\"mailto:[email]\">[username]</a> eingerichtet.<br>", 'update_locked_msg' => "Dieses Dokument wurde gesperrt<p>Die Sperrung wurde von <a href=\"mailto:[email]\">[username]</a> eingerichtet.<br>",
'update_reviewers' => "Liste der Prüfer aktualisieren", 'update_reviewers' => "Liste der Prüfer aktualisieren",
'update' => "aktualisieren", 'update' => "Aktualisieren",
'uploaded_by' => "Hochgeladen durch", 'uploaded_by' => "Hochgeladen durch",
'uploading_failed' => "Das Hochladen einer Datei ist fehlgeschlagen. Bitte überprüfen Sie die maximale Dateigröße für Uploads.", 'uploading_failed' => "Das Hochladen einer Datei ist fehlgeschlagen. Bitte überprüfen Sie die maximale Dateigröße für Uploads.",
'uploading_zerosize' => "Versuch eine leere Datei hochzuladen. Vorgang wird abgebrochen.", 'uploading_zerosize' => "Versuch eine leere Datei hochzuladen. Vorgang wird abgebrochen.",
'use_comment_of_document' => "Verwende Kommentar des Dokuments",
'use_default_categories' => "Kategorievorlagen", 'use_default_categories' => "Kategorievorlagen",
'use_default_keywords' => "Stichwortvorlagen", 'use_default_keywords' => "Stichwortvorlagen",
'used_discspace' => "Verbrauchter Speicherplatz", 'used_discspace' => "Verbrauchter Speicherplatz",
@ -888,6 +904,7 @@ $text = array(
'hu_HU' => "Ungarisch", 'hu_HU' => "Ungarisch",
'it_IT' => "Italienisch", 'it_IT' => "Italienisch",
'nl_NL' => "Hollandisch", 'nl_NL' => "Hollandisch",
'pl_PL' => "Polnisch",
'pt_BR' => "Portugiesisch (BR)", 'pt_BR' => "Portugiesisch (BR)",
'ru_RU' => "Russisch", 'ru_RU' => "Russisch",
'sk_SK' => "Slovakisch", 'sk_SK' => "Slovakisch",

View File

@ -80,11 +80,12 @@ $text = array(
'approvers' => "Approvers", 'approvers' => "Approvers",
'april' => "April", 'april' => "April",
'archive_creation' => "Archive creation", 'archive_creation' => "Archive creation",
'archive_creation_warning' => "With this operation you can create achive containing the files of entire DMS folders. After the creation the archive will be saved in the data folder of your server.<br>WARNING: an archive created as human readable will be unusable as server backup.", 'archive_creation_warning' => "With this operation you can create archive containing the files of entire DMS folders. After the creation the archive will be saved in the data folder of your server.<br>WARNING: an archive created as human readable will be unusable as server backup.",
'assign_approvers' => "Assign Approvers", 'assign_approvers' => "Assign Approvers",
'assign_reviewers' => "Assign Reviewers", 'assign_reviewers' => "Assign Reviewers",
'assign_user_property_to' => "Assign user's properties to", 'assign_user_property_to' => "Assign user's properties to",
'assumed_released' => "Assumed released", 'assumed_released' => "Assumed released",
'attr_no_regex_match' => "The attribute value does not match the regular expression",
'attrdef_management' => "Attribute definition management", 'attrdef_management' => "Attribute definition management",
'attrdef_exists' => "Attribute definition already exists", 'attrdef_exists' => "Attribute definition already exists",
'attrdef_in_use' => "Attribute definition still in use", 'attrdef_in_use' => "Attribute definition still in use",
@ -94,6 +95,7 @@ $text = array(
'attrdef_type' => "Type", 'attrdef_type' => "Type",
'attrdef_minvalues' => "Min. number of values", 'attrdef_minvalues' => "Min. number of values",
'attrdef_maxvalues' => "Max. number of values", 'attrdef_maxvalues' => "Max. number of values",
'attrdef_regex' => "Regular expression",
'attrdef_valueset' => "Set of values", 'attrdef_valueset' => "Set of values",
'attribute_changed_email_subject' => "[sitename]: [name] - Attribute changed", 'attribute_changed_email_subject' => "[sitename]: [name] - Attribute changed",
'attribute_changed_email_body' => "Attribute changed\r\nDocument: [name]\r\nVersion: [version]\r\nAttribute: [attribute]\r\nParent folder: [folder_path]\r\nUser: [username]\r\nURL: [url]", 'attribute_changed_email_body' => "Attribute changed\r\nDocument: [name]\r\nVersion: [version]\r\nAttribute: [attribute]\r\nParent folder: [folder_path]\r\nUser: [username]\r\nURL: [url]",
@ -107,9 +109,11 @@ $text = array(
'backup_log_management' => "Backup/Logging", 'backup_log_management' => "Backup/Logging",
'between' => "between", 'between' => "between",
'calendar' => "Calendar", 'calendar' => "Calendar",
'calendar_week' => "Calendar week",
'cancel' => "Cancel", 'cancel' => "Cancel",
'cannot_assign_invalid_state' => "Cannot modify an obsolete or rejected document", 'cannot_assign_invalid_state' => "Cannot modify an obsolete or rejected document",
'cannot_change_final_states' => "Warning: You cannot alter status for document rejected, expired or with pending review or approval", 'cannot_change_final_states' => "Warning: You cannot alter status for document rejected, expired or with pending review or approval",
'cannot_delete_user' => "Cannot delete user",
'cannot_delete_yourself' => "Cannot delete yourself", 'cannot_delete_yourself' => "Cannot delete yourself",
'cannot_move_root' => "Error: Cannot move root folder.", 'cannot_move_root' => "Error: Cannot move root folder.",
'cannot_retrieve_approval_snapshot' => "Unable to retrieve approval status snapshot for this document version.", 'cannot_retrieve_approval_snapshot' => "Unable to retrieve approval status snapshot for this document version.",
@ -136,6 +140,7 @@ $text = array(
'choose_workflow' => "Choose workflow", 'choose_workflow' => "Choose workflow",
'choose_workflow_state' => "Choose workflow state", 'choose_workflow_state' => "Choose workflow state",
'choose_workflow_action' => "Choose workflow action", 'choose_workflow_action' => "Choose workflow action",
'clear_clipboard' => "Clear clipboard",
'clipboard' => "Clipboard", 'clipboard' => "Clipboard",
'close' => "Close", 'close' => "Close",
'comment' => "Comment", 'comment' => "Comment",
@ -394,6 +399,7 @@ $text = array(
'monday_abbr' => "Mo", 'monday_abbr' => "Mo",
'month_view' => "Month view", 'month_view' => "Month view",
'monthly' => "Monthly", 'monthly' => "Monthly",
'move_clipboard' => "Move clipboard",
'move_document' => "Move document", 'move_document' => "Move document",
'move_folder' => "Move Folder", 'move_folder' => "Move Folder",
'move' => "Move", 'move' => "Move",
@ -463,8 +469,8 @@ $text = array(
'password_forgotten_email_subject' => "Password forgotten", 'password_forgotten_email_subject' => "Password forgotten",
'password_forgotten_email_body' => "Dear user of SeedDMS,\n\nwe have received a request to change your password.\n\nThis can be done by clicking on the following link:\n\n###URL_PREFIX###out/out.ChangePassword.php?hash=###HASH###\n\nIf you have still problems to login, then please contact your administrator.", 'password_forgotten_email_body' => "Dear user of SeedDMS,\n\nwe have received a request to change your password.\n\nThis can be done by clicking on the following link:\n\n###URL_PREFIX###out/out.ChangePassword.php?hash=###HASH###\n\nIf you have still problems to login, then please contact your administrator.",
'password_forgotten_send_hash' => "Instructions on how to proceed has been send to the user's email address", 'password_forgotten_send_hash' => "Instructions on how to proceed has been send to the user's email address",
'password_forgotten_text' => "Fill out the form below and follow the instructions in the email, which will be send to you.", 'password_forgotten_text' => "Fill out the form below and follow the instructions in the email, which will be sent to you.",
'password_forgotten_title' => "Password send", 'password_forgotten_title' => "Password sent",
'password_strength' => "Password strength", 'password_strength' => "Password strength",
'password_strength_insuffient' => "Insuffient password strength", 'password_strength_insuffient' => "Insuffient password strength",
'password_wrong' => "Wrong password", 'password_wrong' => "Wrong password",
@ -485,8 +491,8 @@ $text = array(
'removed_file_email_subject' => "[sitename]: [document] - Removed attachment", 'removed_file_email_subject' => "[sitename]: [document] - Removed attachment",
'removed_file_email_body' => "Removed attachment\r\nDocument: [document]\r\nUser: [username]\r\nURL: [url]", 'removed_file_email_body' => "Removed attachment\r\nDocument: [document]\r\nUser: [username]\r\nURL: [url]",
'removed_reviewer' => "has been removed from the list of reviewers.", 'removed_reviewer' => "has been removed from the list of reviewers.",
'repaired' => 'repaired', 'repaired' => "repaired",
'repairing_objects' => "Reparing documents and folders.", 'repairing_objects' => "Repairing documents and folders.",
'results_page' => "Results Page", 'results_page' => "Results Page",
'return_from_subworkflow_email_subject' => "[sitename]: [name] - Return from subworkflow", 'return_from_subworkflow_email_subject' => "[sitename]: [name] - Return from subworkflow",
'return_from_subworkflow_email_body' => "Return from subworkflow\r\nDocument: [name]\r\nVersion: [version]\r\nWorkflow: [workflow]\r\nSubworkflow: [subworkflow]\r\nParent folder: [folder_path]\r\nUser: [username]\r\nURL: [url]", 'return_from_subworkflow_email_body' => "Return from subworkflow\r\nDocument: [name]\r\nVersion: [version]\r\nWorkflow: [workflow]\r\nSubworkflow: [subworkflow]\r\nParent folder: [folder_path]\r\nUser: [username]\r\nURL: [url]",
@ -631,6 +637,8 @@ $text = array(
'settings_enableAdminRevApp' => "Allow review/approval for admins", 'settings_enableAdminRevApp' => "Allow review/approval for admins",
'settings_enableCalendar_desc' => "Enable/disable calendar", 'settings_enableCalendar_desc' => "Enable/disable calendar",
'settings_enableCalendar' => "Enable Calendar", 'settings_enableCalendar' => "Enable Calendar",
'settings_enableClipboard' => "Enable Clipboard",
'settings_enableClipboard_desc' => "Enable/disable the clipboard",
'settings_enableConverting_desc' => "Enable/disable converting of files", 'settings_enableConverting_desc' => "Enable/disable converting of files",
'settings_enableConverting' => "Enable Converting", 'settings_enableConverting' => "Enable Converting",
'settings_enableDuplicateDocNames_desc' => "Allows to have duplicate document names in a folder.", 'settings_enableDuplicateDocNames_desc' => "Allows to have duplicate document names in a folder.",
@ -724,6 +732,7 @@ $text = array(
'settings_php_dbDriver' => "PHP extension : php_'see current value'", 'settings_php_dbDriver' => "PHP extension : php_'see current value'",
'settings_php_gd2' => "PHP extension : php_gd2", 'settings_php_gd2' => "PHP extension : php_gd2",
'settings_php_mbstring' => "PHP extension : php_mbstring", 'settings_php_mbstring' => "PHP extension : php_mbstring",
'settings_php_version' => "PHP Version",
'settings_printDisclaimer_desc' => "If true the disclaimer message the lang.inc files will be print on the bottom of the page", 'settings_printDisclaimer_desc' => "If true the disclaimer message the lang.inc files will be print on the bottom of the page",
'settings_printDisclaimer' => "Print Disclaimer", 'settings_printDisclaimer' => "Print Disclaimer",
'settings_quota' => "User's quota", 'settings_quota' => "User's quota",
@ -762,10 +771,14 @@ $text = array(
'settings_updateDatabase' => "Run schema update scripts on database", 'settings_updateDatabase' => "Run schema update scripts on database",
'settings_updateNotifyTime_desc' => "Users are notified about document-changes that took place within the last 'Update Notify Time' seconds", 'settings_updateNotifyTime_desc' => "Users are notified about document-changes that took place within the last 'Update Notify Time' seconds",
'settings_updateNotifyTime' => "Update Notify Time", 'settings_updateNotifyTime' => "Update Notify Time",
'settings_upgrade_php' => "Upgrade PHP to at least version 5.2.0",
'settings_undelUserIds_desc' => "Comma separated list of user ids, that cannot be deleted.",
'settings_undelUserIds' => "Undeletable User IDs",
'settings_versioningFileName_desc' => "The name of the versioning info file created by the backup tool", 'settings_versioningFileName_desc' => "The name of the versioning info file created by the backup tool",
'settings_versioningFileName' => "Versioning FileName", 'settings_versioningFileName' => "Versioning FileName",
'settings_viewOnlineFileTypes_desc' => "Files with one of the following endings can be viewed online (USE ONLY LOWER CASE CHARACTERS)", 'settings_viewOnlineFileTypes_desc' => "Files with one of the following endings can be viewed online (USE ONLY LOWER CASE CHARACTERS)",
'settings_viewOnlineFileTypes' => "View Online File Types", 'settings_viewOnlineFileTypes' => "View Online File Types",
'settings_versiontolow' => "Version to low",
'settings_workflowMode_desc' => "The advanced workflow allows to specify your own release workflow for document versions.", 'settings_workflowMode_desc' => "The advanced workflow allows to specify your own release workflow for document versions.",
'settings_workflowMode' => "Workflow mode", 'settings_workflowMode' => "Workflow mode",
'settings_workflowMode_valtraditional' => "traditional", 'settings_workflowMode_valtraditional' => "traditional",
@ -776,6 +789,31 @@ $text = array(
'sign_out' => "Sign out", 'sign_out' => "Sign out",
'sign_out_user' => "Sign out user", 'sign_out_user' => "Sign out user",
'space_used_on_data_folder' => "Space used on data folder", 'space_used_on_data_folder' => "Space used on data folder",
'splash_add_attribute' => "New attribute added",
'splash_add_group' => "New group added",
'splash_add_group_member' => "New group member added",
'splash_add_user' => "New user added",
'splash_added_to_clipboard' => "Added to clipboard",
'splash_cleared_clipboard' => "Clipboard cleared",
'splash_document_edited' => "Document saved",
'splash_document_locked' => "Document locked",
'splash_document_unlocked' => "Document unlocked",
'splash_edit_attribute' => "Attribute saved",
'splash_edit_group' => "Group saved",
'splash_edit_user' => "User saved",
'splash_folder_edited' => "Save folder changes",
'splash_invalid_folder_id' => "Invalid folder ID",
'splash_invalid_searchterm' => "Invalid search term",
'splash_moved_clipboard' => "Clipboard moved into current folder",
'splash_removed_from_clipboard' => "Removed from clipboard",
'splash_rm_attribute' => "Attribute removed",
'splash_rm_group' => "Group removed",
'splash_rm_group_member' => "Member of group removed",
'splash_rm_user' => "User removed",
'splash_toogle_group_manager' => "Group manager toogled",
'splash_settings_saved' => "Settings saved",
'splash_substituted_user' => "Substituted user",
'splash_switched_back_user' => "Switched back to original user",
'status_approval_rejected' => "Draft rejected", 'status_approval_rejected' => "Draft rejected",
'status_approved' => "Approved", 'status_approved' => "Approved",
'status_approver_removed' => "Approver removed from process", 'status_approver_removed' => "Approver removed from process",
@ -832,6 +870,7 @@ $text = array(
'uploaded_by' => "Uploaded by", 'uploaded_by' => "Uploaded by",
'uploading_failed' => "Uploading one of your files failed. Please check your maximum upload file size.", 'uploading_failed' => "Uploading one of your files failed. Please check your maximum upload file size.",
'uploading_zerosize' => "Uploading an empty file. Upload is canceled.", 'uploading_zerosize' => "Uploading an empty file. Upload is canceled.",
'use_comment_of_document' => "Use comment of document",
'use_default_categories' => "Use predefined categories", 'use_default_categories' => "Use predefined categories",
'use_default_keywords' => "Use predefined keywords", 'use_default_keywords' => "Use predefined keywords",
'used_discspace' => "Used disk space", 'used_discspace' => "Used disk space",
@ -853,6 +892,7 @@ $text = array(
'versioning_file_creation_warning' => "With this operation you can create a file containing the versioning information of an entire DMS folder. After the creation every file will be saved inside the document folder.", 'versioning_file_creation_warning' => "With this operation you can create a file containing the versioning information of an entire DMS folder. After the creation every file will be saved inside the document folder.",
'versioning_info' => "Versioning info", 'versioning_info' => "Versioning info",
'version' => "Version", 'version' => "Version",
'versiontolow' => "Version to low",
'view' => "View", 'view' => "View",
'view_online' => "View online", 'view_online' => "View online",
'warning' => "Warning", 'warning' => "Warning",
@ -880,6 +920,7 @@ $text = array(
'year_view' => "Year View", 'year_view' => "Year View",
'yes' => "Yes", 'yes' => "Yes",
'ar_EG' => "Arabic",
'ca_ES' => "Catalan", 'ca_ES' => "Catalan",
'cs_CZ' => "Czech", 'cs_CZ' => "Czech",
'de_DE' => "German", 'de_DE' => "German",
@ -889,6 +930,7 @@ $text = array(
'hu_HU' => "Hungarian", 'hu_HU' => "Hungarian",
'it_IT' => "Italian", 'it_IT' => "Italian",
'nl_NL' => "Dutch", 'nl_NL' => "Dutch",
'pl_PL' => "Polish",
'pt_BR' => "Portugese (BR)", 'pt_BR' => "Portugese (BR)",
'ru_RU' => "Russian", 'ru_RU' => "Russian",
'sk_SK' => "Slovak", 'sk_SK' => "Slovak",

View File

@ -1,7 +1,183 @@
<h1>TODO</h1> <h1>Notas Generales</h1>
<p>
DMS (Sistema de Gestión de Documentos) está diseñado para compartir documentos,
controlando el flujo de trabajo, permisos de acceso y la organización en general.
</p>
<p>
Mediante el menú de primer nivel, el usuario puede acceder a los distintos datos almacenados en el sistema:
<ul>
<li>Contenido: le permite navegar por los documentos al estilo del explorador de archivos.
<li>Mis documentos: Tiene varias formas de acceder a los documentos de su interés:
<ul>
<li>Documentos en proceso: lista de documentos pendientes de revisión o aprobación por el usuario,
documentos propiedad del usuario que esperan ser aprobados o revisados, documentos bloqueados por el usuario.
<li>Todos los documentos: lista de todos los documentos propiedad del usuario.
<li>Resumen de revisión: lista de todos los documentos que fueron revisados o están esperando revisión por el usuario.
<li>Resumen de Aprobados: lista de todos los documentos que fueron aprobados o están esperando aprobación por el usuario.
</ul>
</ul>
</p>
<p>
Este DMS también provee un calendario un calendario que sirve como tablón de anuncios virtual para compartir notas,
citas, vencimientos y compromisos.
</p>
<h1>Derechos</h1>
<p>
Los usuarios autorizados pueden establecer si otros usuarios acceden a las carpetas y documentos disponibles y como lo hacen.
</p>
<h2>Niveles de Derechos</h2>
<p>
Los posibles niveles de acceso son:
<ul>
<li>Permiso Total: El usuario puede realizar cualquier operación.
<li>Lectura y Escritura: el usuario puede actualizar registros y añadir contenido a las carpetas.
<li>Lectura solo: el usuario puede ver contenidos de las carpetas y descargar documentos.
<li>Sin acceso: el usuario no puede ver los contenidos de las carpetas o documentos individuales.
</ul>
</p>
<p>
Por defecto los administradores tienen permiso total de cada documento y carpetas
en el sistema. on the system. Del mismo modo, el propietario del documento tiene permiso total en sus documentos.
</p>
<p>
Solamente el administrador puede cambiar el propietario de un documento.
</p>
<h2>Gestión de Derechos</h2>
<p>
Para cada carpeta o ducumento los permisos son gestionados a través de diferentes dispositivos.
<ul>
<li>Los permisos por defecto son aplicados en ausencia de otros específicos.
<li>La lista de permisos le permiten especificar excepciones a los permisos por defecto.
</ul>
</p>
<h2>Acceso heredado</h2>
<p>
Los permisos de carpetas y documentos pueden ser asignados como hereditarios.
En estos casos los ficheros y carpetas heredan los mismos permisos de la carpeta
que los contienen.
</p>
<h1>Flujo de Trabajo de Documentos</h1>
<p>
El sistema automáticamente maneja el flujo de trabajo de cada documento y archiva
cambios, versiones, comentarios realizados, etc.
</p>
<h2>Ciclo de Validación</h2>
<p>
El flujo normal requiere, cuando lee un nuevo documento o una
nueva versión, para indicar a algunos usuarios o grupo de usuarios como revisores y/o aprobadores.
Los usuarios listados como revisores o aprobadores tienen
que explicar su aprobación del documento. Cuando esta operación
está completada, por lo tanto todos los usuarios listados han hecho sus
revisiones/aprovaciones, es estado del documento será asignado a 'publicado'.
</p>
<p>
El revisor/aprobador puede denegar su aprobación del documento.
En este caso el estado del documento será 'rechazado'
</p>
<p>
Un documento que no se asigna a los revisores/aprobadores toma inmediatamente el estado de 'publicado'.
</p>
<p>
Como aprobador/revisor puede indicar grupos de usuarios. Es este caso la
revisión/aprobación debe ser realizada por todos los usuarios que pertenecen al grupo.
</p>
<p>
El propietario del documento puede en cualquier momento modificar la lista de revisores/aprobadores.
</p>
<h2>Estados de los documentos</h2>
<p>
Los posibles estados de un documento son:
<ul>
<li>Borrador pendiente de aprobación: una o más de las aprobaciones mencionados aún no han manifestado su aprobación.
<li>Borrador pendiente de revisión: uno o más de los revisores listados no ha manifestado su revisión.
<li>Publicado: El documento ha completado su ciclo de validación.
<li>Rechazado: el documento ha interrumpido su ciclo de validación.
<li>Expirado: ha excedido la fecha límite para completar la validación del documento.
<li>Obsoleto: el estado de un documento dado a conocer se puede cambiar al obsoleto. Esto
está pensado como una alternativa a la cancelación del documento. El estado obsoleto
es reversible.
</ul>
</p>
<h2>Expiración</h2>
<p>
Para cada documento en producción se puede asignar una fecha de vencimiento
Una vez pasado el día no sera posible revisar y aprobar
y el documento pasará al estado de 'expirado'.
</p>
<p>
La fecha de vencimiento es considerado solamente para la última versión del documento
y tiene efecto sólo en el proceso del documento.
</p>
<h1>Otras características</h1>
<h2>Función bloqueo</h2>
<p>
La función de bloqueo es designada para indicar a otros usuarios que un cierto documento
está en proceso. Los usuarios que tienen permiso total a un documento pueden
sin embargo invertir el bloqueo y proceder a una modificación del documento.
</p>
<h2>Notificaciones</h2>
<p>
Cada usuario puede solicitar notificación de documentos y carpetas.
Añadiendo un fichero o carpeta a su lista de notificaciones hará que reciba un
informe de transacciones de otros usuarios.
</p>
<p>
Sólo el Administrador de un grupo puede decidir si entrar o no en la lista
de informes de documentos y carpetas. Una vez incluido, las notificaciones llegan
a todos los miembros del grupo.
</p>
<h2>Palabras clave y búsqueda</h2>
<p>
Cada documento permite la inclusión de una descripción y algunas palabras clave.
Esta información es usada por la función de búsqueda.
</p>
<p>
En el menú personal de cada usuario puede archivar un juego de palabras clave agrupadas por categorías,
para rellenar más rápido durante la carga de documentos.
</p>
<p>
Presionando el botón de búsqueda sin introducir ninguna palabra da acceso a la página de búsqueda avanzada.
</p>
<h2>Calendario</h2>
<p>
Hay tres vistas: por semana, mes y año. Los eventos son mostrados en el orden de su
introducción en el calendario.
</p>
<p>
Una vez introducidos, los eventos son públicos y visible para todos los usuarios. Sólo el administrador
y quién ha introducido el evento pueden modificarlo posteriormente.
</p>

View File

@ -29,21 +29,33 @@
// 18 sept 2012. Francisco M. García Claramonte // 18 sept 2012. Francisco M. García Claramonte
// Reviewed (for 3.4.0RC1): 15 oct 2012. Francisco M. García Claramonte // Reviewed (for 3.4.0RC1): 15 oct 2012. Francisco M. García Claramonte
// Reviewed (for 3.4.0RC3): 6 nov 2012. Francisco M. García Claramonte // Reviewed (for 3.4.0RC3): 6 nov 2012. Francisco M. García Claramonte
// Reviewed (for 4.2.1): 6 may 2013. Carlos Gomez Agun - Dominique Couot
$text = array( $text = array(
'accept' => "Aceptar", 'accept' => "Aceptar",
'access_denied' => "Acceso denegado", 'access_denied' => "Acceso denegado",
'access_inheritance' => "Acceso heredado", 'access_inheritance' => "Acceso heredado",
'access_mode' => "Modo de acceso", 'access_mode' => "Tipo de acceso",
'access_mode_all' => "Todos los permisos", 'access_mode_all' => "Todos los permisos",
'access_mode_none' => "No hay acceso", 'access_mode_none' => "Sin acceso",
'access_mode_read' => "Leer", 'access_mode_read' => "Lectura",
'access_mode_readwrite' => "Lectura-Escritura", 'access_mode_readwrite' => "Lectura-Escritura",
'access_permission_changed_email' => "Permisos cambiados", 'access_permission_changed_email' => "Permisos modificados",
'access_permission_changed_email_subject' => "[sitename]: [name] - Permisos modificados",
'access_permission_changed_email_body' => "Permisos modificados\r\nDocumento: [name]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'according_settings' => "Conforme a configuración", 'according_settings' => "Conforme a configuración",
'action' => "Acción",
'action_approve' => "Aprobar",
'action_complete' => "Terminado",
'action_is_complete' => "está terminado",
'action_is_not_complete' => "Sin terminar",
'action_reject' => "Rechazar",
'action_review' => "Revisión",
'action_revise' => "Revisar",
'actions' => "Acciones", 'actions' => "Acciones",
'add' => "Añadir", 'add' => "Añadir",
'add_doc_reviewer_approver_warning' => "Documentos N.B. se marcan automáticamente como publicados si no hay revisores o aprobadores asignados.", 'add_doc_reviewer_approver_warning' => "Documentos N.B. se marcan automáticamente como publicados si no hay revisores o aprobadores asignados.",
'add_doc_workflow_warning' => "Documentos N.B. se marcan automáticamente como publicados si no hay flujo de trabajo asignado.",
'add_document' => "Añadir documento", 'add_document' => "Añadir documento",
'add_document_link' => "Añadir vínculo", 'add_document_link' => "Añadir vínculo",
'add_event' => "Añadir evento", 'add_event' => "Añadir evento",
@ -51,11 +63,16 @@ $text = array(
'add_member' => "Añadir miembro", 'add_member' => "Añadir miembro",
'add_multiple_documents' => "Añadir múltiples documentos", 'add_multiple_documents' => "Añadir múltiples documentos",
'add_multiple_files' => "Añadir múltiples ficheros (Se usará el nombre de fichero como nombre de documento)", 'add_multiple_files' => "Añadir múltiples ficheros (Se usará el nombre de fichero como nombre de documento)",
'add_subfolder' => "Añadir subdirectorio", 'add_subfolder' => "Añadir subcarpeta",
'add_to_clipboard' => "Añadir al portapapeles",
'add_user' => "Añadir nuevo usuario", 'add_user' => "Añadir nuevo usuario",
'add_user_to_group' => "Añadir usuario a grupo", 'add_user_to_group' => "Añadir usuario a grupo",
'add_workflow' => "Añadir nuevo flujo de trabajo",
'add_workflow_state' => "Añadir nuevo estado de flujo de trabajo",
'add_workflow_action' => "Añadir nueva acción al flujo de trabajo",
'admin' => "Administrador", 'admin' => "Administrador",
'admin_tools' => "Herramientas de administración", 'admin_tools' => "Administración",
'all' => "Todo",
'all_categories' => "Todas las categorías", 'all_categories' => "Todas las categorías",
'all_documents' => "Todos los documentos", 'all_documents' => "Todos los documentos",
'all_pages' => "Todo", 'all_pages' => "Todo",
@ -66,6 +83,8 @@ $text = array(
'approval_deletion_email' => "Petición de aprobación eliminada", 'approval_deletion_email' => "Petición de aprobación eliminada",
'approval_group' => "Grupo aprobador", 'approval_group' => "Grupo aprobador",
'approval_request_email' => "Petición de aprobación", 'approval_request_email' => "Petición de aprobación",
'approval_request_email_subject' => "[sitename]: [name] - Petición de aprobación",
'approval_request_email_body' => "Petición de aprobación\r\nDocumento: [name]\r\nVersión: [version]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'approval_status' => "Estado de aprobación", 'approval_status' => "Estado de aprobación",
'approval_submit_email' => "Aprobación enviada", 'approval_submit_email' => "Aprobación enviada",
'approval_summary' => "Resumen de aprobación", 'approval_summary' => "Resumen de aprobación",
@ -79,7 +98,8 @@ $text = array(
'assign_user_property_to' => "Asignar propiedades de usuario a", 'assign_user_property_to' => "Asignar propiedades de usuario a",
'assumed_released' => "Supuestamente publicado", 'assumed_released' => "Supuestamente publicado",
'attrdef_management' => "Gestión de definición de atributos", 'attrdef_management' => "Gestión de definición de atributos",
'attrdef_in_use' => "Definición de atributo todavía en uso", 'attrdef_exists' => "Definición de atributos ya existe",
'attrdef_in_use' => "Definición de atributo en uso",
'attrdef_name' => "Nombre", 'attrdef_name' => "Nombre",
'attrdef_multiple' => "Permitir múltiples valores", 'attrdef_multiple' => "Permitir múltiples valores",
'attrdef_objtype' => "Tipo de objeto", 'attrdef_objtype' => "Tipo de objeto",
@ -87,6 +107,8 @@ $text = array(
'attrdef_minvalues' => "Núm. mínimo de valores", 'attrdef_minvalues' => "Núm. mínimo de valores",
'attrdef_maxvalues' => "Núm. máximo de valores", 'attrdef_maxvalues' => "Núm. máximo de valores",
'attrdef_valueset' => "Conjunto de valores", 'attrdef_valueset' => "Conjunto de valores",
'attribute_changed_email_subject' => "[sitename]: [name] - Atributo modificado",
'attribute_changed_email_body' => "Atributo modificado\r\nDocumento: [name]\r\nVersión: [version]\r\nAtributo: [attribute]\r\nCarpeta principal: [folder_path]\r\nUsario: [username]\r\nURL: [url]",
'attributes' => "Atributos", 'attributes' => "Atributos",
'august' => "Agosto", 'august' => "Agosto",
'automatic_status_update' => "Cambio automático de estado", 'automatic_status_update' => "Cambio automático de estado",
@ -94,11 +116,12 @@ $text = array(
'backup_list' => "Lista de copias de seguridad existentes", 'backup_list' => "Lista de copias de seguridad existentes",
'backup_remove' => "Eliminar fichero de copia de seguridad", 'backup_remove' => "Eliminar fichero de copia de seguridad",
'backup_tools' => "Herramientas de copia de seguridad", 'backup_tools' => "Herramientas de copia de seguridad",
'backup_log_management' => "Gestión log Backup",
'between' => "entre", 'between' => "entre",
'calendar' => "Calendario", 'calendar' => "Calendario",
'cancel' => "Cancelar", 'cancel' => "Cancelar",
'cannot_assign_invalid_state' => "No se puede modificar un documento obsoleto o rechazado", 'cannot_assign_invalid_state' => "No se puede modificar un documento obsoleto o rechazado",
'cannot_change_final_states' => "Cuidado: No se puede cambiar el estado de documentos que han sido rechazados, marcados como obsoletos o expirado.", 'cannot_change_final_states' => "Cuidado: No se puede cambiar el estado de documentos que han sido rechazados, marcados como obsoletos o expirados.",
'cannot_delete_yourself' => "No es posible eliminarse a sí mismo", 'cannot_delete_yourself' => "No es posible eliminarse a sí mismo",
'cannot_move_root' => "Error: No es posible mover la carpeta raíz.", 'cannot_move_root' => "Error: No es posible mover la carpeta raíz.",
'cannot_retrieve_approval_snapshot' => "No es posible recuperar la instantánea del estado de aprobación para esta versión de documento.", 'cannot_retrieve_approval_snapshot' => "No es posible recuperar la instantánea del estado de aprobación para esta versión de documento.",
@ -106,22 +129,27 @@ $text = array(
'cannot_rm_root' => "Error: No es posible eliminar la carpeta raíz.", 'cannot_rm_root' => "Error: No es posible eliminar la carpeta raíz.",
'category' => "Categoría", 'category' => "Categoría",
'category_exists' => "La categoría ya existe.", 'category_exists' => "La categoría ya existe.",
'category_filter' => "Solo categorías", 'category_filter' => "Filtro categorías",
'category_in_use' => "Esta categoría está en uso por documentos.", 'category_in_use' => "Esta categoría está en uso por documentos.",
'category_noname' => "No ha proporcionado un nombre de categoría.", 'category_noname' => "No ha proporcionado un nombre de categoría.",
'categories' => "Categorías", 'categories' => "categorías",
'change_assignments' => "Cambiar asignaciones", 'change_assignments' => "cambiar asignaciones",
'change_password' => "Cambiar contraseña", 'change_password' => "cambiar contraseña",
'change_password_message' => "Su contraseña se ha modificado.", 'change_password_message' => "Su contraseña se ha modificado.",
'change_status' => "Cambiar estado", 'change_status' => "cambiar estado",
'choose_attrdef' => "Por favor, seleccione definición de atributo", 'choose_attrdef' => "Por favor, seleccione definición de atributo",
'choose_category' => "Seleccione categoría", 'choose_category' => "Seleccione categoría",
'choose_group' => "Seleccione grupo", 'choose_group' => "Seleccione grupo",
'choose_target_category' => "Seleccione categoría", 'choose_target_category' => "Seleccione categoría",
'choose_target_document' => "Escoger documento", 'choose_target_document' => "Seleccione documento",
'choose_target_folder' => "Escoger directorio destino", 'choose_target_file' => "Seleccione fichero destino",
'choose_target_folder' => "Seleccione carpeta destino",
'choose_user' => "Seleccione usuario", 'choose_user' => "Seleccione usuario",
'comment_changed_email' => "Comentario modificado", 'choose_workflow' => "Seleccione flujo de trabajo",
'choose_workflow_state' => "Seleccione estado del flujo de trabajo",
'choose_workflow_action' => "Seleccione acción del flujo de trabajo",
'clipboard' => "Portapapeles",
'close' => "Cerrar",
'comment' => "Comentarios", 'comment' => "Comentarios",
'comment_for_current_version' => "Comentario de la versión actual", 'comment_for_current_version' => "Comentario de la versión actual",
'confirm_create_fulltext_index' => "¡Sí, quiero regenerar el índice te texto completo¡", 'confirm_create_fulltext_index' => "¡Sí, quiero regenerar el índice te texto completo¡",
@ -131,7 +159,7 @@ $text = array(
'confirm_rm_dump' => "¿Desea realmente eliminar el fichero \"[dumpname]\"?<br />Atención: Esta acción no se puede deshacer.", 'confirm_rm_dump' => "¿Desea realmente eliminar el fichero \"[dumpname]\"?<br />Atención: Esta acción no se puede deshacer.",
'confirm_rm_event' => "¿Desea realmente eliminar el evento \"[name]\"?<br />Atención: Esta acción no se puede deshacer.", 'confirm_rm_event' => "¿Desea realmente eliminar el evento \"[name]\"?<br />Atención: Esta acción no se puede deshacer.",
'confirm_rm_file' => "¿Desea realmente eliminar el fichero \"[name]\" del documento \"[documentname]\"?<br />Atención: Esta acción no se puede deshacer.", 'confirm_rm_file' => "¿Desea realmente eliminar el fichero \"[name]\" del documento \"[documentname]\"?<br />Atención: Esta acción no se puede deshacer.",
'confirm_rm_folder' => "¿Desea realmente eliminar el directorio \"[foldername]\" y su contenido?<br />Atención: Esta acción no se puede deshacer.", 'confirm_rm_folder' => "¿Desea realmente eliminar la carpeta \"[foldername]\" y su contenido?<br />Atención: Esta acción no se puede deshacer.",
'confirm_rm_folder_files' => "¿Desea realmente eliminar todos los ficheros de la carpeta \"[foldername]\" y de sus subcarpetas?<br />Atención: Esta acción no se puede deshacer.", 'confirm_rm_folder_files' => "¿Desea realmente eliminar todos los ficheros de la carpeta \"[foldername]\" y de sus subcarpetas?<br />Atención: Esta acción no se puede deshacer.",
'confirm_rm_group' => "¿Desea realmente eliminar el grupo \"[groupname]\"?<br />Atención: Esta acción no se puede deshacer.", 'confirm_rm_group' => "¿Desea realmente eliminar el grupo \"[groupname]\"?<br />Atención: Esta acción no se puede deshacer.",
'confirm_rm_log' => "¿Desea realmente eliminar el fichero de registro \"[logname]\"?<br />Atención: Esta acción no se puede deshacer.", 'confirm_rm_log' => "¿Desea realmente eliminar el fichero de registro \"[logname]\"?<br />Atención: Esta acción no se puede deshacer.",
@ -145,40 +173,63 @@ $text = array(
'current_password' => "Contraseña actual", 'current_password' => "Contraseña actual",
'current_version' => "Versión actual", 'current_version' => "Versión actual",
'daily' => "Diaria", 'daily' => "Diaria",
'days' => "días",
'databasesearch' => "Búsqueda en base de datos", 'databasesearch' => "Búsqueda en base de datos",
'date' => "Fecha",
'december' => "Diciembre", 'december' => "Diciembre",
'default_access' => "Modo de acceso predefinido", 'default_access' => "Modo de acceso por defecto",
'default_keywords' => "Palabras clave disponibles", 'default_keywords' => "Palabras clave disponibles",
'definitions' => "Definiciones",
'delete' => "Eliminar", 'delete' => "Eliminar",
'details' => "Detalles", 'details' => "Detalles",
'details_version' => "Detalles de la versión: [version]", 'details_version' => "Detalles de la versión: [version]",
'disclaimer' => "Esta es un área restringida. Se permite el acceso únicamente a personal autorizado. Cualquier intrusión se perseguirá conforme a las leyes internacionales.", 'disclaimer' => "Esta es un área restringida. Se permite el acceso únicamente a personal autorizado. Cualquier intrusión se perseguirá conforme a las leyes internacionales.",
'do_object_repair' => "Reparar todas las carpetas y documentos.", 'do_object_repair' => "Reparar todas las carpetas y documentos.",
'do_object_setfilesize' => "Asignar tamaño de fichero",
'do_object_setchecksum' => "Set checksum",
'do_object_unlink' => "Borrar versión del documento",
'document_already_locked' => "Este documento ya está bloqueado", 'document_already_locked' => "Este documento ya está bloqueado",
'document_comment_changed_email' => "Comentario modificado",
'document_comment_changed_email_subject' => "[sitename]: [name] - Comentario modificado",
'document_comment_changed_email_body' => "Comentario modificado\r\nDocumento: [name]\r\nantiguo comentario: [old_comment]\r\nComentario: [new_comment]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'document_deleted' => "Documento eliminado", 'document_deleted' => "Documento eliminado",
'document_deleted_email' => "Documento eliminado", 'document_deleted_email' => "Documento eliminado",
'document_deleted_email_subject' => "[sitename]: [name] - Documento eliminado",
'document_deleted_email_body' => "Documento eliminado\r\nDocumento: [name]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]",
'document_duplicate_name' => "Nombre de documento duplicado",
'document' => "Documento", 'document' => "Documento",
'document_has_no_workflow' => "Documento sin flujo de trabajo",
'document_infos' => "Informaciones", 'document_infos' => "Informaciones",
'document_is_not_locked' => "Este documento no está bloqueado", 'document_is_not_locked' => "Este documento no está bloqueado",
'document_link_by' => "Vinculado por", 'document_link_by' => "Vinculado por",
'document_link_public' => "Público", 'document_link_public' => "Público",
'document_moved_email' => "Documento reubicado", 'document_moved_email' => "Documento movido",
'document_moved_email_subject' => "[sitename]: [name] - Documento movido",
'document_moved_email_body' => "Documento movido\r\nDocumento: [name]\r\ncarpeta antigua: [old_folder_path]\r\nNueva carpeta: [new_folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'document_renamed_email' => "Documento renombrado", 'document_renamed_email' => "Documento renombrado",
'document_renamed_email_subject' => "[sitename]: [name] - Documento renombrado",
'document_renamed_email_body' => "Documento renombrado\r\nDocumento: [name]\r\nCarpeta principal: [folder_path]\r\nNombre anterior: [old_name]\r\nUsuario: [username]\r\nURL: [url]",
'documents' => "Documentos", 'documents' => "Documentos",
'documents_in_process' => "Documentos en proceso", 'documents_in_process' => "Documentos en proceso",
'documents_locked_by_you' => "Documentos bloqueados por usted", 'documents_locked_by_you' => "Documentos bloqueados por usted",
'documents_only' => "Solo documentos", 'documents_only' => "Solo documentos",
'document_status_changed_email' => "Estado del documento modificado", 'document_status_changed_email' => "Estado del documento modificado",
'document_status_changed_email_subject' => "[sitename]: [name] - Estado del documento modificado",
'document_status_changed_email_body' => "Estado del documento modificado\r\nDocumento: [name]\r\nEstado: [status]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'documents_to_approve' => "Documentos en espera de aprobación de usuarios", 'documents_to_approve' => "Documentos en espera de aprobación de usuarios",
'documents_to_review' => "Documentos en espera de revisión de usuarios", 'documents_to_review' => "Documentos en espera de revisión de usuarios",
'documents_user_requiring_attention' => "Documentos de su propiedad que requieren atención", 'documents_user_requiring_attention' => "Documentos de su propiedad que requieren atención",
'document_title' => "Documento '[documentname]'", 'document_title' => "Documento '[documentname]'",
'document_updated_email' => "Documento actualizado", 'document_updated_email' => "Documento actualizado",
'document_updated_email_subject' => "[sitename]: [name] - Documento actualizado",
'document_updated_email_body' => "Documento actualizado\r\nDocumento: [name]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'does_not_expire' => "No caduca", 'does_not_expire' => "No caduca",
'does_not_inherit_access_msg' => "heredar el acceso", 'does_not_inherit_access_msg' => "heredar el acceso",
'download' => "Descargar", 'download' => "Descargar",
'drag_icon_here' => "Arrastre carpeta o documento aquí!",
'draft_pending_approval' => "Borador - pendiente de aprobación", 'draft_pending_approval' => "Borador - pendiente de aprobación",
'draft_pending_review' => "Borrador - pendiente de revisión", 'draft_pending_review' => "Borrador - pendiente de revisión",
'dropfolder_file' => "Fichero de la carpeta destino",
'dump_creation' => "Creación de volcado de BDD", 'dump_creation' => "Creación de volcado de BDD",
'dump_creation_warning' => "Con esta operación se creará un volcado a fichero del contenido de la base de datos. Después de la creación del volcado el fichero se guardará en la carpeta de datos de su servidor.", 'dump_creation_warning' => "Con esta operación se creará un volcado a fichero del contenido de la base de datos. Después de la creación del volcado el fichero se guardará en la carpeta de datos de su servidor.",
'dump_list' => "Ficheros de volcado existentes", 'dump_list' => "Ficheros de volcado existentes",
@ -195,7 +246,7 @@ $text = array(
'edit_existing_notify' => "Editar lista de notificación", 'edit_existing_notify' => "Editar lista de notificación",
'edit_folder_access' => "Editar acceso", 'edit_folder_access' => "Editar acceso",
'edit_folder_notify' => "Lista de notificación", 'edit_folder_notify' => "Lista de notificación",
'edit_folder_props' => "Editar directorio", 'edit_folder_props' => "Editar carpeta",
'edit_group' => "Editar grupo...", 'edit_group' => "Editar grupo...",
'edit_user_details' => "Editar detalles de usuario", 'edit_user_details' => "Editar detalles de usuario",
'edit_user' => "Editar usuario...", 'edit_user' => "Editar usuario...",
@ -204,7 +255,9 @@ $text = array(
'email_footer' => "Siempre se puede cambiar la configuración de correo electrónico utilizando las funciones de «Mi cuenta»", 'email_footer' => "Siempre se puede cambiar la configuración de correo electrónico utilizando las funciones de «Mi cuenta»",
'email_header' => "Este es un mensaje automático del servidor de DMS.", 'email_header' => "Este es un mensaje automático del servidor de DMS.",
'email_not_given' => "Por favor, introduzca una dirección de correo válida.", 'email_not_given' => "Por favor, introduzca una dirección de correo válida.",
'empty_notify_list' => "No hay entradas", 'empty_folder_list' => "Sin documentos o carpetas",
'empty_notify_list' => "Sin entradas",
'equal_transition_states' => "Estado inicial y final son iguales",
'error' => "Error", 'error' => "Error",
'error_no_document_selected' => "Ningún documento seleccionado", 'error_no_document_selected' => "Ningún documento seleccionado",
'error_no_folder_selected' => "Ninguna carpeta seleccionada", 'error_no_folder_selected' => "Ninguna carpeta seleccionada",
@ -213,22 +266,34 @@ $text = array(
'expired' => "Caducado", 'expired' => "Caducado",
'expires' => "Caduca", 'expires' => "Caduca",
'expiry_changed_email' => "Fecha de caducidad modificada", 'expiry_changed_email' => "Fecha de caducidad modificada",
'expiry_changed_email_subject' => "[sitename]: [name] - Fecha de caducidad modificada",
'expiry_changed_email_body' => "Fecha de caducidad modificada\r\nDocumento: [name]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'february' => "Febrero", 'february' => "Febrero",
'file' => "Fichero", 'file' => "Fichero",
'files_deletion' => "Eliminación de ficheros", 'files_deletion' => "Eliminación de ficheros",
'files_deletion_warning' => "Con esta opción se puede eliminar todos los ficheros del DMS completo. La información de versionado permanecerá visible.", 'files_deletion_warning' => "Con esta opción se puede eliminar todos los ficheros del DMS completo. La información de versionado permanecerá visible.",
'files' => "Ficheros", 'files' => "Ficheros",
'file_size' => "Tamaño", 'file_size' => "Tamaño",
'folder_contents' => "Carpetas", 'folder_comment_changed_email' => "Comentario modificado",
'folder_comment_changed_email_subject' => "[sitename]: [folder] - Comentario modificado",
'folder_comment_changed_email_body' => "Comentario modificado\r\nCarpeta: [name]\r\nVersión: [version]\r\nComentario antiguo: [old_comment]\r\nComentario: [new_comment]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'folder_contents' => "Contenido de Carpetas",
'folder_deleted_email' => "Carpeta eliminada", 'folder_deleted_email' => "Carpeta eliminada",
'folder_deleted_email_subject' => "[sitename]: [name] - Carpeta eliminada",
'folder_deleted_email_body' => "Carpeta eliminada\r\nCarpeta: [name]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'folder' => "Carpeta", 'folder' => "Carpeta",
'folder_infos' => "Informaciones", 'folder_infos' => "Informaciones de Carpeta",
'folder_moved_email' => "Carpeta reubicada", 'folder_moved_email' => "Carpeta movida",
'folder_moved_email_subject' => "[sitename]: [name] - Carpeta movida",
'folder_moved_email_body' => "Carpeta movida\r\nCarpeta: [name]\r\nAntigua carpeta: [old_folder_path]\r\nNueva carpeta: [new_folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'folder_renamed_email' => "Carpeta renombrada", 'folder_renamed_email' => "Carpeta renombrada",
'folder_renamed_email_subject' => "[sitename]: [name] - Carpeta renombrada",
'folder_renamed_email_body' => "Carpeta renombrada\r\nCarpeta: [name]\r\nCarpeta principal: [folder_path]\r\nAntiguo nombre: [old_name]\r\nUsuario: [username]\r\nURL: [url]",
'folders_and_documents_statistic' => "Vista general de contenidos", 'folders_and_documents_statistic' => "Vista general de contenidos",
'folders' => "Carpetas", 'folders' => "Carpetas",
'folder_title' => "Carpeta '[foldername]'", 'folder_title' => "Carpeta '[foldername]'",
'friday' => "Viernes", 'friday' => "Viernes",
'friday_abbr' => "V",
'from' => "Desde", 'from' => "Desde",
'fullsearch' => "Búsqueda en texto completo", 'fullsearch' => "Búsqueda en texto completo",
'fullsearch_hint' => "Utilizar índice de texto completo", 'fullsearch_hint' => "Utilizar índice de texto completo",
@ -236,22 +301,29 @@ $text = array(
'global_attributedefinitions' => "Definición de atributos", 'global_attributedefinitions' => "Definición de atributos",
'global_default_keywords' => "Palabras clave globales", 'global_default_keywords' => "Palabras clave globales",
'global_document_categories' => "Categorías", 'global_document_categories' => "Categorías",
'global_workflows' => "Flujos de Trabajo",
'global_workflow_actions' => "Acciones de Flujo de Trabajo",
'global_workflow_states' => "Estados de Flujo de Trabajo",
'group_approval_summary' => "Resumen del grupo aprobador", 'group_approval_summary' => "Resumen del grupo aprobador",
'group_exists' => "El grupo ya existe.", 'group_exists' => "El grupo ya existe.",
'group' => "Grupo", 'group' => "Grupo",
'group_management' => "Grupos", 'group_management' => "Gestion de Grupos",
'group_members' => "Miembros del grupo", 'group_members' => "Miembros de grupo",
'group_review_summary' => "Resumen del grupo revisor", 'group_review_summary' => "Resumen del grupo revisor",
'groups' => "Grupos", 'groups' => "Grupos",
'guest_login_disabled' => "La cuenta de invitado está deshabilitada.", 'guest_login_disabled' => "La cuenta de invitado está deshabilitada.",
'guest_login' => "Acceso como invitado", 'guest_login' => "Acceso como invitado",
'help' => "Ayuda", 'help' => "Ayuda",
'hourly' => "Horaria", 'hourly' => "Horaria",
'hours' => "horas",
'human_readable' => "Archivo legible por humanos", 'human_readable' => "Archivo legible por humanos",
'id' => "ID",
'identical_version' => "La nueva versión es idéntica a la actual.",
'include_documents' => "Incluir documentos", 'include_documents' => "Incluir documentos",
'include_subdirectories' => "Incluir subdirectorios", 'include_subdirectories' => "Incluir subcarpetas",
'index_converters' => "Conversión de índice de documentos", 'index_converters' => "Conversión de índice de documentos",
'individuals' => "Individuales", 'individuals' => "Individuales",
'inherited' => "heredado",
'inherits_access_msg' => "Acceso heredado.", 'inherits_access_msg' => "Acceso heredado.",
'inherits_access_copy_msg' => "Copiar lista de acceso heredado", 'inherits_access_copy_msg' => "Copiar lista de acceso heredado",
'inherits_access_empty_msg' => "Empezar con una lista de acceso vacía", 'inherits_access_empty_msg' => "Empezar con una lista de acceso vacía",
@ -262,12 +334,12 @@ $text = array(
'invalid_approval_status' => "Estado de aprobación no válido", 'invalid_approval_status' => "Estado de aprobación no válido",
'invalid_create_date_end' => "Fecha de fin no válida para creación de rango de fechas.", 'invalid_create_date_end' => "Fecha de fin no válida para creación de rango de fechas.",
'invalid_create_date_start' => "Fecha de inicio no válida para creación de rango de fechas.", 'invalid_create_date_start' => "Fecha de inicio no válida para creación de rango de fechas.",
'invalid_doc_id' => "ID de documento no válida", 'invalid_doc_id' => "ID de documento no válido",
'invalid_file_id' => "ID de fichero no válida", 'invalid_file_id' => "ID de fichero no válido",
'invalid_folder_id' => "ID de carpeta no válida", 'invalid_folder_id' => "ID de carpeta no válido",
'invalid_group_id' => "ID de grupo no válida", 'invalid_group_id' => "ID de grupo no válido",
'invalid_link_id' => "Identificador de enlace no válido", 'invalid_link_id' => "Identificador de enlace no válido",
'invalid_request_token' => "Translate: Invalid Request Token", 'invalid_request_token' => "Traducción: Solicitud inválida Token",
'invalid_review_status' => "Estado de revisión no válido", 'invalid_review_status' => "Estado de revisión no válido",
'invalid_sequence' => "Valor de secuencia no válido", 'invalid_sequence' => "Valor de secuencia no válido",
'invalid_status' => "Estado de documento no válido", 'invalid_status' => "Estado de documento no válido",
@ -275,6 +347,7 @@ $text = array(
'invalid_target_folder' => "ID de carpeta destino no válido", 'invalid_target_folder' => "ID de carpeta destino no válido",
'invalid_user_id' => "ID de usuario no válido", 'invalid_user_id' => "ID de usuario no válido",
'invalid_version' => "Versión de documento no válida", 'invalid_version' => "Versión de documento no válida",
'in_workflow' => "En flujo de trabajo",
'is_disabled' => "Deshabilitar cuenta", 'is_disabled' => "Deshabilitar cuenta",
'is_hidden' => "Ocultar de la lista de usuarios", 'is_hidden' => "Ocultar de la lista de usuarios",
'january' => "Enero", 'january' => "Enero",
@ -296,17 +369,19 @@ $text = array(
'js_select_user' => "Por favor, seleccione un usuario", 'js_select_user' => "Por favor, seleccione un usuario",
'july' => "Julio", 'july' => "Julio",
'june' => "Junio", 'june' => "Junio",
'keep_doc_status' => "Mantener estado del documento",
'keyword_exists' => "La palabra clave ya existe", 'keyword_exists' => "La palabra clave ya existe",
'keywords' => "Palabras clave", 'keywords' => "Palabras clave",
'language' => "Lenguaje", 'language' => "Idioma",
'last_update' => "Última modificación", 'last_update' => "Última modificación",
'legend' => "Leyenda",
'link_alt_updatedocument' => "Si desea subir archivos mayores que el tamaño máximo actualmente permitido, por favor, utilice la <a href=\"%s\">página de subida</a> alternativa.", 'link_alt_updatedocument' => "Si desea subir archivos mayores que el tamaño máximo actualmente permitido, por favor, utilice la <a href=\"%s\">página de subida</a> alternativa.",
'linked_documents' => "Documentos relacionados", 'linked_documents' => "Documentos relacionados",
'linked_files' => "Adjuntos", 'linked_files' => "Adjuntos",
'local_file' => "Archivo local", 'local_file' => "Fichero local",
'locked_by' => "Bloqueado por", 'locked_by' => "Bloqueado por",
'lock_document' => "Bloquear", 'lock_document' => "Bloquear",
'lock_message' => "Este documento ha sido bloqueado por <a href=\"mailto:[email]\">[username]</a>.<br />Solo usuarios autorizados pueden desbloquear este documento (vea el final de la página).", 'lock_message' => "Este documento ha sido bloqueado por <a href=\"mailto:[email]\">[username]</a>.<br />Sólo usuarios autorizados pueden desbloquear este documento (vea el final de la página).",
'lock_status' => "Estado", 'lock_status' => "Estado",
'login' => "Iniciar sesión", 'login' => "Iniciar sesión",
'login_disabled_text' => "Su cuenta está deshabilitada, probablemente es debido a demasiados intentos de acceso fallidos.", 'login_disabled_text' => "Su cuenta está deshabilitada, probablemente es debido a demasiados intentos de acceso fallidos.",
@ -321,26 +396,41 @@ $text = array(
'march' => "Marzo", 'march' => "Marzo",
'max_upload_size' => "Tamaño máximo de subida para cada fichero", 'max_upload_size' => "Tamaño máximo de subida para cada fichero",
'may' => "Mayo", 'may' => "Mayo",
'mimetype' => "Tipo Mime",
'misc' => "Misc",
'missing_checksum' => "Falta checksum",
'missing_filesize' => "Falta tamaño fichero",
'missing_transition_user_group' => "Falta usuario/grupo para transición",
'minutes' => "minutos",
'monday' => "Lunes", 'monday' => "Lunes",
'month_view' => "Vista de Mes", 'monday_abbr' => "L",
'month_view' => "Vista del Mes",
'monthly' => "Mensual", 'monthly' => "Mensual",
'move_document' => "Mover documento", 'move_document' => "Mover documento",
'move_folder' => "Mover directorio", 'move_folder' => "Mover carpeta",
'move' => "Mover", 'move' => "Mover",
'my_account' => "Mi cuenta", 'my_account' => "Mi cuenta",
'my_documents' => "Mis documentos", 'my_documents' => "Mis documentos",
'name' => "Nombre", 'name' => "Nombre",
'needs_workflow_action' => "Este documento requiere su atención. Por favor chequee la pestaña de flujo de trabajo.",
'new_attrdef' => "Nueva definición de atributo", 'new_attrdef' => "Nueva definición de atributo",
'new_default_keyword_category' => "Nueva categoría", 'new_default_keyword_category' => "Nueva categoría",
'new_default_keywords' => "Agregar palabras claves", 'new_default_keywords' => "Agregar palabras claves",
'new_document_category' => "Añadir categoría", 'new_document_category' => "Añadir categoría",
'new_document_email' => "Nuevo documento", 'new_document_email' => "Nuevo documento",
'new_document_email_subject' => "[sitename]: [folder_name] - Nuevo documento",
'new_document_email_body' => "Nuevo documento\r\nNombre: [name]\r\nCarpeta principal: [folder_path]\r\nComentario: [comment]\r\nVersión comentario: [version_comment]\r\nUsuario: [username]\r\nURL: [url]",
'new_file_email' => "Nuevo adjunto", 'new_file_email' => "Nuevo adjunto",
'new_file_email_subject' => "[sitename]: [document] - Nuevo adjunto",
'new_file_email_body' => "Nuevo adjunto\r\nNombre: [name]\r\nDocumento: [document]\r\nComentario: [comment]\r\nUsuario: [username]\r\nURL: [url]",
'new_folder' => "Nueva carpeta", 'new_folder' => "Nueva carpeta",
'new_password' => "Nueva contraseña", 'new_password' => "Nueva contraseña",
'new' => "Nuevo", 'new' => "Nuevo",
'new_subfolder_email' => "Nueva carpeta", 'new_subfolder_email' => "Nueva carpeta",
'new_subfolder_email_subject' => "[sitename]: [name] - Nueva carpeta",
'new_subfolder_email_body' => "Nueva carpeta\r\nNombre: [name]\r\nCarpeta principal: [folder_path]\r\nComentario: [comment]\r\nUsuario: [username]\r\nURL: [url]",
'new_user_image' => "Nueva imagen", 'new_user_image' => "Nueva imagen",
'next_state' => "Nuevo estado",
'no_action' => "No es necesaria ninguna acción", 'no_action' => "No es necesaria ninguna acción",
'no_approval_needed' => "No hay aprobaciones pendientes.", 'no_approval_needed' => "No hay aprobaciones pendientes.",
'no_attached_files' => "No hay ficheros adjuntos", 'no_attached_files' => "No hay ficheros adjuntos",
@ -349,14 +439,19 @@ $text = array(
'no_docs_to_approve' => "Actualmente no hay documentos que necesiten aprobación.", 'no_docs_to_approve' => "Actualmente no hay documentos que necesiten aprobación.",
'no_docs_to_look_at' => "No hay documentos que necesiten atención.", 'no_docs_to_look_at' => "No hay documentos que necesiten atención.",
'no_docs_to_review' => "Actualmente no hay documentos que necesiten revisión.", 'no_docs_to_review' => "Actualmente no hay documentos que necesiten revisión.",
'no_fulltextindex' => "No hay índice de texto completo disponible",
'no_group_members' => "Este grupo no tiene miembros", 'no_group_members' => "Este grupo no tiene miembros",
'no_groups' => "No hay grupos", 'no_groups' => "No hay grupos",
'no' => "No", 'no' => "No",
'no_linked_files' => "No hay ficheros enlazados", 'no_linked_files' => "No hay ficheros vinculados",
'no_previous_versions' => "No se han encontrado otras versiones", 'no_previous_versions' => "No se han encontrado otras versiones",
'no_review_needed' => "No hay revisiones pendientes.", 'no_review_needed' => "No hay revisiones pendientes.",
'notify_added_email' => "Se le ha añadido a la lista de notificación", 'notify_added_email' => "Ha sido añadido a la lista de notificación",
'notify_deleted_email' => "Se le ha eliminado de la lista de notificación", 'notify_added_email_subject' => "[sitename]: [name] - Añadido a la lista de notificación",
'notify_added_email_body' => "Añadido a la lista de notificación\r\nNombre: [name]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'notify_deleted_email' => "Ha sido eliminado de la lista de notificación",
'notify_deleted_email_subject' => "[sitename]: [name] - Eliminado de la lista de notificación",
'notify_deleted_email_body' => "Eliminado de la lista de notificación\r\nNombre: [name]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'no_update_cause_locked' => "No puede actualizar este documento. Contacte con el usuario que lo bloqueó.", 'no_update_cause_locked' => "No puede actualizar este documento. Contacte con el usuario que lo bloqueó.",
'no_user_image' => "No se encontró imagen", 'no_user_image' => "No se encontró imagen",
'november' => "Noviembre", 'november' => "Noviembre",
@ -365,9 +460,12 @@ $text = array(
'obsolete' => "Obsoleto", 'obsolete' => "Obsoleto",
'october' => "Octubre", 'october' => "Octubre",
'old' => "Viejo", 'old' => "Viejo",
'only_jpg_user_images' => "Solo puede usar imágenes .jpg como imágenes de usuario", 'only_jpg_user_images' => "Sólo puede usar imágenes .jpg como imágenes de usuario",
'original_filename' => "Nombre de fichero original",
'owner' => "Propietario", 'owner' => "Propietario",
'ownership_changed_email' => "Propietario cambiado", 'ownership_changed_email' => "Propietario modificado",
'ownership_changed_email_subject' => "[sitename]: [name] - Propietario modificado",
'ownership_changed_email_body' => "Propietario modificado\r\nDocumento: [name]\r\nCarpeta principal: [folder_path]\r\nAntiguo propietario: [old_owner]\r\nNuevo propietario: [new_owner]\r\nUsuario: [username]\r\nURL: [url]",
'password' => "Contraseña", 'password' => "Contraseña",
'password_already_used' => "La contraseña ya está en uso", 'password_already_used' => "La contraseña ya está en uso",
'password_repeat' => "Repetir contraseña", 'password_repeat' => "Repetir contraseña",
@ -379,18 +477,31 @@ $text = array(
'password_forgotten_send_hash' => "Las instrucciones para proceder al cambio se han enviado a la dirección de correo de usuario", 'password_forgotten_send_hash' => "Las instrucciones para proceder al cambio se han enviado a la dirección de correo de usuario",
'password_forgotten_text' => "Rellene el siguiente formulario y siga las instrucciones del correo que se le enviará.", 'password_forgotten_text' => "Rellene el siguiente formulario y siga las instrucciones del correo que se le enviará.",
'password_forgotten_title' => "Envío de contraseña", 'password_forgotten_title' => "Envío de contraseña",
'password_strength' => "Seguridad de la contraseña",
'password_strength_insuffient' => "Insuficiente Seguridad de la contraseña",
'password_wrong' => "Contraseña incorrecta", 'password_wrong' => "Contraseña incorrecta",
'password_strength_insuffient' => "Fortaleza de la contraseña insuficiente",
'personal_default_keywords' => "Listas de palabras clave personales", 'personal_default_keywords' => "Listas de palabras clave personales",
'previous_state' => "Estado anterior",
'previous_versions' => "Versiones anteriores", 'previous_versions' => "Versiones anteriores",
'quota' => "Cuota",
'quota_exceeded' => "Su cuota de disco se ha excedido en [bytes].",
'quota_warning' => "El máximo de uso de disco se ha excedido en [bytes]. Por favor eliminar documentos o versiones anteriores.",
'refresh' => "Actualizar", 'refresh' => "Actualizar",
'rejected' => "Rechazado", 'rejected' => "Rechazado",
'released' => "Publicado", 'released' => "Publicado",
'remove_marked_files' => "Eliminar ficheros marcados",
'removed_workflow_email_subject' => "[sitename]: [name] - Eliminar flujo de trabajo de la versión del documento",
'removed_workflow_email_body' => "Eliminar flujo de trabajo de la versión del documento\r\nDocumento: [name]\r\nVersión: [version]\r\nFlujo de trabajo: [workflow]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'removed_approver' => "Ha sido eliminado de la lista de aprobadores.", 'removed_approver' => "Ha sido eliminado de la lista de aprobadores.",
'removed_file_email' => "Adjuntos eliminados", 'removed_file_email' => "Adjuntos eliminados",
'removed_file_email_subject' => "[sitename]: [document] - Eliminar adjunto",
'removed_file_email_body' => "Eliminar adjunto\r\nDocumento: [document]\r\nUsuario: [username]\r\nURL: [url]",
'removed_reviewer' => "Ha sido eliminado de la lista de revisores.", 'removed_reviewer' => "Ha sido eliminado de la lista de revisores.",
'repaired' => "Reparado",
'repairing_objects' => "Reparando documentos y carpetas.", 'repairing_objects' => "Reparando documentos y carpetas.",
'results_page' => "Página de resultados", 'results_page' => "Página de resultados",
'return_from_subworkflow_email_subject' => "[sitename]: [name] - Retorno del subflujo de trabajo",
'return_from_subworkflow_email_body' => "Retorno del subflujo de trabajo\r\nDocumento: [name]\r\nVersión: [version]\r\nFlujo de trabajo: [workflow]\r\nSubflujo de trabajo: [subworkflow]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'review_deletion_email' => "Petición de revisión eliminada", 'review_deletion_email' => "Petición de revisión eliminada",
'reviewer_already_assigned' => "Ya está asignado como revisor", 'reviewer_already_assigned' => "Ya está asignado como revisor",
'reviewer_already_removed' => "Ya ha sido eliminado del proceso de revisión o ya ha enviado una revisión", 'reviewer_already_removed' => "Ya ha sido eliminado del proceso de revisión o ya ha enviado una revisión",
@ -399,28 +510,44 @@ $text = array(
'review_request_email' => "Petición de revisión", 'review_request_email' => "Petición de revisión",
'review_status' => "Estado de revisión", 'review_status' => "Estado de revisión",
'review_submit_email' => "Revisión enviada", 'review_submit_email' => "Revisión enviada",
'review_submit_email_subject' => "[sitename]: [name] - Revisión enviada",
'review_submit_email_body' => "Revisión enviada\r\nDocumento: [name]\r\nVersión: [version]\r\nEstado: [status]\r\nComentario: [comment]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'review_summary' => "Resumen de revisión", 'review_summary' => "Resumen de revisión",
'review_update_failed' => "Error actualizando el estado de la revisión. La actualización ha fallado.", 'review_update_failed' => "Error actualizando el estado de la revisión. La actualización ha fallado.",
'rewind_workflow' => "Retroceso del flujo de trabajo",
'rewind_workflow_email_subject' => "[sitename]: [name] - El flujo de trabajo fue retrocedido",
'rewind_workflow_email_body' => "Flujo de trabajo fue retrocedido\r\nDocumento: [name]\r\nVersión: [version]\r\nFlujo de trabajo: [workflow]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'rewind_workflow_warning' => "Si su flujo de trabajo fue retrocedido a su estado inicial, todo el log del flujo de trabajo de este documento será borrado y no se podrá recuperar.",
'rm_attrdef' => "Eliminar definición de atributo", 'rm_attrdef' => "Eliminar definición de atributo",
'rm_default_keyword_category' => "Eliminar categoría", 'rm_default_keyword_category' => "Eliminar categoría",
'rm_document' => "Eliminar documento", 'rm_document' => "Eliminar documento",
'rm_document_category' => "Eliminar categoría", 'rm_document_category' => "Eliminar categoría",
'rm_file' => "Eliminar fichero", 'rm_file' => "Eliminar fichero",
'rm_folder' => "Eliminar carpeta", 'rm_folder' => "Eliminar carpeta",
'rm_from_clipboard' => "Borrar del portapapeles",
'rm_group' => "Eliminar este grupo", 'rm_group' => "Eliminar este grupo",
'rm_user' => "Eliminar este usuario", 'rm_user' => "Eliminar este usuario",
'rm_version' => "Eliminar versión", 'rm_version' => "Eliminar versión",
'rm_workflow' => "Eliminar Flujo de Trabajo",
'rm_workflow_state' => "Eliminar Estado del Flujo de Trabajo",
'rm_workflow_action' => "Eliminar Accion del Flujo de Trabajo",
'rm_workflow_warning' => "Va a eliminar el flujo de trabajo de este documento. Esto no se puede deshacer.",
'role_admin' => "Administrador", 'role_admin' => "Administrador",
'role_guest' => "Invitado", 'role_guest' => "Invitado",
'role_user' => "Usuario", 'role_user' => "Usuario",
'role' => "Rol", 'role' => "Rol",
'return_from_subworkflow' => "Regreso a sub Flujo de trabajo",
'run_subworkflow' => "Ejecutar sub flujo de trabajo",
'run_subworkflow_email_subject' => "[sitename]: [name] - Subflujo de trabajo iniciado",
'run_subworkflow_email_body' => "Subflujo de trabajo iniciado\r\nDocumento: [name]\r\nVersión: [version]\r\nFlujo de trabajo: [workflow]\r\nSub flujo de trabajo: [subworkflow]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'saturday' => "Sábado", 'saturday' => "Sábado",
'saturday_abbr' => "S",
'save' => "Guardar", 'save' => "Guardar",
'search_fulltext' => "Buscar en texto completo", 'search_fulltext' => "Buscar en texto completo",
'search_in' => "Buscar en", 'search_in' => "Buscar en",
'search_mode_and' => "todas las palabras", 'search_mode_and' => "todas las palabras",
'search_mode_or' => "al menos una palabra", 'search_mode_or' => "al menos una palabra",
'search_no_results' => "No hay documentos que coinciden con su búsqueda", 'search_no_results' => "No hay documentos que coincidan con su búsqueda",
'search_query' => "Buscar", 'search_query' => "Buscar",
'search_report' => "Encontrados [doccount] documentos y [foldercount] carpetas en [searchtime] s.", 'search_report' => "Encontrados [doccount] documentos y [foldercount] carpetas en [searchtime] s.",
'search_report_fulltext' => "Encontrados [doccount] documentos", 'search_report_fulltext' => "Encontrados [doccount] documentos",
@ -428,8 +555,17 @@ $text = array(
'search_results' => "Resultados de la búsqueda", 'search_results' => "Resultados de la búsqueda",
'search' => "Buscar", 'search' => "Buscar",
'search_time' => "Tiempo transcurrido: [time] seg.", 'search_time' => "Tiempo transcurrido: [time] seg.",
'seconds' => "segundos",
'selection' => "Selección", 'selection' => "Selección",
'select_category' => "Haga Click para seleccionar categoría",
'select_groups' => "Haga Click para seleccionar grupos",
'select_ind_reviewers' => "Haga Click para seleccionar revisor individual",
'select_ind_approvers' => "Haga Click para seleccionar aprobador individual",
'select_grp_reviewers' => "Haga Click para seleccionar grupo de revisores",
'select_grp_approvers' => "Haga Click para seleccionar grupo de aprobadores",
'select_one' => "Seleccionar uno", 'select_one' => "Seleccionar uno",
'select_users' => "Haga Click para seleccionar usuarios",
'select_workflow' => "Selecionar Flujo de Trabajo",
'september' => "Septiembre", 'september' => "Septiembre",
'seq_after' => "Después \"[prevname]\"", 'seq_after' => "Después \"[prevname]\"",
'seq_end' => "Al final", 'seq_end' => "Al final",
@ -440,8 +576,9 @@ $text = array(
'set_owner_error' => "Error estableciendo propietario", 'set_owner_error' => "Error estableciendo propietario",
'set_owner' => "Establecer propietario", 'set_owner' => "Establecer propietario",
'set_password' => "Establecer contraseña", 'set_password' => "Establecer contraseña",
'set_workflow' => "Establecer Flujo de Trabajo",
'settings_install_welcome_title' => "Bienvenido a la instalación de SeedDMS", 'settings_install_welcome_title' => "Bienvenido a la instalación de SeedDMS",
'settings_install_welcome_text' => "<p>Antes de instalar SeedDMS asegúrese de haber creado un archivo «ENABLE_INSTALL_TOOL» en su directorio de instalación, en otro caso la instalación no funcionará. En sistemas Unix puede hacerse fácilmente con «touch conf/ENABLE_INSTALL_TOOL». Después de terminar la instalación elimine el archivo.</p><p>SeedDMS tiene unos requisitos mínimos. Necesitará una base de datos y un servidor web con soporte para php. Para la búsqueda de texto completo lucene, necesitará tener instalado también el framework Zend donde pueda ser utilizado por php. Desde la versión 3.2.0 de SeedDMS ADObd ya no forma parte de la distribución. Consiga una copia de él desde <a href=\"http://adodb.sourceforge.net/\">http://adodb.sourceforge.net</a> e instálelo. La ruta hacia él podrá ser establecida durante la instalación.</p><p> Si prefiere crear la base de datos antes de comenzar la instalación, simplemente créela manualmente con su herramienta preferida, opcionalmente cree un usuario de base de datos con acceso a esta base de datos e importe uno de los volcados del directorio de configuración. El script de instalación puede hacer esto también, pero necesitará acceso con privilegios suficientes para crear bases de datos.</p>", 'settings_install_welcome_text' => "<p>Antes de instalar SeedDMS asegúrese de haber creado un archivo «ENABLE_INSTALL_TOOL» en su carpeta de instalación, en otro caso la instalación no funcionará. En sistemas Unix puede hacerse fácilmente con «touch conf/ENABLE_INSTALL_TOOL». Después de terminar la instalación elimine el archivo.</p><p>SeedDMS tiene unos requisitos mínimos. Necesitará una base de datos y un servidor web con soporte para php. Para la búsqueda de texto completo lucene, necesitará tener instalado también el framework Zend donde pueda ser utilizado por php. Desde la versión 3.2.0 de SeedDMS ADObd ya no forma parte de la distribución. Consiga una copia de él desde <a href=\"http://adodb.sourceforge.net/\">http://adodb.sourceforge.net</a> e instálelo. La ruta hacia él podrá ser establecida durante la instalación.</p><p> Si prefiere crear la base de datos antes de comenzar la instalación, simplemente créela manualmente con su herramienta preferida, opcionalmente cree un usuario de base de datos con acceso a esta base de datos e importe uno de los volcados de la carpeta de configuración. El script de instalación puede hacer esto también, pero necesitará acceso con privilegios suficientes para crear bases de datos.</p>",
'settings_start_install' => "Comenzar instalación", 'settings_start_install' => "Comenzar instalación",
'settings_sortUsersInList' => "Ordenar los usuarios en la lista", 'settings_sortUsersInList' => "Ordenar los usuarios en la lista",
'settings_sortUsersInList_desc' => "Establecer si los menús de selección de usuarios se ordenan por nombre de acceso o por nombre completo", 'settings_sortUsersInList_desc' => "Establecer si los menús de selección de usuarios se ordenan por nombre de acceso o por nombre completo",
@ -453,30 +590,34 @@ $text = array(
'settings_activate_php_extension' => "Activar extensión PHP", 'settings_activate_php_extension' => "Activar extensión PHP",
'settings_adminIP' => "IP de administración", 'settings_adminIP' => "IP de administración",
'settings_adminIP_desc' => "Si establece que el administrador solo puede conectar desde una dirección IP específica, deje en blanco para evitar el control. NOTA: funciona únicamente con autenticación local (no LDAP).", 'settings_adminIP_desc' => "Si establece que el administrador solo puede conectar desde una dirección IP específica, deje en blanco para evitar el control. NOTA: funciona únicamente con autenticación local (no LDAP).",
'settings_ADOdbPath' => "Ruta de ADOdb", 'settings_extraPath' => "Extra PHP include Ruta",
'settings_ADOdbPath_desc' => "Ruta a adodb. Este es el directorio que contiene el directorio de adodb", 'settings_extraPath_desc' => "Ruta para software adicional. Esta es la carpeta que contiene ej. la carpeta adodb o paquetes PEAR adicionales",
'settings_Advanced' => "Avanzado", 'settings_Advanced' => "Avanzado",
'settings_apache_mod_rewrite' => "Apache - Módulo Rewrite", 'settings_apache_mod_rewrite' => "Apache - Módulo Reescritura",
'settings_Authentication' => "Configuración de autenticación", 'settings_Authentication' => "Configuración de autenticación",
'settings_cacheDir' => "Carpeta caché",
'settings_cacheDir_desc' => "Donde están archivadas las imágenes anteriores (mejor elegir una carpeta que no sea accesible a través de su servidor web)",
'settings_Calendar' => "Configuración de calendario", 'settings_Calendar' => "Configuración de calendario",
'settings_calendarDefaultView' => "Vista por omisión de calendario", 'settings_calendarDefaultView' => "Vista por defecto de calendario",
'settings_calendarDefaultView_desc' => "Vista por omisión de calendario", 'settings_calendarDefaultView_desc' => "Vista por defecto descripción de calendario",
'settings_contentDir' => "Directorio de contenidos", 'settings_cookieLifetime' => "Tiempo de vida de las cookies",
'settings_contentDir_desc' => "Donde se almacenan los archivos subidos (es preferible seleccionar un directorio que no sea accesible a través del servidor web)", 'settings_cookieLifetime_desc' => "Tiempo de vida de las cookies en segundos. Si asigna 0 la cookie será eliminada cuando el navegador se cierre.",
'settings_contentOffsetDir' => "Directorio de contenidos de desplazamiento", 'settings_contentDir' => "Carpeta de contenidos",
'settings_contentOffsetDir_desc' => "Para tratar las limitaciones del sistema de ficheros subyacente, se ha ideado una estructura de directorios dentro del directorio de contenido. Esto requiere un directorio base desde el que comenzar. Normalmente puede dejar este valor por omisión, 1048576, pero puede ser cualquier número o cadena que no exista ya dentro él (directorio de contenido).", 'settings_contentDir_desc' => "Donde se almacenan los archivos subidos (es preferible seleccionar una carpeta que no sea accesible a través del servidor web)",
'settings_coreDir' => "Directorio de SeedDMS Core", 'settings_contentOffsetDir' => "Carpeta de contenidos de desplazamiento",
'settings_contentOffsetDir_desc' => "Para tratar las limitaciones del sistema de ficheros subyacentes, se ha ideado una estructura de carpetas dentro de la carpeta de contenido. Esto requiere una carpeta base desde la que comenzar. Normalmente puede dejar este valor por defecto, 1048576, pero puede ser cualquier número o cadena que no exista ya dentro de ella (carpeta de contenido).",
'settings_coreDir' => "Carpeta de SeedDMS Core",
'settings_coreDir_desc' => "Ruta hacia SeedDMS_Core (opcional)", 'settings_coreDir_desc' => "Ruta hacia SeedDMS_Core (opcional)",
'settings_loginFailure_desc' => "Deshabilitar cuenta después de n intentos de acceso.", 'settings_loginFailure_desc' => "Deshabilitar cuenta después de n intentos de acceso.",
'settings_loginFailure' => "Fallo de acceso", 'settings_loginFailure' => "Fallo de acceso",
'settings_luceneClassDir' => "Directorio de SeedDMS Lucene", 'settings_luceneClassDir' => "Carpeta de SeedDMS Lucene",
'settings_luceneClassDir_desc' => "Ruta hacia SeedDMS_Lucene (opcional)", 'settings_luceneClassDir_desc' => "Ruta hacia SeedDMS_Lucene (opcional)",
'settings_luceneDir' => "Directorio índice de Lucene", 'settings_luceneDir' => "Carpeta índice de Lucene",
'settings_luceneDir_desc' => "Ruta hacia el índice Lucene", 'settings_luceneDir_desc' => "Ruta hacia el índice Lucene",
'settings_cannot_disable' => "No es posible eliminar el archivo ENABLE_INSTALL_TOOL", 'settings_cannot_disable' => "No es posible eliminar el archivo ENABLE_INSTALL_TOOL",
'settings_install_disabled' => "El archivo ENABLE_INSTALL_TOOL ha sido eliminado. Ahora puede conectarse a SeedDMS y seguir con la configuración.", 'settings_install_disabled' => "El archivo ENABLE_INSTALL_TOOL ha sido eliminado. Ahora puede conectarse a SeedDMS y seguir con la configuración.",
'settings_createdatabase' => "Crear tablas de base de datos", 'settings_createdatabase' => "Crear tablas de base de datos",
'settings_createdirectory' => "Crear directorio", 'settings_createdirectory' => "Crear carpeta",
'settings_currentvalue' => "Valor actual", 'settings_currentvalue' => "Valor actual",
'settings_Database' => "Configuración de Base de datos", 'settings_Database' => "Configuración de Base de datos",
'settings_dbDatabase' => "Base de datos", 'settings_dbDatabase' => "Base de datos",
@ -490,10 +631,12 @@ $text = array(
'settings_dbUser_desc' => "Nombre de usuario de acceso a su base de datos introducido durante el proceso de instalación. No edite este campo a menos que sea necesario, por ejemplo si la base de datos se transfiere a un nuevo servidor.", 'settings_dbUser_desc' => "Nombre de usuario de acceso a su base de datos introducido durante el proceso de instalación. No edite este campo a menos que sea necesario, por ejemplo si la base de datos se transfiere a un nuevo servidor.",
'settings_dbUser' => "Nombre de usuario", 'settings_dbUser' => "Nombre de usuario",
'settings_dbVersion' => "Esquema de base de datos demasiado antiguo", 'settings_dbVersion' => "Esquema de base de datos demasiado antiguo",
'settings_delete_install_folder' => "Para utilizar SeedDMS, debe eliminar el archivo ENABLE_INSTALL_TOOL del directorio de configuración", 'settings_delete_install_folder' => "Para utilizar SeedDMS, debe eliminar el archivo ENABLE_INSTALL_TOOL de la carpeta de configuración",
'settings_disable_install' => "Eliminar el archivo ENABLE_INSTALL_TOOL se es posible", 'settings_disable_install' => "Eliminar el archivo ENABLE_INSTALL_TOOL se es posible",
'settings_disableSelfEdit_desc' => "Si está seleccionado el usuario no podrá editar su propio perfil", 'settings_disableSelfEdit_desc' => "Si está seleccionado el usuario no podrá editar su propio perfil",
'settings_disableSelfEdit' => "Deshabilitar autoedición", 'settings_disableSelfEdit' => "Deshabilitar autoedición",
'settings_dropFolderDir_desc' => "Esta carpeta puede ser usada para dejar ficheros en el sistema de archivos del servidor e importarlos desde ahí en lugar de subirlos vía navegador. La carpeta debe contener un subdirectorio para cada usuario que tenga permiso para importar ficheros de esta forma.",
'settings_dropFolderDir' => "Carpeta para dejar ficheros",
'settings_Display' => "Mostrar configuración", 'settings_Display' => "Mostrar configuración",
'settings_Edition' => "Configuración de edición", 'settings_Edition' => "Configuración de edición",
'settings_enableAdminRevApp_desc' => "Deseleccione para no mostrar al administrador como revisor/aprobador", 'settings_enableAdminRevApp_desc' => "Deseleccione para no mostrar al administrador como revisor/aprobador",
@ -502,26 +645,38 @@ $text = array(
'settings_enableCalendar' => "Habilitar calendario", 'settings_enableCalendar' => "Habilitar calendario",
'settings_enableConverting_desc' => "Habilitar/Deshabilitar conversión de ficheros", 'settings_enableConverting_desc' => "Habilitar/Deshabilitar conversión de ficheros",
'settings_enableConverting' => "Habilitar conversión", 'settings_enableConverting' => "Habilitar conversión",
'settings_enableDuplicateDocNames_desc' => "Permite tener un nombre de documento duplicado en una carpeta.",
'settings_enableDuplicateDocNames' => "Permite tener nombres de documento duplicados",
'settings_enableNotificationAppRev_desc' => "Habilitar para enviar notificación a revisor/aprobador cuando se añade una nueva versión de documento", 'settings_enableNotificationAppRev_desc' => "Habilitar para enviar notificación a revisor/aprobador cuando se añade una nueva versión de documento",
'settings_enableNotificationAppRev' => "Habilitar notificación a revisor/aprobador", 'settings_enableNotificationAppRev' => "Habilitar notificación a revisor/aprobador",
'settings_enableOwnerRevApp_desc' => "Habilitar esto si quiere que el propietario de un documento sea listado como revisor/aprobador y para las transiciones del flujo de trabajo.",
'settings_enableOwnerRevApp' => "Permitir al propietario revisar/aprobar",
'settings_enableSelfRevApp_desc' => "Habilitar esto si quiere que el usuario identificado sea listado como revisor/aprobador y para las transiciones del flujo de trabajo.",
'settings_enableSelfRevApp' => "Permitir al usuario identificado revisar/aprobar.",
'settings_enableVersionModification_desc' => "Habilitar/Deshabilitar la modificación de versiones de documentos por parte de usuarios después de añadir una nueva versión. El administrador siempre podrá modificar la versión después de añadida.", 'settings_enableVersionModification_desc' => "Habilitar/Deshabilitar la modificación de versiones de documentos por parte de usuarios después de añadir una nueva versión. El administrador siempre podrá modificar la versión después de añadida.",
'settings_enableVersionModification' => "Habilitar la modificación de versiones", 'settings_enableVersionModification' => "Habilitar la modificación de versiones",
'settings_enableVersionDeletion_desc' => "Habilitar/Deshabilitar la eliminación de versiones anteriores de documentos por parte de usuarios. El administrador siempre podrá eliminar versiones antiguas.", 'settings_enableVersionDeletion_desc' => "Habilitar/Deshabilitar la eliminación de versiones anteriores de documentos por parte de usuarios. El administrador siempre podrá eliminar versiones antiguas.",
'settings_enableVersionDeletion' => "Habilitar la eliminación de versiones anteriores", 'settings_enableVersionDeletion' => "Habilitar la eliminación de versiones anteriores",
'settings_enableEmail_desc' => "Habilitar/Deshabilitar notificación automática por correo electrónico", 'settings_enableEmail_desc' => "Habilitar/Deshabilitar notificación automática por correo electrónico",
'settings_enableEmail' => "Habilitar E-mail", 'settings_enableEmail' => "Habilitar E-mail",
'settings_enableFolderTree_desc' => "Falso para no mostrar el árbol de carpetas",
'settings_enableFolderTree' => "Habilitar árbol de carpetas", 'settings_enableFolderTree' => "Habilitar árbol de carpetas",
'settings_enableFolderTree_desc' => "Falso para no mostrar el árbol de carpetas",
'settings_enableFullSearch' => "Habilitar búsqueda de texto completo", 'settings_enableFullSearch' => "Habilitar búsqueda de texto completo",
'settings_enableFullSearch_desc' => "Habilitar búsqueda de texto completo", 'settings_enableFullSearch_desc' => "Habilitar búsqueda de texto completo",
'settings_enableGuestLogin_desc' => "Si quiere que cualquiera acceda como invitado, chequee esta opción. Nota: El acceso de invitado debería permitirse solo en entornos de confianza",
'settings_enableGuestLogin' => "Habilitar acceso de invitado", 'settings_enableGuestLogin' => "Habilitar acceso de invitado",
'settings_enableGuestLogin_desc' => "Si quiere que cualquiera acceda como invitado, chequee esta opción. Nota: El acceso de invitado debería permitirse solo en entornos de confianza",
'settings_enableLanguageSelector' => "Habilitar selector de idioma",
'settings_enableLanguageSelector_desc' => "Mostrar selector de lenguaje para usuario despues de identificarse. Esto no afecta al lenguaje seleccionado en la página de identificación.",
'settings_enableLargeFileUpload_desc' => "Si se habilita, la carga de ficheros también estará disponible a través de un applet java llamado jumploader, sin límite de tamaño de fichero fijado por el navegador. También permite la carga de múltiples ficheros de una sola vez.", 'settings_enableLargeFileUpload_desc' => "Si se habilita, la carga de ficheros también estará disponible a través de un applet java llamado jumploader, sin límite de tamaño de fichero fijado por el navegador. También permite la carga de múltiples ficheros de una sola vez.",
'settings_enableLargeFileUpload' => "Habilitar la carga de ficheros grandes", 'settings_enableLargeFileUpload' => "Habilitar la carga de ficheros grandes",
'settings_enablePasswordForgotten_desc' => "Si quiere permitir a los usuarios fijar una nueva contraseña recibiendo un correo electrónico, active esta opción.", 'settings_maxRecursiveCount' => "Número máximo del contador de carpetas/documentos recursivos",
'settings_maxRecursiveCount_desc' => "Este es el número máximo de documentos o carpetas que pueden ser revisados con derechos de acceso, contando objetos recursivos. Si este número es excedido , el número de carpetas y documentos en la vista de carpeta será estimado.",
'settings_enableOwnerNotification_desc' => "Marcar para añadir una notificación al propietario del documento cuando es añadido.", 'settings_enableOwnerNotification_desc' => "Marcar para añadir una notificación al propietario del documento cuando es añadido.",
'settings_enableOwnerNotification' => "Habilitar notificación al propietario por omisión", 'settings_enableOwnerNotification' => "Habilitar notificación al propietario por defecto",
'settings_enablePasswordForgotten_desc' => "Si quiere permitir a los usuarios fijar una nueva contraseña recibiendo un correo electrónico, active esta opción.",
'settings_enablePasswordForgotten' => "Habilitar recordatorio de contraseña", 'settings_enablePasswordForgotten' => "Habilitar recordatorio de contraseña",
'settings_enableRecursiveCount_desc' => "Si cambia a activado, el número de documentos y carpetas en la carpeta será determinado por la cuenta de todos los objetos recursivos procesados de la carpeta y una vez contados el usuarios tendrá permiso para acceder.",
'settings_enableRecursiveCount' => "Habilitar cuenta de documento/carpeta recursivo",
'settings_enableUserImage_desc' => "Habilitar imágenes de usuario", 'settings_enableUserImage_desc' => "Habilitar imágenes de usuario",
'settings_enableUserImage' => "Habilitar imágenes de usuario", 'settings_enableUserImage' => "Habilitar imágenes de usuario",
'settings_enableUsersView_desc' => "Habilitar/Deshabilitar vista de usuario y grupo por todos los usuarios", 'settings_enableUsersView_desc' => "Habilitar/Deshabilitar vista de usuario y grupo por todos los usuarios",
@ -547,20 +702,20 @@ $text = array(
'settings_install_pear_package_log' => "Instale el paquete Pear 'Log'", 'settings_install_pear_package_log' => "Instale el paquete Pear 'Log'",
'settings_install_pear_package_webdav' => "Instale el paquete Pear 'HTTP_WebDAV_Server', si quiere utilizar el interfaz webdav", 'settings_install_pear_package_webdav' => "Instale el paquete Pear 'HTTP_WebDAV_Server', si quiere utilizar el interfaz webdav",
'settings_install_zendframework' => "Instale Zend Framework, si quiere usar el sistema de búsqueda de texto completo", 'settings_install_zendframework' => "Instale Zend Framework, si quiere usar el sistema de búsqueda de texto completo",
'settings_language' => "Idioma por omisión", 'settings_language' => "Idioma por defecto",
'settings_language_desc' => "Idioma por omisión (nombre de un subdirectorio en el directorio \"languages\")", 'settings_language_desc' => "Idioma por defecto (nombre de una subcarpeta en la carpeta \"languages\")",
'settings_logFileEnable_desc' => "Habilitar/Deshabilitar archivo de registro", 'settings_logFileEnable_desc' => "Habilitar/Deshabilitar archivo de registro",
'settings_logFileEnable' => "Archivo de registro habilitado", 'settings_logFileEnable' => "Archivo de registro habilitado",
'settings_logFileRotation_desc' => "Rotación del archivo de registro", 'settings_logFileRotation_desc' => "Rotación del archivo de registro",
'settings_logFileRotation' => "Rotación del archivo de registro", 'settings_logFileRotation' => "Rotación del archivo de registro",
'settings_luceneDir' => "Directorio del índice de texto completo", 'settings_luceneDir' => "Carpeta del índice de texto completo",
'settings_maxDirID_desc' => "Número máximo de subdirectorios por directorio padre. Por omisión: 32700.", 'settings_maxDirID_desc' => "Número máximo de subcarpetas por carpeta principal. Por defecto: 32700.",
'settings_maxDirID' => "ID máximo de directorio", 'settings_maxDirID' => "ID máximo de carpeta",
'settings_maxExecutionTime_desc' => "Esto configura el tiempo máximo en segundos que un script puede estar ejectutándose antes de que el analizador lo pare", 'settings_maxExecutionTime_desc' => "Esto configura el tiempo máximo en segundos que un script puede estar ejectutándose antes de que el analizador lo pare",
'settings_maxExecutionTime' => "Tiempo máximo de ejecución (s)", 'settings_maxExecutionTime' => "Tiempo máximo de ejecución (s)",
'settings_more_settings' => "Configure más parámetros. Acceso por omisión: admin/admin", 'settings_more_settings' => "Configure más parámetros. Acceso por defecto: admin/admin",
'settings_Notification' => "Parámetros de notificación", 'settings_Notification' => "Parámetros de notificación",
'settings_no_content_dir' => "Directorio de contenidos", 'settings_no_content_dir' => "Carpeta de contenidos",
'settings_notfound' => "No encontrado", 'settings_notfound' => "No encontrado",
'settings_notwritable' => "La configuración no se puede guardar porque el fichero de configuración no es escribible.", 'settings_notwritable' => "La configuración no se puede guardar porque el fichero de configuración no es escribible.",
'settings_partitionSize' => "Tamaño de fichero parcial", 'settings_partitionSize' => "Tamaño de fichero parcial",
@ -583,34 +738,37 @@ $text = array(
'settings_php_mbstring' => "Extensión PHP : php_mbstring", 'settings_php_mbstring' => "Extensión PHP : php_mbstring",
'settings_printDisclaimer_desc' => "Si es Verdadero el mensaje de renuncia de los ficheros lang.inc se mostratá al final de la página", 'settings_printDisclaimer_desc' => "Si es Verdadero el mensaje de renuncia de los ficheros lang.inc se mostratá al final de la página",
'settings_printDisclaimer' => "Mostrar renuncia", 'settings_printDisclaimer' => "Mostrar renuncia",
'settings_quota' => "Cuota de usuario",
'settings_quota_desc' => "El número máximo de bytes que el usuario puede ocupar en disco. Asignar 0 para no limitar el espacio de disco. Este valor puede ser sobreescrito por cada uso en su perfil.",
'settings_restricted_desc' => "Solo permitir conectar a usuarios si tienen alguna entrada en la base de datos local (independientemente de la autenticación correcta con LDAP)", 'settings_restricted_desc' => "Solo permitir conectar a usuarios si tienen alguna entrada en la base de datos local (independientemente de la autenticación correcta con LDAP)",
'settings_restricted' => "Acceso restringido", 'settings_restricted' => "Acceso restringido",
'settings_rootDir_desc' => "Ruta hacía la ubicación de SeedDMS", 'settings_rootDir_desc' => "Ruta hacía la ubicación de SeedDMS",
'settings_rootDir' => "Directorio raíz", 'settings_rootDir' => "Carpeta raíz",
'settings_rootFolderID_desc' => "ID de la carpeta raíz (normalmente no es necesario cambiar)", 'settings_rootFolderID_desc' => "ID de la carpeta raíz (normalmente no es necesario cambiar)",
'settings_rootFolderID' => "ID de la carpeta raíz", 'settings_rootFolderID' => "ID de la carpeta raíz",
'settings_SaveError' => "Error guardando archivo de configuración", 'settings_SaveError' => "Error guardando archivo de configuración",
'settings_Server' => "Configuración del servidor", 'settings_Server' => "Configuración del servidor",
'settings' => "Configuración", 'settings' => "Configuración",
'settings_siteDefaultPage_desc' => "Página por omisión al conectar. Si está vacío se dirige a out/out.ViewFolder.php", 'settings_siteDefaultPage_desc' => "Página por defecto al conectar. Si está vacío se dirige a out/out.ViewFolder.php",
'settings_siteDefaultPage' => "Página por omisión del sitio", 'settings_siteDefaultPage' => "Página por defecto del sitio",
'settings_siteName_desc' => "Nombre del sitio usado en los títulos de página. Por omisión: SeedDMS", 'settings_siteName_desc' => "Nombre del sitio usado en los títulos de página. Por defecto: SeedDMS",
'settings_siteName' => "Nombre del sitio", 'settings_siteName' => "Nombre del sitio",
'settings_Site' => "Sitio", 'settings_Site' => "Sitio",
'settings_smtpPort_desc' => "Puerto del servidor SMTP, por omisión 25", 'settings_smtpPort_desc' => "Puerto del servidor SMTP, por defecto 25",
'settings_smtpPort' => "Puerto del servidor SMTP", 'settings_smtpPort' => "Puerto del servidor SMTP",
'settings_smtpSendFrom_desc' => "Enviar desde", 'settings_smtpSendFrom_desc' => "Enviar desde",
'settings_smtpSendFrom' => "Enviar desde", 'settings_smtpSendFrom' => "Enviar desde",
'settings_smtpServer_desc' => "Nombre de servidor SMTP", 'settings_smtpServer_desc' => "Nombre de servidor SMTP",
'settings_smtpServer' => "Nombre de servidor SMTP", 'settings_smtpServer' => "Nombre de servidor SMTP",
'settings_SMTP' => "Configuración del servidor SMTP", 'settings_SMTP' => "Configuración del servidor SMTP",
'settings_stagingDir' => "Directorio para descargas parciales", 'settings_stagingDir' => "Carpeta para descargas parciales",
'settings_stagingDir_desc' => "Carpeta donde jumploader coloca los ficheros parciales antes de juntarlos.",
'settings_strictFormCheck_desc' => "Comprobación estricta de formulario. Si se configura como cierto, entonces se comprobará el valor de todos los campos del formulario. Si se configura como false, entonces (la mayor parte) de los comentarios y campos de palabras clave se convertirán en opcionales. Los comentarios siempre son obligatorios al enviar una revisión o sobreescribir el estado de un documento", 'settings_strictFormCheck_desc' => "Comprobación estricta de formulario. Si se configura como cierto, entonces se comprobará el valor de todos los campos del formulario. Si se configura como false, entonces (la mayor parte) de los comentarios y campos de palabras clave se convertirán en opcionales. Los comentarios siempre son obligatorios al enviar una revisión o sobreescribir el estado de un documento",
'settings_strictFormCheck' => "Comprobación estricta de formulario", 'settings_strictFormCheck' => "Comprobación estricta de formulario",
'settings_suggestionvalue' => "Valor sugerido", 'settings_suggestionvalue' => "Valor sugerido",
'settings_System' => "Sistema", 'settings_System' => "Sistema",
'settings_theme' => "Tema por omisión", 'settings_theme' => "Tema por defecto",
'settings_theme_desc' => "Estilo por omisión (nombre de una subcarpeta de la carpeta \"styles\")", 'settings_theme_desc' => "Estilo por defecto (nombre de una subcarpeta de la carpeta \"styles\")",
'settings_titleDisplayHack_desc' => "Solución para los títulos de página que tienen más de 2 lineas.", 'settings_titleDisplayHack_desc' => "Solución para los títulos de página que tienen más de 2 lineas.",
'settings_titleDisplayHack' => "Arreglo para mostrar título", 'settings_titleDisplayHack' => "Arreglo para mostrar título",
'settings_updateDatabase' => "Lanzar scripts de actualización de esquema en la base de datos", 'settings_updateDatabase' => "Lanzar scripts de actualización de esquema en la base de datos",
@ -620,10 +778,15 @@ $text = array(
'settings_versioningFileName' => "Archivo de versionado", 'settings_versioningFileName' => "Archivo de versionado",
'settings_viewOnlineFileTypes_desc' => "Archivos con una de las siguientes extensiones se pueden visualizar en linea (UTILICE SOLAMENTE CARACTERES EN MINÚSCULA)", 'settings_viewOnlineFileTypes_desc' => "Archivos con una de las siguientes extensiones se pueden visualizar en linea (UTILICE SOLAMENTE CARACTERES EN MINÚSCULA)",
'settings_viewOnlineFileTypes' => "Ver en lineas las extensiones de fichero", 'settings_viewOnlineFileTypes' => "Ver en lineas las extensiones de fichero",
'settings_workflowMode_desc' => "El flujo de trabajo avanzado permite especificar su propia versión de flujo para las versiones de documento.",
'settings_workflowMode' => "Workflow mode",
'settings_workflowMode_valtraditional' => "tradicional",
'settings_workflowMode_valadvanced' => "avanzado",
'settings_zendframework' => "Zend Framework", 'settings_zendframework' => "Zend Framework",
'signed_in_as' => "Conectado como", 'signed_in_as' => "Conectado como",
'sign_in' => "Conectar", 'sign_in' => "Conectar",
'sign_out' => "desconectar", 'sign_out' => "Salir",
'sign_out_user' => "Desconectar usuario",
'space_used_on_data_folder' => "Espacio usado en la carpeta de datos", 'space_used_on_data_folder' => "Espacio usado en la carpeta de datos",
'status_approval_rejected' => "Borrador rechazado", 'status_approval_rejected' => "Borrador rechazado",
'status_approved' => "Aprobado", 'status_approved' => "Aprobado",
@ -642,12 +805,22 @@ $text = array(
'submit_password_forgotten' => "Comenzar el proceso", 'submit_password_forgotten' => "Comenzar el proceso",
'submit_review' => "Enviar revisión", 'submit_review' => "Enviar revisión",
'submit_userinfo' => "Enviar información", 'submit_userinfo' => "Enviar información",
'substitute_user' => "Cambiar de usuario",
'sunday' => "Domingo", 'sunday' => "Domingo",
'sunday_abbr' => "D",
'switched_to' => "Cambiar a",
'theme' => "Tema gráfico", 'theme' => "Tema gráfico",
'thursday' => "Jueves", 'thursday' => "Jueves",
'thursday_abbr' => "J",
'toggle_manager' => "Intercambiar mánager", 'toggle_manager' => "Intercambiar mánager",
'to' => "Hasta", 'to' => "Hasta",
'transition_triggered_email' => "Workflow transition triggered",
'transition_triggered_email_subject' => "[sitename]: [name] - Workflow transition triggered",
'transition_triggered_email_body' => "Workflow transition triggered\r\nDocumento: [name]\r\nVersión: [version]\r\nComentario: [comment]\r\nFlujo de trabajo: [workflow]\r\nEstado previo: [previous_state]\r\nEstado actual: [current_state]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'trigger_workflow' => "Flujo de Trabajo",
'tuesday' => "Martes", 'tuesday' => "Martes",
'tuesday_abbr' => "M",
'type_to_search' => "Tipo de búsqueda",
'under_folder' => "En carpeta", 'under_folder' => "En carpeta",
'unknown_command' => "Orden no reconocida.", 'unknown_command' => "Orden no reconocida.",
'unknown_document_category' => "Categoría desconocida", 'unknown_document_category' => "Categoría desconocida",
@ -656,6 +829,8 @@ $text = array(
'unknown_keyword_category' => "Categoría desconocida", 'unknown_keyword_category' => "Categoría desconocida",
'unknown_owner' => "Id de propietario desconocido", 'unknown_owner' => "Id de propietario desconocido",
'unknown_user' => "ID de usuario desconocido", 'unknown_user' => "ID de usuario desconocido",
'unlinked_content' => "Contenido desvinculado",
'unlinking_objects' => "Objetos desvinculados",
'unlock_cause_access_mode_all' => "Puede actualizarlo porque tiene modo de acceso \"all\". El bloqueo será automaticamente eliminado.", 'unlock_cause_access_mode_all' => "Puede actualizarlo porque tiene modo de acceso \"all\". El bloqueo será automaticamente eliminado.",
'unlock_cause_locking_user' => "Puede actualizarlo porque fue quién lo bloqueó. El bloqueo será automáticamente eliminado.", 'unlock_cause_locking_user' => "Puede actualizarlo porque fue quién lo bloqueó. El bloqueo será automáticamente eliminado.",
'unlock_document' => "Desbloquear", 'unlock_document' => "Desbloquear",
@ -668,9 +843,12 @@ $text = array(
'update' => "Actualizar", 'update' => "Actualizar",
'uploaded_by' => "Enviado por", 'uploaded_by' => "Enviado por",
'uploading_failed' => "Envío (Upload) fallido. Por favor contacte con el Administrador.", 'uploading_failed' => "Envío (Upload) fallido. Por favor contacte con el Administrador.",
'uploading_zerosize' => "Subiendo un fichero vacío. -Subida cancelada.",
'use_default_categories' => "Utilizar categorías predefinidas", 'use_default_categories' => "Utilizar categorías predefinidas",
'use_default_keywords' => "Utilizar palabras claves por omisión", 'use_default_keywords' => "Utilizar palabras claves por defecto",
'used_discspace' => "Espacio de disco utilizado",
'user_exists' => "El usuario ya existe.", 'user_exists' => "El usuario ya existe.",
'user_group_management' => "Gestión de Usuarios/Grupos",
'user_image' => "Imagen", 'user_image' => "Imagen",
'user_info' => "Información de usuario", 'user_info' => "Información de usuario",
'user_list' => "Lista de usuarios", 'user_list' => "Lista de usuarios",
@ -680,16 +858,54 @@ $text = array(
'users' => "Usuarios", 'users' => "Usuarios",
'user' => "Usuario", 'user' => "Usuario",
'version_deleted_email' => "Versión eliminada", 'version_deleted_email' => "Versión eliminada",
'version_deleted_email_subject' => "[sitename]: [name] - Versión eliminada",
'version_deleted_email_body' => "Versión eliminada\r\nDocument: [name]\r\nVersión: [version]\r\nCarpeta principal: [folder_path]\r\nUsuario: [username]\r\nURL: [url]",
'version_info' => "Información de versión", 'version_info' => "Información de versión",
'versioning_file_creation' => "Creación de fichero de versiones", 'versioning_file_creation' => "Creación de fichero de versiones",
'versioning_file_creation_warning' => "Con esta operación usted puede crear un fichero que contenga la información de versiones de una carpeta del DMS completa. Después de la creación todos los ficheros se guardarán en la carpeta de documentos.", 'versioning_file_creation_warning' => "Con esta operación usted puede crear un fichero que contenga la información de versiones de una carpeta del DMS completa. Después de la creación todos los ficheros se guardarán en la carpeta de documentos.",
'versioning_info' => "Información de versiones", 'versioning_info' => "Información de versiones",
'version' => "Versión", 'version' => "Versión",
'view' => "Vista",
'view_online' => "Ver online", 'view_online' => "Ver online",
'warning' => "Advertencia", 'warning' => "Advertencia",
'wednesday' => "Miércoles", 'wednesday' => "Miércoles",
'week_view' => "Vista de semana", 'wednesday_abbr' => "X",
'year_view' => "Vista de año", 'week_view' => "Vista de la semana",
'weeks' => "semanas",
'workflow' => "Flujo de Trabajo",
'workflow_action_in_use' => "Esta acción está siendo usada por el flujo de trabajo.",
'workflow_action_name' => "Nombre",
'workflow_editor' => "Editor de Flujo de Trabajo",
'workflow_group_summary' => "Resumen de Grupo",
'workflow_name' => "Nombre",
'workflow_in_use' => "Este flujo de trabajo esta siendo usado por documentos.",
'workflow_initstate' => "Estado Inicial",
'workflow_management' => "Gestión Flujo de Trabajo",
'workflow_no_states' => "Debe definir un estado de flujo de trabajo, antes de añadir.",
'workflow_states_management' => "Gestión del estado de flujo de trabajo",
'workflow_actions_management' => "Gestión de acciones de flujo de trabajo",
'workflow_state_docstatus' => "Estado de Documento",
'workflow_state_in_use' => "Este estado está siendo usado por flujos de trabajo.",
'workflow_state_name' => "Nombre",
'workflow_summary' => "Resumen Flujo de Trabajo",
'workflow_user_summary' => "Resumen Usuario",
'year_view' => "Vista del año",
'yes' => "", 'yes' => "",
'ca_ES' => "Catala",
'cs_CZ' => "Czech",
'de_DE' => "Aleman",
'en_GB' => "Ingless (GB)",
'es_ES' => "Castellano",
'fr_FR' => "Frances",
'hu_HU' => "Hungaro",
'it_IT' => "Italiano",
'nl_NL' => "Holandes",
'pt_BR' => "Portuges (BR)",
'ru_RU' => "Russo",
'sk_SK' => "Slovaco",
'sv_SE' => "Sueco",
'zh_CN' => "Chino (CN)",
'zh_TW' => "Chino (TW)",
); );
?> ?>

View File

@ -29,10 +29,21 @@ $text = array(
'access_mode_read' => "Lecture", 'access_mode_read' => "Lecture",
'access_mode_readwrite' => "Lecture-Ecriture", 'access_mode_readwrite' => "Lecture-Ecriture",
'access_permission_changed_email' => "Permission modifiée", 'access_permission_changed_email' => "Permission modifiée",
'access_permission_changed_email_subject' => "[sitename]: [name] - Permission modifiée",
'access_permission_changed_email_body' => "Permission modifiée\r\nDocument: [name]\r\nDossier parent: [folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'according_settings' => "Paramètres en fonction", 'according_settings' => "Paramètres en fonction",
'action' => "Action",
'action_approve' => "Aprouver",
'action_complete' => "Compléter",
'action_is_complete' => "Complet",
'action_is_not_complete' => "Non complet",
'action_reject' => "Rejeter",
'action_review' => "Vérifier",
'action_revise' => "Réviser",
'actions' => "Actions", 'actions' => "Actions",
'add' => "Ajouter", 'add' => "Ajouter",
'add_doc_reviewer_approver_warning' => "N.B. Les documents sont automatiquement marqués comme publiés si il n'y a pas de correcteur ou d'approbateur désigné.", 'add_doc_reviewer_approver_warning' => "N.B. Les documents sont automatiquement marqués comme publiés si il n'y a pas de correcteur ou d'approbateur désigné.",
'add_doc_workflow_warning' => "N.B. Les documents sont automatiquement marqués comme publiés si aucun workflow est désigné.",
'add_document' => "Ajouter un document", 'add_document' => "Ajouter un document",
'add_document_link' => "Ajouter un lien", 'add_document_link' => "Ajouter un lien",
'add_event' => "Ajouter un événement", 'add_event' => "Ajouter un événement",
@ -41,8 +52,12 @@ $text = array(
'add_multiple_documents' => "Ajouter plusieurs documents", 'add_multiple_documents' => "Ajouter plusieurs documents",
'add_multiple_files' => "Ajouter plusieurs fichiers (le nom du fichier servira de nom de document)", 'add_multiple_files' => "Ajouter plusieurs fichiers (le nom du fichier servira de nom de document)",
'add_subfolder' => "Ajouter un sous-dossier", 'add_subfolder' => "Ajouter un sous-dossier",
'add_to_clipboard' => "Ajouter au presse-papiers",
'add_user' => "Ajouter un utilisateur", 'add_user' => "Ajouter un utilisateur",
'add_user_to_group' => "Ajouter utilisateur dans groupe", 'add_user_to_group' => "Ajouter un utilisateur au groupe",
'add_workflow' => "Ajouter un workflow",
'add_workflow_state' => "Ajouter un nouvel état de workflow",
'add_workflow_action' => "Ajouter une nouvelle action de workflow",
'admin' => "Administrateur", 'admin' => "Administrateur",
'admin_tools' => "Outils d'administration", 'admin_tools' => "Outils d'administration",
'all' => "Tous", 'all' => "Tous",
@ -56,24 +71,26 @@ $text = array(
'approval_deletion_email' => "Demande d'approbation supprimée", 'approval_deletion_email' => "Demande d'approbation supprimée",
'approval_group' => "Groupe d'approbation", 'approval_group' => "Groupe d'approbation",
'approval_request_email' => "Demande d'approbation", 'approval_request_email' => "Demande d'approbation",
'approval_request_email_subject' => "[sitename]: [name] - Demande d'approbation",
'approval_request_email_body' => "Demande d'approbation\r\nDocument: [name]\r\nVersion: [version]\r\nDossier parent: [folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'approval_status' => "Statut d'approbation", 'approval_status' => "Statut d'approbation",
'approval_submit_email' => "Approbation soumise", 'approval_submit_email' => "Approbation soumise",
'approval_summary' => "Sommaire d'approbation", 'approval_summary' => "Sommaire d'approbation",
'approval_update_failed' => "Erreur de la mise à jour du statut d'approbation. Echec de la mise à jour.", 'approval_update_failed' => "Erreur de la mise à jour du statut d'approbation. Echec de la mise à jour.",
'approvers' => "Approbateurs", 'approvers' => "Approbateurs",
'april' => "Avril", 'april' => "Avril",
'archive_creation' => "Création d'archivage", 'archive_creation' => "Création d'archive",
'archive_creation_warning' => "Avec cette fonction, vous pouvez créer une archive contenant les fichiers de tout les dossiers DMS. Après la création, l'archive sera sauvegardé dans le dossier de données de votre serveur.<br> AVERTISSEMENT: Une archive créée comme lisible par l'homme sera inutilisable en tant que sauvegarde du serveur.", 'archive_creation_warning' => "Avec cette fonction, vous pouvez créer une archive contenant les fichiers de tout les dossiers DMS. Après la création, l'archive sera sauvegardé dans le dossier de données de votre serveur.<br> AVERTISSEMENT: Une archive créée ainsi sera inutilisable en tant que sauvegarde du serveur.",
'assign_approvers' => "Approbateurs désignés", 'assign_approvers' => "Approbateurs désignés",
'assign_reviewers' => "Correcteurs désignés", 'assign_reviewers' => "Correcteurs désignés",
'assign_user_property_to' => "Assign user's properties to", 'assign_user_property_to' => "Assigner les propriétés de l'utilisateur à",
'assumed_released' => "Supposé publié", 'assumed_released' => "Supposé publié",
'attrdef_management' => "Gestion des définitions d'attributs", 'attrdef_management' => "Gestion des définitions d'attributs",
'attrdef_exists' => "La définition d'attribut existe déjà", 'attrdef_exists' => "La définition d'attribut existe déjà",
'attrdef_in_use' => "La définition d'attribut est en cours d'utilisation", 'attrdef_in_use' => "La définition d'attribut est en cours d'utilisation",
'attrdef_name' => "Nom", 'attrdef_name' => "Nom",
'attrdef_multiple' => "Permettre des valeurs multiples", 'attrdef_multiple' => "Permettre des valeurs multiples",
'attrdef_objtype' => "Type d'objet", 'attrdef_objtype' => "Type objet",
'attrdef_type' => "Type", 'attrdef_type' => "Type",
'attrdef_minvalues' => "Nombre minimum de valeurs", 'attrdef_minvalues' => "Nombre minimum de valeurs",
'attrdef_maxvalues' => "Nombre maximum de valeurs", 'attrdef_maxvalues' => "Nombre maximum de valeurs",
@ -85,24 +102,25 @@ $text = array(
'backup_list' => "Liste de sauvegardes existantes", 'backup_list' => "Liste de sauvegardes existantes",
'backup_remove' => "Supprimer le fichier de sauvegarde", 'backup_remove' => "Supprimer le fichier de sauvegarde",
'backup_tools' => "Outils de sauvegarde", 'backup_tools' => "Outils de sauvegarde",
'backup_log_management' => "Sauvegarde/Log",
'between' => "entre", 'between' => "entre",
'calendar' => "Agenda", 'calendar' => "Agenda",
'cancel' => "Annuler", 'cancel' => "Annuler",
'cannot_assign_invalid_state' => "Impossible de modifier un document obsolète ou rejeté", 'cannot_assign_invalid_state' => "Impossible de modifier un document obsolète ou rejeté",
'cannot_change_final_states' => "Attention: Vous ne pouvez pas modifier le statut d'un document rejeté, expiré ou en attente de révision ou d'approbation", 'cannot_change_final_states' => "Attention: Vous ne pouvez pas modifier le statut d'un document rejeté, expiré ou en attente de révision ou d'approbation",
'cannot_delete_yourself' => "Vous ne pouvez pas supprimer vous-même", 'cannot_delete_yourself' => "Vous ne pouvez pas vous supprimer",
'cannot_move_root' => "Erreur : Impossible de déplacer le dossier racine.", 'cannot_move_root' => "Erreur : Impossible de déplacer le dossier racine.",
'cannot_retrieve_approval_snapshot' => "Impossible de retrouver l'instantané de statut d'approbation pour cette version de document.", 'cannot_retrieve_approval_snapshot' => "Impossible de retrouver l'instantané de statut d'approbation pour cette version de document.",
'cannot_retrieve_review_snapshot' => "Impossible de retrouver l'instantané de statut de correction pour cette version du document.", 'cannot_retrieve_review_snapshot' => "Impossible de retrouver l'instantané de statut de correction pour cette version du document.",
'cannot_rm_root' => "Erreur : Dossier racine ineffaçable.", 'cannot_rm_root' => "Erreur : Dossier racine ineffaçable.",
'category' => "Catégorie", 'category' => "Catégorie",
'category_exists' => "Catégorie existe déjà.", 'category_exists' => "Catégorie déjà existante.",
'category_filter' => "Uniquement les catégories", 'category_filter' => "Uniquement les catégories",
'category_in_use' => "This category is currently used by documents.", 'category_in_use' => "Cette catégorie est en cours d'utilisation par des documents.",
'category_noname' => "Aucun nom de catégorie fourni.", 'category_noname' => "Aucun nom de catégorie fourni.",
'categories' => "Catégories", 'categories' => "Catégories",
'change_assignments' => "Changer affectations", 'change_assignments' => "Changer d'affectations",
'change_password' => "Changer mot de passe", 'change_password' => "Changer de mot de passe",
'change_password_message' => "Votre mot de passe a été changé.", 'change_password_message' => "Votre mot de passe a été changé.",
'change_status' => "Modifier le statut", 'change_status' => "Modifier le statut",
'choose_attrdef' => "Choisissez une définition d'attribut", 'choose_attrdef' => "Choisissez une définition d'attribut",
@ -110,9 +128,13 @@ $text = array(
'choose_group' => "Choisir un groupe", 'choose_group' => "Choisir un groupe",
'choose_target_category' => "Choisir une catégorie", 'choose_target_category' => "Choisir une catégorie",
'choose_target_document' => "Choisir un document", 'choose_target_document' => "Choisir un document",
'choose_target_file' => "Choose un fichier",
'choose_target_folder' => "Choisir un dossier cible", 'choose_target_folder' => "Choisir un dossier cible",
'choose_user' => "Choisir un utilisateur", 'choose_user' => "Choisir un utilisateur",
'comment_changed_email' => "Commentaire changé", 'choose_workflow' => "Choisir un workflow",
'choose_workflow_state' => "Choisir un état de workflow",
'choose_workflow_action' => "Choose une action de workflow",
'close' => "Close",
'comment' => "Commentaire", 'comment' => "Commentaire",
'comment_for_current_version' => "Commentaires pour la version actuelle", 'comment_for_current_version' => "Commentaires pour la version actuelle",
'confirm_create_fulltext_index' => "Oui, je souhaite recréer l'index de texte intégral!", 'confirm_create_fulltext_index' => "Oui, je souhaite recréer l'index de texte intégral!",
@ -131,47 +153,70 @@ $text = array(
'content' => "Contenu", 'content' => "Contenu",
'continue' => "Continuer", 'continue' => "Continuer",
'create_fulltext_index' => "Créer un index de texte intégral", 'create_fulltext_index' => "Créer un index de texte intégral",
'create_fulltext_index_warning' => "Vous allez recréer l'index de texte intégral. Cela peut prendre une grande quantité de temps et de réduire les performances de votre système dans son ensemble. Si vous voulez vraiment recréer l'index, merci de confirmer votre opération.", 'create_fulltext_index_warning' => "Vous allez recréer l'index de texte intégral. Cela peut prendre une grande quantité de temps et réduire les performances de votre système dans son ensemble. Si vous voulez vraiment recréer l'index, merci de confirmer votre opération.",
'creation_date' => "Créé le", 'creation_date' => "Créé le",
'current_password' => "Mot de passe actuel", 'current_password' => "Mot de passe actuel",
'current_version' => "Version actuelle", 'current_version' => "Version actuelle",
'daily' => "Journalier", 'daily' => "Journalier",
'days' => "jours",
'databasesearch' => "Recherche dans la base de données", 'databasesearch' => "Recherche dans la base de données",
'date' => "Date",
'december' => "Décembre", 'december' => "Décembre",
'default_access' => "Droits d'accès par défaut", 'default_access' => "Droits d'accès par défaut",
'default_keywords' => "Mots-clés disponibles", 'default_keywords' => "Mots-clés disponibles",
'definitions' => "Définitions",
'delete' => "Supprimer", 'delete' => "Supprimer",
'details' => "Détails", 'details' => "Détails",
'details_version' => "Détails de la version: [version]", 'details_version' => "Détails de la version: [version]",
'disclaimer' => "Cet espace est protégé. Son accès est strictement réservé aux utilisateurs autorisés.<br/>Tout accès non autorisé est punissable par les lois internationales.", 'disclaimer' => "Cet espace est protégé. Son accès est strictement réservé aux utilisateurs autorisés.<br/>Tout accès non autorisé est punissable par les lois internationales.",
'do_object_repair' => "Réparer tous les dossiers et documents.", 'do_object_repair' => "Réparer tous les dossiers et documents.",
'do_object_setfilesize' => "Définir la taille du fichier",
'do_object_setchecksum' => "Définir checksum",
'do_object_unlink' => "Supprimer la version du document",
'document_already_locked' => "Ce document est déjà verrouillé", 'document_already_locked' => "Ce document est déjà verrouillé",
'document_comment_changed_email' => "Commentaire modifié",
'document_comment_changed_email_subject' => "[sitename]: [name] - Commentaire modifié",
'document_comment_changed_email_body' => "Commentaire modifié\r\nDocument: [name]\r\nAncien commentaire: [old_comment]\r\nCommentaire: [new_comment]\r\nDossier parent: [folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'document_deleted' => "Document supprimé", 'document_deleted' => "Document supprimé",
'document_deleted_email' => "Document supprimé", 'document_deleted_email' => "Document supprimé",
'document_deleted_email_subject' => "[sitename]: [name] - ocument supprimé",
'document_deleted_email_body' => "ocument supprimé\r\nDocument: [name]\r\nDossier parent: [folder_path]\r\nUtilisateur: [username]",
'document_duplicate_name' => "Dupliquer le nom de document",
'document' => "Document", 'document' => "Document",
'document_has_no_workflow' => "Le document n'a pas de workflow",
'document_infos' => "Informations sur le document", 'document_infos' => "Informations sur le document",
'document_is_not_locked' => "Ce document n'est pas verrouillé", 'document_is_not_locked' => "Ce document n'est pas verrouillé",
'document_link_by' => "Liés par", 'document_link_by' => "Lié par",
'document_link_public' => "Public", 'document_link_public' => "Public",
'document_moved_email' => "Document déplacé", 'document_moved_email' => "Document déplacé",
'document_moved_email_subject' => "[sitename]: [name] - Document déplacé",
'document_moved_email_body' => "Document déplacé\r\nDocument: [name]\r\nAncien dossier: [old_folder_path]\r\nNouveau dossier: [new_folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'document_renamed_email' => "Document renommé", 'document_renamed_email' => "Document renommé",
'document_renamed_email_subject' => "[sitename]: [name] - Document renommé",
'document_renamed_email_body' => "Document renommé\r\nDocument: [name]\r\nDossier parent: [folder_path]\r\nAncien nom: [old_name]\r\nUtilisateur: [username]\r\nURL: [url]",
'documents' => "Documents", 'documents' => "Documents",
'documents_in_process' => "Documents en cours", 'documents_in_process' => "Documents en cours",
'documents_locked_by_you' => "Documents verrouillés", 'documents_locked_by_you' => "Documents verrouillés",
'documents_only' => "documents uniquement", 'documents_only' => "Documents uniquement",
'document_status_changed_email' => "Statut du document modifié", 'document_status_changed_email' => "Statut du document modifié",
'document_status_changed_email_subject' => "[sitename]: [name] - Statut du document modifié",
'document_status_changed_email_body' => "Statut du document modifié\r\nDocument: [name]\r\nStatut: [status]\r\nDossier parent: [folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'documents_to_approve' => "Documents en attente d'approbation", 'documents_to_approve' => "Documents en attente d'approbation",
'documents_to_review' => "Documents en attente de correction", 'documents_to_review' => "Documents en attente de correction",
'documents_user_requiring_attention' => "Documents à surveiller", 'documents_user_requiring_attention' => "Documents à surveiller",
'document_title' => "Document '[documentname]'", 'document_title' => "Document '[documentname]'",
'document_updated_email' => "Document mis à jour", 'document_updated_email' => "Document mis à jour",
'document_updated_email_subject' => "[sitename]: [name] - Document mis à jour",
'document_updated_email_body' => "Document mis à jour\r\nDocument: [name]\r\nDossier parent: [folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'does_not_expire' => "N'expire jamais", 'does_not_expire' => "N'expire jamais",
'does_not_inherit_access_msg' => "Accès hérité", 'does_not_inherit_access_msg' => "Accès hérité",
'download' => "Téléchargement", 'download' => "Téléchargement",
'drag_icon_here' => "Glisser/déposer le fichier ou document ici!",
'draft_pending_approval' => "Ebauche - En cours d'approbation", 'draft_pending_approval' => "Ebauche - En cours d'approbation",
'draft_pending_review' => "Ebauche - En cours de correction", 'draft_pending_review' => "Ebauche - En cours de correction",
'dropfolder_file' => "Fichier du dossier déposé",
'dump_creation' => "création sauvegarde BD", 'dump_creation' => "création sauvegarde BD",
'dump_creation_warning' => "Avec cette opération, vous pouvez une sauvegarde du contenu de votre base de données. Après la création, le fichier de sauvegarde sera sauvegardé dans le dossier de données de votre serveur.", 'dump_creation_warning' => "Avec cette opération, vous pouvez créer une sauvegarde du contenu de votre base de données. Après la création, le fichier de sauvegarde sera sauvegardé dans le dossier de données de votre serveur.",
'dump_list' => "Fichiers de sauvegarde existants", 'dump_list' => "Fichiers de sauvegarde existants",
'dump_remove' => "Supprimer fichier de sauvegarde", 'dump_remove' => "Supprimer fichier de sauvegarde",
'edit_attributes' => "Modifier les attributs", 'edit_attributes' => "Modifier les attributs",
@ -182,10 +227,10 @@ $text = array(
'edit_document_props' => "Modifier le document", 'edit_document_props' => "Modifier le document",
'edit' => "Modifier", 'edit' => "Modifier",
'edit_event' => "Modifier l'événement", 'edit_event' => "Modifier l'événement",
'edit_existing_access' => "Modifier les droits d'accès", 'edit_existing_access' => "Modifier la liste des droits d'accès",
'edit_existing_notify' => "Modifier les notifications", 'edit_existing_notify' => "Modifier les notifications",
'edit_folder_access' => "Modifier les droits d'accès", 'edit_folder_access' => "Modifier les droits d'accès",
'edit_folder_notify' => "Notification de dossiers", 'edit_folder_notify' => "Liste de notification de dossiers",
'edit_folder_props' => "Modifier le dossier", 'edit_folder_props' => "Modifier le dossier",
'edit_group' => "Modifier un groupe", 'edit_group' => "Modifier un groupe",
'edit_user_details' => "Modifier les détails d'utilisateur", 'edit_user_details' => "Modifier les détails d'utilisateur",
@ -195,7 +240,9 @@ $text = array(
'email_footer' => "Vous pouvez modifier les paramètres de messagerie via 'Mon compte'.", 'email_footer' => "Vous pouvez modifier les paramètres de messagerie via 'Mon compte'.",
'email_header' => "Ceci est un message automatique généré par le serveur DMS.", 'email_header' => "Ceci est un message automatique généré par le serveur DMS.",
'email_not_given' => "SVP Entrer une adresse email valide.", 'email_not_given' => "SVP Entrer une adresse email valide.",
'empty_folder_list' => "Pas de documents ou de dossier",
'empty_notify_list' => "Aucune entrée", 'empty_notify_list' => "Aucune entrée",
'equal_transition_states' => "Etat de début et fin identique",
'error' => "Erreur", 'error' => "Erreur",
'error_no_document_selected' => "Aucun document sélectionné", 'error_no_document_selected' => "Aucun document sélectionné",
'error_no_folder_selected' => "Aucun dossier sélectionné", 'error_no_folder_selected' => "Aucun dossier sélectionné",
@ -204,29 +251,44 @@ $text = array(
'expired' => "Expiré", 'expired' => "Expiré",
'expires' => "Expiration", 'expires' => "Expiration",
'expiry_changed_email' => "Date d'expiration modifiée", 'expiry_changed_email' => "Date d'expiration modifiée",
'expiry_changed_email_subject' => "[sitename]: [name] - Date d'expiration modifiée",
'expiry_changed_email_body' => "EDate d'expiration modifiée\r\nDocument: [name]\r\nDossier parent: [folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'february' => "Février", 'february' => "Février",
'file' => "Fichier", 'file' => "Fichier",
'files_deletion' => "Suppression de fichiers", 'files_deletion' => "Suppression de fichiers",
'files_deletion_warning' => "Avec cette option, vous pouvez supprimer tous les fichiers d'un dossier DMS. Les informations de version resteront visible.", 'files_deletion_warning' => "Avec cette option, vous pouvez supprimer tous les fichiers d'un dossier DMS. Les informations de version resteront visible.",
'files' => "Fichiers", 'files' => "Fichiers",
'file_size' => "Taille", 'file_size' => "Taille",
'folder_comment_changed_email' => "Commentaire changé",
'folder_comment_changed_email_subject' => "[sitename]: [folder] - Commentaire changé",
'folder_comment_changed_email_body' => "Commentaire changé\r\nDossier: [name]\r\nVersion: [version]\r\nAncien commentaire: [old_comment]\r\nCommentaire: [new_comment]\r\nDossier parent: [folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'folder_contents' => "Dossiers", 'folder_contents' => "Dossiers",
'folder_deleted_email' => "Dossier supprimé", 'folder_deleted_email' => "Dossier supprimé",
'folder_deleted_email_subject' => "[sitename]: [name] - Dossier supprimé",
'folder_deleted_email_body' => "Dossier supprimé\r\nDossier: [name]\r\nDossier parent: [folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'folder' => "Dossier", 'folder' => "Dossier",
'folder_infos' => "Informations sur le dossier", 'folder_infos' => "Informations sur le dossier",
'folder_moved_email' => "Dossier déplacé", 'folder_moved_email' => "Dossier déplacé",
'folder_moved_email_subject' => "[sitename]: [name] - Dossier déplacé",
'folder_moved_email_body' => "Dossier déplacé\r\nDossier: [name]\r\nAncien dossier: [old_folder_path]\r\nNouveau dossier: [new_folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'folder_renamed_email' => "Dossier renommé", 'folder_renamed_email' => "Dossier renommé",
'folder_renamed_email_subject' => "[sitename]: [name] - Dossier renommé",
'folder_renamed_email_body' => "Dossier renommé\r\nDossier: [name]\r\nDossier parent: [folder_path]\r\nAncien nom: [old_name]\r\nUtilisateur: [username]\r\nURL: [url]",
'folders_and_documents_statistic' => "Aperçu du contenu", 'folders_and_documents_statistic' => "Aperçu du contenu",
'folders' => "Dossiers", 'folders' => "Dossiers",
'folder_title' => "Dossier '[foldername]'", 'folder_title' => "Dossier '[foldername]'",
'friday' => "Vendredi", 'friday' => "Vendredi",
'friday_abbr' => "Ven.",
'from' => "Du", 'from' => "Du",
'fullsearch' => "Recherche dans le contenu", 'fullsearch' => "Recherche dans le contenu",
'fullsearch_hint' => "Recherche dans le contenu", 'fullsearch_hint' => "Utiliser la recherche fulltext",
'fulltext_info' => "Fulltext index info", 'fulltext_info' => "Information Index Fulltext",
'global_attributedefinitions' => "Définitions d'attributs", 'global_attributedefinitions' => "Définitions d'attributs",
'global_default_keywords' => "Mots-clés globaux", 'global_default_keywords' => "Mots-clés globaux",
'global_document_categories' => "Catégories", 'global_document_categories' => "Catégories",
'global_workflows' => "Workflows",
'global_workflow_actions' => "Action de Workflow",
'global_workflow_states' => "Etat de Workflow",
'group_approval_summary' => "Résumé groupe d'approbation", 'group_approval_summary' => "Résumé groupe d'approbation",
'group_exists' => "Ce groupe existe déjà.", 'group_exists' => "Ce groupe existe déjà.",
'group' => "Groupe", 'group' => "Groupe",
@ -235,24 +297,28 @@ $text = array(
'group_review_summary' => "Résumé groupe correcteur", 'group_review_summary' => "Résumé groupe correcteur",
'groups' => "Groupes", 'groups' => "Groupes",
'guest_login_disabled' => "Connexion d'invité désactivée.", 'guest_login_disabled' => "Connexion d'invité désactivée.",
'guest_login' => "Connecter comme invité", 'guest_login' => "Se connecter comme invité",
'help' => "Aide", 'help' => "Aide",
'hourly' => "Une fois par heure", 'hourly' => "Une fois par heure",
'hours' => "heures",
'human_readable' => "Archive lisible par l'homme", 'human_readable' => "Archive lisible par l'homme",
'id' => "ID",
'identical_version' => "Nouvelle version identique à l'actuelle.",
'include_documents' => "Inclure les documents", 'include_documents' => "Inclure les documents",
'include_subdirectories' => "Inclure les sous-dossiers", 'include_subdirectories' => "Inclure les sous-dossiers",
'index_converters' => "Index document conversion", 'index_converters' => "Conversion de document Index",
'individuals' => "Individuels", 'individuals' => "Individuels",
'inherited' => "hérité",
'inherits_access_msg' => "L'accès est hérité.", 'inherits_access_msg' => "L'accès est hérité.",
'inherits_access_copy_msg' => "Copier la liste des accès hérités", 'inherits_access_copy_msg' => "Copier la liste des accès hérités",
'inherits_access_empty_msg' => "Commencer avec une liste d'accès vide", 'inherits_access_empty_msg' => "Commencer avec une liste d'accès vide",
'internal_error_exit' => "Erreur interne. Impossible d'achever la demande. Sortie du programme.", 'internal_error_exit' => "Erreur interne. Impossible d'achever la demande. Sortie du programme.",
'internal_error' => "Erreur interne", 'internal_error' => "Erreur interne",
'invalid_access_mode' => "droits d'accès invalides", 'invalid_access_mode' => "Droits d'accès invalides",
'invalid_action' => "Action invalide", 'invalid_action' => "Action invalide",
'invalid_approval_status' => "Statut d'approbation invalide", 'invalid_approval_status' => "Statut d'approbation invalide",
'invalid_create_date_end' => "Date de fin invalide pour la plage de dates de création.", 'invalid_create_date_end' => "Date de fin invalide pour la plage de dates de création.",
'invalid_create_date_start' => "Date de départ invalide pour la plage de dates de création.", 'invalid_create_date_start' => "Date de début invalide pour la plage de dates de création.",
'invalid_doc_id' => "Identifiant de document invalide", 'invalid_doc_id' => "Identifiant de document invalide",
'invalid_file_id' => "Identifiant de fichier invalide", 'invalid_file_id' => "Identifiant de fichier invalide",
'invalid_folder_id' => "Identifiant de dossier invalide", 'invalid_folder_id' => "Identifiant de dossier invalide",
@ -266,6 +332,7 @@ $text = array(
'invalid_target_folder' => "Identifiant de dossier cible invalide", 'invalid_target_folder' => "Identifiant de dossier cible invalide",
'invalid_user_id' => "Identifiant utilisateur invalide", 'invalid_user_id' => "Identifiant utilisateur invalide",
'invalid_version' => "Version de document invalide", 'invalid_version' => "Version de document invalide",
'in_workflow' => "Dans le workflow",
'is_disabled' => "Compte désactivé", 'is_disabled' => "Compte désactivé",
'is_hidden' => "Cacher de la liste utilisateur", 'is_hidden' => "Cacher de la liste utilisateur",
'january' => "Janvier", 'january' => "Janvier",
@ -282,15 +349,17 @@ $text = array(
'js_no_query' => "Saisir une requête", 'js_no_query' => "Saisir une requête",
'js_no_review_group' => "SVP Sélectionner un groupe de correcteur", 'js_no_review_group' => "SVP Sélectionner un groupe de correcteur",
'js_no_review_status' => "SVP Sélectionner le statut de correction", 'js_no_review_status' => "SVP Sélectionner le statut de correction",
'js_pwd_not_conf' => "Mot de passe et Confirmation de mot de passe non identiques", 'js_pwd_not_conf' => "Mot de passe et confirmation de mot de passe non identiques",
'js_select_user_or_group' => "Sélectionner au moins un utilisateur ou un groupe", 'js_select_user_or_group' => "Sélectionner au moins un utilisateur ou un groupe",
'js_select_user' => "SVP Sélectionnez un utilisateur", 'js_select_user' => "SVP Sélectionnez un utilisateur",
'july' => "Juillet", 'july' => "Juillet",
'june' => "Juin", 'june' => "Juin",
'keep_doc_status' => "Garder le statut du document",
'keyword_exists' => "Mot-clé déjà existant", 'keyword_exists' => "Mot-clé déjà existant",
'keywords' => "Mots-clés", 'keywords' => "Mots-clés",
'language' => "Langue", 'language' => "Langue",
'last_update' => "Dernière modification", 'last_update' => "Dernière modification",
'legend' => "Légende",
'link_alt_updatedocument' => "Pour déposer des fichiers de taille supérieure, utilisez la <a href=\"%s\">page d'ajout multiple</a>.", 'link_alt_updatedocument' => "Pour déposer des fichiers de taille supérieure, utilisez la <a href=\"%s\">page d'ajout multiple</a>.",
'linked_documents' => "Documents liés", 'linked_documents' => "Documents liés",
'linked_files' => "Fichiers attachés", 'linked_files' => "Fichiers attachés",
@ -312,7 +381,14 @@ $text = array(
'march' => "Mars", 'march' => "Mars",
'max_upload_size' => "Taille maximum de fichier déposé", 'max_upload_size' => "Taille maximum de fichier déposé",
'may' => "Mai", 'may' => "Mai",
'mimetype' => "Type mime",
'misc' => "Divers",
'missing_checksum' => "Checksum manquante",
'missing_filesize' => "Taille de fichier manquante",
'missing_transition_user_group' => "Utilisateur/groupe manquant pour transition",
'minutes' => "minutes",
'monday' => "Lundi", 'monday' => "Lundi",
'monday_abbr' => "Lun.",
'month_view' => "Vue par mois", 'month_view' => "Vue par mois",
'monthly' => "Mensuel", 'monthly' => "Mensuel",
'move_document' => "Déplacer le document", 'move_document' => "Déplacer le document",
@ -326,16 +402,23 @@ $text = array(
'new_default_keywords' => "Ajouter des mots-clés", 'new_default_keywords' => "Ajouter des mots-clés",
'new_document_category' => "Ajouter une catégorie", 'new_document_category' => "Ajouter une catégorie",
'new_document_email' => "Nouveau document", 'new_document_email' => "Nouveau document",
'new_document_email_subject' => "[sitename]: [folder_name] - Nouveau document",
'new_document_email_body' => "Nouveau document\r\nNom: [name]\r\nDossier parent: [folder_path]\r\nCommentaire: [comment]\r\nCommentaire de version: [version_comment]\r\nUtilisateur: [username]\r\nURL: [url]",
'new_file_email' => "Nouvel attachement", 'new_file_email' => "Nouvel attachement",
'new_file_email_subject' => "[sitename]: [document] - Nouvel attachement",
'new_file_email_body' => "Nouvel attachement\r\nName: [name]\r\nDocument: [document]\r\nCommentaire: [comment]\r\nUtilisateur: [username]\r\nURL: [url]",
'new_folder' => "Nouveau dossier", 'new_folder' => "Nouveau dossier",
'new_password' => "Nouveau mot de passe", 'new_password' => "Nouveau mot de passe",
'new' => "Nouveau", 'new' => "Nouveau",
'new_subfolder_email' => "Nouveau dossier", 'new_subfolder_email' => "Nouveau dossier",
'new_subfolder_email_subject' => "[sitename]: [name] - Nouveau dossier",
'new_subfolder_email_body' => "Nouveau dossier\r\nName: [name]\r\nDossier parent: [folder_path]\r\nCommentaire: [comment]\r\nUtilisateur: [username]\r\nURL: [url]",
'new_user_image' => "Nouvelle image", 'new_user_image' => "Nouvelle image",
'next_state' => "Nouvel état",
'no_action' => "Aucune action n'est nécessaire", 'no_action' => "Aucune action n'est nécessaire",
'no_approval_needed' => "Aucune approbation en attente", 'no_approval_needed' => "Aucune approbation en attente",
'no_attached_files' => "Aucun fichier attaché", 'no_attached_files' => "Aucun fichier attaché",
'no_default_keywords' => "Aucun mot-clé valide", 'no_default_keywords' => "Aucun mot-clé disponible",
'no_docs_locked' => "Aucun document verrouillé", 'no_docs_locked' => "Aucun document verrouillé",
'no_docs_to_approve' => "Aucun document ne nécessite actuellement une approbation", 'no_docs_to_approve' => "Aucun document ne nécessite actuellement une approbation",
'no_docs_to_look_at' => "Aucun document à surveiller", 'no_docs_to_look_at' => "Aucun document à surveiller",
@ -348,7 +431,11 @@ $text = array(
'no_previous_versions' => "Aucune autre version trouvée", 'no_previous_versions' => "Aucune autre version trouvée",
'no_review_needed' => "Aucune correction en attente", 'no_review_needed' => "Aucune correction en attente",
'notify_added_email' => "Vous avez été ajouté à la liste des notifications.", 'notify_added_email' => "Vous avez été ajouté à la liste des notifications.",
'notify_added_email_subject' => "[sitename]: [name] - Ajouté à la liste des notifications",
'notify_added_email_body' => "Ajouté à la liste des notifications\r\nNom: [name]\r\nDossier parent: [folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'notify_deleted_email' => "Vous avez été supprimé de la liste des notifications.", 'notify_deleted_email' => "Vous avez été supprimé de la liste des notifications.",
'notify_deleted_email_subject' => "[sitename]: [name] - Supprimé de la liste des notifications",
'notify_deleted_email_body' => "Supprimé de la liste des notifications\r\nNom: [name]\r\nDossier parent: [folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'no_update_cause_locked' => "Vous ne pouvez actuellement pas mettre à jour ce document. Contactez l'utilisateur qui l'a verrouillé.", 'no_update_cause_locked' => "Vous ne pouvez actuellement pas mettre à jour ce document. Contactez l'utilisateur qui l'a verrouillé.",
'no_user_image' => "Aucune image trouvée", 'no_user_image' => "Aucune image trouvée",
'november' => "Novembre", 'november' => "Novembre",
@ -358,8 +445,11 @@ $text = array(
'october' => "Octobre", 'october' => "Octobre",
'old' => "Ancien", 'old' => "Ancien",
'only_jpg_user_images' => "Images d'utilisateur au format .jpg seulement", 'only_jpg_user_images' => "Images d'utilisateur au format .jpg seulement",
'original_filename' => "Nom de fichier original",
'owner' => "Propriétaire", 'owner' => "Propriétaire",
'ownership_changed_email' => "Propriétaire modifié", 'ownership_changed_email' => "Propriétaire modifié",
'ownership_changed_email_subject' => "[sitename]: [name] - Propriétaire modifié",
'ownership_changed_email_body' => "Propriétaire modifié\r\nDocument: [name]\r\nDossier parent: [folder_path]\r\nAncien propriétaire: [old_owner]\r\nNouveau propriétaire: [new_owner]\r\nUtilisateur: [username]\r\nURL: [url]",
'password' => "Mot de passe", 'password' => "Mot de passe",
'password_already_used' => "Mot de passe déjà utilisé", 'password_already_used' => "Mot de passe déjà utilisé",
'password_repeat' => "Répétez le mot de passe", 'password_repeat' => "Répétez le mot de passe",
@ -367,22 +457,30 @@ $text = array(
'password_expiration_text' => "Votre mot de passe a expiré. SVP choisir un nouveau avant de pouvoir accéder à SeedDMS.", 'password_expiration_text' => "Votre mot de passe a expiré. SVP choisir un nouveau avant de pouvoir accéder à SeedDMS.",
'password_forgotten' => "Mot de passe oublié ?", 'password_forgotten' => "Mot de passe oublié ?",
'password_forgotten_email_subject' => "Mot de passe oublié", 'password_forgotten_email_subject' => "Mot de passe oublié",
'password_forgotten_email_body' => "Cher utilisateur de SeedDMS,nnnous avons reçu une demande de modification de votre mot de passe.nnPour ce faire, cliquez sur le lien suivant:nn###URL_PREFIX###out/out.ChangePassword.php?hash=###HASH###nnEn cas de problème persistant, veuillez contacter votre administrateur.", 'password_forgotten_email_body' => "Cher utilisateur de SeedDMS, nous avons reçu une demande de modification de votre mot de passe.\n\nPour ce faire, cliquez sur le lien suivant:nn###URL_PREFIX###out/out.ChangePassword.php?hash=###HASH###\n\nEn cas de problème persistant, veuillez contacter votre administrateur.",
'password_forgotten_send_hash' => "La procédure à suivre a bien été envoyée à l'adresse indiquée", 'password_forgotten_send_hash' => "La procédure à suivre a bien été envoyée à l'adresse indiquée",
'password_forgotten_text' => "Remplissez le formulaire ci-dessous et suivez les instructions dans le courrier électronique qui vous sera envoyé.", 'password_forgotten_text' => "Remplissez le formulaire ci-dessous et suivez les instructions dans le courrier électronique qui vous sera envoyé.",
'password_forgotten_title' => "Mot de passe oublié", 'password_forgotten_title' => "Mot de passe envoyé",
'password_strength' => "Fiabilité du mot de passe",
'password_strength_insuffient' => "Mot de passe trop faible", 'password_strength_insuffient' => "Mot de passe trop faible",
'password_wrong' => "Mauvais mot de passe", 'password_wrong' => "Mauvais mot de passe",
'personal_default_keywords' => "Mots-clés personnels", 'personal_default_keywords' => "Mots-clés personnels",
'previous_state' => "Previous state",
'previous_versions' => "Versions précédentes", 'previous_versions' => "Versions précédentes",
'quota' => "Quota",
'quota_exceeded' => "Votre quota de disque est dépassé de [bytes].",
'quota_warning' => "Votre taille maximale de disque est dépassée de [bytes]. SVP supprimer des documents ou d'anciennes versions.",
'refresh' => "Actualiser", 'refresh' => "Actualiser",
'rejected' => "Rejeté", 'rejected' => "Rejeté",
'released' => "Publié", 'released' => "Publié",
'removed_approver' => "a été retiré de la liste des approbateurs.", 'removed_approver' => "a été retiré de la liste des approbateurs.",
'removed_file_email' => "Attachment supprimé", 'removed_file_email' => "Attachement supprimé",
'removed_file_email_subject' => "[sitename]: [document] - Attachement supprimé",
'removed_file_email_body' => "Attachement supprimé\r\nDocument: [document]\r\nUtilisateur: [username]\r\nURL: [url]",
'removed_reviewer' => "a été retiré de la liste des correcteurs.", 'removed_reviewer' => "a été retiré de la liste des correcteurs.",
'repaired' => "réparé",
'repairing_objects' => "Réparation des documents et des dossiers.", 'repairing_objects' => "Réparation des documents et des dossiers.",
'results_page' => "Results Page", 'results_page' => "Page de résultats",
'review_deletion_email' => "Demande de correction supprimée", 'review_deletion_email' => "Demande de correction supprimée",
'reviewer_already_assigned' => "est déjà déclaré en tant que correcteur", 'reviewer_already_assigned' => "est déjà déclaré en tant que correcteur",
'reviewer_already_removed' => "a déjà été retiré du processus de correction ou a déjà soumis une correction", 'reviewer_already_removed' => "a déjà été retiré du processus de correction ou a déjà soumis une correction",
@ -390,38 +488,59 @@ $text = array(
'review_group' => "Groupe de correction", 'review_group' => "Groupe de correction",
'review_request_email' => "Demande de correction", 'review_request_email' => "Demande de correction",
'review_status' => "Statut de correction", 'review_status' => "Statut de correction",
'review_submit_email' => "Correction demandée", 'review_submit_email' => "Correction soumise",
'review_submit_email_subject' => "[sitename]: [name] - Correction soumise",
'review_submit_email_body' => "Correction soumise\r\nDocument: [name]\r\nVersion: [version]\r\nStatut: [status]\r\nCommentaire: [comment]\r\nDossier parent: [folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'review_summary' => "Sommaire de correction", 'review_summary' => "Sommaire de correction",
'review_update_failed' => "Erreur lors de la mise à jour de la correction. Echec de la mise à jour.", 'review_update_failed' => "Erreur lors de la mise à jour de la correction. Echec de la mise à jour.",
'rewind_workflow' => "Remonter le workflow",
'rewind_workflow_warning' => "Si vous remonter à l'état initial du workflow, le log de workflow de ce document sera supprimé et impossible à récupérer.",
'rm_attrdef' => "Retirer définition d'attribut", 'rm_attrdef' => "Retirer définition d'attribut",
'rm_default_keyword_category' => "Supprimer la catégorie", 'rm_default_keyword_category' => "Supprimer la catégorie",
'rm_document' => "Supprimer le document", 'rm_document' => "Supprimer le document",
'rm_document_category' => "Supprimer la catégorie", 'rm_document_category' => "Supprimer la catégorie",
'rm_file' => "Supprimer le fichier", 'rm_file' => "Supprimer le fichier",
'rm_folder' => "Supprimer le dossier", 'rm_folder' => "Supprimer le dossier",
'rm_from_clipboard' => "Supprimer le dossier du presse-papiers",
'rm_group' => "Supprimer ce groupe", 'rm_group' => "Supprimer ce groupe",
'rm_user' => "Supprimer cet utilisateur", 'rm_user' => "Supprimer cet utilisateur",
'rm_version' => "Retirer la version", 'rm_version' => "Retirer la version",
'rm_workflow' => "Supprimer le Workflow",
'rm_workflow_state' => "Supprimer l'état du Workflow",
'rm_workflow_action' => "Supprimer l'action du Workflow",
'rm_workflow_warning' => "Vous allez supprimer le workflow de ce document. Cette action ne pourra être annulée.",
'role_admin' => "Administrateur", 'role_admin' => "Administrateur",
'role_guest' => "Invité", 'role_guest' => "Invité",
'role_user' => "Utilisateur", 'role_user' => "Utilisateur",
'role' => "Rôle", 'role' => "Rôle",
'return_from_subworkflow' => "Revenir du sous-workflow",
'run_subworkflow' => "Lancer le sous-workflow",
'saturday' => "Samedi", 'saturday' => "Samedi",
'saturday_abbr' => "Sam.",
'save' => "Enregistrer", 'save' => "Enregistrer",
'search_fulltext' => "Rechercher dans le texte", 'search_fulltext' => "Rechercher dans le texte",
'search_in' => "Rechercher dans", 'search_in' => "Rechercher dans",
'search_mode_and' => "tous les mots", 'search_mode_and' => "tous les mots",
'search_mode_or' => "au moins un mot", 'search_mode_or' => "au moins un mot",
'search_no_results' => "Il n'y a pas de documents correspondant à la recherche", 'search_no_results' => "Aucun document ne correspond à la recherche",
'search_query' => "Rechercher", 'search_query' => "Rechercher",
'search_report' => "[doccount] documents trouvé(s) et [foldercount] dossiers en [searchtime] sec.", 'search_report' => "[doccount] documents trouvé(s) et [foldercount] dossiers en [searchtime] sec.",
'search_report_fulltext' => "[doccount] documents trouvé(s)", 'search_report_fulltext' => "[doccount] documents trouvé(s)",
'search_results_access_filtered' => "Les résultats de la recherche propose du contenu dont l'accès est refusé.", 'search_results_access_filtered' => "L'accès à certains résultats de la recherche pourrait être refusé.",
'search_results' => "Résultats de recherche", 'search_results' => "Résultats de recherche",
'search' => "Recherche", 'search' => "Recherche",
'search_time' => "Temps écoulé: [time] sec.", 'search_time' => "Temps écoulé: [time] sec.",
'seconds' => "secondes",
'selection' => "Sélection", 'selection' => "Sélection",
'select_one' => "-- Selectionner --", 'select_category' => "Cliquer pour choisir une catégorie",
'select_groups' => "Cliquer pour choisir un groupe",
'select_ind_reviewers' => "Cliquer pour choisir un correcteur individuel",
'select_ind_approvers' => "Cliquer pour choisir un approbateur individuel",
'select_grp_reviewers' => "Cliquer pour choisir un groupe de correcteur",
'select_grp_approvers' => "Cliquer pour choisir un groupe d'approbateur",
'select_one' => "Selectionner",
'select_users' => "Cliquer pour choisir un utilisateur",
'select_workflow' => "Choisir un workflow",
'september' => "Septembre", 'september' => "Septembre",
'seq_after' => "Après \"[prevname]\"", 'seq_after' => "Après \"[prevname]\"",
'seq_end' => "A la fin", 'seq_end' => "A la fin",
@ -432,6 +551,7 @@ $text = array(
'set_owner_error' => "Error setting owner", 'set_owner_error' => "Error setting owner",
'set_owner' => "Sélection du propriétaire", 'set_owner' => "Sélection du propriétaire",
'set_password' => "Définir mot de passe", 'set_password' => "Définir mot de passe",
'set_workflow' => "Définir le Workflow",
'settings_install_welcome_title' => "Bienvenue dans l'installation de letoDMS", 'settings_install_welcome_title' => "Bienvenue dans l'installation de letoDMS",
'settings_install_welcome_text' => "<p>Avant de commencer l'installation de letoDMS assurez vous d'avoir créé un fichier 'ENABLE_INSTALL_TOOL' dans votre répertoire de configuration, sinon l'installation ne fonctionnera pas. Sur des systèmes Unix, cela peut se faire simplement avec 'touch / ENABLE_INSTALL_TOOL'. Une fois que vous avez terminé l'installation de supprimer le fichier.</p><p>letoDMS a des exigences très minimes. Vous aurez besoin d'une base de données mysql et un serveur web php. pour le recherche texte complète lucene, vous aurez également besoin du framework Zend installé sur le disque où elle peut être trouvée en php. Depuis la version 3.2.0 de letoDMS ADOdb ne fait plus partie de la distribution. obtenez une copie à partir de <a href=\"http://adodb.sourceforge.net/\">http://adodb.sourceforge.net</a> et l'installer. Le chemin daccès peut être défini ultérieurement pendant linstallation.</p><p>Si vous préférez créer la base de données avant de commencer l'installation, créez la manuellement avec votre outil favori, éventuellement créer un utilisateur de base de données avec accès sur la base et importer une sauvegarde de base dans le répertoire de configuration. Le script d'installation peut le faire pour vous, mais il requiert un accès à la base de données avec les droits suffisants pour créer des bases de données.</p>", 'settings_install_welcome_text' => "<p>Avant de commencer l'installation de letoDMS assurez vous d'avoir créé un fichier 'ENABLE_INSTALL_TOOL' dans votre répertoire de configuration, sinon l'installation ne fonctionnera pas. Sur des systèmes Unix, cela peut se faire simplement avec 'touch / ENABLE_INSTALL_TOOL'. Une fois que vous avez terminé l'installation de supprimer le fichier.</p><p>letoDMS a des exigences très minimes. Vous aurez besoin d'une base de données mysql et un serveur web php. pour le recherche texte complète lucene, vous aurez également besoin du framework Zend installé sur le disque où elle peut être trouvée en php. Depuis la version 3.2.0 de letoDMS ADOdb ne fait plus partie de la distribution. obtenez une copie à partir de <a href=\"http://adodb.sourceforge.net/\">http://adodb.sourceforge.net</a> et l'installer. Le chemin daccès peut être défini ultérieurement pendant linstallation.</p><p>Si vous préférez créer la base de données avant de commencer l'installation, créez la manuellement avec votre outil favori, éventuellement créer un utilisateur de base de données avec accès sur la base et importer une sauvegarde de base dans le répertoire de configuration. Le script d'installation peut le faire pour vous, mais il requiert un accès à la base de données avec les droits suffisants pour créer des bases de données.</p>",
'settings_start_install' => "Démarrer l'installation", 'settings_start_install' => "Démarrer l'installation",
@ -445,14 +565,18 @@ $text = array(
'settings_activate_php_extension' => "Activez l'extension PHP", 'settings_activate_php_extension' => "Activez l'extension PHP",
'settings_adminIP' => "Admin IP", 'settings_adminIP' => "Admin IP",
'settings_adminIP_desc' => "Si activé l'administrateur ne peut se connecter que par l'adresse IP spécifiées, laisser vide pour éviter le contrôle. NOTE: fonctionne uniquement avec autentication locale (sans LDAP)", 'settings_adminIP_desc' => "Si activé l'administrateur ne peut se connecter que par l'adresse IP spécifiées, laisser vide pour éviter le contrôle. NOTE: fonctionne uniquement avec autentication locale (sans LDAP)",
'settings_ADOdbPath' => "Chemin ADOdb", 'settings_extraPath' => "Chemin ADOdb",
'settings_ADOdbPath_desc' => "Chemin vers adodb. Il s'agit du répertoire contenant le répertoire adodb", 'settings_extraPath_desc' => "Chemin vers adodb. Il s'agit du répertoire contenant le répertoire adodb",
'settings_Advanced' => "Avancé", 'settings_Advanced' => "Avancé",
'settings_apache_mod_rewrite' => "Apache - Module Rewrite", 'settings_apache_mod_rewrite' => "Apache - Module Rewrite",
'settings_Authentication' => "Paramètres d'authentification", 'settings_Authentication' => "Paramètres d'authentification",
'settings_cacheDir' => "Dossier Cache",
'settings_cacheDir_desc' => "Lieu de stockage des images de prévisualisation (choisir de préférence un dossier non accessible à travers le web-server)",
'settings_Calendar' => "Paramètres de l'agenda", 'settings_Calendar' => "Paramètres de l'agenda",
'settings_calendarDefaultView' => "Vue par défaut de l'agenda", 'settings_calendarDefaultView' => "Vue par défaut de l'agenda",
'settings_calendarDefaultView_desc' => "Vue par défaut de l'agenda", 'settings_calendarDefaultView_desc' => "Vue par défaut de l'agenda",
'settings_cookieLifetime' => "Durée de vie des Cookies",
'settings_cookieLifetime_desc' => "La durée de vie d'un cooke en secondes. Si réglée à 0, le cookie sera supprimé à la fermeture du navigateur.",
'settings_contentDir' => "Contenu du répertoire", 'settings_contentDir' => "Contenu du répertoire",
'settings_contentDir_desc' => "Endroit ou les fichiers téléchargés sont stockés (il est préférable de choisir un répertoire qui n'est pas accessible par votre serveur web)", 'settings_contentDir_desc' => "Endroit ou les fichiers téléchargés sont stockés (il est préférable de choisir un répertoire qui n'est pas accessible par votre serveur web)",
'settings_contentOffsetDir' => "Content Offset Directory", 'settings_contentOffsetDir' => "Content Offset Directory",
@ -486,6 +610,8 @@ $text = array(
'settings_disable_install' => "Si possible, supprimer le fichier ENABLE_INSTALL_TOOL", 'settings_disable_install' => "Si possible, supprimer le fichier ENABLE_INSTALL_TOOL",
'settings_disableSelfEdit_desc' => "Si coché, l'utilisateur ne peut pas éditer son profil", 'settings_disableSelfEdit_desc' => "Si coché, l'utilisateur ne peut pas éditer son profil",
'settings_disableSelfEdit' => "Désactiver auto modification", 'settings_disableSelfEdit' => "Désactiver auto modification",
'settings_dropFolderDir_desc' => "Ce répertoire peut être utilisé pour déposer des fichiers sur le serveur et les importer à partir d'ici au lieu de les charger à partir du navigateur. Le répertoire doit avoir un sous-répertoire pour chaque utilisateur autorisé à importer des fichiers de cette manière.",
'settings_dropFolderDir' => "Répertoire de dépôt de fichier sur le serveur",
'settings_Display' => "Paramètres d'affichage", 'settings_Display' => "Paramètres d'affichage",
'settings_Edition' => "Paramètres dédition", 'settings_Edition' => "Paramètres dédition",
'settings_enableAdminRevApp_desc' => "Décochez pour ne pas lister l'administrateur à titre de correcteur/approbateur", 'settings_enableAdminRevApp_desc' => "Décochez pour ne pas lister l'administrateur à titre de correcteur/approbateur",
@ -494,8 +620,14 @@ $text = array(
'settings_enableCalendar' => "Activer agenda", 'settings_enableCalendar' => "Activer agenda",
'settings_enableConverting_desc' => "Activer/Désactiver la conversion des fichiers", 'settings_enableConverting_desc' => "Activer/Désactiver la conversion des fichiers",
'settings_enableConverting' => "Activer conversion des fichiers", 'settings_enableConverting' => "Activer conversion des fichiers",
'settings_enableDuplicateDocNames_desc' => "Autorise plusieurs documents de même nom dans un même dossier.",
'settings_enableDuplicateDocNames' => "Autoriser plusieurs documents de même nom",
'settings_enableNotificationAppRev_desc' => "Cochez pour envoyer une notification au correcteur/approbateur quand une nouvelle version du document est ajoutée", 'settings_enableNotificationAppRev_desc' => "Cochez pour envoyer une notification au correcteur/approbateur quand une nouvelle version du document est ajoutée",
'settings_enableNotificationAppRev' => "Notification correcteur/approbateur", 'settings_enableNotificationAppRev' => "Notification correcteur/approbateur",
'settings_enableOwnerRevApp_desc' => "A autoriser pour avoir le propriétaire d'un document designé correcteur/approbateur et pour les transitions de workflow.",
'settings_enableOwnerRevApp' => "Autoriser correction/approbbation pour le propriétaire",
'settings_enableSelfRevApp_desc' => "A autoriser pour avoir l'utilisateur actuel désigné correcteur/approbateur et pour les transitions de workflow.",
'settings_enableSelfRevApp' => "Autoriser correction/approbbation pour l'utilisateur actuel",
'settings_enableVersionModification_desc' => "Activer/désactiver la modification d'une des versions de documents par les utilisateurs normaux après qu'une version ait été téléchargée. l'administrateur peut toujours modifier la version après le téléchargement.", 'settings_enableVersionModification_desc' => "Activer/désactiver la modification d'une des versions de documents par les utilisateurs normaux après qu'une version ait été téléchargée. l'administrateur peut toujours modifier la version après le téléchargement.",
'settings_enableVersionModification' => "Modification des versions", 'settings_enableVersionModification' => "Modification des versions",
'settings_enableVersionDeletion_desc' => "Activer/désactiver la suppression de versions antérieures du documents par les utilisateurs normaux. L'administrateur peut toujours supprimer les anciennes versions.", 'settings_enableVersionDeletion_desc' => "Activer/désactiver la suppression de versions antérieures du documents par les utilisateurs normaux. L'administrateur peut toujours supprimer les anciennes versions.",
@ -508,6 +640,8 @@ $text = array(
'settings_enableFullSearch_desc' => "Activer la recherche texte plein", 'settings_enableFullSearch_desc' => "Activer la recherche texte plein",
'settings_enableGuestLogin_desc' => "Si vous voulez vous connecter en tant qu'invité, cochez cette option. Remarque: l'utilisateur invité ne doit être utilisé que dans un environnement de confiance", 'settings_enableGuestLogin_desc' => "Si vous voulez vous connecter en tant qu'invité, cochez cette option. Remarque: l'utilisateur invité ne doit être utilisé que dans un environnement de confiance",
'settings_enableGuestLogin' => "Activer la connexion Invité", 'settings_enableGuestLogin' => "Activer la connexion Invité",
'settings_enableLanguageSelector' => "Activer la sélection de langue",
'settings_enableLanguageSelector_desc' => "Montrer le sélecteur de langue d'interface après connexion de l'utilisateur. Cela n'affecte pas la sélection de langue d'interface sur la page de connexion.",
'settings_enableLargeFileUpload_desc' => "Si défini, le téléchargement de fichier est également disponible via un applet java appelé jumploader sans limite de taille définie par le navigateur. Il permet également de télécharger plusieurs fichiers en une seule fois.", 'settings_enableLargeFileUpload_desc' => "Si défini, le téléchargement de fichier est également disponible via un applet java appelé jumploader sans limite de taille définie par le navigateur. Il permet également de télécharger plusieurs fichiers en une seule fois.",
'settings_enableLargeFileUpload' => "Activer téléchargement des gros fichiers", 'settings_enableLargeFileUpload' => "Activer téléchargement des gros fichiers",
'settings_enableOwnerNotification_desc' => "Cocher pour ajouter une notification pour le propriétaire si un document quand il est ajouté.", 'settings_enableOwnerNotification_desc' => "Cocher pour ajouter une notification pour le propriétaire si un document quand il est ajouté.",
@ -575,7 +709,9 @@ $text = array(
'settings_php_mbstring' => "PHP extension : php_mbstring", 'settings_php_mbstring' => "PHP extension : php_mbstring",
'settings_printDisclaimer_desc' => "If true the disclaimer message the lang.inc files will be print on the bottom of the page", 'settings_printDisclaimer_desc' => "If true the disclaimer message the lang.inc files will be print on the bottom of the page",
'settings_printDisclaimer' => "Afficher la clause de non-responsabilité", 'settings_printDisclaimer' => "Afficher la clause de non-responsabilité",
'settings_restricted_desc' => "Only allow users to log in if they have an entry in the local database (irrespective of successful authentication with LDAP)", 'settings_quota' => "Quota de l'utilisateur",
'settings_quota_desc' => "Le maximum de bytes qu'un utilisateur peut utiliser sur le disque. Définir à 0 pour un espace illimité. Cette valeur peut être outrepasser pour chaque utilisation dans son profile.",
'settings_restricted_desc' => "Autoriser les utilisateurs à se connecter seulement s'ils ont une entrée dans la BD locale (independamment d'une authentification réussie avec LDAP)",
'settings_restricted' => "Accès restreint", 'settings_restricted' => "Accès restreint",
'settings_rootDir_desc' => "Chemin où se trouve letoDMS", 'settings_rootDir_desc' => "Chemin où se trouve letoDMS",
'settings_rootDir' => "Répertoire racine", 'settings_rootDir' => "Répertoire racine",
@ -597,6 +733,7 @@ $text = array(
'settings_smtpServer' => "Nom du serveur SMTP", 'settings_smtpServer' => "Nom du serveur SMTP",
'settings_SMTP' => "Paramètres du serveur SMTP", 'settings_SMTP' => "Paramètres du serveur SMTP",
'settings_stagingDir' => "Répertoire pour les téléchargements partiels", 'settings_stagingDir' => "Répertoire pour les téléchargements partiels",
'settings_stagingDir_desc' => "Le répertoire où jumploader mets les parts d'un fichier chargé avant de le reconstituer.",
'settings_strictFormCheck_desc' => "Contrôl strict des formulaires. Si définie sur true, tous les champs du formulaire seront vérifié. Si définie sur false, les commentaires et mots clés deviennent facultatifs. Les commentaires sont toujours nécessaires lors de la soumission d'une correction ou état du document", 'settings_strictFormCheck_desc' => "Contrôl strict des formulaires. Si définie sur true, tous les champs du formulaire seront vérifié. Si définie sur false, les commentaires et mots clés deviennent facultatifs. Les commentaires sont toujours nécessaires lors de la soumission d'une correction ou état du document",
'settings_strictFormCheck' => "Formulaires stricts", 'settings_strictFormCheck' => "Formulaires stricts",
'settings_suggestionvalue' => "Valeur suggérée", 'settings_suggestionvalue' => "Valeur suggérée",
@ -612,6 +749,10 @@ $text = array(
'settings_versioningFileName' => "Versioning FileName", 'settings_versioningFileName' => "Versioning FileName",
'settings_viewOnlineFileTypes_desc' => "Files with one of the following endings can be viewed online (USE ONLY LOWER CASE CHARACTERS)", 'settings_viewOnlineFileTypes_desc' => "Files with one of the following endings can be viewed online (USE ONLY LOWER CASE CHARACTERS)",
'settings_viewOnlineFileTypes' => "Aperçu en ligne des fichiers", 'settings_viewOnlineFileTypes' => "Aperçu en ligne des fichiers",
'settings_workflowMode_desc' => "Le workflow avancé permet de définir son propre workflow de parution pour les versions de documents.",
'settings_workflowMode' => "Mode workflow",
'settings_workflowMode_valtraditional' => "traditionnel",
'settings_workflowMode_valadvanced' => "avancé",
'settings_zendframework' => "Zend Framework", 'settings_zendframework' => "Zend Framework",
'signed_in_as' => "Vous êtes connecté en tant que", 'signed_in_as' => "Vous êtes connecté en tant que",
'sign_in' => "Connexion", 'sign_in' => "Connexion",
@ -635,11 +776,17 @@ $text = array(
'submit_review' => "Soumettre la correction", 'submit_review' => "Soumettre la correction",
'submit_userinfo' => "Soumettre info", 'submit_userinfo' => "Soumettre info",
'sunday' => "Dimanche", 'sunday' => "Dimanche",
'sunday_abbr' => "Dim.",
'theme' => "Thème", 'theme' => "Thème",
'thursday' => "Jeudi", 'thursday' => "Jeudi",
'thursday_abbr' => "Jeu.",
'toggle_manager' => "Basculer 'Responsable'", 'toggle_manager' => "Basculer 'Responsable'",
'to' => "Au", 'to' => "Au",
'transition_triggered_email' => "Transition de workflow activé",
'trigger_workflow' => "Workflow",
'tuesday' => "Mardi", 'tuesday' => "Mardi",
'tuesday_abbr' => "Mar.",
'type_to_search' => "Effectuer une recherche",
'under_folder' => "Dans le dossier", 'under_folder' => "Dans le dossier",
'unknown_command' => "Commande non reconnue.", 'unknown_command' => "Commande non reconnue.",
'unknown_document_category' => "Catégorie inconnue", 'unknown_document_category' => "Catégorie inconnue",
@ -648,6 +795,8 @@ $text = array(
'unknown_keyword_category' => "Catégorie inconnue", 'unknown_keyword_category' => "Catégorie inconnue",
'unknown_owner' => "Identifiant de propriétaire inconnu", 'unknown_owner' => "Identifiant de propriétaire inconnu",
'unknown_user' => "Identifiant d'utilisateur inconnu", 'unknown_user' => "Identifiant d'utilisateur inconnu",
'unlinked_content' => "Contenu non lié",
'unlinking_objects' => "Déliage du contenu",
'unlock_cause_access_mode_all' => "Vous pouvez encore le mettre à jour, car vous avez les droits d'accès \"tout\". Le verrouillage sera automatiquement annulé.", 'unlock_cause_access_mode_all' => "Vous pouvez encore le mettre à jour, car vous avez les droits d'accès \"tout\". Le verrouillage sera automatiquement annulé.",
'unlock_cause_locking_user' => "Vous pouvez encore le mettre à jour, car vous êtes le seul à l'avoir verrouillé. Le verrouillage sera automatiquement annulé.", 'unlock_cause_locking_user' => "Vous pouvez encore le mettre à jour, car vous êtes le seul à l'avoir verrouillé. Le verrouillage sera automatiquement annulé.",
'unlock_document' => "Déverrouiller", 'unlock_document' => "Déverrouiller",
@ -660,9 +809,12 @@ $text = array(
'update' => "Mettre à jour", 'update' => "Mettre à jour",
'uploaded_by' => "Déposé par", 'uploaded_by' => "Déposé par",
'uploading_failed' => "Dépose du document échoué. SVP Contactez le responsable.", 'uploading_failed' => "Dépose du document échoué. SVP Contactez le responsable.",
'uploading_zerosize' => "Chargement d'un fichier vide. Chargement annulé.",
'use_default_categories' => "Use predefined categories", 'use_default_categories' => "Use predefined categories",
'use_default_keywords' => "Utiliser les mots-clés prédéfinis", 'use_default_keywords' => "Utiliser les mots-clés prédéfinis",
'used_discspace' => "Espace disque utilisé",
'user_exists' => "Cet utilisateur existe déjà", 'user_exists' => "Cet utilisateur existe déjà",
'user_group_management' => "Gestion d'Utilisateurs/de Groupes",
'user_image' => "Image", 'user_image' => "Image",
'user_info' => "Informations utilisateur", 'user_info' => "Informations utilisateur",
'user_list' => "Liste des utilisateurs", 'user_list' => "Liste des utilisateurs",
@ -672,16 +824,54 @@ $text = array(
'users' => "Utilisateurs", 'users' => "Utilisateurs",
'user' => "Utilisateur", 'user' => "Utilisateur",
'version_deleted_email' => "Version supprimée", 'version_deleted_email' => "Version supprimée",
'version_deleted_email_subject' => "[sitename]: [name] - Version supprimée",
'version_deleted_email_body' => "Version supprimée\r\nDocument: [name]\r\nVersion: [version]\r\nDossier parent: [folder_path]\r\nUtilisateur: [username]\r\nURL: [url]",
'version_info' => "Informations de versions", 'version_info' => "Informations de versions",
'versioning_file_creation' => "Versioning file creation", 'versioning_file_creation' => "Versioning file creation",
'versioning_file_creation_warning' => "With this operation you can create a file containing the versioning information of an entire DMS folder. After the creation every file will be saved inside the document folder.", 'versioning_file_creation_warning' => "With this operation you can create a file containing the versioning information of an entire DMS folder. After the creation every file will be saved inside the document folder.",
'versioning_info' => "Versions", 'versioning_info' => "Versions",
'version' => "Version", 'version' => "Version",
'view' => "Aperçu",
'view_online' => "Aperçu en ligne", 'view_online' => "Aperçu en ligne",
'warning' => "Avertissement", 'warning' => "Avertissement",
'wednesday' => "Mercredi", 'wednesday' => "Mercredi",
'wednesday_abbr' => "Mer.",
'week_view' => "Vue par semaine", 'week_view' => "Vue par semaine",
'weeks' => "semaines",
'workflow' => "Workflow",
'workflow_action_in_use' => "Cette action est actuellement utilisée par des workflows.",
'workflow_action_name' => "Nom",
'workflow_editor' => "Editeur de Workflow",
'workflow_group_summary' => "Résumé de groupe",
'workflow_name' => "Nom",
'workflow_in_use' => "Ce workflow est actuellement utilisé par des documents.",
'workflow_initstate' => "Etat initial",
'workflow_management' => "Gestion de workflow",
'workflow_no_states' => "Vous devez d'abord définir des états de workflow avant d'ajouter un workflow.",
'workflow_states_management' => "Gestion d'états de workflow",
'workflow_actions_management' => "Gestion d'actions de workflow",
'workflow_state_docstatus' => "Etat du document",
'workflow_state_in_use' => "Cet état est actuellement utilisé par des workflows.",
'workflow_state_name' => "Nom",
'workflow_summary' => "Résumé du workflow",
'workflow_user_summary' => "Résumé d'utilisateur",
'year_view' => "Vue annuelle", 'year_view' => "Vue annuelle",
'yes' => "Oui", 'yes' => "Oui",
'ca_ES' => "Catalan",
'cs_CZ' => "Tchèque",
'de_DE' => "Allemand",
'en_GB' => "Anglais (RU)",
'es_ES' => "Espagnol",
'fr_FR' => "Français",
'hu_HU' => "Hongrois",
'it_IT' => "Italien",
'nl_NL' => "Danois",
'pt_BR' => "Portuguais (BR)",
'ru_RU' => "Russe",
'sk_SK' => "Slovaque",
'sv_SE' => "Suédois",
'zh_CN' => "Chinois (CN)",
'zh_TW' => "Chinois (TW)",
); );
?> ?>

174
languages/pl_PL/help.htm Normal file
View File

@ -0,0 +1,174 @@
<h1>Uwagi ogólne</h1>
<p>
DMS (Document Management System) jest przeznaczony do udostępniania dokumentów,
kontrolowania przepływu pracy, praw dostępu i organizacji w ogóle.
</p>
<p>
Korzystając z menu pierwszego poziomu użytkownik może uzyskać dostęp do różnych informacji przechowywanych w systemie:
<ul>
<li>Zawartość: pozwala na przeglądanie dokumentów podobnie jak w menedżerze plików.
<li>Moje dokumenty: zawierają kilka możliwości dostępu do dokumentów będących przedmiotem zainteresowania:
<ul>
<li>Dokumenty procesowane: wykazów dokumentów oczekujących na recenzję lub zatwierdzenia przez użytkownika,
dokumenty należące do użytkownika, które czekają na zatwierdzenie lub recenzję, dokumenty zablokowane przez użytkownika.
<li>Wszystkie dokumenty: wykaz wszystkich dokumentów należących do użytkownika.
<li>Podsumowanie opiniowania: wykaz wszystkich dokumentów, które zostały sprawdzone lub oczekują na sprawdzenie przez użytkownika.
<li>Podsumowanie akceptacji: wykaz wszystkich dokumentów, które zostały zaakceptowane lub oczekują na akceptację przez użytkownika.
</ul>
</ul>
</p>
<p>
Ten DMS oferuje także kalendarz, którego można użyć jako wirtualnej tablicy do dzielenia się notatkami,
terminami i zobowiązaniami.
</p>
<h1>Uprawnienia</h1>
<p>
Uprawnieni użytkownicy mogą decydować czy i w jaki sposób pozostali użytkownicy będą mieli dostęp do poszczególnych katalogów i znajdujących się w nich dokumentów.
</p>
<h2>Poziomy uprawnień</h2>
<p>
Możliwe poziomy dostępu to:
<ul>
<li>Wszystkie prawa: użytkownik może wykonać każdą operację.
<li>Czytanie i pisanie: użytkownik może aktualizować dokumenty i dodawać pliki do katalogów.
<li>Tylko odczyt: użytkownik może przeglądać zawartość katalogów i pobierać dokumenty.
<li>Brak dostępu: użytkownik nie może przeglądać zawartości katalogów lub pojedyńczych dokumentów.
</ul>
</p>
<p>
Domyślnie administratorzy mają wszystkie uprawnienia dla każdego katalogu i pliku w systemie.
Podobnie właściciel dokumentu ma wszystkie uprawnienia dla jego dokumentów.
</p>
<p>
Wyłącznie administratorzy mogą zmieniać właścicieli dokumentów.
</p>
<h2>Zarządzanie uprawnieniami</h2>
<p>
Dla każdego katalogu lub dokumentu można zarządzać uprawnieniami na dwa sposoby.
<ul>
<li>Jeśli nie zostanie to zmienione, obowiązują domyślne uprawnienia
<li>Lista uprawnień pozwala określić wyjątki od uprawnień domyślnych
</ul>
</p>
<h2>Dziedziczenie dostępu</h2>
<p>
Uptawnienia do katalogów i dokumentów można ustawić jako dziedziczne.
W takim przypadku dokumenty i katalogi dziedziczą uprawnienia od katalogu, w którym się znajdują.
</p>
<h1>Przepływ dokumentów</h1>
<p>
System automatycznie zajmuje się kontrolą przepływu dla każdego dokumentu i zapisuje
zmiany w dokumentach, zmiany wersji, komentarze użytkowników, itp.
</p>
<h2>Cykl sprawdzania poprawności</h2>
<p>
Domyślnie kontrola przepływu dokumentów wymaga aby, podczas ładowania nowego dokumentu lub
nowej wersji, wskazać niektórych użytkowników lub grupy użytkowników, jako recenzentów i / lub zatwierdzających.
Użytkownicy wskazani jako recenzenci i zatwierdzający mają obowiązek wytłumaczenia swoich decyzji odnośnie zatwierdzenia dokumentu.
Kiedy proces się zakończy, czyli wszyscy wskazani użytkownicy wyrażą swoją opinię co do akceptacji dokumentu, status dokumentu zostanie zmieniony na "Zatwierdzony".
</p>
<p>
Recenzenci i osoby akceptujące mogą nie zatwierdzić nowego dokumentu. Wtedy status dokumentu zmieni się na "Odrzucony".
</p>
<p>
Dokument, który nie został skierowany do recenzji lub akceptacji, automatycznie ozaczony jest jako "Zatwierdzony".
</p>
<p>
Jako recenzentów lub akceptujących można wskazać grupę użytkowników. W takim przypadku recenzja/apceptacja powinna zostać wykonana przez jedną, dowolną osobę należącą do wskazanej grupy.
</p>
<p>
Właściciel dokumentu może w każdej chwili zmienić listę recenzentów / zatwierdzających.
</p>
<h2>Stan dokumentów</h2>
<p>
Możliwe stany dla dokumentów to:
<ul>
<li>Szkic - w oczekiwaniu na akceptację: jedna lub więcej próśb o akceptacjię nie zostały jeszcze wykonane.
<li>Szkic - w oczekiwaniu na recenzję: jedna lub więcej próśb o opinię nie zostały jeszcze wykonane.
<li>Zatwierdzony: dokument pomyślnie przeszedł cykl zatwierdzania.
<li>Odrzucony: proce zatwierdzania dokumentu został zakończony.
<li>Wygasłe: przekroczony został ostateczny termin w którym dokument mógł zostać zatwierdzony.
<li>Zdezaktualizowany: dodatkowy status dla zatwierdzonych dokumentów. Jest to alternatywa dla usuwania dokumentów.
Status ten może być cofnięty.
</ul>
</p>
<h2>Wygaśnięcie</h2>
<p>
Dla każdego gokumentu znajdującego się w trakcie procesowania można ustawić datę zakończenia.
Kiedy ta data upłynie, nie będzie już można zmieniać stanu akceptacji i recenzji dokumentu,
a stan dokumentu zmieni się na "Wygasły".
</p>
<p>
Ostateczny termin odnosi się tylko do najnowszej wersji dokumentu i jest brany pod uwagę tylko w procesie przetwarzania dokumentów.
</p>
<h1>Pozostałe funkcje</h1>
<h2>Funkcja blokowania</h2>
<p>
Funkcja blokowania została zaprojektowana do powiadamiania pozostałych użytkowników, że dany dokument
jest aktualnie przetwarzany. Użytkownicy posiadający wszystkie uprawnienia dla danego dokumentu mogą odblokować dokument
i wprowadzać do niego modyfikacjie.
</p>
<h2>Powiadomienia</h2>
<p>
Każdy użytkownik może włączyć powiadomienia dla dokumentów i katalogów.
Każda zmiana dokumencie lub katalogu znajdującym się na liście powiadomień będzie skutkowała
wysłaniem powiadomienia zawierającego opis przeprowadzonej zmiany.
</p>
<p>
Tylko kierownik grupy może zdecydować czy umieścić grupę na liście powiadomień dla dokumentów lub katalogów.
Jeśli to zrobi, powiadomienia będą wysyłane do wszystkich użytkowników należących do danej grupy.
</p>
<h2>Słowa kluczowe i wyszukiwanie</h2>
<p>
Każdy dokument pozwala na dołączenie do niego opisu oraz słów kluczowych.
Te informacje są wykorzystywane podczas wyszukiwania dokumentów.
</p>
<p>
W zakładce "Moje konto", każdy użytkownik może zapisać pakiet słów kluczowych poukładanych w kategorie,
dzięki czemu można przyspieszyć wypełnianie opisów podczas dodawania nowych dokumentów.
</p>
<p>
Wciśnięcie przycisku bez wprowadzenia jakiegokolwiek słowa przeniesie użytkownika na stronę wyszukiwania zaawansowanego.
</p>
<h2>Kalendarz</h2>
<p>
Istnieją trzy widoki kalendarza: tygodniowy, miesięczny, roczny. Wydarzenia są wyświtlna w kolejności ich dodawania do kalendarza.
</p>
<p>
Po dodaniu zdarzenia staje się ono publiczne i widoczne dla wszystkich.
Jedynie administrator i osoba, która dodała zdarzenie, może je później edytować.
</p>

687
languages/pl_PL/lang.inc Normal file
View File

@ -0,0 +1,687 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli
// Copyright (C) 2012 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$text = array(
'accept' => "Akceptuj",
'access_denied' => "Dostęp zabroniony.",
'access_inheritance' => "Dziedziczenie dostępu",
'access_mode' => "Tryb dostępu",
'access_mode_all' => "Wszystkie uprawnienia",
'access_mode_none' => "Brak dostępu",
'access_mode_read' => "Tylko odczyt",
'access_mode_readwrite' => "Zapis i odczyt",
'access_permission_changed_email' => "Uprawnienie zmienione",
'according_settings' => "zgodnie z ustawieniami",
'actions' => "Akcje",
'add' => "Dodaj",
'add_doc_reviewer_approver_warning' => "Nota Bene. Dokumenty są automatycznie oznaczane jako wydane, jeśli recenzent lub zatwierdzający nie jest przypisany.",
'add_document' => "Dodaj dokument",
'add_document_link' => "Dodaj link",
'add_event' => "Dodaj zdarzenie",
'add_group' => "Dodaj nową grupę",
'add_member' => "Dodaj członka",
'add_multiple_documents' => "Dodaj wiele dokumentów",
'add_multiple_files' => "Dodaj wiele plików (Nazwy plików zostaną użyte jako nazwy dokumentów)",
'add_subfolder' => "Dodaj podfolder",
'add_user' => "Dodaj nowego użytkownika",
'add_user_to_group' => "Przypisz użytkownika do grupy",
'admin' => "Administrator",
'admin_tools' => "Narzędzia administracyjne",
'all' => "Wszystko",
'all_categories' => "Wszystkie kategorie",
'all_documents' => "Wszystkie dokumenty",
'all_pages' => "Wszystkie",
'all_users' => "Wszyscy użytkownicy",
'already_subscribed' => "Aktualnie subskrybowane",
'and' => "a",
'apply' => "Zastosuj",
'approval_deletion_email' => "Prośba o akceptację została usunięta",
'approval_group' => "Grupa akceptująca",
'approval_request_email' => "Prośba o akceptację",
'approval_status' => "Status akceptacji",
'approval_submit_email' => "Prośba o akceptację",
'approval_summary' => "Podsumowanie akceptacji",
'approval_update_failed' => "Błąd aktualizacji statusu akceptacji. Aktualizacja nie powiodła się.",
'approvers' => "Osoby akceptujące",
'april' => "Kwiecień",
'archive_creation' => "Tworzenie archiwum",
'archive_creation_warning' => "Ta operacja utworzy archiwum zawierające pliki z całego repozytorium. Po utworzeniu archiwum będzie zapisane w folderze na serwerze.<br>UWAGA: archiwum utworzone jako czytelne dla ludzi będzie bezużyteczne jako kopia serwera.",
'assign_approvers' => "Przypisz osoby akceptujące",
'assign_reviewers' => "Przypisz recenzentów",
'assign_user_property_to' => "Przypisz właściwości użytkownika do",
'assumed_released' => "Assumed released",
'attrdef_management' => "Zarządzanie definicją atrybutu",
'attrdef_exists' => "Definicja atrybutu już istnieje",
'attrdef_in_use' => "Definicja atrybutu nadal jest w użyciu",
'attrdef_name' => "Nazwa",
'attrdef_multiple' => "Pozwól na wiele wartości",
'attrdef_objtype' => "Typ obiektu",
'attrdef_type' => "Typ",
'attrdef_minvalues' => "Min. number of values",
'attrdef_maxvalues' => "Max. number of values",
'attrdef_valueset' => "Set of values",
'attributes' => "Atrybuty",
'august' => "Sierpień",
'automatic_status_update' => "Automatyczna zmiana statusu",
'back' => "Powrót",
'backup_list' => "Lista istniejących kopii zapasowych",
'backup_remove' => "Usuń plik backupu",
'backup_tools' => "Narzędzia kopii zapasowej",
'between' => "między",
'calendar' => "Kalendarz",
'cancel' => "Anuluj",
'cannot_assign_invalid_state' => "Nie można modyfikować zdezaktualizowanego lub odrzuconego dokumentu",
'cannot_change_final_states' => "Ostrzeżenie: Nie można zmienić statusu dla dokumentu odrzuconego, wygasłego, lub w trakcie recenzowania albo zatwierdzania.",
'cannot_delete_yourself' => "Nie możesz usunąć samego siebie",
'cannot_move_root' => "Błąd: Nie można przenieść katalogu głównego.",
'cannot_retrieve_approval_snapshot' => "Nie można pobrać migawki stanu akceptacji dla tej wersji dokumentu.",
'cannot_retrieve_review_snapshot' => "Nie można pobrać migawki stanu recenzowania dla tej wersji dokumentu.",
'cannot_rm_root' => "Błąd: Nie można usunąć katalogu głównego.",
'category' => "Kategoria",
'category_exists' => "Kategoria już istnieje.",
'category_filter' => "Tylko w kategoriach",
'category_in_use' => "Ta kategoria jest aktualnie używana przez dokumenty.",
'category_noname' => "Nie podano nazwy kategorii.",
'categories' => "Kategorie",
'change_assignments' => "Zmiana przypisania",
'change_password' => "Zmiana hasła",
'change_password_message' => "Twoje hasło zostało zmienione.",
'change_status' => "Zmień status",
'choose_attrdef' => "Proszę wybrać definicję atrybutu",
'choose_category' => "Proszę wybrać",
'choose_group' => "Wybierz grupę",
'choose_target_category' => "Wybierz kategorię",
'choose_target_document' => "Wybierz dokument",
'choose_target_folder' => "Wybierz folder",
'choose_user' => "Wybierz użytkownika",
'comment_changed_email' => "Komentarz zmieniony",
'comment' => "Opis",
'comment_for_current_version' => "Komentarz do wersji",
'confirm_create_fulltext_index' => "Tak, chcę ponownie utworzyć indeks pełnotekstowy!",
'confirm_pwd' => "Potwierdź hasło",
'confirm_rm_backup' => "Czy rzeczywiście chcesz usunąć plik \"[arkname]\"?<br>Ostrożnie: Ta operacja nie może być cofnięta.",
'confirm_rm_document' => "Czy rzeczywiście chcesz usunąć dokument \"[documentname]\"?<br>Ostrożnie: Ta operacja nie może być cofnięta.",
'confirm_rm_dump' => "Czy rzeczywiście chcesz usunąć plik \"[dumpname]\"?<br>Ostrożnie: Ta operacja nie może być cofnięta.",
'confirm_rm_event' => "Czy rzeczywiście chcesz usunąć zdarzenie \"[name]\"?<br>Ostrożnie: Ta operacja nie może być cofnięta.",
'confirm_rm_file' => "Czy rzeczywiście chcesz usunąć plik \"[name]\" dokumentu \"[documentname]\"?<br>Ostrożnie: Ta operacja nie może być cofnięta.",
'confirm_rm_folder' => "Czy rzeczywiście chcesz usunąć folder \"[foldername]\" wraz z zawartością?<br>Ostrożnie: Ta operacja nie może być cofnięta.",
'confirm_rm_folder_files' => "Czy rzeczywiście chcesz usunąć wszystkie pliki z folderu \"[foldername]\" oraz jego podfoldery?<br>Ostrożnie: Ta operacja nie może być cofnięta.",
'confirm_rm_group' => "Czy rzeczywiście chcesz usunąć grupę \"[groupname]\"?<br>Ostrożnie: Ta operacja nie może być cofnięta.",
'confirm_rm_log' => "Czy rzeczywiście chcesz usunąć plik dziennika \"[logname]\"?<br>Ostrożnie: Ta operacja nie może być cofnięta.",
'confirm_rm_user' => "Czy rzeczywiście chcesz usunąć użytkownika \"[username]\"?<br>Ostrożnie: Ta operacja nie może być cofnięta.",
'confirm_rm_version' => "Czy rzeczywiście chcesz usunąć wersję [version] dokumentu \"[documentname]\"?<br>Ostrożnie: Ta operacja nie może być cofnięta.",
'content' => "Zawartość",
'continue' => "Kontynuuj",
'create_fulltext_index' => "Utwórz indeks pełnotekstowy",
'create_fulltext_index_warning' => "Zamierzasz ponownie utworzyć indeks pełnotekstowy. To może zająć sporo czasu i ograniczyć ogólną wydajność systemu. Jeśli faktycznie chcesz to zrobić, proszę potwierdź tę operację.",
'creation_date' => "Utworzony",
'current_password' => "Aktualne hasło",
'current_version' => "Bieżąca wiersja",
'daily' => "Codziennie",
'databasesearch' => "Przeszukiwanie bazy danych",
'december' => "Grudzień",
'default_access' => "Domyślny tryb dostępu",
'default_keywords' => "Dostępne słowa kluczowe",
'delete' => "Usuń",
'details' => "Szczegóły",
'details_version' => "Szczegóły dla wersji: [version]",
'disclaimer' => "To jest zastrzeżona strefa. Dostęp do niej ma wyłącznie wyznaczony personel. Wszelkie naruszenia będą ścigane zgodnie z prawem krajowym i międzynarodowym.",
'do_object_repair' => "Napraw wszystkie katalogi i pliki.",
'document_already_locked' => "Ten dokument jest już zablokowany",
'document_deleted' => "Dokument usunięty",
'document_deleted_email' => "Dokument usunięty",
'document' => "Dokument",
'document_infos' => "Informacje o dokumencie",
'document_is_not_locked' => "Ten dokument nie jest zablokowany",
'document_link_by' => "Dowiązane przez",
'document_link_public' => "Publiczny",
'document_moved_email' => "Dokument przeniesiony",
'document_renamed_email' => "Nazwa dokumenty zmieniona",
'documents' => "Dokumenty",
'documents_in_process' => "Dokumenty procesowane",
'documents_locked_by_you' => "Dokumenty zablokowane przez Ciebie",
'documents_only' => "Tylko dokumenty",
'document_status_changed_email' => "Zmieniono status dokumentu",
'documents_to_approve' => "Dokumenty oczekujące na Twoje zatwierdzenie",
'documents_to_review' => "Dokumenty oczekujące na Twoją recenzję",
'documents_user_requiring_attention' => "Dokumenty należące do Ciebie, które wymagają uwagi",
'document_title' => "Dokument '[documentname]'",
'document_updated_email' => "Dokument zaktualizowany",
'does_not_expire' => "Nigdy nie wygasa",
'does_not_inherit_access_msg' => "Dziedzicz dostęp",
'download' => "Pobierz",
'draft_pending_approval' => "Szkic - w oczekiwaniu na akceptację",
'draft_pending_review' => "Szkic - w oczekiwaniu na opinię",
'dump_creation' => "Utworzenie zrzutu bazy danych",
'dump_creation_warning' => "Ta operacja utworzy plik będący zrzutem zawartości bazy danych. Po utworzeniu plik zrzutu będzie się znajdował w folderze danych na serwerze.",
'dump_list' => "Istniejące pliki zrzutu",
'dump_remove' => "Usuń plik zrzutu",
'edit_attributes' => "Zmiana atrybutów",
'edit_comment' => "Edytuj komentarz",
'edit_default_keywords' => "Edytuj słowa kluczowe",
'edit_document_access' => "Edytuj dostęp",
'edit_document_notify' => "Lista powiadomień dla dokumentu",
'edit_document_props' => "Edytuj dokument",
'edit' => "Edytuj",
'edit_event' => "Edytuj zdarzenie",
'edit_existing_access' => "Edytuj listę dostępu",
'edit_existing_notify' => "Edytuj listę powiadomień",
'edit_folder_access' => "Edytuj dostęp",
'edit_folder_notify' => "Lista powiadomień dla folderu",
'edit_folder_props' => "Edytuj folder",
'edit_group' => "Edytuj grupę",
'edit_user_details' => "Zmień dane użytkownika",
'edit_user' => "Edytuj użytkownika",
'email' => "Email",
'email_error_title' => "Nie wprowadzono adresu email",
'email_footer' => "W każdej chwili możesz zmienić swój email używając zakładki 'Moje konto'.",
'email_header' => "To jest automatyczne powiadomienie serwera DMS.",
'email_not_given' => "Proszę podać poprawny adres email.",
'empty_notify_list' => "Brak elementów",
'error' => "Błąd",
'error_no_document_selected' => "Brak wybranych dokumentów",
'error_no_folder_selected' => "Brak wybranych katalogów",
'error_occured' => "Wystąpił błąd",
'event_details' => "Szczegóły zdarzenia",
'expired' => "Wygasłe",
'expires' => "Wygasa",
'expiry_changed_email' => "Zmieniona data wygaśnięcia",
'february' => "Luty",
'file' => "Plik",
'files_deletion' => "Usuwanie plików",
'files_deletion_warning' => "Ta operacja pozwala usunąć wszystkie pliki z repozytorium. Informacje o wersjonowaniu pozostaną widoczne.",
'files' => "Pliki",
'file_size' => "Rozmiar pliku",
'folder_contents' => "Zawartość folderu",
'folder_deleted_email' => "Folder został usunięty",
'folder' => "Folder",
'folder_infos' => "Informacje o folderze",
'folder_moved_email' => "Przeniesiony folder",
'folder_renamed_email' => "Zmieniona nazwa folderu",
'folders_and_documents_statistic' => "Podsumowanie zawartości",
'folders' => "Foldery",
'folder_title' => "Folder '[foldername]'",
'friday' => "Piątek",
'from' => "Od",
'fullsearch' => "Przeszukiwanie treści dokumentów",
'fullsearch_hint' => "Przeszukuj treść dokumentów ",
'fulltext_info' => "Informacje o indeksie pełnotekstowym",
'global_attributedefinitions' => "Definicje atrybutów",
'global_default_keywords' => "Globalne słowa kluczowe",
'global_document_categories' => "Kategorie",
'group_approval_summary' => "Podsumowanie akceptacji dla grupy",
'group_exists' => "Grupa już istnieje.",
'group' => "Grupa",
'group_management' => "Zarządzanie grupami",
'group_members' => "Członkowie grupy",
'group_review_summary' => "Podsumowanie opiniowania dla grupy",
'groups' => "Grupy",
'guest_login_disabled' => "Logowanie dla gościa jest wyłączone.",
'guest_login' => "Zalogowany jako gość",
'help' => "Pomoc",
'hourly' => "Co godzinę",
'human_readable' => "Archiwum czytelne dla człowieka ",
'include_documents' => "Uwzględnij dokumenty",
'include_subdirectories' => "Uwzględnij podkatalogi",
'index_converters' => "Konwersja indeksu dokumentów",
'individuals' => "Indywidualni",
'inherits_access_msg' => "Dostęp jest dziedziczony.",
'inherits_access_copy_msg' => "Kopiuj odziedziczoną listę dostępu",
'inherits_access_empty_msg' => "Rozpocznij z pustą listą dostępu",
'internal_error_exit' => "Błąd wewnętrzny. Nie można ukończyć zadania. Wyjście.",
'internal_error' => "Błąd wewnętrzny",
'invalid_access_mode' => "Nieprawidłowy tryb dostępu",
'invalid_action' => "Nieprawidłowa akcja",
'invalid_approval_status' => "Nieprawidłowy status akceptacji",
'invalid_create_date_end' => "Nieprawidłowa data końcowa dla tworzenia przedziału czasowego.",
'invalid_create_date_start' => "Nieprawidłowa data początkowa dla tworzenia przedziału czasowego.",
'invalid_doc_id' => "Nieprawidłowy identyfikator dokumentu",
'invalid_file_id' => "Nieprawidłowy identyfikator pliku",
'invalid_folder_id' => "Nieprawidłowy identyfikator katalogu",
'invalid_group_id' => "Nieprawidłowy identyfikator grupy",
'invalid_link_id' => "Nieprawidłowy identyfikator dowiązania",
'invalid_request_token' => "Nieprawidłowy żeton zgłoszenia",
'invalid_review_status' => "Nieprawidłowy status recezowania",
'invalid_sequence' => "Invalid sequence value",
'invalid_status' => "Nieprawidłowy status dokumentu",
'invalid_target_doc_id' => "Invalid Target Document ID",
'invalid_target_folder' => "Invalid Target Folder ID",
'invalid_user_id' => "Nieprawidłowy identyfikator użytkownika",
'invalid_version' => "Nieprawidłowa wersja dokumentu",
'is_disabled' => "Konto nieaktywne",
'is_hidden' => "Nie pokazuj na liście użytkowników",
'january' => "Styczeń",
'js_no_approval_group' => "Proszę wybrać grupę odpowiedzalną za akceptację",
'js_no_approval_status' => "Proszę wybrać status akceptacji",
'js_no_comment' => "Proszę dodać komentarz",
'js_no_email' => "Wprowadź swój adres email",
'js_no_file' => "Proszę wybrać plik",
'js_no_keywords' => "Wybierz jakieś słowa kluczowe",
'js_no_login' => "Proszę wprowadzić nazwę użytkownika",
'js_no_name' => "Proszę wpisać imię",
'js_no_override_status' => "Proszę wybrać nowy [override] status",
'js_no_pwd' => "Musisz wprowadzić swoje hasło",
'js_no_query' => "Wprowadź zapytanie",
'js_no_review_group' => "Proszę wybrać grupę recenzującą",
'js_no_review_status' => "Proszę wybrać status recenzji",
'js_pwd_not_conf' => "Hasło i potwierdzenie hasła nie są identyczne",
'js_select_user_or_group' => "Wybierz użytkownika lub grupę",
'js_select_user' => "Proszę wybrać użytkownika",
'july' => "Lipiec",
'june' => "Czerwiec",
'keyword_exists' => "Słowo kluczowe już istnieje",
'keywords' => "Słowa kluczowe",
'language' => "Język",
'last_update' => "Ostatnia aktualizacja",
'link_alt_updatedocument' => "Jeśli chcesz wczytać pliki większe niż bieżące maksimum, użyj alternatywnej <a href=\"%s\">strony wczytywania</a>.",
'linked_documents' => "Powiązane dokumenty",
'linked_files' => "Załączniki",
'local_file' => "Lokalny plik",
'locked_by' => "Zablokowane przez",
'lock_document' => "Zablokuj",
'lock_message' => "Ten dokument jest zablokowany przez <a href=\"mailto:[email]\">[username]</a>. Tylko uprawnieni użytkownicy mogą odblokować dokument.",
'lock_status' => "Status",
'login' => "Login",
'login_disabled_text' => "Twoje konto jest zablokowane. Prawdopodobnie z powodu zbyt wielu nieudanych prób logowania.",
'login_disabled_title' => "Konto jest zablokowane",
'login_error_text' => "Błąd logowania. Niepoprawna nazwa użytkownika lub hasło.",
'login_error_title' => "Błąd logowania",
'login_not_given' => "Nie podano nazwy użytkownika",
'login_ok' => "Zalogowano",
'log_management' => "Zarządzanie plikami dziennika",
'logout' => "Wyloguj",
'manager' => "Zarządca",
'march' => "Marzec",
'max_upload_size' => "Maksymalny rozmiar pliku",
'may' => "Maj",
'monday' => "Poniedziałek",
'month_view' => "Widok miesięczny",
'monthly' => "Miesięcznie",
'move_document' => "Przenieś dokument",
'move_folder' => "Przenieś folder",
'move' => "Przenieś",
'my_account' => "Moje konto",
'my_documents' => "Moje dokumenty",
'name' => "Nazwa",
'new_attrdef' => "Dodaj definicję atrybutu",
'new_default_keyword_category' => "Dodaj kategorię",
'new_default_keywords' => "Dodaj słowa kluczowe",
'new_document_category' => "Dodaj kategorię",
'new_document_email' => "Nowy dokument",
'new_file_email' => "Nowy załącznik",
'new_folder' => "Nowy folder",
'new_password' => "Nowe hasło",
'new' => "Nowy",
'new_subfolder_email' => "Nowy folder",
'new_user_image' => "Nowy obraz",
'no_action' => "Żadne działanie nie jest wymagane",
'no_approval_needed' => "Nie ma dokumentów oczekujących na akceptację.",
'no_attached_files' => "Brak załączonych plików",
'no_default_keywords' => "Nie ma słów kluczowych",
'no_docs_locked' => "Brak zablokowanych dokumentów.",
'no_docs_to_approve' => "Aktualnie nie ma dokumentów wymagających akceptacji.",
'no_docs_to_look_at' => "Brak dokumentów wymagających uwagi.",
'no_docs_to_review' => "Aktualnie nie ma dokumentów oczekujących na recenzję.",
'no_fulltextindex' => "Brak indeksu pełnotekstowego",
'no_group_members' => "Ta grupa nie ma członków",
'no_groups' => "Brak grup",
'no' => "Nie",
'no_linked_files' => "Brak powiązanych dokumentów",
'no_previous_versions' => "Nie znaleziono poprzednich wersji",
'no_review_needed' => "Brak dokumentów w trakcie opiniowania.",
'notify_added_email' => "Twoje konto zostało dodane do listy powiadomień",
'notify_deleted_email' => "Twoje konto zostało usunięte z listy powiadomień",
'no_update_cause_locked' => "Nie możesz zaktualizować tego dokumentu. Proszę skontaktuj się z osobą która go blokuje.",
'no_user_image' => "Nie znaleziono obrazu",
'november' => "Listopad",
'now' => "teraz",
'objectcheck' => "Sprawdź Katalog/Dokument",
'obsolete' => "Zdezaktualizowany",
'october' => "Październik",
'old' => "Stary",
'only_jpg_user_images' => "Wyłącznie pliki typu .jpg mogą być użyte jako obrazy użytkowników",
'owner' => "Właściciel",
'ownership_changed_email' => "Właściciel zmieniony",
'password' => "Hasło",
'password_already_used' => "Hasło jest aktualnie używane",
'password_repeat' => "Powtórz hasło",
'password_expiration' => "Wygaśnięcie hasła",
'password_expiration_text' => "Twoje hasło wygasło. Proszę ustawić nowe zanim zaczniesz używać LetoDMS.",
'password_forgotten' => "Zapomniane hasło",
'password_forgotten_email_subject' => "Zapomniane hasło",
'password_forgotten_email_body' => "Drogi użytkowniku LetoDMS,\n\notrzymaliśmy prośbę o zmianę Twojego hasła.\n\nMożesz tego dokonać poprzez kliknięcie następującego linku:\n\n###URL_PREFIX###out/out.ChangePassword.php?hash=###HASH###\n\nJeśli nadal będą problemy z zalogowaniem, prosimy o kontak z administratorem.",
'password_forgotten_send_hash' => "Instrukcje dotyczące zmiany hasła zostały wysłane na adres email użytkownika.",
'password_forgotten_text' => "Wypełnij pola poniżej i postępuj wg instrukcji z emaila, który zostanie do Ciebie wysłany.",
'password_forgotten_title' => "Hasło wysłane",
'password_strength_insuffient' => "Niewystarczająca siła hasła",
'password_wrong' => "Złe hasło",
'personal_default_keywords' => "Osobiste sława kluczowe",
'previous_versions' => "Poprzednie wersje",
'refresh' => "Odśwież",
'rejected' => "Odrzucony",
'released' => "Zatwierdzony",
'removed_approver' => "został usunięty z listy osób akceptujących.",
'removed_file_email' => "Załącznik usunięty",
'removed_reviewer' => "został usunięty z listy recenzentów.",
'repairing_objects' => "Naprawa dokumentów i katalogów.",
'results_page' => "Strona z wynikami",
'review_deletion_email' => "Prośba o recenzję usunięta",
'reviewer_already_assigned' => "jest już przypisany jako recenzent",
'reviewer_already_removed' => "został już usunięty z procesu opiniowania lub już wydał swoją opinię",
'reviewers' => "Recenzenci",
'review_group' => "Grupa recenzentów",
'review_request_email' => "Prośba i recenzję",
'review_status' => "Status recensji",
'review_submit_email' => "Zgłoszony do recenzji",
'review_summary' => "Podsumowanie opiniowania",
'review_update_failed' => "Błąd podczas aktualizowania statusu recenzji. Aktualizacja nie powiodła się.",
'rm_attrdef' => "Usuń definicję atrybutu",
'rm_default_keyword_category' => "Usuń kategorię",
'rm_document' => "Usuń dokument",
'rm_document_category' => "Usuń kategorię",
'rm_file' => "Usuń plik",
'rm_folder' => "Usuń folder",
'rm_group' => "Usuń tą grupę",
'rm_user' => "Usuń tego użytkownika",
'rm_version' => "Usuń wersję",
'role_admin' => "Administrator",
'role_guest' => "Gość",
'role_user' => "Użytkownik",
'role' => "Rola",
'saturday' => "Sobota",
'save' => "Zapisz",
'search_fulltext' => "Przeszukaj całe teksty",
'search_in' => "Szukaj w",
'search_mode_and' => "wszystkie słowa",
'search_mode_or' => "conajmnej jedno słowo",
'search_no_results' => "Nie znaleziono dokumentów spełniających kryteria wyszukiwania.",
'search_query' => "Wyszukaj",
'search_report' => "Znaleziono [doccount] dokumentów i [foldercount] katalogów w [searchtime] sec.",
'search_report_fulltext' => "Znaleziono [doccount] dokumentów",
'search_results_access_filtered' => "Wyniki wyszukiwania mogą zawierać treści, do których dostęp jest zabroniony.",
'search_results' => "Wyniki wyszukiwania",
'search' => " Szukaj ",
'search_time' => "Upływający czas: [time] sec.",
'selection' => "Wybierz",
'select_one' => "Wybierz",
'september' => "Wrzesień",
'seq_after' => "Za \"[prevname]\"",
'seq_end' => "Na końcu",
'seq_keep' => "Na tej samej pozycji",
'seq_start' => "Na początku",
'sequence' => "Kolejność",
'set_expiry' => "Ustaw datę wygaśnięcia",
'set_owner_error' => "Błąd podczas ustawiania właściciela",
'set_owner' => "Ustaw właściciela",
'set_password' => "Zmień hasło",
'settings_install_welcome_title' => "Witamy w procesie instalacyjnym LetoDMS",
'settings_install_welcome_text' => "<p>Zanim uruchomisz instalację upewnij się, że masz utworzony plik 'ENABLE_INSTALL_TOOL' w katalogu konfiguracyjnym, w przeciwnym wypadku instalacja nie zadziała. W systemach uniksowych może to był łatwo wykonane poprzez polecenie 'touch conf/ENABLE_INSTALL_TOOL'. Po zakończeniu instalacji usuń ten plik.</p><p>LetoDMS ma bardzo niewielkie wymagania. Będziesz potrzebował bazy danych MySQL i włączonej obsługi PHP na swerze http. Do działania lucene - systemu przeszukiwania pełnoteksotowego - będzie także potrzebny Zend Framework, zainstalowany na dysku, na którym będzie widziany przez PHP. Począwszy od wersji 3.2.0 letoDMS, ADOdb nie będzie już częścią pakietu instalacyjnego. Pobierz kopię ADOdb z <a href=\"http://adodb.sourceforge.net/\">http://adodb.sourceforge.net</a> i zainstaluj. Ścieżka do ADOdb może być później ustawiona w trakcie instalacji.</p><p>Jeśli chcesz przygotować bazę danych przed uruchomieniem instalacji, możesz wykonać to ręcznie ulubionym narzędziem. Ewentualnie utwórz użytkownika bazy danych z prawem dostępu do bazy danych i zaimportuj ją ze zrzutu z katalogu konfiguracyjnego. Skrypt instalacyjny może to wszystko zrobić za Ciebie, lecz będzie do tego potrzebował dostępu do bazy danych z uprawnieniami zezwalającymi na tworzenie baz danych.</p>",
'settings_start_install' => "Uruchom instalację",
'settings_sortUsersInList' => "Uporządkuj użytkowników na liście",
'settings_sortUsersInList_desc' => "Ustawia porządek sortowania użytkowników w menu wyboru wg loginu lub wg pełnej nazwy.",
'settings_sortUsersInList_val_login' => "Sortowanie wg loginu",
'settings_sortUsersInList_val_fullname' => "Sortowanie wg pełnej nazwy",
'settings_stopWordsFile' => "Ścieżka do pliku ze słowami stopu",
'settings_stopWordsFile_desc' => "Plik ten zawiera słowa, które nie będą brane pod uwagę podczas wyszukiwania pełnotekstowego",
'settings_activate_module' => "Aktywuj moduł",
'settings_activate_php_extension' => "Aktywuj rozszerzenie PHP",
'settings_adminIP' => "Adres IP Administratora",
'settings_adminIP_desc' => "Wprowadzenie tego adresu IP spowoduje, że administrator będzie mógł się logować tylko z tego adresu. Zostaw puste aby tego nie kontrolować. Uwaga! Działa tylko z autentykacją lokalną (nie w LDAP-ie)",
'settings_ADOdbPath' => "Ścieżka do ADOdb",
'settings_ADOdbPath_desc' => "Ścieżka do adodb. Jest to katalog zawierający katalog adodb",
'settings_Advanced' => "Zaawansowane",
'settings_apache_mod_rewrite' => "Apache - Moduł Rewrite",
'settings_Authentication' => "Ustawienia uwierzytelniania",
'settings_Calendar' => "Ustawienia kalendarza",
'settings_calendarDefaultView' => "Domyślny widok kalendarza",
'settings_calendarDefaultView_desc' => "Domyślny widok kalendarza",
'settings_contentDir' => "Katalog treści",
'settings_contentDir_desc' => "Miejsce, gdzie będą przechowywane wczytane pliki (najlepien wybrać katalog, który nie jest dostępny dla serwera http)",
'settings_contentOffsetDir' => "Offset katalogu treści",
'settings_contentOffsetDir_desc' => "Aby obejść ograniczenia w bazowym systemie plików, zostanie w nim utworzona nowa struktura katalogów. To wymaga określenia katalogu początkowego. Zazwyczaj można zostawić domyślną wartość, 1048576, ale może też być dowolnym numerem lub słowem, które aktualnie nie istnieje w katalogu treści (Katalog treści)",
'settings_coreDir' => "Katalog Core letoDMS",
'settings_coreDir_desc' => "Ścieżka do LetoDMS_Core (opcjonalnie)",
'settings_loginFailure_desc' => "Wyłącz konto po n nieprawidłowych logowaniach.",
'settings_loginFailure' => "Błędy logowania",
'settings_luceneClassDir' => "Katalog Lucene LetoDMS",
'settings_luceneClassDir_desc' => "Ścieżka do Path to LetoDMS_Lucene (opcjonalnie)",
'settings_luceneDir' => "Katalog indeksu Lucene",
'settings_luceneDir_desc' => "Ścieżka do indeksu Lucene",
'settings_cannot_disable' => "Plik ENABLE_INSTALL_TOOL nie może zostać usunięty",
'settings_install_disabled' => "Plik ENABLE_INSTALL_TOOL został usunięty. Możesz teraz zalogować się do LetoDMS i przeprowadzić dalszą konfigurację.",
'settings_createdatabase' => "Utwórz tabele basy danych",
'settings_createdirectory' => "Utwórz katalog",
'settings_currentvalue' => "Bieżąca wartość",
'settings_Database' => "Ustawienia bazy danych",
'settings_dbDatabase' => "Baza danych",
'settings_dbDatabase_desc' => "Nazwa dla bazy danych podana w procesie instalacji. Nie zmieniaj tego pola bez konieczności, na przykład kiedy baza danych została przeniesiona.",
'settings_dbDriver' => "Typ bazy danych",
'settings_dbDriver_desc' => "Typ bazy danych podany w procesie instalacji. Nie zmieniaj tego pola dopóki nie zamierzasz zmigrować bazy danych na inny typ, na przykład podczas migracji na inny serwer. Typ bazy danych (DB-Driver) używany przez adodb (patrz adodb-readme)",
'settings_dbHostname_desc' => "Nazwa hosta twojej bazy danych podana w procesie instalacji. Nie zmieniaj tego pola dopóki nie jest to absolutnie konieczne, na przykład podczas przenoszenia bazy danych na nowego hosta.",
'settings_dbHostname' => "Nazwa hosta bazy danych",
'settings_dbPass_desc' => "Hasło dostępu do bazy danych podane w procesie instalacji.",
'settings_dbPass' => "Hasło",
'settings_dbUser_desc' => "Nazwa użytkownika uprawnionego do dostępu do bazy danych podana w procesie instalacji. Nie zmieniaj tego pola dopóki nie jest to absolutnie konieczne, na przykład podczas przenoszenia bazy danych na nowego hosta.",
'settings_dbUser' => "Nazwa użytkownika",
'settings_dbVersion' => "Schemat bazy danych jest za stary",
'settings_delete_install_folder' => "Aby móc używać LetoDMS, musisz usunąć plik ENABLE_INSTALL_TOOL znajdujący się w katalogu konfiguracyjnym",
'settings_disable_install' => "Usuń plik ENABLE_INSTALL_TOOL jeśli to możliwe",
'settings_disableSelfEdit_desc' => "Jeśli zaznaczone, użytkownik nie może zmieniać własnych danych",
'settings_disableSelfEdit' => "Wyłącz auto edycję",
'settings_Display' => "Ustawienia wyświetlania",
'settings_Edition' => "Ustawienia edycji",
'settings_enableAdminRevApp_desc' => "Odznacz aby usunąć Administratora z listy zatwierdzających/recenzentów",
'settings_enableAdminRevApp' => "Dołącz Administratora do recenzji/rewizji",
'settings_enableCalendar_desc' => "Włącz/Wyłącz kalendarz",
'settings_enableCalendar' => "Włącz kalendarz",
'settings_enableConverting_desc' => "Włącz/Wyłącz konwertowanie plików",
'settings_enableConverting' => "Włącz konwertowanie",
'settings_enableNotificationAppRev_desc' => "Zaznacz aby wysyłać powiadomienia do zatwierdzających i recenzentów kiedy pojawi się nowa wersja dokumentu",
'settings_enableNotificationAppRev' => "Włącz/Wyłącz powiadomienia dla zatwierdzających/recenzentów",
'settings_enableVersionModification_desc' => "Włącz/Wyłącz możliwość modyfikacji wersji dokumentów przez zwykłych użytkowników po wczytaniu pliku. Administrator może w każdej chwili zmienić wersję wczytanego pliku.",
'settings_enableVersionModification' => "Zezwól na modyfikowanie wersji",
'settings_enableVersionDeletion_desc' => "Włącz/Wyłącz możliwość kasowania poprzednich wersji plików przez zwykłych użytkowników. Administrator może w każdej chwili usunąć stare wersjie.",
'settings_enableVersionDeletion' => "Zezwól na usuwanie starych wersji plików",
'settings_enableEmail_desc' => "Włącz/Wyłącz automatyczne powiadomienia drogą mailową",
'settings_enableEmail' => "Włącz powiadomienia e-mail",
'settings_enableFolderTree_desc' => "Odznacz aby nie pokazywać drzewa katalogów",
'settings_enableFolderTree' => "Pokaż drzewo katalogów",
'settings_enableFullSearch' => "Włącz przeszukiwanie pełnotekstowe",
'settings_enableFullSearch_desc' => "Włącz przeszukiwanie pełnotekstowe",
'settings_enableGuestLogin_desc' => "Jeśli chcesz dowolnej osobie zalogować się jako gość, zaznacz tę opcję. Uwaga: logowanie gościa powinno być używane wyłącznie w zaufanym środowisku.",
'settings_enableGuestLogin' => "Pozwól na logowanie gościa",
'settings_enableLargeFileUpload_desc' => "Jeśli zaznaczone, wczytywanie plików będzie możliwe również przez aplet javy nazywany jumploader bez limitu rozmiaru plików. Aplet ten pozwala również na wczytywanie wielu plików jednocześnie.",
'settings_enableLargeFileUpload' => "Zezwól na wczytywanie dużych plików",
'settings_enableOwnerNotification_desc' => "Zaznacz aby właściciel pliku był powiadamiany zmianach w pliku.",
'settings_enableOwnerNotification' => "Włącz domyślne powiadamianie właściciela",
'settings_enablePasswordForgotten_desc' => "Jeśli chcesz zezwolić użytkownikom na zmianę własnego hasła i wysyłanie go emailem, zaznacz tę opcję.",
'settings_enablePasswordForgotten' => "Włącz odzyskiwanie hasła po jego zapomnieniu",
'settings_enableUserImage_desc' => "Zezwól na indywidualne obrazki użytkowników",
'settings_enableUserImage' => "Włącz obrazy użytkowników",
'settings_enableUsersView_desc' => "Włącz/Wyłącz wgląd w profil użytkownika dla innych",
'settings_enableUsersView' => "Włącz podgląd użytkownika",
'settings_encryptionKey' => "Klucz szyfrujący",
'settings_encryptionKey_desc' => "Ten ciąg znaków jest używany do tworzenia unikatowego identyfikatora dodawanego jako ukryte pole do formularza aby zapobiec atakom CSRF.",
'settings_error' => "Błąd",
'settings_expandFolderTree_desc' => "Rozwiń drzewo katalogów",
'settings_expandFolderTree' => "Rozwiń drzewo katalogów",
'settings_expandFolderTree_val0' => "Rozpocznij z ukrytym drzewem",
'settings_expandFolderTree_val1' => "Rozpocznij z pokazanym drzewem i rozwiniętym pierwszym poziomem",
'settings_expandFolderTree_val2' => "Rozpocznij z pokazanym, w pełni rozwiniętym drzewem",
'settings_firstDayOfWeek_desc' => "Pierwszy dzień tygodnia",
'settings_firstDayOfWeek' => "Pierwszy dzień tygodnia",
'settings_footNote_desc' => "Wiadomość wyświetlana na dole każdej strony",
'settings_footNote' => "Treść stopki",
'settings_guestID_desc' => "ID gościa używane kiedy gość jest zalogowany (zazwyczaj nie wymaga zmiany)",
'settings_guestID' => "ID gościa",
'settings_httpRoot_desc' => "Relatywna ścieżka w URL, część za domeną. Nie dołączaj przedrostka http:// ani nazwy hosta. Np. Jeśli cały URL to http://www.example.com/letodms/, wpisz '/letodms/'. Jeśli URL to http://www.example.com/, set '/'",
'settings_httpRoot' => "Http Root",
'settings_installADOdb' => "Zainstaluj ADOdb",
'settings_install_success' => "Instalacja zakończyła się sukcesem.",
'settings_install_pear_package_log' => "Zainstaluj pakiet Pear 'Log'",
'settings_install_pear_package_webdav' => "Zainstaluj pakiet Pear 'HTTP_WebDAV_Server', jeżli zamierzasz używać interfejsu webdav",
'settings_install_zendframework' => "Zainstaluj Zend Framework, jeśli zamierzasz używać przeszukiwania pełnotekstowego",
'settings_language' => "Domyślny język",
'settings_language_desc' => "Domyślny język (nazwa podkatalogu w katalogu \"languages\")",
'settings_logFileEnable_desc' => "Włącz/Wyłącz plik dziennika",
'settings_logFileEnable' => "Włącz plik dziennika",
'settings_logFileRotation_desc' => "Rotowanie pliku dziennika",
'settings_logFileRotation' => "Rotowanie pliku dziennika",
'settings_luceneDir' => "Katalog dla indeksu pełnotekstowego",
'settings_maxDirID_desc' => "Maksymalna liczba podkatalogów dla katalogu nadrzędnego. Domyślnie: 32700.",
'settings_maxDirID' => "Maksymalny ID katalogu",
'settings_maxExecutionTime_desc' => "Ustawia maksymalny czas, liczony w sekundach, jaki ma na wykonanie skrypt zanim zostanie zakończony.",
'settings_maxExecutionTime' => "Maksymalny czas wykonywania (s)",
'settings_more_settings' => "Wykonaj dalszą konfigurację. Domyślny login/hasło: admin/admin",
'settings_Notification' => "Ustawienia powiadomień",
'settings_no_content_dir' => "Katalog treści",
'settings_notfound' => "Nie znaleziono",
'settings_notwritable' => "Konfiguracja nie może zostać zapisana ponieważ plik konfiguracyjny nie jest zapisywalny.",
'settings_partitionSize' => "Rozmiar części pliku",
'settings_partitionSize_desc' => "Rozmiar części pliku, w bajtach, wczytywane przez jumploader. Nie wpisuj wartości większej niż maksymalna wartość wczytywanego pliku ustawiona na serwerze.",
'settings_passwordExpiration' => "Wygaśnięcie hasła",
'settings_passwordExpiration_desc' => "Liczba dni, po których hasło wygaśnie i będzie musiało być zresetowane. Wartość 0 wyłącza wygaszanie hasła.",
'settings_passwordHistory' => "Historia haseł",
'settings_passwordHistory_desc' => "Liczba haseł, jakie musi wykorzystać użytkownik, zanim będzie mógł użyć hasła ponownie. Wartość 0 wyłącza historię haseł.",
'settings_passwordStrength' => "Minimalna siła hasła",
'settings_passwordЅtrength_desc' => "Minimalna siła hasła jest liczbą całkowitą o wartości między 0, a 100. Ustawienie wartości 0 wyłącza sprawdzanie siły hasła.",
'settings_passwordStrengthAlgorithm' => "Algorytm sprawdzania siły hasła",
'settings_passwordStrengthAlgorithm_desc' => "Algorytm używany do obliczania siły hasła. Algorytm 'prosty' sprawdza tylko czy hasło ma minimum 8 znaków, czy zawiera małe i wielkie litery, cyfry i znaki specjalne. Jeśli te wymagania są spełnione zwracany jest wynik 100, jeśli nie, zwracany jest wynik 0.",
'settings_passwordStrengthAlgorithm_valsimple' => "prosty",
'settings_passwordStrengthAlgorithm_valadvanced' => "zaawansowany",
'settings_perms' => "Uprawnienia",
'settings_pear_log' => "Pakiet Pear: Log",
'settings_pear_webdav' => "Pakiet Pear: HTTP_WebDAV_Server",
'settings_php_dbDriver' => "Rozszerzenie PHP: php_'zobacz bieżącą wartość'",
'settings_php_gd2' => "Rozszerzenie PHP: php_gd2",
'settings_php_mbstring' => "Rozszerzenie PHP: php_mbstring",
'settings_printDisclaimer_desc' => "Zaznaczenie tej opcji spowoduje, że na dole strony będzie wyświetlany komunikat zrzeczenia się zawarty w pliku lang.inc.",
'settings_printDisclaimer' => "Wyświetlaj Zrzeczenie się",
'settings_restricted_desc' => "Mogą zalogować się tylko ci użytkownicy, którzy mają swoje wpisy w lokalnej bazie danych (niezależnie od pomyślnego uwierzytelnienia w LDAP)",
'settings_restricted' => "Ograniczony dostęp",
'settings_rootDir_desc' => "Ścieżka do miejsca, gdzie znajduje się letoDMS",
'settings_rootDir' => "Katalog główny",
'settings_rootFolderID_desc' => "ID katalogu głównego (zazwyczaj nie trzeba tego zmieniać)",
'settings_rootFolderID' => "ID katalogu głównego",
'settings_SaveError' => "Configuration file save error",
'settings_Server' => "Ustawienia serwera",
'settings' => "Ustawienia",
'settings_siteDefaultPage_desc' => "Strona wyświetlana domyślnie po zalogowaniu. Domyślnie jest to out/out.ViewFolder.php",
'settings_siteDefaultPage' => "Domyślna strona",
'settings_siteName_desc' => "Nazwa strony używana tytułach. Domyślnie: letoDMS",
'settings_siteName' => "Nazwa strony",
'settings_Site' => "Strona",
'settings_smtpPort_desc' => "Port serwera SMTP, domyślnie 25",
'settings_smtpPort' => "Port serwera SMTP",
'settings_smtpSendFrom_desc' => "Wyślij od",
'settings_smtpSendFrom' => "Wyślij od",
'settings_smtpServer_desc' => "Nazwa hosta serwera SMTP",
'settings_smtpServer' => "Nazwa serwera SMTP",
'settings_SMTP' => "Ustawienia serwera SMTP",
'settings_stagingDir' => "Katalog przechowywania części wczytywanych dużych plików",
'settings_strictFormCheck_desc' => "Sprawdzanie poprawności forularzy. Jeśli ta opcja jest włączona, to wszystkie pola w formularzach będą obowiązkowe do wypełnienia. Jeśli nie włączysz tej opcji, to większość komentarzy i pól słów kluczowych będzie opcjonalna. Komentarze są zawsze wymagane przy zatwierdzaniu, opiniowaniu lub zmianie statusu dokumentu.",
'settings_strictFormCheck' => "Sprawdzanie poprawności formularzy",
'settings_suggestionvalue' => "Suggestion value",
'settings_System' => "System",
'settings_theme' => "Domyślny motyw",
'settings_theme_desc' => "Domyślny styl wyglądu (nazwa podkatalogu w katalogu \"styles\")",
'settings_titleDisplayHack_desc' => "Obejście problemu z wyświetlaniem tytułów zajmujących więcej niż dwie linie.",
'settings_titleDisplayHack' => "Korekta wyświetlania tytułu",
'settings_updateDatabase' => "Uruchom skrytoy aktualizujące shemat bazy danych",
'settings_updateNotifyTime_desc' => "Użytkownicy są powiadamiani o zmianach w dokumentach, które miały miejsce w ciągu ostatnich 'Update Notify Time' sekund",
'settings_updateNotifyTime' => "Okres powiadamiania o zmianach",
'settings_versioningFileName_desc' => "Nazwa pliku, zawierającego informacje o wersjonowaniu, utworzonego przez narzędzie kopii zapasowej.",
'settings_versioningFileName' => "Nazwa pliku z wersjonowaniem",
'settings_viewOnlineFileTypes_desc' => "Pliki z jednym z następujących rozszerzeń mogą być widoczne online (UŻYWAJ WYŁĄCZNIE MAŁYCH LITER)",
'settings_viewOnlineFileTypes' => "Typy plików widoczne online",
'settings_zendframework' => "Zend Framework",
'signed_in_as' => "Zalogowany jako",
'sign_in' => "Zaloguj się",
'sign_out' => "Wyloguj",
'space_used_on_data_folder' => "Przestrzeń zajęta przez folder danych",
'status_approval_rejected' => "Szkic odrzucony",
'status_approved' => "Zatwierdzone",
'status_approver_removed' => "Osoba zatwierdzająca usunięta z procesu",
'status_not_approved' => "Nie zatwierdzone",
'status_not_reviewed' => "Nie zrecenzowane",
'status_reviewed' => "Zrecenzowane",
'status_reviewer_rejected' => "Szkic odrzucony",
'status_reviewer_removed' => "Recenzent usunięty z procesu",
'status' => "Status",
'status_unknown' => "Nieznany",
'storage_size' => "Zajętość dysku",
'submit_approval' => "Zaakceptuj",
'submit_login' => "Zaloguj się",
'submit_password' => "Ustaw nowe hasło",
'submit_password_forgotten' => "Uruchom proces",
'submit_review' => "Zatwierdź recenzję",
'submit_userinfo' => "Zatwierdź dane",
'sunday' => "Niedziela",
'theme' => "Wygląd",
'thursday' => "Czwartek",
'toggle_manager' => "Przełączanie zarządcy",
'to' => "Do",
'tuesday' => "Wtorek",
'under_folder' => "W folderze",
'unknown_command' => "Polecenie nie rozpoznane.",
'unknown_document_category' => "Nieznana kategoria",
'unknown_group' => "Nieznany ID grupy",
'unknown_id' => "Nieznany ID",
'unknown_keyword_category' => "Nieznana kategoria",
'unknown_owner' => "Nieznany ID właściciela",
'unknown_user' => "Nieznany ID użytkownika",
'unlock_cause_access_mode_all' => "Nadal możesz go zaktualizować ponieważ masz \"Wszystkie\" uprawnienia. Blokada będzie automatycznie zdjęta.",
'unlock_cause_locking_user' => "Nadal możesz zaktualizować dokument ponieważ jesteś też osobą, która go zablokowała. Blokada będzie automatycznie zdjęta.",
'unlock_document' => "Odblokuj",
'update_approvers' => "Aktualizuj listę osób zatwierdzających",
'update_document' => "Aktualizuj dokument",
'update_fulltext_index' => "Aktualizuj indeks pełnotekstowy",
'update_info' => "Aktualizuj informacje",
'update_locked_msg' => "Ten dokument jest zablokowany. ",
'update_reviewers' => "Aktualizuj listę recenzentów",
'update' => "Uaktualnij",
'uploaded_by' => "Przesłane przez",
'uploading_failed' => "Przesyłanie nie powiodło się. Skontaktuj się z administratorem.",
'use_default_categories' => "Użyj predefiniowanych kategorii",
'use_default_keywords' => "Użyj predefiniowanych słów kluczowych",
'user_exists' => "Użytkownik już istnieje.",
'user_image' => "Zdjęcie",
'user_info' => "Informacje o użytkowniku",
'user_list' => "Lista użytkowników",
'user_login' => "Nazwa użytkownika",
'user_management' => "Zarządzanie użytkownikami",
'user_name' => "Pełna nazwa",
'users' => "Użytkownicy",
'user' => "Użytkownik",
'version_deleted_email' => "Wersja usunięta",
'version_info' => "Informacje o wersji",
'versioning_file_creation' => "Utwórz archiwum z wersjonowaniem",
'versioning_file_creation_warning' => "Ta operacja utworzy plik zawierający informacje o wersjach plików z całego wskazanego folderu. Po utworzeniu, każdy plik będzie zapisany w folderze odpowiednim dla danego dokumentu.",
'versioning_info' => "Informacje o wersjach",
'version' => "Wersja",
'view_online' => "Obejrzyj online",
'warning' => "Ostrzeżenie",
'wednesday' => "Środa",
'week_view' => "Widok tygodniowy",
'year_view' => "Widok roczny",
'yes' => "Tak",
);
?>

View File

@ -84,6 +84,7 @@ $text = array(
'assign_reviewers' => "Ge uppdrag till personer/grupper att granska dokumentet", 'assign_reviewers' => "Ge uppdrag till personer/grupper att granska dokumentet",
'assign_user_property_to' => "Sätt användarens egenskaper till", 'assign_user_property_to' => "Sätt användarens egenskaper till",
'assumed_released' => "Antas klart för användning", 'assumed_released' => "Antas klart för användning",
'attr_no_regex_match' => "Värdet av attributet stämmer inte överens med regulära uttrycket",
'attrdef_management' => "Hantering av attributdefinitioner", 'attrdef_management' => "Hantering av attributdefinitioner",
'attrdef_exists' => "Attributdefinitionen finns redan", 'attrdef_exists' => "Attributdefinitionen finns redan",
'attrdef_in_use' => "Attributdefinitionen används", 'attrdef_in_use' => "Attributdefinitionen används",
@ -93,6 +94,7 @@ $text = array(
'attrdef_type' => "Typ", 'attrdef_type' => "Typ",
'attrdef_minvalues' => "Min tillåtna värde", 'attrdef_minvalues' => "Min tillåtna värde",
'attrdef_maxvalues' => "Max tillåtna värde", 'attrdef_maxvalues' => "Max tillåtna värde",
'attrdef_regex' => "Regulär uttryck",
'attrdef_valueset' => "Värden", 'attrdef_valueset' => "Värden",
'attribute_changed_email_subject' => "[sitename]: [name] - Ändrad attribut", 'attribute_changed_email_subject' => "[sitename]: [name] - Ändrad attribut",
'attribute_changed_email_body' => "Ändrad attribut\r\nDokument: [name]\r\nVersion: [version]\r\nAttribut: [attribute]\r\nÖverordnade katalog: [folder_path]\r\nAnvändare: [username]\r\nURL: [url]", 'attribute_changed_email_body' => "Ändrad attribut\r\nDokument: [name]\r\nVersion: [version]\r\nAttribut: [attribute]\r\nÖverordnade katalog: [folder_path]\r\nAnvändare: [username]\r\nURL: [url]",
@ -106,9 +108,11 @@ $text = array(
'backup_log_management' => "Backup/Loggning", 'backup_log_management' => "Backup/Loggning",
'between' => "mellan", 'between' => "mellan",
'calendar' => "Kalender", 'calendar' => "Kalender",
'calendar_week' => "Kalender vecka",
'cancel' => "Avbryt", 'cancel' => "Avbryt",
'cannot_assign_invalid_state' => "Kan inte ändra ett dokument som har gått ut eller avvisats.", 'cannot_assign_invalid_state' => "Kan inte ändra ett dokument som har gått ut eller avvisats.",
'cannot_change_final_states' => "OBS: Du kan inte ändra statusen för ett dokument som har avvisats eller gått ut eller som väntar på att bli godkänt.", 'cannot_change_final_states' => "OBS: Du kan inte ändra statusen för ett dokument som har avvisats eller gått ut eller som väntar på att bli godkänt.",
'cannot_delete_user' => "Du kan inte ta bort användaren.",
'cannot_delete_yourself' => "Du kan inte ta bort dig själv.", 'cannot_delete_yourself' => "Du kan inte ta bort dig själv.",
'cannot_move_root' => "Fel: Det går inte att flytta root-katalogen.", 'cannot_move_root' => "Fel: Det går inte att flytta root-katalogen.",
'cannot_retrieve_approval_snapshot' => "Det är inte möjligt att skapa en snapshot av godkännande-statusen för denna version av dokumentet.", 'cannot_retrieve_approval_snapshot' => "Det är inte möjligt att skapa en snapshot av godkännande-statusen för denna version av dokumentet.",
@ -135,6 +139,7 @@ $text = array(
'choose_workflow' => "Välj arbetsflöde", 'choose_workflow' => "Välj arbetsflöde",
'choose_workflow_state' => "Välj status för arbetsflödet", 'choose_workflow_state' => "Välj status för arbetsflödet",
'choose_workflow_action' => "Välj åtgärd för arbetsflödet", 'choose_workflow_action' => "Välj åtgärd för arbetsflödet",
'clipboard' => "Urklipp",
'close' => "Sträng", 'close' => "Sträng",
'comment' => "Kommentar", 'comment' => "Kommentar",
'comment_for_current_version' => "Kommentar till versionen", 'comment_for_current_version' => "Kommentar till versionen",
@ -398,6 +403,7 @@ $text = array(
'my_account' => "Min Sida", 'my_account' => "Min Sida",
'my_documents' => "Mina dokument", 'my_documents' => "Mina dokument",
'name' => "Namn", 'name' => "Namn",
'needs_workflow_action' => "Detta dokument behöver din uppmärksamhet. Kolla arbetsflödet.",
'new_attrdef' => "Lägg till attributdefinition", 'new_attrdef' => "Lägg till attributdefinition",
'new_default_keyword_category' => "Lägg till nyckelordskategori", 'new_default_keyword_category' => "Lägg till nyckelordskategori",
'new_default_keywords' => "Lägg till nyckelord", 'new_default_keywords' => "Lägg till nyckelord",
@ -474,6 +480,7 @@ $text = array(
'refresh' => "Uppdatera", 'refresh' => "Uppdatera",
'rejected' => "Avvisat", 'rejected' => "Avvisat",
'released' => "Klart för användning", 'released' => "Klart för användning",
'remove_marked_files' => "Ta bort markerade filer",
'removed_workflow_email_subject' => "[sitename]: [name] - Arbetsflöde borttagen från dokument version", 'removed_workflow_email_subject' => "[sitename]: [name] - Arbetsflöde borttagen från dokument version",
'removed_workflow_email_body' => "Arbetsflöde borttagen från dokument version\r\nDokument: [name]\r\nVersion: [version]\r\nArbetsflöde: [workflow]\r\nÖverordnade katalog: [folder_path]\r\nAnvändare: [username]\r\nURL: [url]", 'removed_workflow_email_body' => "Arbetsflöde borttagen från dokument version\r\nDokument: [name]\r\nVersion: [version]\r\nArbetsflöde: [workflow]\r\nÖverordnade katalog: [folder_path]\r\nAnvändare: [username]\r\nURL: [url]",
'removed_approver' => "har tagits bort från listan med personer som ska godkänna dokumentet.", 'removed_approver' => "har tagits bort från listan med personer som ska godkänna dokumentet.",
@ -653,10 +660,14 @@ $text = array(
'settings_enableLanguageSelector_desc' => "Visa språkurval i användargränssnittet efter inloggning. Detta påverkar inte språkurval på inloggningssidan.", 'settings_enableLanguageSelector_desc' => "Visa språkurval i användargränssnittet efter inloggning. Detta påverkar inte språkurval på inloggningssidan.",
'settings_enableLargeFileUpload_desc' => "Om aktiverad, kan filer laddas upp via javaapplet med namnet jumploader, utan begränsningar i filstorlek. Flera filer kan även laddas upp samtidigt i ett steg.", 'settings_enableLargeFileUpload_desc' => "Om aktiverad, kan filer laddas upp via javaapplet med namnet jumploader, utan begränsningar i filstorlek. Flera filer kan även laddas upp samtidigt i ett steg.",
'settings_enableLargeFileUpload' => "Aktivera uppladdning av stora filer", 'settings_enableLargeFileUpload' => "Aktivera uppladdning av stora filer",
'settings_maxRecursiveCount' => "Max antal rekursiva dokument/katalog",
'settings_maxRecursiveCount_desc' => "Detta är maximum antal av dokument eller katalog som kommer att testas om att det har korrekt rättigheter, när objekt räknas rekursiv. Om detta nummer överskrids, kommer antalet av dokument och katalog i katalogvyn bara bli uppskattat.",
'settings_enableOwnerNotification_desc' => "Kryssa i, för att skapa ett meddelande till ägaren av dokumentet, när en ny version av dokumentet har laddats upp.", 'settings_enableOwnerNotification_desc' => "Kryssa i, för att skapa ett meddelande till ägaren av dokumentet, när en ny version av dokumentet har laddats upp.",
'settings_enableOwnerNotification' => "Aktivera meddelande till dokumentägaren", 'settings_enableOwnerNotification' => "Aktivera meddelande till dokumentägaren",
'settings_enablePasswordForgotten_desc' => "Om du vill tillåta att användare kan få nytt lösenord genom att skicka e-post, aktivera denna option.", 'settings_enablePasswordForgotten_desc' => "Om du vill tillåta att användare kan få nytt lösenord genom att skicka e-post, aktivera denna option.",
'settings_enablePasswordForgotten' => "Aktivera glömt lösenord", 'settings_enablePasswordForgotten' => "Aktivera glömt lösenord",
'settings_enableRecursiveCount_desc' => "Om detta sätts på, kommer antal dokument och kataloger i katalogvyn fastställas genom att räkna alla objekter via rekursiv hantering av alla kataloger och räkna dessa dokument och kataloger som användaren har rättigheter till.",
'settings_enableRecursiveCount' => "Aktivera rekursiv räkning av dokument/katalog",
'settings_enableUserImage_desc' => "Aktivera användarbilder", 'settings_enableUserImage_desc' => "Aktivera användarbilder",
'settings_enableUserImage' => "Aktivera användarbilder", 'settings_enableUserImage' => "Aktivera användarbilder",
'settings_enableUsersView_desc' => "Aktivera/Inaktivera visning av grupp och användare för alla användare", 'settings_enableUsersView_desc' => "Aktivera/Inaktivera visning av grupp och användare för alla användare",
@ -754,6 +765,8 @@ $text = array(
'settings_updateDatabase' => "Kör schemauppdateringsskript på databasen", 'settings_updateDatabase' => "Kör schemauppdateringsskript på databasen",
'settings_updateNotifyTime_desc' => "Användare meddelas om att ändringar i dokumentet har genomförts inom de senaste 'Uppdateringsmeddelandetid' sekunder.", 'settings_updateNotifyTime_desc' => "Användare meddelas om att ändringar i dokumentet har genomförts inom de senaste 'Uppdateringsmeddelandetid' sekunder.",
'settings_updateNotifyTime' => "Uppdateringsmeddelandetid", 'settings_updateNotifyTime' => "Uppdateringsmeddelandetid",
'settings_undelUserIds_desc' => "Lista med komma separerade användare IDs, som inte kan tas bort.",
'settings_undelUserIds' => "Användare IDs, som inte kan tas bort",
'settings_versioningFileName_desc' => "Namnet på versionsinfo-fil som skapas med backup-verktyget", 'settings_versioningFileName_desc' => "Namnet på versionsinfo-fil som skapas med backup-verktyget",
'settings_versioningFileName' => "Versionsinfo-filnamn", 'settings_versioningFileName' => "Versionsinfo-filnamn",
'settings_viewOnlineFileTypes_desc' => "Filer av en av de följande filtyperna kan visas online. OBS! ANVÄND BARA SMÅ BOKSTÄVER", 'settings_viewOnlineFileTypes_desc' => "Filer av en av de följande filtyperna kan visas online. OBS! ANVÄND BARA SMÅ BOKSTÄVER",
@ -766,7 +779,18 @@ $text = array(
'signed_in_as' => "Inloggad som", 'signed_in_as' => "Inloggad som",
'sign_in' => "logga in", 'sign_in' => "logga in",
'sign_out' => "logga ut", 'sign_out' => "logga ut",
'sign_out_user' => "logga ut användare",
'space_used_on_data_folder' => "Plats använd i datamappen", 'space_used_on_data_folder' => "Plats använd i datamappen",
'splash_added_to_clipboard' => "Lagt till till urklipp",
'splash_document_edited' => "Dokument sparad",
'splash_document_locked' => "Dokument låst",
'splash_document_unlocked' => "Dokument upplåst",
'splash_folder_edited' => "Spara katalog ändringar",
'splash_invalid_folder_id' => "Ogiltigt katalog ID",
'splash_removed_from_clipboard' => "Borttagen från urklipp",
'splash_settings_saved' => "Inställningar sparat",
'splash_substituted_user' => "Bytt användare",
'splash_switched_back_user' => "Byt tillbaka till original användare",
'status_approval_rejected' => "Utkast avvisat", 'status_approval_rejected' => "Utkast avvisat",
'status_approved' => "Godkänt", 'status_approved' => "Godkänt",
'status_approver_removed' => "Person som godkänner har tagits bort från processen", 'status_approver_removed' => "Person som godkänner har tagits bort från processen",
@ -784,8 +808,10 @@ $text = array(
'submit_password_forgotten' => "Starta process", 'submit_password_forgotten' => "Starta process",
'submit_review' => "Skicka granskning", 'submit_review' => "Skicka granskning",
'submit_userinfo' => "Skicka info", 'submit_userinfo' => "Skicka info",
'substitute_user' => "Byt användare",
'sunday' => "söndag", 'sunday' => "söndag",
'sunday_abbr' => "", 'sunday_abbr' => "",
'switched_to' => "Bytt till",
'theme' => "Visningstema", 'theme' => "Visningstema",
'thursday' => "torsdag", 'thursday' => "torsdag",
'thursday_abbr' => "to", 'thursday_abbr' => "to",
@ -821,6 +847,7 @@ $text = array(
'uploaded_by' => "Uppladdat av", 'uploaded_by' => "Uppladdat av",
'uploading_failed' => "Fel vid uppladdningen. Kontakta administratören.", 'uploading_failed' => "Fel vid uppladdningen. Kontakta administratören.",
'uploading_zerosize' => "Uppladdning av tom fil. Uppladdningen avbryts.", 'uploading_zerosize' => "Uppladdning av tom fil. Uppladdningen avbryts.",
'use_comment_of_document' => "Använd dokumentets kommentar",
'use_default_categories' => "Använd fördefinerade kategorier", 'use_default_categories' => "Använd fördefinerade kategorier",
'use_default_keywords' => "Använd fördefinerade nyckelord", 'use_default_keywords' => "Använd fördefinerade nyckelord",
'used_discspace' => "Använt minne", 'used_discspace' => "Använt minne",
@ -878,6 +905,7 @@ $text = array(
'hu_HU' => "ungerska", 'hu_HU' => "ungerska",
'it_IT' => "italienska", 'it_IT' => "italienska",
'nl_NL' => "holländska", 'nl_NL' => "holländska",
'pl_PL' => "polska",
'pt_BR' => "portugisiska (BR)", 'pt_BR' => "portugisiska (BR)",
'ru_RU' => "ryska", 'ru_RU' => "ryska",
'sk_SK' => "slovakiska", 'sk_SK' => "slovakiska",

View File

@ -416,5 +416,28 @@ $text = array(
'week_view' => "周视图",// "Week view", 'week_view' => "周视图",// "Week view",
'year_view' => "年视图",// "Year View", 'year_view' => "年视图",// "Year View",
'yes' => "",// "Yes", 'yes' => "",// "Yes",
'add_multiple_documents' => "添加多个文件",
'attributes' => "属性",
'between' => "时间段",
'categories' => "分类",
'category_filter' => "指定分类",
'create_fulltext_index' => "创建全文索引",
'databasesearch' => "数据库搜索",
'documents_only' => "指定文件",
'fullsearch' => "全文搜索",
'fullsearch_hint' => "使用全文索引",
'fulltext_info' => "全文索引信息",
'global_attributedefinitions' => "属性",
'global_document_categories' => "分类",
'is_disabled' => "禁用帐户",
'link_alt_updatedocument' => "超过20M大文件请选择<a href=\"%s\">上传大文件</a>.",
'objectcheck' => "文件夹/文件检查",
'obsolete' => "过时的",
'quota' => "配额",
'settings' => "设置",
'update_fulltext_index' => "更新全文索引",
'uploading_zerosize' => "上传失败!请检查是否没有选择上传的文件。",
'used_discspace' => "使用磁盘空间",
'uploading_failed' => "文件太大无法上传!请处理后重新上传。",
); );
?> ?>

View File

@ -51,6 +51,8 @@ if ($folder->getAccessMode($user) < M_READWRITE) {
$comment = $_POST["comment"]; $comment = $_POST["comment"];
$version_comment = $_POST["version_comment"]; $version_comment = $_POST["version_comment"];
if($version_comment == "" && isset($_POST["use_comment"]))
$version_comment = $comment;
$keywords = $_POST["keywords"]; $keywords = $_POST["keywords"];
$categories = isset($_POST["categories"]) ? $_POST["categories"] : null; $categories = isset($_POST["categories"]) ? $_POST["categories"] : null;
@ -58,15 +60,32 @@ if(isset($_POST["attributes"]))
$attributes = $_POST["attributes"]; $attributes = $_POST["attributes"];
else else
$attributes = array(); $attributes = array();
foreach($attributes as $attrdefid=>$attribute) {
$attrdef = $dms->getAttributeDefinition($attrdefid);
if($attribute) {
if($attrdef->getRegex()) {
if(!preg_match($attrdef->getRegex(), $attribute)) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("attr_no_regex_match"));
}
}
}
}
if(isset($_POST["attributes_version"])) if(isset($_POST["attributes_version"]))
$attributes_version = $_POST["attributes_version"]; $attributes_version = $_POST["attributes_version"];
else else
$attributes_version = array(); $attributes_version = array();
foreach($attributes_version as $attrdefid=>$attribute) {
$attrdef = $dms->getAttributeDefinition($attrdefid);
if($attribute) {
if($attrdef->getRegex()) {
if(!preg_match($attrdef->getRegex(), $attribute)) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("attr_no_regex_match"));
}
}
}
}
if(isset($_POST["workflow"]))
$workflow = $dms->getWorkflow($_POST["workflow"]);
else
$workflow = null;
$reqversion = (int)$_POST["reqversion"]; $reqversion = (int)$_POST["reqversion"];
if ($reqversion<1) $reqversion=1; if ($reqversion<1) $reqversion=1;
@ -77,7 +96,7 @@ if (!is_numeric($sequence)) {
} }
$expires = false; $expires = false;
if ($_POST["expires"] != "false") { if (!isset($_POST['expires']) || $_POST["expires"] != "false") {
if($_POST["expdate"]) { if($_POST["expdate"]) {
$tmp = explode('-', $_POST["expdate"]); $tmp = explode('-', $_POST["expdate"]);
$expires = mktime(0,0,0, $tmp[1], $tmp[0], $tmp[2]); $expires = mktime(0,0,0, $tmp[1], $tmp[0], $tmp[2]);
@ -159,6 +178,14 @@ foreach ($res as $r){
} }
} }
if(!$workflow = $user->getMandatoryWorkflow()) {
if(isset($_POST["workflow"]))
$workflow = $dms->getWorkflow($_POST["workflow"]);
else
$workflow = null;
}
if($settings->_dropFolderDir) { if($settings->_dropFolderDir) {
if(isset($_POST["dropfolderfileform1"]) && $_POST["dropfolderfileform1"]) { if(isset($_POST["dropfolderfileform1"]) && $_POST["dropfolderfileform1"]) {
$fullfile = $settings->_dropFolderDir.'/'.$user->getLogin().'/'.$_POST["dropfolderfileform1"]; $fullfile = $settings->_dropFolderDir.'/'.$user->getLogin().'/'.$_POST["dropfolderfileform1"];

View File

@ -49,11 +49,11 @@ if ($public && ($document->getAccessMode($user) == M_READ)) {
$public = false; $public = false;
} }
if (!isset($_GET["docidform1"]) || !is_numeric($_GET["docidform1"]) || intval($_GET["docidform1"])<1) { if (!isset($_GET["docid"]) || !is_numeric($_GET["docid"]) || intval($_GET["docid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_target_doc_id")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("invalid_target_doc_id"));
} }
$docid = $_GET["docidform1"]; $docid = $_GET["docid"];
$doc = $dms->getDocument($docid); $doc = $dms->getDocument($docid);
if (!is_object($doc)) { if (!is_object($doc)) {

View File

@ -60,6 +60,17 @@ if(isset($_POST["attributes"]))
$attributes = $_POST["attributes"]; $attributes = $_POST["attributes"];
else else
$attributes = array(); $attributes = array();
foreach($attributes as $attrdefid=>$attribute) {
$attrdef = $dms->getAttributeDefinition($attrdefid);
if($attribute) {
if($attrdef->getRegex()) {
if(!preg_match($attrdef->getRegex(), $attribute)) {
UI::exitError(getMLText("folder_title", array("foldername" => $document->getName())),getMLText("attr_no_regex_match"));
}
}
}
}
$subFolder = $folder->addSubFolder($name, $comment, $user, $sequence, $attributes); $subFolder = $folder->addSubFolder($name, $comment, $user, $sequence, $attributes);
if (is_object($subFolder)) { if (is_object($subFolder)) {

View File

@ -37,8 +37,16 @@ if (isset($_GET["id"]) && is_numeric($_GET["id"]) && isset($_GET['type'])) {
} }
} }
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_added_to_clipboard')));
/* FIXME: this does not work because the folder id is not passed */ /* FIXME: this does not work because the folder id is not passed */
$folderid = $_GET['folderid']; $folderid = $_GET['folderid'];
header("Location:../out/out.ViewFolder.php?folderid=".$folderid);
if(isset($_GET['refferer']) && $_GET['refferer'])
header("Location:".urldecode($_GET['refferer']));
else {
$folderid = $_GET['folderid'];
header("Location:../out/out.ViewFolder.php?folderid=".$folderid);
}
?> ?>

View File

@ -19,6 +19,8 @@
include("../inc/inc.Settings.php"); include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php"); include("../inc/inc.LogInit.php");
include("../inc/inc.DBInit.php"); include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php");
require_once("../inc/inc.Utils.php"); require_once("../inc/inc.Utils.php");
require_once("../inc/inc.ClassSession.php"); require_once("../inc/inc.ClassSession.php");
@ -41,17 +43,22 @@ if (isset($_COOKIE["mydms_session"])) {
exit; exit;
} }
$dms->setUser($user); $dms->setUser($user);
if($user->isAdmin()) {
if($resArr["su"]) {
$user = $dms->getUser($resArr["su"]);
}
}
} else { } else {
$user = null; $user = null;
} }
include $settings->_rootDir . "languages/" . $resArr["language"] . "/lang.inc"; include $settings->_rootDir . "languages/" . $resArr["language"] . "/lang.inc";
$command = $_GET["command"]; $command = $_REQUEST["command"];
switch($command) { switch($command) {
case 'checkpwstrength': case 'checkpwstrength':
$ps = new Password_Strength(); $ps = new Password_Strength();
$ps->set_password($_GET["pwd"]); $ps->set_password($_REQUEST["pwd"]);
if($settings->_passwordStrengthAlgorithm == 'simple') if($settings->_passwordStrengthAlgorithm == 'simple')
$ps->simple_calculate(); $ps->simple_calculate();
else else
@ -68,7 +75,7 @@ switch($command) {
} }
break; break;
case 'searchdocument': case 'searchdocument': /* {{{ */
if($user) { if($user) {
$query = $_GET['query']; $query = $_GET['query'];
@ -82,9 +89,9 @@ switch($command) {
echo json_encode($result); echo json_encode($result);
} }
} }
break; break; /* }}} */
case 'searchfolder': case 'searchfolder': /* {{{ */
if($user) { if($user) {
$query = $_GET['query']; $query = $_GET['query'];
@ -98,6 +105,62 @@ switch($command) {
echo json_encode($result); echo json_encode($result);
} }
} }
break; break; /* }}} */
case 'subtree': /* {{{ */
if(empty($_GET['node']))
$nodeid = $settings->_rootFolderID;
else
$nodeid = (int) $_GET['node'];
if(empty($_GET['showdocs']))
$showdocs = false;
else
$showdocs = true;
$folder = $dms->getFolder($nodeid);
if (!is_object($folder)) return '';
$subfolders = $folder->getSubFolders();
$subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, M_READ);
$tree = array();
foreach($subfolders as $subfolder) {
$level = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>$subfolder->hasSubFolders() ? true : false, 'is_folder'=>true);
if(!$subfolder->hasSubFolders())
$level['children'] = array();
$tree[] = $level;
}
if($showdocs) {
$documents = $folder->getDocuments();
$documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ);
foreach($documents as $document) {
$level = array('label'=>$document->getName(), 'id'=>$document->getID(), 'load_on_demand'=>false, 'is_folder'=>false);
$tree[] = $level;
}
}
echo json_encode($tree);
// echo json_encode(array(array('label'=>'test1', 'id'=>1, 'load_on_demand'=> true), array('label'=>'test2', 'id'=>2, 'load_on_demand'=> true)));
break; /* }}} */
case 'addtoclipboard': /* {{{ */
if (isset($_GET["id"]) && is_numeric($_GET["id"]) && isset($_GET['type'])) {
switch($_GET['type']) {
case "folder":
$session->addToClipboard($dms->getFolder($_GET['id']));
break;
case "document":
$session->addToClipboard($dms->getDocument($_GET['id']));
break;
}
}
$view = UI::factory($theme, '', array('dms'=>$dms, 'user'=>$user));
if($view) {
$view->setParam('refferer', '');
$content = $view->menuClipboard($session->getClipboard());
header('Content-Type: application/json');
echo json_encode($content);
} else {
}
break; /* }}} */
} }
?> ?>

View File

@ -50,6 +50,7 @@ if ($action == "addattrdef") {
$minvalues = intval($_POST["minvalues"]); $minvalues = intval($_POST["minvalues"]);
$maxvalues = intval($_POST["maxvalues"]); $maxvalues = intval($_POST["maxvalues"]);
$valueset = trim($_POST["valueset"]); $valueset = trim($_POST["valueset"]);
$regex = trim($_POST["regex"]);
if($name == '') { if($name == '') {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_noname")); UI::exitError(getMLText("admin_tools"),getMLText("attrdef_noname"));
@ -57,11 +58,15 @@ if ($action == "addattrdef") {
if (is_object($dms->getAttributeDefinitionByName($name))) { if (is_object($dms->getAttributeDefinitionByName($name))) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_exists")); UI::exitError(getMLText("admin_tools"),getMLText("attrdef_exists"));
} }
$newAttrdef = $dms->addAttributeDefinition($name, $objtype, $type, $multiple, $minvalues, $maxvalues, $valueset); $newAttrdef = $dms->addAttributeDefinition($name, $objtype, $type, $multiple, $minvalues, $maxvalues, $valueset, $regex);
if (!$newAttrdef) { if (!$newAttrdef) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
} }
$attrdefid=$newAttrdef->getID(); $attrdefid=$newAttrdef->getID();
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_add_attribute')));
add_log_line("&action=addattrdef&name=".$name);
} }
// delet attribute definition ----------------------------------------------- // delet attribute definition -----------------------------------------------
@ -84,6 +89,10 @@ else if ($action == "removeattrdef") {
if (!$attrdef->remove()) { if (!$attrdef->remove()) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
} }
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_rm_attribute')));
add_log_line("&action=removeattrdef&attrdefid=".$attrdefid);
$attrdefid=-1; $attrdefid=-1;
} }
@ -114,6 +123,7 @@ else if ($action == "editattrdef") {
$minvalues = intval($_POST["minvalues"]); $minvalues = intval($_POST["minvalues"]);
$maxvalues = intval($_POST["maxvalues"]); $maxvalues = intval($_POST["maxvalues"]);
$valueset = trim($_POST["valueset"]); $valueset = trim($_POST["valueset"]);
$regex = trim($_POST["regex"]);
if (!$attrdef->setName($name)) { if (!$attrdef->setName($name)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
} }
@ -135,9 +145,14 @@ else if ($action == "editattrdef") {
if (!$attrdef->setValueSet($valueset)) { if (!$attrdef->setValueSet($valueset)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
} }
} if (!$attrdef->setRegex($regex)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
else { $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_edit_attribute')));
add_log_line("&action=editattrdef&attrdefid=".$attrdefid);
} else {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_command")); UI::exitError(getMLText("admin_tools"),getMLText("unknown_command"));
} }

41
op/op.ClearClipboard.php Normal file
View File

@ -0,0 +1,41 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2009-2013 Uwe Steinmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassEmail.php");
include("../inc/inc.Authentication.php");
$session->clearClipboard();
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_cleared_clipboard')));
add_log_line();
if($_GET['refferer'])
header("Location:".urldecode($_GET['refferer']));
else {
$folderid = $_GET['folderid'];
header("Location:../out/out.ViewFolder.php?folderid=".$folderid);
}
?>

View File

@ -62,53 +62,45 @@ $attributes = $_POST["attributes"];
if($attributes) { if($attributes) {
$oldattributes = $version->getAttributes(); $oldattributes = $version->getAttributes();
foreach($attributes as $attrdefid=>$attribute) { foreach($attributes as $attrdefid=>$attribute) {
if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) { $attrdef = $dms->getAttributeDefinition($attrdefid);
if(!$version->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute)) { if($attribute) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); if($attrdef->getRegex()) {
} else { if(!preg_match($attrdef->getRegex(), $attribute)) {
if($notifier) { UI::exitError(getMLText("folder_title", array("foldername" => $document->getName())),getMLText("attr_no_regex_match"));
$notifyList = $document->getNotifyList();
/*
$subject = "###SITENAME###: ".$document->getName().", v.".$version->_version." - ".getMLText("attribute_changed_email");
$message = getMLText("attribute_changed_email")."\r\n";
$message .=
getMLText("document").": ".$document->getName()."\r\n".
getMLText("version").": ".$version->_version."\r\n".
getMLText("attribute").": ".$attribute."\r\n".
getMLText("user").": ".$user->getFullName()." <". $user->getEmail() .">\r\n".
"URL: ###URL_PREFIX###out/out.ViewDocument.php?documentid=".$document->getID()."&version=".$version->_version."\r\n";
if(isset($document->_notifyList["users"])) {
$notifier->toList($user, $document->_notifyList["users"], $subject, $message);
}
if(isset($document->_notifyList["groups"])) {
foreach ($document->_notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message);
}
}
*/
$subject = "attribute_changed_email_subject";
$message = "attribute_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['version'] = $version->getVersion();
$params['attribute'] = $attribute;
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID()."&version=".$version->getVersion();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID())
$notifier->toIndividual($user, $document->getOwner(), $subject, $message, $params);
} }
} }
if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) {
if(!$version->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
} else {
if($notifier) {
$notifyList = $document->getNotifyList();
$subject = "attribute_changed_email_subject";
$message = "attribute_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['version'] = $version->getVersion();
$params['attribute'] = $attribute;
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID()."&version=".$version->getVersion();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID())
$notifier->toIndividual($user, $document->getOwner(), $subject, $message, $params);
}
}
}
} elseif(isset($oldattributes[$attrdefid])) {
if(!$version->removeAttribute($dms->getAttributeDefinition($attrdefid)))
UI::exitError(getMLText("document_title", array("documentname" => $folder->getName())),getMLText("error_occured"));
} }
} }
} }

View File

@ -161,6 +161,41 @@ if (($oldcomment = $document->getComment()) != $comment) {
} }
} }
$expires = false;
if ($_POST["expires"] != "false") {
if($_POST["expdate"]) {
$tmp = explode('-', $_POST["expdate"]);
$expires = mktime(0,0,0, $tmp[1], $tmp[0], $tmp[2]);
} else {
$expires = mktime(0,0,0, $_POST["expmonth"], $_POST["expday"], $_POST["expyear"]);
}
}
if ($expires) {
if($document->setExpires($expires)) {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
// Send notification to subscribers.
$subject = "expiry_changed_email_subject";
$message = "expiry_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
}
} else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
}
if (($oldkeywords = $document->getKeywords()) != $keywords) { if (($oldkeywords = $document->getKeywords()) != $keywords) {
if($document->setKeywords($keywords)) { if($document->setKeywords($keywords)) {
} }
@ -199,8 +234,19 @@ if($categories) {
if($attributes) { if($attributes) {
$oldattributes = $document->getAttributes(); $oldattributes = $document->getAttributes();
foreach($attributes as $attrdefid=>$attribute) { foreach($attributes as $attrdefid=>$attribute) {
if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) { $attrdef = $dms->getAttributeDefinition($attrdefid);
if(!$document->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute)) if($attribute) {
if($attrdef->getRegex()) {
if(!preg_match($attrdef->getRegex(), $attribute)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_no_regex_match"));
}
}
if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) {
if(!$document->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute))
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
} elseif(isset($oldattributes[$attrdefid])) {
if(!$document->removeAttribute($dms->getAttributeDefinition($attrdefid)))
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
} }
} }
@ -214,8 +260,9 @@ if($sequence != "keep") {
} }
} }
add_log_line("?documentid=".$documentid); $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_document_edited')));
add_log_line("?documentid=".$documentid);
header("Location:../out/out.ViewDocument.php?documentid=".$documentid); header("Location:../out/out.ViewDocument.php?documentid=".$documentid);
?> ?>

View File

@ -156,8 +156,19 @@ if(($oldcomment = $folder->getComment()) != $comment) {
if($attributes) { if($attributes) {
$oldattributes = $folder->getAttributes(); $oldattributes = $folder->getAttributes();
foreach($attributes as $attrdefid=>$attribute) { foreach($attributes as $attrdefid=>$attribute) {
if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) { $attrdef = $dms->getAttributeDefinition($attrdefid);
if(!$folder->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute)) if($attribute) {
if($attrdef->getRegex()) {
if(!preg_match($attrdef->getRegex(), $attribute)) {
UI::exitError(getMLText("folder_title", array("foldername" => $document->getName())),getMLText("attr_no_regex_match"));
}
}
if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) {
if(!$folder->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute))
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured"));
}
} elseif(isset($oldattributes[$attrdefid])) {
if(!$folder->removeAttribute($dms->getAttributeDefinition($attrdefid)))
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured")); UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured"));
} }
} }
@ -170,6 +181,8 @@ if(strcasecmp($sequence, "keep")) {
} }
} }
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_folder_edited')));
add_log_line("?folderid=".$folderid); add_log_line("?folderid=".$folderid);
header("Location:../out/out.ViewFolder.php?folderid=".$folderid."&showtree=".$_POST["showtree"]); header("Location:../out/out.ViewFolder.php?folderid=".$folderid."&showtree=".$_POST["showtree"]);

View File

@ -311,7 +311,10 @@ else if ($action == "setdefault") {
$message = "access_permission_changed_email_body"; $message = "access_permission_changed_email_body";
$params = array(); $params = array();
$params['name'] = $folder->getName(); $params['name'] = $folder->getName();
$params['folder_path'] = $folder->getParent()->getFolderPathPlain(); if($folder->getParent())
$params['folder_path'] = $folder->getParent()->getFolderPathPlain();
else
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName(); $params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName; $params['sitename'] = $settings->_siteName;

View File

@ -55,7 +55,9 @@ if ($action == "addgroup") {
$groupid=$newGroup->getID(); $groupid=$newGroup->getID();
add_log_line(); $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_add_group')));
add_log_line("&action=addgroup&name=".$name);
} }
// Delete group ------------------------------------------------------------- // Delete group -------------------------------------------------------------
@ -80,7 +82,10 @@ else if ($action == "removegroup") {
} }
$groupid = ''; $groupid = '';
add_log_line(".php?groupid=".$_POST["groupid"]."&action=removegroup");
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_rm_group')));
add_log_line("?groupid=".$_POST["groupid"]."&action=removegroup");
} }
// Modifiy group ------------------------------------------------------------ // Modifiy group ------------------------------------------------------------
@ -110,7 +115,9 @@ else if ($action == "editgroup") {
if ($group->getComment() != $comment) if ($group->getComment() != $comment)
$group->setComment($comment); $group->setComment($comment);
add_log_line(); $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_edit_group')));
add_log_line("?groupid=".$_POST["groupid"]."&action=editgroup");
} }
// Add user to group -------------------------------------------------------- // Add user to group --------------------------------------------------------
@ -146,7 +153,9 @@ else if ($action == "addmember") {
if (isset($_POST["manager"])) $group->toggleManager($newMember); if (isset($_POST["manager"])) $group->toggleManager($newMember);
} }
add_log_line(".php?groupid=".$groupid."&userid=".$_POST["userid"]."&action=addmember"); $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_add_group_member')));
add_log_line("?groupid=".$groupid."&userid=".$_POST["userid"]."&action=addmember");
} }
// Remove user from group -------------------------------------------------- // Remove user from group --------------------------------------------------
@ -179,7 +188,9 @@ else if ($action == "rmmember") {
$group->removeUser($oldMember); $group->removeUser($oldMember);
add_log_line(); $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_rm_group_member')));
add_log_line("?groupid=".$groupid."&userid=".$_POST["userid"]."&action=rmmember");
} }
// toggle manager flag // toggle manager flag
@ -212,7 +223,9 @@ else if ($action == "tmanager") {
$group->toggleManager($usertoedit); $group->toggleManager($usertoedit);
add_log_line(); $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_toogle_group_manager')));
add_log_line("?groupid=".$groupid."&userid=".$_POST["userid"]."&action=tmanager");
} }
header("Location:../out/out.GroupMgr.php?groupid=".$groupid); header("Location:../out/out.GroupMgr.php?groupid=".$groupid);

View File

@ -1,57 +1,59 @@
<?php <?php
// MyDMS. Document Management System // MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal // Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe // Copyright (C) 2006-2008 Malcolm Cowe
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version. // (at your option) any later version.
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php"); include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php"); include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php"); include("../inc/inc.Utils.php");
include("../inc/inc.DBInit.php"); include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php"); include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php"); include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php"); include("../inc/inc.Authentication.php");
if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) { if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
} }
$documentid = $_GET["documentid"]; $documentid = $_GET["documentid"];
$document = $dms->getDocument($documentid); $document = $dms->getDocument($documentid);
if (!is_object($document)) { if (!is_object($document)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
$folder = $document->getFolder();
$docPathHTML = getFolderPathHTML($folder, true). " / <a href=\"../out/out.ViewDocument.php?documentid=".$documentid."\">".$document->getName()."</a>";
if ($document->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
if ($document->isLocked()) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("document_already_locked"));
}
if (!$document->setLocked($user)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
} }
add_log_line(); $folder = $document->getFolder();
$docPathHTML = getFolderPathHTML($folder, true). " / <a href=\"../out/out.ViewDocument.php?documentid=".$documentid."\">".$document->getName()."</a>";
if ($document->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
if ($document->isLocked()) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("document_already_locked"));
}
if (!$document->setLocked($user)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_document_locked')));
add_log_line();
header("Location:../out/out.ViewDocument.php?documentid=".$documentid); header("Location:../out/out.ViewDocument.php?documentid=".$documentid);
?> ?>

View File

@ -99,8 +99,13 @@ if (isset($settings->_ldapHost) && strlen($settings->_ldapHost)>0) {
// Required for most authentication methods, including SASL. // Required for most authentication methods, including SASL.
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
// try an anonymous bind first. If it succeeds, get the DN for the user. // try an authenticated/anonymous bind first. If it succeeds, get the DN for the user.
$bind = @ldap_bind($ds); $bind = false;
if (isset($settings->_ldapBindDN)) {
$bind = @ldap_bind($ds, $settings->_ldapBindDN, $settings->_ldapBindPw);
} else {
$bind = @ldap_bind($ds);
}
$dn = false; $dn = false;
/* new code by doudoux - TO BE TESTED */ /* new code by doudoux - TO BE TESTED */

View File

@ -63,8 +63,8 @@ $userid=$user->getID();
if ($_GET["type"]=="document"){ if ($_GET["type"]=="document"){
if ($_GET["action"]=="add"){ if ($_GET["action"]=="add"){
if (!isset($_POST["docidform1"])) UI::exitError(getMLText("my_account"),getMLText("error_occured")); if (!isset($_POST["docid"])) UI::exitError(getMLText("my_account"),getMLText("error_occured"));
$documentid = $_POST["docidform1"]; $documentid = $_POST["docid"];
}else if ($_GET["action"]=="del"){ }else if ($_GET["action"]=="del"){
if (!isset($_GET["id"])) UI::exitError(getMLText("my_account"),getMLText("error_occured")); if (!isset($_GET["id"])) UI::exitError(getMLText("my_account"),getMLText("error_occured"));
$documentid = $_GET["id"]; $documentid = $_GET["id"];

131
op/op.MoveClipboard.php Normal file
View File

@ -0,0 +1,131 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassEmail.php");
include("../inc/inc.Authentication.php");
if (!isset($_GET["targetid"]) || !is_numeric($_GET["targetid"]) || $_GET["targetid"]<1) {
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))),getMLText("invalid_folder_id"));
}
$targetid = $_GET["targetid"];
$targetFolder = $dms->getFolder($targetid);
if (!is_object($targetFolder)) {
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))),getMLText("invalid_folder_id"));
}
if ($targetFolder->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("access_denied"));
}
$clipboard = $session->getClipboard();
foreach($clipboard['docs'] as $documentid) {
$document = $dms->getDocument($documentid);
$oldFolder = $document->getFolder();
if ($document->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
if ($targetid != $oldFolder->getID()) {
if ($document->setFolder($targetFolder)) {
// Send notification to subscribers.
if($notifier) {
$notifyList = $document->getNotifyList();
$subject = "document_moved_email_subject";
$message = "document_moved_email_body";
$params = array();
$params['name'] = $document->getName();
$params['old_folder_path'] = $oldFolder->getFolderPathPlain();
$params['new_folder_path'] = $targetFolder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID())
$notifier->toIndividual($user, $document->getOwner(), $subject, $message, $params);
}
$session->removeFromClipboard($document);
} else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
} else {
$session->removeFromClipboard($document);
}
}
foreach($clipboard['folders'] as $folderid) {
$folder = $dms->getFolder($folderid);
if ($folder->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("access_denied"));
}
$oldFolder = $folder->getParent();
if ($folder->setParent($targetFolder)) {
// Send notification to subscribers.
if($notifier) {
$notifyList = $folder->getNotifyList();
$subject = "folder_moved_email_subject";
$message = "folder_moved_email_body";
$params = array();
$params['name'] = $folder->getName();
$params['old_folder_path'] = $oldFolder->getFolderPathPlain();
$params['new_folder_path'] = $targetFolder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params);
}
// if user is not owner send notification to owner
if ($user->getID() != $folder->getOwner()->getID())
$notifier->toIndividual($user, $folder->getOwner(), $subject, $message, $params);
}
$session->removeFromClipboard($folder);
} else {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured"));
}
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_moved_clipboard')));
add_log_line();
if($_GET['refferer'])
header("Location:".urldecode($_GET['refferer']));
else
header("Location:../out/out.ViewFolder.php?folderid=".$targetid);
?>

View File

@ -46,18 +46,26 @@ if ($document->getAccessMode($user) < M_READ) {
exit; exit;
} }
$version = $_GET["version"]; if(isset($_GET['version'])) {
if (!isset($version) || !is_numeric($version) || intval($version)<1) { $version = $_GET["version"];
if (!is_numeric($version) || intval($version)<1)
exit;
$object = $document->getContentByVersion($version);
} elseif(isset($_GET['file'])) {
$file = $_GET['file'];
if (!is_numeric($file) || intval($file)<1)
exit;
$object = $document->getDocumentFile($file);
} else {
exit; exit;
} }
$content = $document->getContentByVersion($version); if (!is_object($object)) {
if (!is_object($content)) {
exit; exit;
} }
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $_GET["width"]); $previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $_GET["width"]);
header('Content-Type: image/png'); header('Content-Type: image/png');
$previewer->getPreview($content); $previewer->getPreview($object);
?> ?>

View File

@ -37,7 +37,14 @@ if (isset($_GET["id"]) && is_numeric($_GET["id"]) && isset($_GET['type'])) {
} }
} }
$folderid = $_GET['folderid']; $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_removed_from_clipboard')));
header("Location:../out/out.ViewFolder.php?folderid=".$folderid);
$folderid = $_GET['folderid'];
if($_GET['refferer'])
header("Location:".urldecode($_GET['refferer']));
else {
$folderid = $_GET['folderid'];
header("Location:../out/out.ViewFolder.php?folderid=".$folderid);
}
?> ?>

View File

@ -25,6 +25,8 @@ include("../inc/inc.Authentication.php");
$session->resetSu(); $session->resetSu();
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_switched_back_user')));
add_log_line(""); add_log_line("");
header("Location: ../".(isset($settings->_siteDefaultPage) && strlen($settings->_siteDefaultPage)>0 ? $settings->_siteDefaultPage : "out/out.ViewFolder.php?folderid=".$settings->_rootFolderID)); header("Location: ../".(isset($settings->_siteDefaultPage) && strlen($settings->_siteDefaultPage)>0 ? $settings->_siteDefaultPage : "out/out.ViewFolder.php?folderid=".$settings->_rootFolderID));

View File

@ -114,6 +114,7 @@ if ($_POST["reviewType"] == "ind") {
$params['status'] = getReviewStatusText($_POST["reviewStatus"]); $params['status'] = getReviewStatusText($_POST["reviewStatus"]);
$params['comment'] = $comment; $params['comment'] = $comment;
$params['username'] = $user->getFullName(); $params['username'] = $user->getFullName();
$params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName; $params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot; $params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $nl["users"], $subject, $message, $params); $notifier->toList($user, $nl["users"], $subject, $message, $params);

View File

@ -31,25 +31,6 @@ include("../inc/inc.Authentication.php");
*/ */
require_once("SeedDMS/Preview.php"); require_once("SeedDMS/Preview.php");
// Redirect to the search page if the navigation search button has been
// selected without supplying any search terms.
if (isset($_GET["navBar"])) {
if (!isset($_GET["folderid"]) || !is_numeric($_GET["folderid"]) || intval($_GET["folderid"])<1) {
$folderid=$settings->_rootFolderID;
}
else {
$folderid = $_GET["folderid"];
}
if(strlen($_GET["query"])==0) {
header("Location: ../out/out.SearchForm.php?folderid=".$folderid);
} else {
if(isset($_GET["fullsearch"]) && $_GET["fullsearch"]) {
header("Location: ../op/op.SearchFulltext.php?folderid=".$folderid."&query=".$_GET["query"]);
}
}
}
function getTime() { function getTime() {
if (function_exists('microtime')) { if (function_exists('microtime')) {
$tm = microtime(); $tm = microtime();
@ -59,82 +40,228 @@ function getTime() {
return time(); return time();
} }
// // Redirect to the search page if the navigation search button has been
// Parse all of the parameters for the search // selected without supplying any search terms.
// if (isset($_GET["navBar"])) {
if (!isset($_GET["folderid"]) || !is_numeric($_GET["folderid"]) || intval($_GET["folderid"])<1) {
// Create the keyword search string. This search spans up to three columns $folderid=$settings->_rootFolderID;
// in the database: keywords, name and comment. } else {
$folderid = $_GET["folderid"];
if (isset($_GET["query"]) && is_string($_GET["query"])) { }
$query = $_GET["query"]; /*
} if(strlen($_GET["query"])==0) {
else { header("Location: ../out/out.SearchForm.php?folderid=".$folderid);
$query = ""; } else {
if(isset($_GET["fullsearch"]) && $_GET["fullsearch"]) {
header("Location: ../op/op.SearchFulltext.php?folderid=".$folderid."&query=".$_GET["query"]);
}
}
*/
} }
$mode = "AND"; if(isset($_GET["fullsearch"]) && $_GET["fullsearch"]) {
if (isset($_GET["mode"]) && is_numeric($_GET["mode"]) && $_GET["mode"]==0) { // Search in Fulltext {{{
$mode = "OR"; if (isset($_GET["query"]) && is_string($_GET["query"])) {
} $query = $_GET["query"];
}
else {
$query = "";
}
$searchin = array(); // category
if (isset($_GET['searchin']) && is_array($_GET["searchin"])) { $categories = array();
foreach ($_GET["searchin"] as $si) { $categorynames = array();
if (isset($si) && is_numeric($si)) { if(isset($_GET['categoryids']) && $_GET['categoryids']) {
switch ($si) { foreach($_GET['categoryids'] as $catid) {
case 1: // keywords if($catid > 0) {
case 2: // name $category = $dms->getDocumentCategory($catid);
case 3: // comment $categories[] = $category;
case 4: // attributes $categorynames[] = $category->getName();
$searchin[$si] = $si;
break;
} }
} }
} }
}
// if none is checkd search all //
if (count($searchin)==0) $searchin=array(1, 2, 3, 4); // Get the page number to display. If the result set contains more than
// 25 entries, it is displayed across multiple pages.
// Check to see if the search has been restricted to a particular sub-tree in //
// the folder hierarchy. // This requires that a page number variable be used to track which page the
if (isset($_GET["targetidform1"]) && is_numeric($_GET["targetidform1"]) && $_GET["targetidform1"]>0) { // user is interested in, and an extra clause on the select statement.
$targetid = $_GET["targetidform1"]; //
$startFolder = $dms->getFolder($targetid); // Default page to display is always one.
} $pageNumber=1;
else { if (isset($_GET["pg"])) {
$targetid = $settings->_rootFolderID; if (is_numeric($_GET["pg"]) && $_GET["pg"]>0) {
$startFolder = $dms->getFolder($targetid); $pageNumber = (integer)$_GET["pg"];
} }
if (!is_object($startFolder)) { else if (!strcasecmp($_GET["pg"], "all")) {
UI::exitError(getMLText("search_results"),getMLText("invalid_folder_id")); $pageNumber = "all";
} }
}
// Check to see if the search has been restricted to a particular
// document owner.
$owner = null; // --------------- Suche starten --------------------------------------------
if (isset($_GET["ownerid"]) && is_numeric($_GET["ownerid"]) && $_GET["ownerid"]!=-1) {
$owner = $dms->getUser($_GET["ownerid"]); // Check to see if the search has been restricted to a particular
if (!is_object($owner)) { // document owner.
UI::htmlStartPage(getMLText("search_results")); $owner = null;
UI::contentContainer(getMLText("unknown_owner")); if (isset($_GET["ownerid"]) && is_numeric($_GET["ownerid"]) && $_GET["ownerid"]!=-1) {
UI::htmlEndPage(); $owner = $dms->getUser($_GET["ownerid"]);
exit; if (!is_object($owner)) {
UI::exitError(getMLText("search_results"),getMLText("unknown_owner"));
}
}
$pageNumber=1;
if (isset($_GET["pg"])) {
if (is_numeric($_GET["pg"]) && $_GET["pg"]>0) {
$pageNumber = (integer)$_GET["pg"];
}
else if (!strcasecmp($_GET["pg"], "all")) {
$pageNumber = "all";
}
}
$startTime = getTime();
if($settings->_enableFullSearch) {
if(!empty($settings->_luceneClassDir))
require_once($settings->_luceneClassDir.'/Lucene.php');
else
require_once('SeedDMS/Lucene.php');
}
Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding('utf-8');
if(strlen($query) < 4 && strpos($query, '*')) {
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_invalid_searchterm')));
$resArr = array();
$resArr['totalDocs'] = 0;
$resArr['totalFolders'] = 0;
$resArr['totalPages'] = 0;
$entries = array();
$searchTime = 0;
} else {
$index = Zend_Search_Lucene::open($settings->_luceneDir);
$lucenesearch = new SeedDMS_Lucene_Search($index);
$hits = $lucenesearch->search($query, $owner ? $owner->getLogin() : '', '', $categorynames);
if($hits === false) {
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_invalid_searchterm')));
$resArr = array();
$resArr['totalDocs'] = 0;
$resArr['totalFolders'] = 0;
$resArr['totalPages'] = 0;
$entries = array();
$searchTime = 0;
} else {
$limit = 20;
$resArr = array();
$resArr['totalDocs'] = count($hits);
$resArr['totalFolders'] = 0;
if($pageNumber != 'all' && count($hits) > $limit) {
$resArr['totalPages'] = (int) (count($hits) / $limit);
if ((count($hits)%$limit) > 0)
$resArr['totalPages']++;
$hits = array_slice($hits, ($pageNumber-1)*$limit, $limit);
} else {
$resArr['totalPages'] = 1;
}
$entries = array();
if($hits) {
foreach($hits as $hit) {
if($tmp = $dms->getDocument($hit['document_id'])) {
if($tmp->getAccessMode($user) >= M_READ) {
$entries[] = $tmp;
}
}
}
}
}
$searchTime = getTime() - $startTime;
$searchTime = round($searchTime, 2);
}
// }}}
} else {
// Search in Database {{{
if (isset($_GET["query"]) && is_string($_GET["query"])) {
$query = $_GET["query"];
}
else {
$query = "";
}
/* Select if only documents (0x01), only folders (0x02) or both (0x03)
* are found
*/
$resultmode = 0x03;
$mode = "AND";
if (isset($_GET["mode"]) && is_numeric($_GET["mode"]) && $_GET["mode"]==0) {
$mode = "OR";
}
$searchin = array();
if (isset($_GET['searchin']) && is_array($_GET["searchin"])) {
foreach ($_GET["searchin"] as $si) {
if (isset($si) && is_numeric($si)) {
switch ($si) {
case 1: // keywords
case 2: // name
case 3: // comment
case 4: // attributes
$searchin[$si] = $si;
break;
}
}
}
}
// if none is checkd search all
if (count($searchin)==0) $searchin=array(1, 2, 3, 4);
// Check to see if the search has been restricted to a particular sub-tree in
// the folder hierarchy.
if (isset($_GET["targetidform1"]) && is_numeric($_GET["targetidform1"]) && $_GET["targetidform1"]>0) {
$targetid = $_GET["targetidform1"];
$startFolder = $dms->getFolder($targetid);
}
else {
$targetid = $settings->_rootFolderID;
$startFolder = $dms->getFolder($targetid);
}
if (!is_object($startFolder)) {
UI::exitError(getMLText("search_results"),getMLText("invalid_folder_id"));
}
// Check to see if the search has been restricted to a particular
// document owner.
$owner = null;
if (isset($_GET["ownerid"]) && is_numeric($_GET["ownerid"]) && $_GET["ownerid"]!=-1) {
$owner = $dms->getUser($_GET["ownerid"]);
if (!is_object($owner)) {
UI::htmlStartPage(getMLText("search_results"));
UI::contentContainer(getMLText("unknown_owner"));
UI::htmlEndPage();
exit;
}
}
// Is the search restricted to documents created between two specific dates?
$startdate = array();
$stopdate = array();
if (isset($_GET["creationdate"]) && $_GET["creationdate"]!=null) {
$creationdate = true;
} else {
$creationdate = false;
} }
}
// Is the search restricted to documents created between two specific dates?
$startdate = array();
$stopdate = array();
if (isset($_GET["creationdate"]) && $_GET["creationdate"]!=null) {
if(isset($_GET["createstart"])) { if(isset($_GET["createstart"])) {
$tmp = explode("-", $_GET["createstart"]); $tmp = explode("-", $_GET["createstart"]);
$startdate = array('year'=>(int)$tmp[2], 'month'=>(int)$tmp[1], 'day'=>(int)$tmp[0], 'hour'=>0, 'minute'=>0, 'second'=>0); $startdate = array('year'=>(int)$tmp[2], 'month'=>(int)$tmp[1], 'day'=>(int)$tmp[0], 'hour'=>0, 'minute'=>0, 'second'=>0);
} else { } else {
$startdate = array('year'=>$_GET["createstartyear"], 'month'=>$_GET["createstartmonth"], 'day'=>$_GET["createstartday"], 'hour'=>0, 'minute'=>0, 'second'=>0); if(isset($_GET["createstartyear"]))
$startdate = array('year'=>$_GET["createstartyear"], 'month'=>$_GET["createstartmonth"], 'day'=>$_GET["createstartday"], 'hour'=>0, 'minute'=>0, 'second'=>0);
} }
if (!checkdate($startdate['month'], $startdate['day'], $startdate['year'])) { if ($startdate && !checkdate($startdate['month'], $startdate['day'], $startdate['year'])) {
UI::htmlStartPage(getMLText("search_results")); UI::htmlStartPage(getMLText("search_results"));
UI::contentContainer(getMLText("invalid_create_date_start")); UI::contentContainer(getMLText("invalid_create_date_start"));
UI::htmlEndPage(); UI::htmlEndPage();
@ -144,19 +271,24 @@ if (isset($_GET["creationdate"]) && $_GET["creationdate"]!=null) {
$tmp = explode("-", $_GET["createend"]); $tmp = explode("-", $_GET["createend"]);
$stopdate = array('year'=>(int)$tmp[2], 'month'=>(int)$tmp[1], 'day'=>(int)$tmp[0], 'hour'=>0, 'minute'=>0, 'second'=>0); $stopdate = array('year'=>(int)$tmp[2], 'month'=>(int)$tmp[1], 'day'=>(int)$tmp[0], 'hour'=>0, 'minute'=>0, 'second'=>0);
} else { } else {
$stopdate = array('year'=>$_GET["createendyear"], 'month'=>$_GET["createendmonth"], 'day'=>$_GET["createendday"], 'hour'=>23, 'minute'=>59, 'second'=>59); if(isset($_GET["createendyear"]))
$stopdate = array('year'=>$_GET["createendyear"], 'month'=>$_GET["createendmonth"], 'day'=>$_GET["createendday"], 'hour'=>23, 'minute'=>59, 'second'=>59);
} }
if (!checkdate($stopdate['month'], $stopdate['day'], $stopdate['year'])) { if ($stopdate && !checkdate($stopdate['month'], $stopdate['day'], $stopdate['year'])) {
UI::htmlStartPage(getMLText("search_results")); UI::htmlStartPage(getMLText("search_results"));
UI::contentContainer(getMLText("invalid_create_date_end")); UI::contentContainer(getMLText("invalid_create_date_end"));
UI::htmlEndPage(); UI::htmlEndPage();
exit; exit;
} }
}
$expstartdate = array(); $expstartdate = array();
$expstopdate = array(); $expstopdate = array();
if (isset($_GET["expirationdate"]) && $_GET["expirationdate"]!=null) { if (isset($_GET["expirationdate"]) && $_GET["expirationdate"]!=null) {
$expirationdate = true;
} else {
$expirationdate = false;
}
if(isset($_GET["expirationstart"]) && $_GET["expirationstart"]) { if(isset($_GET["expirationstart"]) && $_GET["expirationstart"]) {
$tmp = explode("-", $_GET["expirationstart"]); $tmp = explode("-", $_GET["expirationstart"]);
$expstartdate = array('year'=>(int)$tmp[2], 'month'=>(int)$tmp[1], 'day'=>(int)$tmp[0], 'hour'=>0, 'minute'=>0, 'second'=>0); $expstartdate = array('year'=>(int)$tmp[2], 'month'=>(int)$tmp[1], 'day'=>(int)$tmp[0], 'hour'=>0, 'minute'=>0, 'second'=>0);
@ -164,7 +296,7 @@ if (isset($_GET["expirationdate"]) && $_GET["expirationdate"]!=null) {
UI::exitError(getMLText("search"),getMLText("invalid_expiration_date_start")); UI::exitError(getMLText("search"),getMLText("invalid_expiration_date_start"));
} }
} else { } else {
$expstartdate = array('year'=>$_GET["expirationstartyear"], 'month'=>$_GET["expirationstartmonth"], 'day'=>$_GET["expirationstartday"], 'hour'=>0, 'minute'=>0, 'second'=>0); // $expstartdate = array('year'=>$_GET["expirationstartyear"], 'month'=>$_GET["expirationstartmonth"], 'day'=>$_GET["expirationstartday"], 'hour'=>0, 'minute'=>0, 'second'=>0);
$expstartdate = array(); $expstartdate = array();
} }
if(isset($_GET["expirationend"]) && $_GET["expirationend"]) { if(isset($_GET["expirationend"]) && $_GET["expirationend"]) {
@ -174,90 +306,105 @@ if (isset($_GET["expirationdate"]) && $_GET["expirationdate"]!=null) {
UI::exitError(getMLText("search"),getMLText("invalid_expiration_date_end")); UI::exitError(getMLText("search"),getMLText("invalid_expiration_date_end"));
} }
} else { } else {
$expstopdate = array('year'=>$_GET["expirationendyear"], 'month'=>$_GET["expirationendmonth"], 'day'=>$_GET["expirationendday"], 'hour'=>23, 'minute'=>59, 'second'=>59); //$expstopdate = array('year'=>$_GET["expirationendyear"], 'month'=>$_GET["expirationendmonth"], 'day'=>$_GET["expirationendday"], 'hour'=>23, 'minute'=>59, 'second'=>59);
$expstopdate = array(); $expstopdate = array();
} }
}
// status // status
$status = array(); $status = array();
if (isset($_GET["pendingReview"])){ if (isset($_GET["pendingReview"])){
$status[] = S_DRAFT_REV; $status[] = S_DRAFT_REV;
}
if (isset($_GET["pendingApproval"])){
$status[] = S_DRAFT_APP;
}
if (isset($_GET["inWorkflow"])){
$status[] = S_IN_WORKFLOW;
}
if (isset($_GET["released"])){
$status[] = S_RELEASED;
}
if (isset($_GET["rejected"])){
$status[] = S_REJECTED;
}
if (isset($_GET["obsolete"])){
$status[] = S_OBSOLETE;
}
if (isset($_GET["expired"])){
$status[] = S_EXPIRED;
}
// category
$categories = array();
if(isset($_GET['categoryids']) && $_GET['categoryids']) {
foreach($_GET['categoryids'] as $catid) {
if($catid > 0)
$categories[] = $dms->getDocumentCategory($catid);
} }
} if (isset($_GET["pendingApproval"])){
$status[] = S_DRAFT_APP;
if (isset($_GET["attributes"]))
$attributes = $_GET["attributes"];
else
$attributes = array();
//
// Get the page number to display. If the result set contains more than
// 25 entries, it is displayed across multiple pages.
//
// This requires that a page number variable be used to track which page the
// user is interested in, and an extra clause on the select statement.
//
// Default page to display is always one.
$pageNumber=1;
$limit = 15;
if (isset($_GET["pg"])) {
if (is_numeric($_GET["pg"]) && $_GET["pg"]>0) {
$pageNumber = (int) $_GET["pg"];
} }
elseif (!strcasecmp($_GET["pg"], "all")) { if (isset($_GET["inWorkflow"])){
$limit = 0; $status[] = S_IN_WORKFLOW;
}
if (isset($_GET["released"])){
$status[] = S_RELEASED;
}
if (isset($_GET["rejected"])){
$status[] = S_REJECTED;
}
if (isset($_GET["obsolete"])){
$status[] = S_OBSOLETE;
}
if (isset($_GET["expired"])){
$status[] = S_EXPIRED;
} }
}
/* Do not search for folders if result shall be filtered by status.
* If this is not done, unexplainable results will be delivered.
* e.g. a search for expired documents of a given user will list
* also all folders of that user because the status doesn't apply
* to folders.
*/
if($status)
$resultmode = 0x01;
// ---------------- Start searching ----------------------------------------- // category
$startTime = getTime(); $categories = array();
$resArr = $dms->search($query, $limit, ($pageNumber-1)*$limit, $mode, $searchin, $startFolder, $owner, $status, $startdate, $stopdate, array(), array(), $categories, $attributes, 0x03, $expstartdate, $expstopdate); if(isset($_GET['categoryids']) && $_GET['categoryids']) {
$searchTime = getTime() - $startTime; foreach($_GET['categoryids'] as $catid) {
$searchTime = round($searchTime, 2); if($catid > 0)
$categories[] = $dms->getDocumentCategory($catid);
$entries = array();
if($resArr['folders']) {
foreach ($resArr['folders'] as $entry) {
if ($entry->getAccessMode($user) >= M_READ) {
$entries[] = $entry;
} }
} }
}
if($resArr['docs']) { /* Do not search for folders if result shall be filtered by categories. */
foreach ($resArr['docs'] as $entry) { if($categories)
if ($entry->getAccessMode($user) >= M_READ) { $resultmode = 0x01;
$entries[] = $entry;
if (isset($_GET["attributes"]))
$attributes = $_GET["attributes"];
else
$attributes = array();
//
// Get the page number to display. If the result set contains more than
// 25 entries, it is displayed across multiple pages.
//
// This requires that a page number variable be used to track which page the
// user is interested in, and an extra clause on the select statement.
//
// Default page to display is always one.
$pageNumber=1;
$limit = 15;
if (isset($_GET["pg"])) {
if (is_numeric($_GET["pg"]) && $_GET["pg"]>0) {
$pageNumber = (int) $_GET["pg"];
}
elseif (!strcasecmp($_GET["pg"], "all")) {
$limit = 0;
} }
} }
// ---------------- Start searching -----------------------------------------
$startTime = getTime();
$resArr = $dms->search($query, $limit, ($pageNumber-1)*$limit, $mode, $searchin, $startFolder, $owner, $status, $creationdate ? $startdate : array(), $creationdate ? $stopdate : array(), array(), array(), $categories, $attributes, $resultmode, $expirationdate ? $expstartdate : array(), $expirationdate ? $expstopdate : array());
$searchTime = getTime() - $startTime;
$searchTime = round($searchTime, 2);
$entries = array();
if($resArr['folders']) {
foreach ($resArr['folders'] as $entry) {
if ($entry->getAccessMode($user) >= M_READ) {
$entries[] = $entry;
}
}
}
if($resArr['docs']) {
foreach ($resArr['docs'] as $entry) {
if ($entry->getAccessMode($user) >= M_READ) {
$entries[] = $entry;
}
}
}
// }}}
} }
// -------------- Output results -------------------------------------------- // -------------- Output results --------------------------------------------
if(count($entries) == 1) { if(count($entries) == 1) {
@ -271,8 +418,32 @@ if(count($entries) == 1) {
} }
} else { } else {
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$startFolder, 'query'=>$query, 'searchhits'=>$entries, 'totalpages'=>$resArr['totalPages'], 'pagenumber'=>$pageNumber, 'searchtime'=>$searchTime, 'urlparams'=>$_GET, 'searchin'=>$searchin, 'cachedir'=>$settings->_cacheDir)); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'query'=>$query, 'searchhits'=>$entries, 'totalpages'=>$resArr['totalPages'], 'pagenumber'=>$pageNumber, 'searchtime'=>$searchTime, 'urlparams'=>$_GET, 'cachedir'=>$settings->_cacheDir));
if($view) { if($view) {
$view->setParam('totaldocs', $resArr['totalDocs']);
$view->setParam('totalfolders', $resArr['totalFolders']);
$view->setParam('fullsearch', (isset($_GET["fullsearch"]) && $_GET["fullsearch"]) ? true : false);
$view->setParam('mode', isset($mode) ? $mode : '');
$view->setParam('searchin', isset($searchin) ? $searchin : array());
$view->setParam('startfolder', isset($startFolder) ? $startFolder : null);
$view->setParam('owner', $owner);
$view->setParam('startdate', isset($startdate) ? $startdate : array());
$view->setParam('stopdate', isset($stopdate) ? $stopdate : array());
$view->setParam('expstartdate', isset($expstartdate) ? $expstartdate : array());
$view->setParam('expstopdate', isset($expstopdate) ? $expstopdate : array());
$view->setParam('creationdate', isset($creationdate) ? $creationdate : '');
$view->setParam('expirationdate', isset($expirationdate) ? $expirationdate: '');
$view->setParam('status', isset($status) ? $status : array());
$view->setParam('categories', isset($categories) ? $categories : '');
$view->setParam('attributes', isset($attributes) ? $attributes : '');
$attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_document, SeedDMS_Core_AttributeDefinition::objtype_documentcontent/*, SeedDMS_Core_AttributeDefinition::objtype_all*/));
$view->setParam('attrdefs', $attrdefs);
$allCats = $dms->getDocumentCategories();
$view->setParam('allcategories', $allCats);
$allUsers = $dms->getAllUsers($settings->_sortUsersInList);
$view->setParam('allusers', $allUsers);
$view->setParam('workflowmode', $settings->_workflowMode);
$view->setParam('enablefullsearch', $settings->_enableFullSearch);
$view->show(); $view->show();
exit; exit;
} }

View File

@ -65,6 +65,7 @@ if ($action == "saveSettings")
$settings->_enableEmail =getBoolValue("enableEmail"); $settings->_enableEmail =getBoolValue("enableEmail");
$settings->_enableUsersView = getBoolValue("enableUsersView"); $settings->_enableUsersView = getBoolValue("enableUsersView");
$settings->_enableFullSearch = getBoolValue("enableFullSearch"); $settings->_enableFullSearch = getBoolValue("enableFullSearch");
$settings->_enableClipboard = getBoolValue("enableClipboard");
$settings->_enableFolderTree = getBoolValue("enableFolderTree"); $settings->_enableFolderTree = getBoolValue("enableFolderTree");
$settings->_enableRecursiveCount = getBoolValue("enableRecursiveCount"); $settings->_enableRecursiveCount = getBoolValue("enableRecursiveCount");
$settings->_maxRecursiveCount = intval($_POST["maxRecursiveCount"]); $settings->_maxRecursiveCount = intval($_POST["maxRecursiveCount"]);
@ -104,6 +105,7 @@ if ($action == "saveSettings")
$settings->_passwordHistory = intval($_POST["passwordHistory"]); $settings->_passwordHistory = intval($_POST["passwordHistory"]);
$settings->_loginFailure = intval($_POST["loginFailure"]); $settings->_loginFailure = intval($_POST["loginFailure"]);
$settings->_quota = intval($_POST["quota"]); $settings->_quota = intval($_POST["quota"]);
$settings->_undelUserIds = strval($_POST["undelUserIds"]);
$settings->_encryptionKey = strval($_POST["encryptionKey"]); $settings->_encryptionKey = strval($_POST["encryptionKey"]);
$settings->_cookieLifetime = intval($_POST["cookieLifetime"]); $settings->_cookieLifetime = intval($_POST["cookieLifetime"]);
@ -164,6 +166,8 @@ if ($action == "saveSettings")
add_log_line(".php&action=savesettings"); add_log_line(".php&action=savesettings");
} }
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_settings_saved')));
header("Location:../out/out.Settings.php"); header("Location:../out/out.Settings.php");

View File

@ -33,6 +33,8 @@ if (!isset($_GET["userid"])) {
$session->setSu($_GET['userid']); $session->setSu($_GET['userid']);
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_substituted_user')));
add_log_line("?userid=".$_GET["userid"]); add_log_line("?userid=".$_GET["userid"]);
header("Location: ../".(isset($settings->_siteDefaultPage) && strlen($settings->_siteDefaultPage)>0 ? $settings->_siteDefaultPage : "out/out.ViewFolder.php?folderid=".$settings->_rootFolderID)); header("Location: ../".(isset($settings->_siteDefaultPage) && strlen($settings->_siteDefaultPage)>0 ? $settings->_siteDefaultPage : "out/out.ViewFolder.php?folderid=".$settings->_rootFolderID));

View File

@ -1,62 +1,65 @@
<?php <?php
// MyDMS. Document Management System // MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal // Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe // Copyright (C) 2006-2008 Malcolm Cowe
// //
// This program is free software; you can redistribute it and/or modify // This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or // the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version. // (at your option) any later version.
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php"); include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php"); include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php"); include("../inc/inc.Utils.php");
include("../inc/inc.DBInit.php"); include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php"); include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php"); include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php"); include("../inc/inc.Authentication.php");
if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) { if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
$documentid = $_GET["documentid"];
$document = $dms->getDocument($documentid);
if (!is_object($document)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
$folder = $document->getFolder();
$docPathHTML = getFolderPathHTML($folder, true). " / <a href=\"../out/out.ViewDocument.php?documentid=".$documentid."\">".$document->getName()."</a>";
if ($document->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
if (!$document->isLocked()) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("document_is_not_locked"));
} }
$documentid = $_GET["documentid"];
$document = $dms->getDocument($documentid);
if (!is_object($document)) {
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
}
$folder = $document->getFolder();
$docPathHTML = getFolderPathHTML($folder, true). " / <a href=\"../out/out.ViewDocument.php?documentid=".$documentid."\">".$document->getName()."</a>";
if ($document->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
if (!$document->isLocked()) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("document_is_not_locked"));
}
$lockingUser = $document->getLockingUser(); $lockingUser = $document->getLockingUser();
if (($lockingUser->getID() == $user->getID()) || ($document->getAccessMode($user) == M_ALL)) { if (($lockingUser->getID() == $user->getID()) || ($document->getAccessMode($user) == M_ALL)) {
if (!$document->setLocked(false)) { if (!$document->setLocked(false)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
} }
} }
else { else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
} }
add_log_line();
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_document_unlocked')));
add_log_line();
header("Location:../out/out.ViewDocument.php?documentid=".$documentid); header("Location:../out/out.ViewDocument.php?documentid=".$documentid);
?> ?>

View File

@ -168,9 +168,25 @@ if ($_FILES['userfile']['error'] == 0) {
} }
} }
$attributes = $_POST["attributes"]; $workflow = $user->getMandatoryWorkflow();
$contentResult=$document->addContent($comment, $user, $userfiletmp, basename($userfilename), $fileType, $userfiletype, $reviewers, $approvers, $version=0, $attributes); if(isset($_POST["attributes"]) && $_POST["attributes"]) {
$attributes = $_POST["attributes"];
foreach($attributes as $attrdefid=>$attribute) {
$attrdef = $dms->getAttributeDefinition($attrdefid);
if($attribute) {
if($attrdef->getRegex()) {
if(!preg_match($attrdef->getRegex(), $attribute)) {
UI::exitError(getMLText("document_title", array("documentname" => $folder->getName())),getMLText("attr_no_regex_match"));
}
}
}
}
} else {
$attributes = array();
}
$contentResult=$document->addContent($comment, $user, $userfiletmp, basename($userfilename), $fileType, $userfiletype, $reviewers, $approvers, $version=0, $attributes, $workflow);
if (is_bool($contentResult) && !$contentResult) { if (is_bool($contentResult) && !$contentResult) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
} }
@ -218,7 +234,7 @@ if ($_FILES['userfile']['error'] == 0) {
} }
$expires = false; $expires = false;
if ($_POST["expires"] != "false") { if (!isset($_POST['expires']) || $_POST["expires"] != "false") {
if($_POST["expdate"]) { if($_POST["expdate"]) {
$tmp = explode('-', $_POST["expdate"]); $tmp = explode('-', $_POST["expdate"]);
$expires = mktime(0,0,0, $tmp[1], $tmp[0], $tmp[2]); $expires = mktime(0,0,0, $tmp[1], $tmp[0], $tmp[2]);

View File

@ -116,6 +116,8 @@ if ($action == "adduser") {
$userid=$newUser->getID(); $userid=$newUser->getID();
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_add_user')));
add_log_line(".php&action=adduser&login=".$login); add_log_line(".php&action=adduser&login=".$login);
} }
@ -135,6 +137,10 @@ else if ($action == "removeuser") {
UI::exitError(getMLText("admin_tools"),getMLText("invalid_user_id")); UI::exitError(getMLText("admin_tools"),getMLText("invalid_user_id"));
} }
if(in_array($userid, explode(',', $settings->_undelUserIds))) {
UI::exitError(getMLText("admin_tools"),getMLText("cannot_delete_user"));
}
/* This used to be a check if an admin is deleted. Now it checks if one /* This used to be a check if an admin is deleted. Now it checks if one
* wants to delete herself. * wants to delete herself.
*/ */
@ -154,6 +160,7 @@ else if ($action == "removeuser") {
add_log_line(".php&action=removeuser&userid=".$userid); add_log_line(".php&action=removeuser&userid=".$userid);
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_rm_user')));
$userid=-1; $userid=-1;
} }
@ -195,9 +202,12 @@ else if ($action == "edituser") {
if($settings->_passwordStrength) { if($settings->_passwordStrength) {
$ps = new Password_Strength(); $ps = new Password_Strength();
$ps->set_password($_POST["pwd"]); $ps->set_password($_POST["pwd"]);
$ps->calculate(); if($settings->_passwordStrengthAlgorithm == 'simple')
$ps->simple_calculate();
else
$ps->calculate();
$score = $ps->get_score(); $score = $ps->get_score();
if($score > $settings->_passwordStrength) { if($score >= $settings->_passwordStrength) {
$editedUser->setPwd(md5($pwd)); $editedUser->setPwd(md5($pwd));
$editedUser->setPwdExpiration($pwdexpiration); $editedUser->setPwdExpiration($pwdexpiration);
} else { } else {
@ -285,8 +295,8 @@ else if ($action == "edituser") {
$group->removeUser($editedUser); $group->removeUser($editedUser);
} }
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_edit_user')));
add_log_line(".php&action=edituser&userid=".$userid); add_log_line(".php&action=edituser&userid=".$userid);
} }
else UI::exitError(getMLText("admin_tools"),getMLText("unknown_command")); else UI::exitError(getMLText("admin_tools"),getMLText("unknown_command"));

View File

@ -33,15 +33,18 @@ if (!isset($_GET["userid"]) || !is_numeric($_GET["userid"]) || intval($_GET["use
} }
$rmuser = $dms->getUser(intval($_GET["userid"])); $rmuser = $dms->getUser(intval($_GET["userid"]));
if ($rmuser->getID()==$user->getID()) {
UI::exitError(getMLText("rm_user"),getMLText("access_denied"));
}
if (!is_object($rmuser)) { if (!is_object($rmuser)) {
UI::exitError(getMLText("rm_user"),getMLText("invalid_user_id")); UI::exitError(getMLText("rm_user"),getMLText("invalid_user_id"));
} }
if(in_array($rmuser->getID(), explode(',', $settings->_undelUserIds))) {
UI::exitError(getMLText("rm_user"),getMLText("cannot_delete_user"));
}
if ($rmuser->getID()==$user->getID()) {
UI::exitError(getMLText("rm_user"),getMLText("cannot_delete_yourself"));
}
$allusers = $dms->getAllUsers($settings->_sortUsersInList); $allusers = $dms->getAllUsers($settings->_sortUsersInList);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));

View File

@ -45,7 +45,7 @@ if(isset($_GET['userid']) && $_GET['userid']) {
} }
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'seluser'=>$seluser, 'allusers'=>$users, 'allgroups'=>$groups, 'passwordstrength'=>$settings->_passwordStrength, 'passwordexpiration'=>$settings->_passwordExpiration, 'httproot'=>$settings->_httpRoot, 'enableuserimage'=>$settings->_enableUserImage, 'workflowmode'=>$settings->_workflowMode)); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'seluser'=>$seluser, 'allusers'=>$users, 'allgroups'=>$groups, 'passwordstrength'=>$settings->_passwordStrength, 'passwordexpiration'=>$settings->_passwordExpiration, 'httproot'=>$settings->_httpRoot, 'enableuserimage'=>$settings->_enableUserImage, 'undeluserids'=>explode(',', $settings->_undelUserIds), 'workflowmode'=>$settings->_workflowMode));
if($view) { if($view) {
$view->show(); $view->show();
exit; exit;

View File

@ -59,7 +59,7 @@ if($view) {
$view->setParam('folder', $folder); $view->setParam('folder', $folder);
$view->setParam('orderby', $orderby); $view->setParam('orderby', $orderby);
$view->setParam('enableFolderTree', $settings->_enableFolderTree); $view->setParam('enableFolderTree', $settings->_enableFolderTree);
$view->setParam('enableClipboard', false /*$settings->_enableClipboard */); $view->setParam('enableClipboard', $settings->_enableClipboard);
$view->setParam('showtree', showtree()); $view->setParam('showtree', showtree());
$view->setParam('cachedir', $settings->_cacheDir); $view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('workflowmode', $settings->_workflowMode); $view->setParam('workflowmode', $settings->_workflowMode);

View File

@ -9,7 +9,7 @@ $(document).ready( function() {
$('#expirationdate, #fromdate, #todate, #createstartdate, #createenddate, #expirationstartdate, #expirationenddate') $('#expirationdate, #fromdate, #todate, #createstartdate, #createenddate, #expirationstartdate, #expirationenddate')
.datepicker() .datepicker()
.on('changeDate', function(ev){ .on('changeDate', function(ev){
$('#expirationdate, #fromdate, #todate, #createstartdate, #createenddate, #expirationstartdate, #expirationenddate').datepicker('hide'); $(ev.currentTarget).datepicker('hide');
}); });
$(".chzn-select").chosen(); $(".chzn-select").chosen();
@ -53,14 +53,14 @@ $(document).ready( function() {
if(item.charAt(0) == 'D') if(item.charAt(0) == 'D')
return '<i class="icon-file"></i> ' + item.substring(1); return '<i class="icon-file"></i> ' + item.substring(1);
else if(item.charAt(0) == 'F') else if(item.charAt(0) == 'F')
return '<i class="icon-folder-close"></i> ' + item.substring(1); return '<i class="icon-folder-close-alt"></i> ' + item.substring(1);
else else
return '<i class="icon-search"></i> ' + item.substring(1); return '<i class="icon-search"></i> ' + item.substring(1);
} }
}); });
/* Document chooser */ /* Document chooser */
$("#choosedocsearch").typeahead({ $("[id^=choosedocsearch]").typeahead({
minLength: 3, minLength: 3,
formname: 'form1', formname: 'form1',
source: function(query, process) { source: function(query, process) {
@ -89,7 +89,7 @@ $(document).ready( function() {
}); });
/* Folder chooser */ /* Folder chooser */
$("#choosefoldersearch").typeahead({ $("[id^=choosefoldersearch]").typeahead({
minLength: 3, minLength: 3,
formname: 'form1', formname: 'form1',
source: function(query, process) { source: function(query, process) {
@ -113,9 +113,33 @@ $(document).ready( function() {
}, },
highlighter : function (item) { highlighter : function (item) {
strarr = item.split("#"); strarr = item.split("#");
return '<i class="icon-folder-close"></i> ' + strarr[1]; return '<i class="icon-folder-close-alt"></i> ' + strarr[1];
} }
}); });
$('a.addtoclipboard').click(function(ev){
ev.preventDefault();
attr_rel = $(ev.currentTarget).attr('rel');
attr_msg = $(ev.currentTarget).attr('msg');
type = attr_rel.substring(0, 1) == 'F' ? 'folder' : 'document';
id = attr_rel.substring(1);
$.get('../op/op.Ajax.php',
{ command: 'addtoclipboard', type: type, id: id },
function(data) {
console.log(data);
$('#menu-clipboard ul').remove();
$(data).appendTo('#menu-clipboard');
noty({
text: attr_msg,
type: 'success',
dismissQueue: true,
layout: 'topRight',
theme: 'defaultTheme',
timeout: 1500,
});
}
);
});
}); });
function allowDrop(ev) { function allowDrop(ev) {

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap Responsive v2.2.2 * Bootstrap Responsive v2.3.2
* *
* Copyright 2012 Twitter, Inc * Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0 * Licensed under the Apache License v2.0
@ -8,10 +8,6 @@
* Designed and built with all the love in the world @twitter by @mdo and @fat. * Designed and built with all the love in the world @twitter by @mdo and @fat.
*/ */
@-ms-viewport {
width: device-width;
}
.clearfix { .clearfix {
*zoom: 1; *zoom: 1;
} }
@ -44,6 +40,10 @@
box-sizing: border-box; box-sizing: border-box;
} }
@-ms-viewport {
width: device-width;
}
.hidden { .hidden {
display: none; display: none;
visibility: hidden; visibility: hidden;
@ -95,6 +95,19 @@
} }
} }
.visible-print {
display: none !important;
}
@media print {
.visible-print {
display: inherit !important;
}
.hidden-print {
display: none !important;
}
}
@media (min-width: 1200px) { @media (min-width: 1200px) {
.row { .row {
margin-left: -30px; margin-left: -30px;
@ -1003,7 +1016,9 @@
margin-bottom: 2px; margin-bottom: 2px;
} }
.nav-collapse .nav > li > a:hover, .nav-collapse .nav > li > a:hover,
.nav-collapse .dropdown-menu a:hover { .nav-collapse .nav > li > a:focus,
.nav-collapse .dropdown-menu a:hover,
.nav-collapse .dropdown-menu a:focus {
background-color: #f2f2f2; background-color: #f2f2f2;
} }
.navbar-inverse .nav-collapse .nav > li > a, .navbar-inverse .nav-collapse .nav > li > a,
@ -1011,7 +1026,9 @@
color: #999999; color: #999999;
} }
.navbar-inverse .nav-collapse .nav > li > a:hover, .navbar-inverse .nav-collapse .nav > li > a:hover,
.navbar-inverse .nav-collapse .dropdown-menu a:hover { .navbar-inverse .nav-collapse .nav > li > a:focus,
.navbar-inverse .nav-collapse .dropdown-menu a:hover,
.navbar-inverse .nav-collapse .dropdown-menu a:focus {
background-color: #111111; background-color: #111111;
} }
.nav-collapse.in .btn-group { .nav-collapse.in .btn-group {

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/*! /*!
* Bootstrap v2.2.2 * Bootstrap v2.3.2
* *
* Copyright 2012 Twitter, Inc * Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0 * Licensed under the Apache License v2.0
@ -8,6 +8,38 @@
* Designed and built with all the love in the world @twitter by @mdo and @fat. * Designed and built with all the love in the world @twitter by @mdo and @fat.
*/ */
.clearfix {
*zoom: 1;
}
.clearfix:before,
.clearfix:after {
display: table;
line-height: 0;
content: "";
}
.clearfix:after {
clear: both;
}
.hide-text {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
.input-block-level {
display: block;
width: 100%;
min-height: 30px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
article, article,
aside, aside,
details, details,
@ -189,38 +221,6 @@ textarea {
} }
} }
.clearfix {
*zoom: 1;
}
.clearfix:before,
.clearfix:after {
display: table;
line-height: 0;
content: "";
}
.clearfix:after {
clear: both;
}
.hide-text {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
.input-block-level {
display: block;
width: 100%;
min-height: 30px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
body { body {
margin: 0; margin: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
@ -235,7 +235,8 @@ a {
text-decoration: none; text-decoration: none;
} }
a:hover { a:hover,
a:focus {
color: #005580; color: #005580;
text-decoration: underline; text-decoration: underline;
} }
@ -678,7 +679,8 @@ cite {
color: #999999; color: #999999;
} }
a.muted:hover { a.muted:hover,
a.muted:focus {
color: #808080; color: #808080;
} }
@ -686,7 +688,8 @@ a.muted:hover {
color: #c09853; color: #c09853;
} }
a.text-warning:hover { a.text-warning:hover,
a.text-warning:focus {
color: #a47e3c; color: #a47e3c;
} }
@ -694,7 +697,8 @@ a.text-warning:hover {
color: #b94a48; color: #b94a48;
} }
a.text-error:hover { a.text-error:hover,
a.text-error:focus {
color: #953b39; color: #953b39;
} }
@ -702,7 +706,8 @@ a.text-error:hover {
color: #3a87ad; color: #3a87ad;
} }
a.text-info:hover { a.text-info:hover,
a.text-info:focus {
color: #2d6987; color: #2d6987;
} }
@ -710,10 +715,23 @@ a.text-info:hover {
color: #468847; color: #468847;
} }
a.text-success:hover { a.text-success:hover,
a.text-success:focus {
color: #356635; color: #356635;
} }
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
.text-center {
text-align: center;
}
h1, h1,
h2, h2,
h3, h3,
@ -823,8 +841,10 @@ ol.inline {
ul.inline > li, ul.inline > li,
ol.inline > li { ol.inline > li {
display: inline-block; display: inline-block;
*display: inline;
padding-right: 5px; padding-right: 5px;
padding-left: 5px; padding-left: 5px;
*zoom: 1;
} }
dl { dl {
@ -899,9 +919,9 @@ blockquote {
blockquote p { blockquote p {
margin-bottom: 0; margin-bottom: 0;
font-size: 16px; font-size: 17.5px;
font-weight: 300; font-weight: 300;
line-height: 25px; line-height: 1.25;
} }
blockquote small { blockquote small {
@ -1646,9 +1666,11 @@ select:focus:invalid:focus {
.input-append, .input-append,
.input-prepend { .input-prepend {
margin-bottom: 5px; display: inline-block;
margin-bottom: 10px;
font-size: 0; font-size: 0;
white-space: nowrap; white-space: nowrap;
vertical-align: middle;
} }
.input-append input, .input-append input,
@ -1658,7 +1680,9 @@ select:focus:invalid:focus {
.input-append .uneditable-input, .input-append .uneditable-input,
.input-prepend .uneditable-input, .input-prepend .uneditable-input,
.input-append .dropdown-menu, .input-append .dropdown-menu,
.input-prepend .dropdown-menu { .input-prepend .dropdown-menu,
.input-append .popover,
.input-prepend .popover {
font-size: 14px; font-size: 14px;
} }
@ -2049,14 +2073,16 @@ table {
} }
.table-bordered thead:first-child tr:first-child > th:first-child, .table-bordered thead:first-child tr:first-child > th:first-child,
.table-bordered tbody:first-child tr:first-child > td:first-child { .table-bordered tbody:first-child tr:first-child > td:first-child,
.table-bordered tbody:first-child tr:first-child > th:first-child {
-webkit-border-top-left-radius: 4px; -webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px; border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px; -moz-border-radius-topleft: 4px;
} }
.table-bordered thead:first-child tr:first-child > th:last-child, .table-bordered thead:first-child tr:first-child > th:last-child,
.table-bordered tbody:first-child tr:first-child > td:last-child { .table-bordered tbody:first-child tr:first-child > td:last-child,
.table-bordered tbody:first-child tr:first-child > th:last-child {
-webkit-border-top-right-radius: 4px; -webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px; border-top-right-radius: 4px;
-moz-border-radius-topright: 4px; -moz-border-radius-topright: 4px;
@ -2064,7 +2090,9 @@ table {
.table-bordered thead:last-child tr:last-child > th:first-child, .table-bordered thead:last-child tr:last-child > th:first-child,
.table-bordered tbody:last-child tr:last-child > td:first-child, .table-bordered tbody:last-child tr:last-child > td:first-child,
.table-bordered tfoot:last-child tr:last-child > td:first-child { .table-bordered tbody:last-child tr:last-child > th:first-child,
.table-bordered tfoot:last-child tr:last-child > td:first-child,
.table-bordered tfoot:last-child tr:last-child > th:first-child {
-webkit-border-bottom-left-radius: 4px; -webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px; border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomleft: 4px;
@ -2072,7 +2100,9 @@ table {
.table-bordered thead:last-child tr:last-child > th:last-child, .table-bordered thead:last-child tr:last-child > th:last-child,
.table-bordered tbody:last-child tr:last-child > td:last-child, .table-bordered tbody:last-child tr:last-child > td:last-child,
.table-bordered tfoot:last-child tr:last-child > td:last-child { .table-bordered tbody:last-child tr:last-child > th:last-child,
.table-bordered tfoot:last-child tr:last-child > td:last-child,
.table-bordered tfoot:last-child tr:last-child > th:last-child {
-webkit-border-bottom-right-radius: 4px; -webkit-border-bottom-right-radius: 4px;
border-bottom-right-radius: 4px; border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px; -moz-border-radius-bottomright: 4px;
@ -2113,8 +2143,8 @@ table {
background-color: #f9f9f9; background-color: #f9f9f9;
} }
.table-hover tbody tr:hover td, .table-hover tbody tr:hover > td,
.table-hover tbody tr:hover th { .table-hover tbody tr:hover > th {
background-color: #f5f5f5; background-color: #f5f5f5;
} }
@ -2211,35 +2241,35 @@ table th[class*="span"],
margin-left: 0; margin-left: 0;
} }
.table tbody tr.success td { .table tbody tr.success > td {
background-color: #dff0d8; background-color: #dff0d8;
} }
.table tbody tr.error td { .table tbody tr.error > td {
background-color: #f2dede; background-color: #f2dede;
} }
.table tbody tr.warning td { .table tbody tr.warning > td {
background-color: #fcf8e3; background-color: #fcf8e3;
} }
.table tbody tr.info td { .table tbody tr.info > td {
background-color: #d9edf7; background-color: #d9edf7;
} }
.table-hover tbody tr.success:hover td { .table-hover tbody tr.success:hover > td {
background-color: #d0e9c6; background-color: #d0e9c6;
} }
.table-hover tbody tr.error:hover td { .table-hover tbody tr.error:hover > td {
background-color: #ebcccc; background-color: #ebcccc;
} }
.table-hover tbody tr.warning:hover td { .table-hover tbody tr.warning:hover > td {
background-color: #faf2cc; background-color: #faf2cc;
} }
.table-hover tbody tr.info:hover td { .table-hover tbody tr.info:hover > td {
background-color: #c4e3f3; background-color: #c4e3f3;
} }
@ -2257,7 +2287,7 @@ table th[class*="span"],
background-repeat: no-repeat; background-repeat: no-repeat;
} }
/* White icons with optional class, or on hover/active states of certain elements */ /* White icons with optional class, or on hover/focus/active states of certain elements */
.icon-white, .icon-white,
.nav-pills > .active > a > [class^="icon-"], .nav-pills > .active > a > [class^="icon-"],
@ -2267,11 +2297,15 @@ table th[class*="span"],
.navbar-inverse .nav > .active > a > [class^="icon-"], .navbar-inverse .nav > .active > a > [class^="icon-"],
.navbar-inverse .nav > .active > a > [class*=" icon-"], .navbar-inverse .nav > .active > a > [class*=" icon-"],
.dropdown-menu > li > a:hover > [class^="icon-"], .dropdown-menu > li > a:hover > [class^="icon-"],
.dropdown-menu > li > a:focus > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"], .dropdown-menu > li > a:hover > [class*=" icon-"],
.dropdown-menu > li > a:focus > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"], .dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"], .dropdown-menu > .active > a > [class*=" icon-"],
.dropdown-submenu:hover > a > [class^="icon-"], .dropdown-submenu:hover > a > [class^="icon-"],
.dropdown-submenu:hover > a > [class*=" icon-"] { .dropdown-submenu:focus > a > [class^="icon-"],
.dropdown-submenu:hover > a > [class*=" icon-"],
.dropdown-submenu:focus > a > [class*=" icon-"] {
background-image: url("../img/glyphicons-halflings-white.png"); background-image: url("../img/glyphicons-halflings-white.png");
} }
@ -2741,6 +2775,7 @@ table th[class*="span"],
} }
.icon-folder-close { .icon-folder-close {
width: 16px;
background-position: -384px -120px; background-position: -384px -120px;
} }
@ -2909,7 +2944,7 @@ table th[class*="span"],
border-bottom: 1px solid #ffffff; border-bottom: 1px solid #ffffff;
} }
.dropdown-menu li > a { .dropdown-menu > li > a {
display: block; display: block;
padding: 3px 20px; padding: 3px 20px;
clear: both; clear: both;
@ -2919,9 +2954,10 @@ table th[class*="span"],
white-space: nowrap; white-space: nowrap;
} }
.dropdown-menu li > a:hover, .dropdown-menu > li > a:hover,
.dropdown-menu li > a:focus, .dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a { .dropdown-submenu:hover > a,
.dropdown-submenu:focus > a {
color: #ffffff; color: #ffffff;
text-decoration: none; text-decoration: none;
background-color: #0081c2; background-color: #0081c2;
@ -2934,8 +2970,9 @@ table th[class*="span"],
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
} }
.dropdown-menu .active > a, .dropdown-menu > .active > a,
.dropdown-menu .active > a:hover { .dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
color: #ffffff; color: #ffffff;
text-decoration: none; text-decoration: none;
background-color: #0081c2; background-color: #0081c2;
@ -2949,12 +2986,14 @@ table th[class*="span"],
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
} }
.dropdown-menu .disabled > a, .dropdown-menu > .disabled > a,
.dropdown-menu .disabled > a:hover { .dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
color: #999999; color: #999999;
} }
.dropdown-menu .disabled > a:hover { .dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
text-decoration: none; text-decoration: none;
cursor: default; cursor: default;
background-color: transparent; background-color: transparent;
@ -2970,6 +3009,15 @@ table th[class*="span"],
display: block; display: block;
} }
.dropdown-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 990;
}
.pull-right > .dropdown-menu { .pull-right > .dropdown-menu {
right: 0; right: 0;
left: auto; left: auto;
@ -3130,7 +3178,8 @@ table th[class*="span"],
filter: alpha(opacity=20); filter: alpha(opacity=20);
} }
.close:hover { .close:hover,
.close:focus {
color: #000000; color: #000000;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
@ -3167,11 +3216,11 @@ button.close {
background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
background-repeat: repeat-x; background-repeat: repeat-x;
border: 1px solid #bbbbbb; border: 1px solid #cccccc;
*border: 0; *border: 0;
border-color: #e6e6e6 #e6e6e6 #bfbfbf; border-color: #e6e6e6 #e6e6e6 #bfbfbf;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
border-bottom-color: #a2a2a2; border-bottom-color: #b3b3b3;
-webkit-border-radius: 4px; -webkit-border-radius: 4px;
-moz-border-radius: 4px; -moz-border-radius: 4px;
border-radius: 4px; border-radius: 4px;
@ -3184,6 +3233,7 @@ button.close {
} }
.btn:hover, .btn:hover,
.btn:focus,
.btn:active, .btn:active,
.btn.active, .btn.active,
.btn.disabled, .btn.disabled,
@ -3202,7 +3252,8 @@ button.close {
*margin-left: 0; *margin-left: 0;
} }
.btn:hover { .btn:hover,
.btn:focus {
color: #333333; color: #333333;
text-decoration: none; text-decoration: none;
background-position: 0 -15px; background-position: 0 -15px;
@ -3306,11 +3357,6 @@ input[type="button"].btn-block {
color: rgba(255, 255, 255, 0.75); color: rgba(255, 255, 255, 0.75);
} }
.btn {
border-color: #c5c5c5;
border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);
}
.btn-primary { .btn-primary {
color: #ffffff; color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
@ -3329,6 +3375,7 @@ input[type="button"].btn-block {
} }
.btn-primary:hover, .btn-primary:hover,
.btn-primary:focus,
.btn-primary:active, .btn-primary:active,
.btn-primary.active, .btn-primary.active,
.btn-primary.disabled, .btn-primary.disabled,
@ -3361,6 +3408,7 @@ input[type="button"].btn-block {
} }
.btn-warning:hover, .btn-warning:hover,
.btn-warning:focus,
.btn-warning:active, .btn-warning:active,
.btn-warning.active, .btn-warning.active,
.btn-warning.disabled, .btn-warning.disabled,
@ -3393,6 +3441,7 @@ input[type="button"].btn-block {
} }
.btn-danger:hover, .btn-danger:hover,
.btn-danger:focus,
.btn-danger:active, .btn-danger:active,
.btn-danger.active, .btn-danger.active,
.btn-danger.disabled, .btn-danger.disabled,
@ -3425,6 +3474,7 @@ input[type="button"].btn-block {
} }
.btn-success:hover, .btn-success:hover,
.btn-success:focus,
.btn-success:active, .btn-success:active,
.btn-success.active, .btn-success.active,
.btn-success.disabled, .btn-success.disabled,
@ -3457,6 +3507,7 @@ input[type="button"].btn-block {
} }
.btn-info:hover, .btn-info:hover,
.btn-info:focus,
.btn-info:active, .btn-info:active,
.btn-info.active, .btn-info.active,
.btn-info.disabled, .btn-info.disabled,
@ -3489,6 +3540,7 @@ input[type="button"].btn-block {
} }
.btn-inverse:hover, .btn-inverse:hover,
.btn-inverse:focus,
.btn-inverse:active, .btn-inverse:active,
.btn-inverse.active, .btn-inverse.active,
.btn-inverse.disabled, .btn-inverse.disabled,
@ -3552,13 +3604,15 @@ input[type="submit"].btn.btn-mini {
border-radius: 0; border-radius: 0;
} }
.btn-link:hover { .btn-link:hover,
.btn-link:focus {
color: #005580; color: #005580;
text-decoration: underline; text-decoration: underline;
background-color: transparent; background-color: transparent;
} }
.btn-link[disabled]:hover { .btn-link[disabled]:hover,
.btn-link[disabled]:focus {
color: #333333; color: #333333;
text-decoration: none; text-decoration: none;
} }
@ -3744,8 +3798,6 @@ input[type="submit"].btn.btn-mini {
margin-left: 0; margin-left: 0;
} }
.btn-mini .caret,
.btn-small .caret,
.btn-large .caret { .btn-large .caret {
margin-top: 6px; margin-top: 6px;
} }
@ -3756,6 +3808,11 @@ input[type="submit"].btn.btn-mini {
border-left-width: 5px; border-left-width: 5px;
} }
.btn-mini .caret,
.btn-small .caret {
margin-top: 8px;
}
.dropup .btn-large .caret { .dropup .btn-large .caret {
border-bottom-width: 5px; border-bottom-width: 5px;
} }
@ -3899,7 +3956,8 @@ input[type="submit"].btn.btn-mini {
display: block; display: block;
} }
.nav > li > a:hover { .nav > li > a:hover,
.nav > li > a:focus {
text-decoration: none; text-decoration: none;
background-color: #eeeeee; background-color: #eeeeee;
} }
@ -3945,7 +4003,8 @@ input[type="submit"].btn.btn-mini {
} }
.nav-list > .active > a, .nav-list > .active > a,
.nav-list > .active > a:hover { .nav-list > .active > a:hover,
.nav-list > .active > a:focus {
color: #ffffff; color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
background-color: #0088cc; background-color: #0088cc;
@ -4016,12 +4075,14 @@ input[type="submit"].btn.btn-mini {
border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0;
} }
.nav-tabs > li > a:hover { .nav-tabs > li > a:hover,
.nav-tabs > li > a:focus {
border-color: #eeeeee #eeeeee #dddddd; border-color: #eeeeee #eeeeee #dddddd;
} }
.nav-tabs > .active > a, .nav-tabs > .active > a,
.nav-tabs > .active > a:hover { .nav-tabs > .active > a:hover,
.nav-tabs > .active > a:focus {
color: #555555; color: #555555;
cursor: default; cursor: default;
background-color: #ffffff; background-color: #ffffff;
@ -4040,7 +4101,8 @@ input[type="submit"].btn.btn-mini {
} }
.nav-pills > .active > a, .nav-pills > .active > a,
.nav-pills > .active > a:hover { .nav-pills > .active > a:hover,
.nav-pills > .active > a:focus {
color: #ffffff; color: #ffffff;
background-color: #0088cc; background-color: #0088cc;
} }
@ -4082,7 +4144,8 @@ input[type="submit"].btn.btn-mini {
-moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomleft: 4px;
} }
.nav-tabs.nav-stacked > li > a:hover { .nav-tabs.nav-stacked > li > a:hover,
.nav-tabs.nav-stacked > li > a:focus {
z-index: 2; z-index: 2;
border-color: #ddd; border-color: #ddd;
} }
@ -4113,7 +4176,8 @@ input[type="submit"].btn.btn-mini {
border-bottom-color: #0088cc; border-bottom-color: #0088cc;
} }
.nav .dropdown-toggle:hover .caret { .nav .dropdown-toggle:hover .caret,
.nav .dropdown-toggle:focus .caret {
border-top-color: #005580; border-top-color: #005580;
border-bottom-color: #005580; border-bottom-color: #005580;
} }
@ -4134,13 +4198,15 @@ input[type="submit"].btn.btn-mini {
border-bottom-color: #555555; border-bottom-color: #555555;
} }
.nav > .dropdown.active > a:hover { .nav > .dropdown.active > a:hover,
.nav > .dropdown.active > a:focus {
cursor: pointer; cursor: pointer;
} }
.nav-tabs .open .dropdown-toggle, .nav-tabs .open .dropdown-toggle,
.nav-pills .open .dropdown-toggle, .nav-pills .open .dropdown-toggle,
.nav > li.dropdown.open.active > a:hover { .nav > li.dropdown.open.active > a:hover,
.nav > li.dropdown.open.active > a:focus {
color: #ffffff; color: #ffffff;
background-color: #999999; background-color: #999999;
border-color: #999999; border-color: #999999;
@ -4148,14 +4214,16 @@ input[type="submit"].btn.btn-mini {
.nav li.dropdown.open .caret, .nav li.dropdown.open .caret,
.nav li.dropdown.open.active .caret, .nav li.dropdown.open.active .caret,
.nav li.dropdown.open a:hover .caret { .nav li.dropdown.open a:hover .caret,
.nav li.dropdown.open a:focus .caret {
border-top-color: #ffffff; border-top-color: #ffffff;
border-bottom-color: #ffffff; border-bottom-color: #ffffff;
opacity: 1; opacity: 1;
filter: alpha(opacity=100); filter: alpha(opacity=100);
} }
.tabs-stacked .open > a:hover { .tabs-stacked .open > a:hover,
.tabs-stacked .open > a:focus {
border-color: #999999; border-color: #999999;
} }
@ -4209,13 +4277,15 @@ input[type="submit"].btn.btn-mini {
border-radius: 0 0 4px 4px; border-radius: 0 0 4px 4px;
} }
.tabs-below > .nav-tabs > li > a:hover { .tabs-below > .nav-tabs > li > a:hover,
.tabs-below > .nav-tabs > li > a:focus {
border-top-color: #ddd; border-top-color: #ddd;
border-bottom-color: transparent; border-bottom-color: transparent;
} }
.tabs-below > .nav-tabs > .active > a, .tabs-below > .nav-tabs > .active > a,
.tabs-below > .nav-tabs > .active > a:hover { .tabs-below > .nav-tabs > .active > a:hover,
.tabs-below > .nav-tabs > .active > a:focus {
border-color: transparent #ddd #ddd #ddd; border-color: transparent #ddd #ddd #ddd;
} }
@ -4244,12 +4314,14 @@ input[type="submit"].btn.btn-mini {
border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px;
} }
.tabs-left > .nav-tabs > li > a:hover { .tabs-left > .nav-tabs > li > a:hover,
.tabs-left > .nav-tabs > li > a:focus {
border-color: #eeeeee #dddddd #eeeeee #eeeeee; border-color: #eeeeee #dddddd #eeeeee #eeeeee;
} }
.tabs-left > .nav-tabs .active > a, .tabs-left > .nav-tabs .active > a,
.tabs-left > .nav-tabs .active > a:hover { .tabs-left > .nav-tabs .active > a:hover,
.tabs-left > .nav-tabs .active > a:focus {
border-color: #ddd transparent #ddd #ddd; border-color: #ddd transparent #ddd #ddd;
*border-right-color: #ffffff; *border-right-color: #ffffff;
} }
@ -4267,12 +4339,14 @@ input[type="submit"].btn.btn-mini {
border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0;
} }
.tabs-right > .nav-tabs > li > a:hover { .tabs-right > .nav-tabs > li > a:hover,
.tabs-right > .nav-tabs > li > a:focus {
border-color: #eeeeee #eeeeee #eeeeee #dddddd; border-color: #eeeeee #eeeeee #eeeeee #dddddd;
} }
.tabs-right > .nav-tabs .active > a, .tabs-right > .nav-tabs .active > a,
.tabs-right > .nav-tabs .active > a:hover { .tabs-right > .nav-tabs .active > a:hover,
.tabs-right > .nav-tabs .active > a:focus {
border-color: #ddd #ddd #ddd transparent; border-color: #ddd #ddd #ddd transparent;
*border-left-color: #ffffff; *border-left-color: #ffffff;
} }
@ -4281,7 +4355,8 @@ input[type="submit"].btn.btn-mini {
color: #999999; color: #999999;
} }
.nav > .disabled > a:hover { .nav > .disabled > a:hover,
.nav > .disabled > a:focus {
text-decoration: none; text-decoration: none;
cursor: default; cursor: default;
background-color: transparent; background-color: transparent;
@ -4347,7 +4422,8 @@ input[type="submit"].btn.btn-mini {
text-shadow: 0 1px 0 #ffffff; text-shadow: 0 1px 0 #ffffff;
} }
.navbar .brand:hover { .navbar .brand:hover,
.navbar .brand:focus {
text-decoration: none; text-decoration: none;
} }
@ -4361,7 +4437,8 @@ input[type="submit"].btn.btn-mini {
color: #777777; color: #777777;
} }
.navbar-link:hover { .navbar-link:hover,
.navbar-link:focus {
color: #333333; color: #333333;
} }
@ -4379,7 +4456,9 @@ input[type="submit"].btn.btn-mini {
.navbar .btn-group .btn, .navbar .btn-group .btn,
.navbar .input-prepend .btn, .navbar .input-prepend .btn,
.navbar .input-append .btn { .navbar .input-append .btn,
.navbar .input-prepend .btn-group,
.navbar .input-append .btn-group {
margin-top: 0; margin-top: 0;
} }
@ -4587,6 +4666,7 @@ input[type="submit"].btn.btn-mini {
} }
.navbar .btn-navbar:hover, .navbar .btn-navbar:hover,
.navbar .btn-navbar:focus,
.navbar .btn-navbar:active, .navbar .btn-navbar:active,
.navbar .btn-navbar.active, .navbar .btn-navbar.active,
.navbar .btn-navbar.disabled, .navbar .btn-navbar.disabled,
@ -4656,9 +4736,10 @@ input[type="submit"].btn.btn-mini {
border-bottom: 0; border-bottom: 0;
} }
.navbar .nav li.dropdown > a:hover .caret { .navbar .nav li.dropdown > a:hover .caret,
border-top-color: #555555; .navbar .nav li.dropdown > a:focus .caret {
border-bottom-color: #555555; border-top-color: #333333;
border-bottom-color: #333333;
} }
.navbar .nav li.dropdown.open > .dropdown-toggle, .navbar .nav li.dropdown.open > .dropdown-toggle,
@ -4728,7 +4809,9 @@ input[type="submit"].btn.btn-mini {
} }
.navbar-inverse .brand:hover, .navbar-inverse .brand:hover,
.navbar-inverse .nav > li > a:hover { .navbar-inverse .nav > li > a:hover,
.navbar-inverse .brand:focus,
.navbar-inverse .nav > li > a:focus {
color: #ffffff; color: #ffffff;
} }
@ -4757,7 +4840,8 @@ input[type="submit"].btn.btn-mini {
color: #999999; color: #999999;
} }
.navbar-inverse .navbar-link:hover { .navbar-inverse .navbar-link:hover,
.navbar-inverse .navbar-link:focus {
color: #ffffff; color: #ffffff;
} }
@ -4773,7 +4857,8 @@ input[type="submit"].btn.btn-mini {
background-color: #111111; background-color: #111111;
} }
.navbar-inverse .nav li.dropdown > a:hover .caret { .navbar-inverse .nav li.dropdown > a:hover .caret,
.navbar-inverse .nav li.dropdown > a:focus .caret {
border-top-color: #ffffff; border-top-color: #ffffff;
border-bottom-color: #ffffff; border-bottom-color: #ffffff;
} }
@ -4846,6 +4931,7 @@ input[type="submit"].btn.btn-mini {
} }
.navbar-inverse .btn-navbar:hover, .navbar-inverse .btn-navbar:hover,
.navbar-inverse .btn-navbar:focus,
.navbar-inverse .btn-navbar:active, .navbar-inverse .btn-navbar:active,
.navbar-inverse .btn-navbar.active, .navbar-inverse .btn-navbar.active,
.navbar-inverse .btn-navbar.disabled, .navbar-inverse .btn-navbar.disabled,
@ -4920,6 +5006,7 @@ input[type="submit"].btn.btn-mini {
} }
.pagination ul > li > a:hover, .pagination ul > li > a:hover,
.pagination ul > li > a:focus,
.pagination ul > .active > a, .pagination ul > .active > a,
.pagination ul > .active > span { .pagination ul > .active > span {
background-color: #f5f5f5; background-color: #f5f5f5;
@ -4933,7 +5020,8 @@ input[type="submit"].btn.btn-mini {
.pagination ul > .disabled > span, .pagination ul > .disabled > span,
.pagination ul > .disabled > a, .pagination ul > .disabled > a,
.pagination ul > .disabled > a:hover { .pagination ul > .disabled > a:hover,
.pagination ul > .disabled > a:focus {
color: #999999; color: #999999;
cursor: default; cursor: default;
background-color: transparent; background-color: transparent;
@ -5063,7 +5151,8 @@ input[type="submit"].btn.btn-mini {
border-radius: 15px; border-radius: 15px;
} }
.pager li > a:hover { .pager li > a:hover,
.pager li > a:focus {
text-decoration: none; text-decoration: none;
background-color: #f5f5f5; background-color: #f5f5f5;
} }
@ -5080,6 +5169,7 @@ input[type="submit"].btn.btn-mini {
.pager .disabled > a, .pager .disabled > a,
.pager .disabled > a:hover, .pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span { .pager .disabled > span {
color: #999999; color: #999999;
cursor: default; cursor: default;
@ -5209,8 +5299,8 @@ input[type="submit"].btn.btn-mini {
position: absolute; position: absolute;
z-index: 1030; z-index: 1030;
display: block; display: block;
padding: 5px;
font-size: 11px; font-size: 11px;
line-height: 1.4;
opacity: 0; opacity: 0;
filter: alpha(opacity=0); filter: alpha(opacity=0);
visibility: visible; visibility: visible;
@ -5222,24 +5312,28 @@ input[type="submit"].btn.btn-mini {
} }
.tooltip.top { .tooltip.top {
padding: 5px 0;
margin-top: -3px; margin-top: -3px;
} }
.tooltip.right { .tooltip.right {
padding: 0 5px;
margin-left: 3px; margin-left: 3px;
} }
.tooltip.bottom { .tooltip.bottom {
padding: 5px 0;
margin-top: 3px; margin-top: 3px;
} }
.tooltip.left { .tooltip.left {
padding: 0 5px;
margin-left: -3px; margin-left: -3px;
} }
.tooltip-inner { .tooltip-inner {
max-width: 200px; max-width: 200px;
padding: 3px 8px; padding: 8px;
color: #ffffff; color: #ffffff;
text-align: center; text-align: center;
text-decoration: none; text-decoration: none;
@ -5295,7 +5389,7 @@ input[type="submit"].btn.btn-mini {
left: 0; left: 0;
z-index: 1010; z-index: 1010;
display: none; display: none;
width: 236px; max-width: 276px;
padding: 1px; padding: 1px;
text-align: left; text-align: left;
white-space: normal; white-space: normal;
@ -5342,6 +5436,10 @@ input[type="submit"].btn.btn-mini {
border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0;
} }
.popover-title:empty {
display: none;
}
.popover-content { .popover-content {
padding: 9px 14px; padding: 9px 14px;
} }
@ -5473,7 +5571,8 @@ input[type="submit"].btn.btn-mini {
transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
} }
a.thumbnail:hover { a.thumbnail:hover,
a.thumbnail:focus {
border-color: #0088cc; border-color: #0088cc;
-webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
-moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
@ -5516,11 +5615,11 @@ a.thumbnail:hover {
margin: 0 0 5px; margin: 0 0 5px;
} }
.media .pull-left { .media > .pull-left {
margin-right: 10px; margin-right: 10px;
} }
.media .pull-right { .media > .pull-right {
margin-left: 10px; margin-left: 10px;
} }
@ -5563,7 +5662,9 @@ a.thumbnail:hover {
} }
a.label:hover, a.label:hover,
a.badge:hover { a.label:focus,
a.badge:hover,
a.badge:focus {
color: #ffffff; color: #ffffff;
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
@ -5889,7 +5990,8 @@ a.badge:hover {
transition: 0.6s ease-in-out left; transition: 0.6s ease-in-out left;
} }
.carousel-inner > .item > img { .carousel-inner > .item > img,
.carousel-inner > .item > a > img {
display: block; display: block;
line-height: 1; line-height: 1;
} }
@ -5958,13 +6060,39 @@ a.badge:hover {
left: auto; left: auto;
} }
.carousel-control:hover { .carousel-control:hover,
.carousel-control:focus {
color: #ffffff; color: #ffffff;
text-decoration: none; text-decoration: none;
opacity: 0.9; opacity: 0.9;
filter: alpha(opacity=90); filter: alpha(opacity=90);
} }
.carousel-indicators {
position: absolute;
top: 15px;
right: 15px;
z-index: 5;
margin: 0;
list-style: none;
}
.carousel-indicators li {
display: block;
float: left;
width: 10px;
height: 10px;
margin-left: 5px;
text-indent: -999px;
background-color: #ccc;
background-color: rgba(255, 255, 255, 0.25);
border-radius: 5px;
}
.carousel-indicators .active {
background-color: #fff;
}
.carousel-caption { .carousel-caption {
position: absolute; position: absolute;
right: 0; right: 0;

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/* =================================================== /* ===================================================
* bootstrap-transition.js v2.2.2 * bootstrap-transition.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#transitions * http://twitter.github.com/bootstrap/javascript.html#transitions
* =================================================== * ===================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -58,7 +58,7 @@
}) })
}(window.jQuery);/* ========================================================== }(window.jQuery);/* ==========================================================
* bootstrap-alert.js v2.2.2 * bootstrap-alert.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#alerts * http://twitter.github.com/bootstrap/javascript.html#alerts
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -156,7 +156,7 @@
$(document).on('click.alert.data-api', dismiss, Alert.prototype.close) $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
}(window.jQuery);/* ============================================================ }(window.jQuery);/* ============================================================
* bootstrap-button.js v2.2.2 * bootstrap-button.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#buttons * http://twitter.github.com/bootstrap/javascript.html#buttons
* ============================================================ * ============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -260,7 +260,7 @@
}) })
}(window.jQuery);/* ========================================================== }(window.jQuery);/* ==========================================================
* bootstrap-carousel.js v2.2.2 * bootstrap-carousel.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#carousel * http://twitter.github.com/bootstrap/javascript.html#carousel
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -289,6 +289,7 @@
var Carousel = function (element, options) { var Carousel = function (element, options) {
this.$element = $(element) this.$element = $(element)
this.$indicators = this.$element.find('.carousel-indicators')
this.options = options this.options = options
this.options.pause == 'hover' && this.$element this.options.pause == 'hover' && this.$element
.on('mouseenter', $.proxy(this.pause, this)) .on('mouseenter', $.proxy(this.pause, this))
@ -299,19 +300,24 @@
cycle: function (e) { cycle: function (e) {
if (!e) this.paused = false if (!e) this.paused = false
if (this.interval) clearInterval(this.interval);
this.options.interval this.options.interval
&& !this.paused && !this.paused
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
return this return this
} }
, getActiveIndex: function () {
this.$active = this.$element.find('.item.active')
this.$items = this.$active.parent().children()
return this.$items.index(this.$active)
}
, to: function (pos) { , to: function (pos) {
var $active = this.$element.find('.item.active') var activeIndex = this.getActiveIndex()
, children = $active.parent().children()
, activePos = children.index($active)
, that = this , that = this
if (pos > (children.length - 1) || pos < 0) return if (pos > (this.$items.length - 1) || pos < 0) return
if (this.sliding) { if (this.sliding) {
return this.$element.one('slid', function () { return this.$element.one('slid', function () {
@ -319,18 +325,18 @@
}) })
} }
if (activePos == pos) { if (activeIndex == pos) {
return this.pause().cycle() return this.pause().cycle()
} }
return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
} }
, pause: function (e) { , pause: function (e) {
if (!e) this.paused = true if (!e) this.paused = true
if (this.$element.find('.next, .prev').length && $.support.transition.end) { if (this.$element.find('.next, .prev').length && $.support.transition.end) {
this.$element.trigger($.support.transition.end) this.$element.trigger($.support.transition.end)
this.cycle() this.cycle(true)
} }
clearInterval(this.interval) clearInterval(this.interval)
this.interval = null this.interval = null
@ -364,10 +370,19 @@
e = $.Event('slide', { e = $.Event('slide', {
relatedTarget: $next[0] relatedTarget: $next[0]
, direction: direction
}) })
if ($next.hasClass('active')) return if ($next.hasClass('active')) return
if (this.$indicators.length) {
this.$indicators.find('.active').removeClass('active')
this.$element.one('slid', function () {
var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
$nextIndicator && $nextIndicator.addClass('active')
})
}
if ($.support.transition && this.$element.hasClass('slide')) { if ($.support.transition && this.$element.hasClass('slide')) {
this.$element.trigger(e) this.$element.trigger(e)
if (e.isDefaultPrevented()) return if (e.isDefaultPrevented()) return
@ -412,7 +427,7 @@
if (!data) $this.data('carousel', (data = new Carousel(this, options))) if (!data) $this.data('carousel', (data = new Carousel(this, options)))
if (typeof option == 'number') data.to(option) if (typeof option == 'number') data.to(option)
else if (action) data[action]() else if (action) data[action]()
else if (options.interval) data.cycle() else if (options.interval) data.pause().cycle()
}) })
} }
@ -435,16 +450,23 @@
/* CAROUSEL DATA-API /* CAROUSEL DATA-API
* ================= */ * ================= */
$(document).on('click.carousel.data-api', '[data-slide]', function (e) { $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
var $this = $(this), href var $this = $(this), href
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
, options = $.extend({}, $target.data(), $this.data()) , options = $.extend({}, $target.data(), $this.data())
, slideIndex
$target.carousel(options) $target.carousel(options)
if (slideIndex = $this.attr('data-slide-to')) {
$target.data('carousel').pause().to(slideIndex).cycle()
}
e.preventDefault() e.preventDefault()
}) })
}(window.jQuery);/* ============================================================= }(window.jQuery);/* =============================================================
* bootstrap-collapse.js v2.2.2 * bootstrap-collapse.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#collapse * http://twitter.github.com/bootstrap/javascript.html#collapse
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -497,7 +519,7 @@
, actives , actives
, hasData , hasData
if (this.transitioning) return if (this.transitioning || this.$element.hasClass('in')) return
dimension = this.dimension() dimension = this.dimension()
scroll = $.camelCase(['scroll', dimension].join('-')) scroll = $.camelCase(['scroll', dimension].join('-'))
@ -517,7 +539,7 @@
, hide: function () { , hide: function () {
var dimension var dimension
if (this.transitioning) return if (this.transitioning || !this.$element.hasClass('in')) return
dimension = this.dimension() dimension = this.dimension()
this.reset(this.$element[dimension]()) this.reset(this.$element[dimension]())
this.transition('removeClass', $.Event('hide'), 'hidden') this.transition('removeClass', $.Event('hide'), 'hidden')
@ -574,7 +596,7 @@
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
, data = $this.data('collapse') , data = $this.data('collapse')
, options = typeof option == 'object' && option , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
if (!data) $this.data('collapse', (data = new Collapse(this, options))) if (!data) $this.data('collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]() if (typeof option == 'string') data[option]()
}) })
@ -610,7 +632,7 @@
}) })
}(window.jQuery);/* ============================================================ }(window.jQuery);/* ============================================================
* bootstrap-dropdown.js v2.2.2 * bootstrap-dropdown.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#dropdowns * http://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================ * ============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -663,6 +685,10 @@
clearMenus() clearMenus()
if (!isActive) { if (!isActive) {
if ('ontouchstart' in document.documentElement) {
// if mobile we we use a backdrop because click events don't delegate
$('<div class="dropdown-backdrop"/>').insertBefore($(this)).on('click', clearMenus)
}
$parent.toggleClass('open') $parent.toggleClass('open')
} }
@ -692,7 +718,10 @@
isActive = $parent.hasClass('open') isActive = $parent.hasClass('open')
if (!isActive || (isActive && e.keyCode == 27)) return $this.click() if (!isActive || (isActive && e.keyCode == 27)) {
if (e.which == 27) $parent.find(toggle).focus()
return $this.click()
}
$items = $('[role=menu] li:not(.divider):visible a', $parent) $items = $('[role=menu] li:not(.divider):visible a', $parent)
@ -712,6 +741,7 @@
} }
function clearMenus() { function clearMenus() {
$('.dropdown-backdrop').remove()
$(toggle).each(function () { $(toggle).each(function () {
getParent($(this)).removeClass('open') getParent($(this)).removeClass('open')
}) })
@ -726,8 +756,9 @@
selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
} }
$parent = $(selector) $parent = selector && $(selector)
$parent.length || ($parent = $this.parent())
if (!$parent || !$parent.length) $parent = $this.parent()
return $parent return $parent
} }
@ -763,14 +794,14 @@
* =================================== */ * =================================== */
$(document) $(document)
.on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) .on('click.dropdown.data-api', clearMenus)
.on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
.on('touchstart.dropdown.data-api', '.dropdown-menu', function (e) { e.stopPropagation() }) .on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
.on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
.on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
}(window.jQuery);/* ========================================================= }(window.jQuery);
* bootstrap-modal.js v2.2.2 /* =========================================================
* bootstrap-modal.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#modals * http://twitter.github.com/bootstrap/javascript.html#modals
* ========================================================= * =========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -831,8 +862,7 @@
that.$element.appendTo(document.body) //don't move modals dom position that.$element.appendTo(document.body) //don't move modals dom position
} }
that.$element that.$element.show()
.show()
if (transition) { if (transition) {
that.$element[0].offsetWidth // force reflow that.$element[0].offsetWidth // force reflow
@ -910,16 +940,17 @@
}) })
} }
, hideModal: function (that) { , hideModal: function () {
this.$element var that = this
.hide() this.$element.hide()
.trigger('hidden') this.backdrop(function () {
that.removeBackdrop()
this.backdrop() that.$element.trigger('hidden')
})
} }
, removeBackdrop: function () { , removeBackdrop: function () {
this.$backdrop.remove() this.$backdrop && this.$backdrop.remove()
this.$backdrop = null this.$backdrop = null
} }
@ -943,6 +974,8 @@
this.$backdrop.addClass('in') this.$backdrop.addClass('in')
if (!callback) return
doAnimate ? doAnimate ?
this.$backdrop.one($.support.transition.end, callback) : this.$backdrop.one($.support.transition.end, callback) :
callback() callback()
@ -951,8 +984,8 @@
this.$backdrop.removeClass('in') this.$backdrop.removeClass('in')
$.support.transition && this.$element.hasClass('fade')? $.support.transition && this.$element.hasClass('fade')?
this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) : this.$backdrop.one($.support.transition.end, callback) :
this.removeBackdrop() callback()
} else if (callback) { } else if (callback) {
callback() callback()
@ -1015,7 +1048,7 @@
}(window.jQuery); }(window.jQuery);
/* =========================================================== /* ===========================================================
* bootstrap-tooltip.js v2.2.2 * bootstrap-tooltip.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#tooltips * http://twitter.github.com/bootstrap/javascript.html#tooltips
* Inspired by the original jQuery.tipsy by Jason Frame * Inspired by the original jQuery.tipsy by Jason Frame
* =========================================================== * ===========================================================
@ -1054,19 +1087,27 @@
, init: function (type, element, options) { , init: function (type, element, options) {
var eventIn var eventIn
, eventOut , eventOut
, triggers
, trigger
, i
this.type = type this.type = type
this.$element = $(element) this.$element = $(element)
this.options = this.getOptions(options) this.options = this.getOptions(options)
this.enabled = true this.enabled = true
if (this.options.trigger == 'click') { triggers = this.options.trigger.split(' ')
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
} else if (this.options.trigger != 'manual') { for (i = triggers.length; i--;) {
eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus' trigger = triggers[i]
eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur' if (trigger == 'click') {
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) } else if (trigger != 'manual') {
eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
}
} }
this.options.selector ? this.options.selector ?
@ -1075,7 +1116,7 @@
} }
, getOptions: function (options) { , getOptions: function (options) {
options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data()) options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)
if (options.delay && typeof options.delay == 'number') { if (options.delay && typeof options.delay == 'number') {
options.delay = { options.delay = {
@ -1088,7 +1129,15 @@
} }
, enter: function (e) { , enter: function (e) {
var self = $(e.currentTarget)[this.type](this._options).data(this.type) var defaults = $.fn[this.type].defaults
, options = {}
, self
this._options && $.each(this._options, function (key, value) {
if (defaults[key] != value) options[key] = value
}, this)
self = $(e.currentTarget)[this.type](options).data(this.type)
if (!self.options.delay || !self.options.delay.show) return self.show() if (!self.options.delay || !self.options.delay.show) return self.show()
@ -1113,14 +1162,16 @@
, show: function () { , show: function () {
var $tip var $tip
, inside
, pos , pos
, actualWidth , actualWidth
, actualHeight , actualHeight
, placement , placement
, tp , tp
, e = $.Event('show')
if (this.hasContent() && this.enabled) { if (this.hasContent() && this.enabled) {
this.$element.trigger(e)
if (e.isDefaultPrevented()) return
$tip = this.tip() $tip = this.tip()
this.setContent() this.setContent()
@ -1132,19 +1183,18 @@
this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement.call(this, $tip[0], this.$element[0]) :
this.options.placement this.options.placement
inside = /in/.test(placement)
$tip $tip
.detach() .detach()
.css({ top: 0, left: 0, display: 'block' }) .css({ top: 0, left: 0, display: 'block' })
.insertAfter(this.$element)
pos = this.getPosition(inside) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
pos = this.getPosition()
actualWidth = $tip[0].offsetWidth actualWidth = $tip[0].offsetWidth
actualHeight = $tip[0].offsetHeight actualHeight = $tip[0].offsetHeight
switch (inside ? placement.split(' ')[1] : placement) { switch (placement) {
case 'bottom': case 'bottom':
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2} tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
break break
@ -1159,13 +1209,58 @@
break break
} }
$tip this.applyPlacement(tp, placement)
.offset(tp) this.$element.trigger('shown')
.addClass(placement)
.addClass('in')
} }
} }
, applyPlacement: function(offset, placement){
var $tip = this.tip()
, width = $tip[0].offsetWidth
, height = $tip[0].offsetHeight
, actualWidth
, actualHeight
, delta
, replace
$tip
.offset(offset)
.addClass(placement)
.addClass('in')
actualWidth = $tip[0].offsetWidth
actualHeight = $tip[0].offsetHeight
if (placement == 'top' && actualHeight != height) {
offset.top = offset.top + height - actualHeight
replace = true
}
if (placement == 'bottom' || placement == 'top') {
delta = 0
if (offset.left < 0){
delta = offset.left * -2
offset.left = 0
$tip.offset(offset)
actualWidth = $tip[0].offsetWidth
actualHeight = $tip[0].offsetHeight
}
this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
} else {
this.replaceArrow(actualHeight - height, actualHeight, 'top')
}
if (replace) $tip.offset(offset)
}
, replaceArrow: function(delta, dimension, position){
this
.arrow()
.css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
}
, setContent: function () { , setContent: function () {
var $tip = this.tip() var $tip = this.tip()
, title = this.getTitle() , title = this.getTitle()
@ -1177,6 +1272,10 @@
, hide: function () { , hide: function () {
var that = this var that = this
, $tip = this.tip() , $tip = this.tip()
, e = $.Event('hide')
this.$element.trigger(e)
if (e.isDefaultPrevented()) return
$tip.removeClass('in') $tip.removeClass('in')
@ -1195,13 +1294,15 @@
removeWithAnimation() : removeWithAnimation() :
$tip.detach() $tip.detach()
this.$element.trigger('hidden')
return this return this
} }
, fixTitle: function () { , fixTitle: function () {
var $e = this.$element var $e = this.$element
if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') { if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
$e.attr('data-original-title', $e.attr('title') || '').removeAttr('title') $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
} }
} }
@ -1209,11 +1310,12 @@
return this.getTitle() return this.getTitle()
} }
, getPosition: function (inside) { , getPosition: function () {
return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), { var el = this.$element[0]
width: this.$element[0].offsetWidth return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
, height: this.$element[0].offsetHeight width: el.offsetWidth
}) , height: el.offsetHeight
}, this.$element.offset())
} }
, getTitle: function () { , getTitle: function () {
@ -1231,6 +1333,10 @@
return this.$tip = this.$tip || $(this.options.template) return this.$tip = this.$tip || $(this.options.template)
} }
, arrow: function(){
return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
}
, validate: function () { , validate: function () {
if (!this.$element[0].parentNode) { if (!this.$element[0].parentNode) {
this.hide() this.hide()
@ -1252,8 +1358,8 @@
} }
, toggle: function (e) { , toggle: function (e) {
var self = $(e.currentTarget)[this.type](this._options).data(this.type) var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
self[self.tip().hasClass('in') ? 'hide' : 'show']() self.tip().hasClass('in') ? self.hide() : self.show()
} }
, destroy: function () { , destroy: function () {
@ -1285,10 +1391,11 @@
, placement: 'top' , placement: 'top'
, selector: false , selector: false
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>' , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
, trigger: 'hover' , trigger: 'hover focus'
, title: '' , title: ''
, delay: 0 , delay: 0
, html: false , html: false
, container: false
} }
@ -1300,8 +1407,9 @@
return this return this
} }
}(window.jQuery);/* =========================================================== }(window.jQuery);
* bootstrap-popover.js v2.2.2 /* ===========================================================
* bootstrap-popover.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#popovers * http://twitter.github.com/bootstrap/javascript.html#popovers
* =========================================================== * ===========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -1360,8 +1468,8 @@
, $e = this.$element , $e = this.$element
, o = this.options , o = this.options
content = $e.attr('data-content') content = (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
|| (typeof o.content == 'function' ? o.content.call($e[0]) : o.content) || $e.attr('data-content')
return content return content
} }
@ -1401,7 +1509,7 @@
placement: 'right' placement: 'right'
, trigger: 'click' , trigger: 'click'
, content: '' , content: ''
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>' , template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
}) })
@ -1413,8 +1521,9 @@
return this return this
} }
}(window.jQuery);/* ============================================================= }(window.jQuery);
* bootstrap-scrollspy.js v2.2.2 /* =============================================================
* bootstrap-scrollspy.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#scrollspy * http://twitter.github.com/bootstrap/javascript.html#scrollspy
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -1474,7 +1583,7 @@
, $href = /^#\w/.test(href) && $(href) , $href = /^#\w/.test(href) && $(href)
return ( $href return ( $href
&& $href.length && $href.length
&& [[ $href.position().top + self.$scrollElement.scrollTop(), href ]] ) || null && [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
}) })
.sort(function (a, b) { return a[0] - b[0] }) .sort(function (a, b) { return a[0] - b[0] })
.each(function () { .each(function () {
@ -1575,7 +1684,7 @@
}) })
}(window.jQuery);/* ======================================================== }(window.jQuery);/* ========================================================
* bootstrap-tab.js v2.2.2 * bootstrap-tab.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#tabs * http://twitter.github.com/bootstrap/javascript.html#tabs
* ======================================================== * ========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -1718,7 +1827,7 @@
}) })
}(window.jQuery);/* ============================================================= }(window.jQuery);/* =============================================================
* bootstrap-typeahead.js v2.2.2 * bootstrap-typeahead.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#typeahead * http://twitter.github.com/bootstrap/javascript.html#typeahead
* ============================================================= * =============================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.
@ -1891,6 +2000,7 @@
, listen: function () { , listen: function () {
this.$element this.$element
.on('focus', $.proxy(this.focus, this))
.on('blur', $.proxy(this.blur, this)) .on('blur', $.proxy(this.blur, this))
.on('keypress', $.proxy(this.keypress, this)) .on('keypress', $.proxy(this.keypress, this))
.on('keyup', $.proxy(this.keyup, this)) .on('keyup', $.proxy(this.keyup, this))
@ -1902,6 +2012,7 @@
this.$menu this.$menu
.on('click', $.proxy(this.click, this)) .on('click', $.proxy(this.click, this))
.on('mouseenter', 'li', $.proxy(this.mouseenter, this)) .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
.on('mouseleave', 'li', $.proxy(this.mouseleave, this))
} }
, eventSupported: function(eventName) { , eventSupported: function(eventName) {
@ -1975,22 +2086,33 @@
e.preventDefault() e.preventDefault()
} }
, focus: function (e) {
this.focused = true
}
, blur: function (e) { , blur: function (e) {
var that = this this.focused = false
setTimeout(function () { that.hide() }, 150) if (!this.mousedover && this.shown) this.hide()
} }
, click: function (e) { , click: function (e) {
e.stopPropagation() e.stopPropagation()
e.preventDefault() e.preventDefault()
this.select() this.select()
this.$element.focus()
} }
, mouseenter: function (e) { , mouseenter: function (e) {
this.mousedover = true
this.$menu.find('.active').removeClass('active') this.$menu.find('.active').removeClass('active')
$(e.currentTarget).addClass('active') $(e.currentTarget).addClass('active')
} }
, mouseleave: function (e) {
this.mousedover = false
if (!this.focused && this.shown) this.hide()
}
} }
@ -2035,13 +2157,12 @@
$(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) { $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
var $this = $(this) var $this = $(this)
if ($this.data('typeahead')) return if ($this.data('typeahead')) return
e.preventDefault()
$this.typeahead($this.data()) $this.typeahead($this.data())
}) })
}(window.jQuery); }(window.jQuery);
/* ========================================================== /* ==========================================================
* bootstrap-affix.js v2.2.2 * bootstrap-affix.js v2.3.2
* http://twitter.github.com/bootstrap/javascript.html#affix * http://twitter.github.com/bootstrap/javascript.html#affix
* ========================================================== * ==========================================================
* Copyright 2012 Twitter, Inc. * Copyright 2012 Twitter, Inc.

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,983 @@
/*!
* Font Awesome 3.1.0
* the iconic font designed for Bootstrap
* -------------------------------------------------------
* The full suite of pictographic icons, examples, and documentation
* can be found at: http://fontawesome.io
*
* License
* -------------------------------------------------------
* - The Font Awesome font is licensed under the SIL Open Font License v1.1 -
* http://scripts.sil.org/OFL
* - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
* http://opensource.org/licenses/mit-license.html
* - Font Awesome documentation licensed under CC BY 3.0 License -
* http://creativecommons.org/licenses/by/3.0/
* - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
* "Font Awesome by Dave Gandy - http://fontawesome.io"
* Contact
* -------------------------------------------------------
* Email: dave@fontawesome.io
* Twitter: http://twitter.com/fortaweso_me
* Work: Lead Product Designer @ http://kyruus.com
*/
.icon-large {
font-size: 1.3333333333333333em;
margin-top: -4px;
padding-top: 3px;
margin-bottom: -4px;
padding-bottom: 3px;
vertical-align: middle;
}
.nav [class^="icon-"],
.nav [class*=" icon-"] {
vertical-align: inherit;
margin-top: -4px;
padding-top: 3px;
margin-bottom: -4px;
padding-bottom: 3px;
}
.nav [class^="icon-"].icon-large,
.nav [class*=" icon-"].icon-large {
vertical-align: -25%;
}
.nav-pills [class^="icon-"].icon-large,
.nav-tabs [class^="icon-"].icon-large,
.nav-pills [class*=" icon-"].icon-large,
.nav-tabs [class*=" icon-"].icon-large {
line-height: .75em;
margin-top: -7px;
padding-top: 5px;
margin-bottom: -5px;
padding-bottom: 4px;
}
ul.icons-ul {
text-indent: -1em;
margin-left: 2.142857142857143em;
}
ul.icons-ul > li .icon-li {
width: 1em;
margin-right: 0;
}
.btn [class^="icon-"].pull-left,
.btn [class*=" icon-"].pull-left,
.btn [class^="icon-"].pull-right,
.btn [class*=" icon-"].pull-right {
vertical-align: inherit;
}
.btn [class^="icon-"].icon-large,
.btn [class*=" icon-"].icon-large {
margin-top: -0.5em;
}
a [class^="icon-"],
a [class*=" icon-"] {
cursor: pointer;
}
.icon-glass {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf000;');
}
.icon-music {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf001;');
}
.icon-search {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf002;');
}
.icon-envelope {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf003;');
}
.icon-heart {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf004;');
}
.icon-star {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf005;');
}
.icon-star-empty {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf006;');
}
.icon-user {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf007;');
}
.icon-film {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf008;');
}
.icon-th-large {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf009;');
}
.icon-th {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00a;');
}
.icon-th-list {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00b;');
}
.icon-ok {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00c;');
}
.icon-remove {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00d;');
}
.icon-zoom-in {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf00e;');
}
.icon-zoom-out {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf010;');
}
.icon-off {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf011;');
}
.icon-signal {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf012;');
}
.icon-cog {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf013;');
}
.icon-trash {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf014;');
}
.icon-home {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf015;');
}
.icon-file {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf016;');
}
.icon-time {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf017;');
}
.icon-road {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf018;');
}
.icon-download-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf019;');
}
.icon-download {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01a;');
}
.icon-upload {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01b;');
}
.icon-inbox {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01c;');
}
.icon-play-circle {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01d;');
}
.icon-repeat {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf01e;');
}
.icon-refresh {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf021;');
}
.icon-list-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf022;');
}
.icon-lock {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf023;');
}
.icon-flag {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf024;');
}
.icon-headphones {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf025;');
}
.icon-volume-off {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf026;');
}
.icon-volume-down {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf027;');
}
.icon-volume-up {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf028;');
}
.icon-qrcode {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf029;');
}
.icon-barcode {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02a;');
}
.icon-tag {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02b;');
}
.icon-tags {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02c;');
}
.icon-book {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02d;');
}
.icon-bookmark {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02e;');
}
.icon-print {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf02f;');
}
.icon-camera {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf030;');
}
.icon-font {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf031;');
}
.icon-bold {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf032;');
}
.icon-italic {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf033;');
}
.icon-text-height {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf034;');
}
.icon-text-width {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf035;');
}
.icon-align-left {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf036;');
}
.icon-align-center {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf037;');
}
.icon-align-right {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf038;');
}
.icon-align-justify {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf039;');
}
.icon-list {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03a;');
}
.icon-indent-left {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03b;');
}
.icon-indent-right {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03c;');
}
.icon-facetime-video {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03d;');
}
.icon-picture {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf03e;');
}
.icon-pencil {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf040;');
}
.icon-map-marker {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf041;');
}
.icon-adjust {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf042;');
}
.icon-tint {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf043;');
}
.icon-edit {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf044;');
}
.icon-share {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf045;');
}
.icon-check {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf046;');
}
.icon-move {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf047;');
}
.icon-step-backward {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf048;');
}
.icon-fast-backward {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf049;');
}
.icon-backward {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04a;');
}
.icon-play {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04b;');
}
.icon-pause {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04c;');
}
.icon-stop {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04d;');
}
.icon-forward {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf04e;');
}
.icon-fast-forward {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf050;');
}
.icon-step-forward {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf051;');
}
.icon-eject {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf052;');
}
.icon-chevron-left {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf053;');
}
.icon-chevron-right {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf054;');
}
.icon-plus-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf055;');
}
.icon-minus-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf056;');
}
.icon-remove-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf057;');
}
.icon-ok-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf058;');
}
.icon-question-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf059;');
}
.icon-info-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05a;');
}
.icon-screenshot {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05b;');
}
.icon-remove-circle {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05c;');
}
.icon-ok-circle {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05d;');
}
.icon-ban-circle {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf05e;');
}
.icon-arrow-left {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf060;');
}
.icon-arrow-right {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf061;');
}
.icon-arrow-up {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf062;');
}
.icon-arrow-down {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf063;');
}
.icon-share-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf064;');
}
.icon-resize-full {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf065;');
}
.icon-resize-small {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf066;');
}
.icon-plus {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf067;');
}
.icon-minus {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf068;');
}
.icon-asterisk {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf069;');
}
.icon-exclamation-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06a;');
}
.icon-gift {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06b;');
}
.icon-leaf {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06c;');
}
.icon-fire {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06d;');
}
.icon-eye-open {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf06e;');
}
.icon-eye-close {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf070;');
}
.icon-warning-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf071;');
}
.icon-plane {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf072;');
}
.icon-calendar {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf073;');
}
.icon-random {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf074;');
}
.icon-comment {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf075;');
}
.icon-magnet {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf076;');
}
.icon-chevron-up {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf077;');
}
.icon-chevron-down {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf078;');
}
.icon-retweet {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf079;');
}
.icon-shopping-cart {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07a;');
}
.icon-folder-close {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07b;');
}
.icon-folder-open {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07c;');
}
.icon-resize-vertical {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07d;');
}
.icon-resize-horizontal {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf07e;');
}
.icon-bar-chart {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf080;');
}
.icon-twitter-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf081;');
}
.icon-facebook-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf082;');
}
.icon-camera-retro {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf083;');
}
.icon-key {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf084;');
}
.icon-cogs {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf085;');
}
.icon-comments {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf086;');
}
.icon-thumbs-up {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf087;');
}
.icon-thumbs-down {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf088;');
}
.icon-star-half {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf089;');
}
.icon-heart-empty {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08a;');
}
.icon-signout {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08b;');
}
.icon-linkedin-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08c;');
}
.icon-pushpin {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08d;');
}
.icon-external-link {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf08e;');
}
.icon-signin {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf090;');
}
.icon-trophy {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf091;');
}
.icon-github-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf092;');
}
.icon-upload-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf093;');
}
.icon-lemon {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf094;');
}
.icon-phone {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf095;');
}
.icon-check-empty {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf096;');
}
.icon-bookmark-empty {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf097;');
}
.icon-phone-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf098;');
}
.icon-twitter {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf099;');
}
.icon-facebook {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09a;');
}
.icon-github {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09b;');
}
.icon-unlock {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09c;');
}
.icon-credit-card {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09d;');
}
.icon-rss {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf09e;');
}
.icon-hdd {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a0;');
}
.icon-bullhorn {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a1;');
}
.icon-bell {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a2;');
}
.icon-certificate {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a3;');
}
.icon-hand-right {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a4;');
}
.icon-hand-left {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a5;');
}
.icon-hand-up {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a6;');
}
.icon-hand-down {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a7;');
}
.icon-circle-arrow-left {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a8;');
}
.icon-circle-arrow-right {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0a9;');
}
.icon-circle-arrow-up {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0aa;');
}
.icon-circle-arrow-down {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ab;');
}
.icon-globe {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ac;');
}
.icon-wrench {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ad;');
}
.icon-tasks {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ae;');
}
.icon-filter {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0b0;');
}
.icon-briefcase {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0b1;');
}
.icon-fullscreen {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0b2;');
}
.icon-group {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c0;');
}
.icon-link {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c1;');
}
.icon-cloud {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c2;');
}
.icon-beaker {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c3;');
}
.icon-cut {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c4;');
}
.icon-copy {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c5;');
}
.icon-paper-clip {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c6;');
}
.icon-save {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c7;');
}
.icon-sign-blank {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c8;');
}
.icon-reorder {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0c9;');
}
.icon-list-ul {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ca;');
}
.icon-list-ol {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0cb;');
}
.icon-strikethrough {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0cc;');
}
.icon-underline {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0cd;');
}
.icon-table {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ce;');
}
.icon-magic {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d0;');
}
.icon-truck {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d1;');
}
.icon-pinterest {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d2;');
}
.icon-pinterest-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d3;');
}
.icon-google-plus-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d4;');
}
.icon-google-plus {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d5;');
}
.icon-money {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d6;');
}
.icon-caret-down {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d7;');
}
.icon-caret-up {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d8;');
}
.icon-caret-left {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0d9;');
}
.icon-caret-right {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0da;');
}
.icon-columns {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0db;');
}
.icon-sort {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0dc;');
}
.icon-sort-down {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0dd;');
}
.icon-sort-up {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0de;');
}
.icon-envelope-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e0;');
}
.icon-linkedin {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e1;');
}
.icon-undo {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e2;');
}
.icon-legal {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e3;');
}
.icon-dashboard {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e4;');
}
.icon-comment-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e5;');
}
.icon-comments-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e6;');
}
.icon-bolt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e7;');
}
.icon-sitemap {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e8;');
}
.icon-umbrella {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0e9;');
}
.icon-paste {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ea;');
}
.icon-lightbulb {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0eb;');
}
.icon-exchange {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ec;');
}
.icon-cloud-download {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ed;');
}
.icon-cloud-upload {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0ee;');
}
.icon-user-md {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f0;');
}
.icon-stethoscope {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f1;');
}
.icon-suitcase {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f2;');
}
.icon-bell-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f3;');
}
.icon-coffee {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f4;');
}
.icon-food {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f5;');
}
.icon-file-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f6;');
}
.icon-building {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f7;');
}
.icon-hospital {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f8;');
}
.icon-ambulance {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0f9;');
}
.icon-medkit {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fa;');
}
.icon-fighter-jet {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fb;');
}
.icon-beer {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fc;');
}
.icon-h-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fd;');
}
.icon-plus-sign-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf0fe;');
}
.icon-double-angle-left {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf100;');
}
.icon-double-angle-right {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf101;');
}
.icon-double-angle-up {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf102;');
}
.icon-double-angle-down {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf103;');
}
.icon-angle-left {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf104;');
}
.icon-angle-right {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf105;');
}
.icon-angle-up {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf106;');
}
.icon-angle-down {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf107;');
}
.icon-desktop {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf108;');
}
.icon-laptop {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf109;');
}
.icon-tablet {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10a;');
}
.icon-mobile-phone {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10b;');
}
.icon-circle-blank {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10c;');
}
.icon-quote-left {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10d;');
}
.icon-quote-right {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf10e;');
}
.icon-spinner {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf110;');
}
.icon-circle {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf111;');
}
.icon-reply {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf112;');
}
.icon-folder-close-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf114;');
}
.icon-folder-open-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf115;');
}
.icon-expand-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf116;');
}
.icon-collapse-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf117;');
}
.icon-smile {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf118;');
}
.icon-frown {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf119;');
}
.icon-meh {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11a;');
}
.icon-gamepad {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11b;');
}
.icon-keyboard {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11c;');
}
.icon-flag-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11d;');
}
.icon-flag-checkered {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf11e;');
}
.icon-terminal {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf120;');
}
.icon-code {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf121;');
}
.icon-reply-all {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf122;');
}
.icon-mail-reply-all {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf122;');
}
.icon-star-half-full,
.icon-star-half-empty {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf123;');
}
.icon-location-arrow {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf124;');
}
.icon-crop {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf125;');
}
.icon-code-fork {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf126;');
}
.icon-unlink {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf127;');
}
.icon-question {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf128;');
}
.icon-info {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf129;');
}
.icon-exclamation {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12a;');
}
.icon-superscript {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12b;');
}
.icon-subscript {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12c;');
}
.icon-eraser {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12d;');
}
.icon-puzzle-piece {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf12e;');
}
.icon-microphone {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf130;');
}
.icon-microphone-off {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf131;');
}
.icon-shield {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf132;');
}
.icon-calendar-empty {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf133;');
}
.icon-fire-extinguisher {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf134;');
}
.icon-rocket {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf135;');
}
.icon-maxcdn {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf136;');
}
.icon-chevron-sign-left {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf137;');
}
.icon-chevron-sign-right {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf138;');
}
.icon-chevron-sign-up {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf139;');
}
.icon-chevron-sign-down {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13a;');
}
.icon-html5 {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13b;');
}
.icon-css3 {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13c;');
}
.icon-anchor {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13d;');
}
.icon-unlock-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf13e;');
}
.icon-bullseye {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf140;');
}
.icon-ellipsis-horizontal {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf141;');
}
.icon-ellipsis-vertical {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf142;');
}
.icon-rss-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf143;');
}
.icon-play-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf144;');
}
.icon-ticket {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf145;');
}
.icon-minus-sign-alt {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf146;');
}
.icon-check-minus {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf147;');
}
.icon-level-up {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf148;');
}
.icon-level-down {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf149;');
}
.icon-check-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14a;');
}
.icon-edit-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14b;');
}
.icon-external-link-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14c;');
}
.icon-share-sign {
*zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf14d;');
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -53,14 +53,14 @@
<glyph unicode="&#xf014;" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" /> <glyph unicode="&#xf014;" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf015;" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" /> <glyph unicode="&#xf015;" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
<glyph unicode="&#xf016;" horiz-adv-x="1280" d="M128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280zM768 896h299l-299 299v-299zM1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544q40 0 88 -20t76 -48l408 -408q28 -28 48 -76t20 -88z" /> <glyph unicode="&#xf016;" horiz-adv-x="1280" d="M128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280zM768 896h299l-299 299v-299zM1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544q40 0 88 -20t76 -48l408 -408q28 -28 48 -76t20 -88z" />
<glyph unicode="&#xf017;" d="M1088 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-384q-13 0 -22.5 9.5t-9.5 22.5v448q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-352h288q13 0 22.5 -9.5t9.5 -22.5zM1280 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5 t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5 t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf017;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 t73 -273t198 -198t273 -73zM1024 640q26 0 45 -19t19 -45v-96q0 -26 -19 -45t-45 -19h-416q-26 0 -45 19t-19 45v480q0 26 19 45t45 19h96q26 0 45 -19t19 -45v-320h256z" />
<glyph unicode="&#xf018;" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" /> <glyph unicode="&#xf018;" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
<glyph unicode="&#xf019;" horiz-adv-x="1664" d="M1339 729q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39zM1632 512q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-1600q-14 0 -23 9t-9 23v576q0 14 9 23 t23 9h192q14 0 23 -9t9 -23v-352h1152v352q0 14 9 23t23 9h192z" /> <glyph unicode="&#xf019;" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
<glyph unicode="&#xf01a;" d="M1120 608q0 -12 -10 -24l-319 -319q-9 -9 -23 -9t-23 9l-320 320q-9 9 -9 23q0 13 9.5 22.5t22.5 9.5h192v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352h192q14 0 23 -9t9 -23zM1280 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5 t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5 t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf01a;" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf01b;" d="M1120 672q0 -13 -9.5 -22.5t-22.5 -9.5h-192v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q9 9 23 9t23 -9l320 -320q9 -9 9 -23zM1280 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5 t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf01b;" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" /> <glyph unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
<glyph unicode="&#xf01d;" d="M1152 640q0 -37 -33 -56l-512 -288q-14 -8 -31 -8t-32 9q-32 18 -32 55v576q0 37 32 55q31 20 63 1l512 -288q33 -19 33 -56zM1280 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5 t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf01d;" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf01e;" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q169 0 304 99.5t185 261.5q7 23 30 23h199 q16 0 25 -12q10 -13 7 -27q-39 -175 -147.5 -312t-266 -213t-336.5 -76q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" /> <glyph unicode="&#xf01e;" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
<glyph unicode="&#xf021;" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" /> <glyph unicode="&#xf021;" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
<glyph unicode="&#xf022;" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" /> <glyph unicode="&#xf022;" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
<glyph unicode="&#xf023;" horiz-adv-x="1152" d="M704 512q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5q0 -37 19 -67t51 -47l-69 -229q-5 -15 5 -28t26 -13h192q16 0 26 13t5 28l-69 229q32 17 51 47t19 67zM320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68 t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" /> <glyph unicode="&#xf023;" horiz-adv-x="1152" d="M704 512q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5q0 -37 19 -67t51 -47l-69 -229q-5 -15 5 -28t26 -13h192q16 0 26 13t5 28l-69 229q32 17 51 47t19 67zM320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68 t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
@ -70,7 +70,7 @@
<glyph unicode="&#xf027;" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" /> <glyph unicode="&#xf027;" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
<glyph unicode="&#xf028;" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" /> <glyph unicode="&#xf028;" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
<glyph unicode="&#xf029;" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" /> <glyph unicode="&#xf029;" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
<glyph unicode="&#xf02a;" horiz-adv-x="1792" d="M672 1408v-1536h-64v1536h64zM1408 1408v-1536h-64v1536h64zM1568 1408v-1536h-64v1536h64zM576 1408v-1536h-64v1536h64zM1280 1408v-1536h-256v1536h256zM896 1408v-1536h-128v1536h128zM448 1408v-1536h-128v1536h128zM1792 1408v-1536h-128v1536h128zM256 1408v-1536 h-256v1536h256z" /> <glyph unicode="&#xf02a;" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
<glyph unicode="&#xf02b;" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" /> <glyph unicode="&#xf02b;" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
<glyph unicode="&#xf02c;" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" /> <glyph unicode="&#xf02c;" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
<glyph unicode="&#xf02d;" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" /> <glyph unicode="&#xf02d;" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
@ -89,11 +89,11 @@
<glyph unicode="&#xf03a;" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" /> <glyph unicode="&#xf03a;" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf03b;" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" /> <glyph unicode="&#xf03b;" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf03c;" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" /> <glyph unicode="&#xf03c;" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf03d;" horiz-adv-x="1920" d="M1900 1278q20 -8 20 -30v-1216q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-585 586v-307q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-307l585 586q16 15 35 7z" /> <glyph unicode="&#xf03d;" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
<glyph unicode="&#xf03e;" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> <glyph unicode="&#xf03e;" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf040;" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" /> <glyph unicode="&#xf040;" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
<glyph unicode="&#xf041;" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" /> <glyph unicode="&#xf041;" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
<glyph unicode="&#xf042;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM256 640q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5v1024q-104 0 -198.5 -40.5 t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5z" /> <glyph unicode="&#xf042;" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf043;" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" /> <glyph unicode="&#xf043;" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
<glyph unicode="&#xf044;" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" /> <glyph unicode="&#xf044;" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
<glyph unicode="&#xf045;" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" /> <glyph unicode="&#xf045;" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
@ -115,12 +115,12 @@
<glyph unicode="&#xf056;" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" /> <glyph unicode="&#xf056;" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
<glyph unicode="&#xf057;" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf057;" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf058;" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf058;" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf059;" d="M896 160v192q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-192q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1152 832q0 97 -58.5 172t-144.5 111.5t-181 36.5t-181 -36.5t-144.5 -111.5t-58.5 -172v-11v-13t1 -11.5t3 -11.5t5.5 -8t9 -7 t13.5 -2h192q14 0 23 9t9 23q0 12 11 27q19 31 50.5 50t66.5 19q39 0 83 -21.5t44 -57.5q0 -33 -26.5 -58t-63.5 -44t-74.5 -41.5t-64 -63.5t-26.5 -98v-11v-13t1 -11.5t3 -11.5t5.5 -8t9 -7t13.5 -2h192q17 0 24 10.5t8 24.5t13.5 33t37.5 32q60 33 70 39q62 44 98.5 108 t36.5 137zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf059;" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05a;" d="M1024 160v64q0 14 -9 23t-23 9h-96v480q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h96v-384h-96q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 928v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf05a;" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05b;" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" /> <glyph unicode="&#xf05b;" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf05c;" d="M1125 448q0 -27 -18 -45l-102 -102q-18 -18 -45 -18t-45 18l-147 147l-147 -147q-18 -18 -45 -18t-45 18l-102 102q-18 18 -18 45t18 45l147 147l-147 147q-18 18 -18 45t18 45l102 102q18 18 45 18t45 -18l147 -147l147 147q18 18 45 18t45 -18l102 -102q18 -18 18 -45 t-18 -45l-147 -147l147 -147q18 -18 18 -45zM1280 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5 t40.5 198.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf05c;" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05d;" d="M1189 768q0 -27 -18 -45l-320 -320l-102 -102q-18 -18 -45 -18t-45 18l-102 102l-192 192q-18 18 -18 45t18 45l102 102q18 18 45 18t45 -18l147 -147l275 275q18 18 45 18t45 -18l102 -102q18 -18 18 -45zM1280 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5 t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf05d;" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05e;" d="M1280 640q0 139 -71 260l-701 -701q121 -71 260 -71q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM327 380l701 701q-121 71 -260 71q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5q0 -139 71 -260zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf05e;" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
<glyph unicode="&#xf060;" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" /> <glyph unicode="&#xf060;" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
<glyph unicode="&#xf061;" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" /> <glyph unicode="&#xf061;" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
<glyph unicode="&#xf062;" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" /> <glyph unicode="&#xf062;" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
@ -132,13 +132,13 @@
<glyph unicode="&#xf068;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" /> <glyph unicode="&#xf068;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf069;" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" /> <glyph unicode="&#xf069;" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
<glyph unicode="&#xf06a;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" /> <glyph unicode="&#xf06a;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
<glyph unicode="&#xf06b;" d="M928 180v716h-320v-716q0 -25 18.5 -38.5t45.5 -13.5h192q27 0 45.5 13.5t18.5 38.5zM472 1024h195l-126 161q-24 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-45 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -10 -22t-27 -10.5t-32 -2.5t-34.5 1.5t-24.5 1.5v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416q-5 0 -24.5 -1.5t-34.5 -1.5t-32 2.5t-27 10.5t-10 22v320q0 13 9.5 22.5t22.5 9.5h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5 q108 0 168 -77l128 -165l128 165q60 77 168 77q93 0 158.5 -65.5t65.5 -158.5t-65.5 -158.5t-158.5 -65.5h440q13 0 22.5 -9.5t9.5 -22.5z" /> <glyph unicode="&#xf06b;" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf06c;" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" /> <glyph unicode="&#xf06c;" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
<glyph unicode="&#xf06d;" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" /> <glyph unicode="&#xf06d;" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
<glyph unicode="&#xf06e;" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" /> <glyph unicode="&#xf06e;" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
<glyph unicode="&#xf070;" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " /> <glyph unicode="&#xf070;" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
<glyph unicode="&#xf071;" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" /> <glyph unicode="&#xf071;" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
<glyph unicode="&#xf072;" horiz-adv-x="1408" d="M1397 1324q0 -87 -149 -236l-240 -240l143 -746l1 -6q0 -14 -9 -23l-64 -64q-9 -9 -23 -9q-21 0 -29 18l-274 575l-245 -245q68 -238 68 -252t-9 -23l-64 -64q-9 -9 -23 -9q-18 0 -28 16l-155 280l-280 155q-17 9 -17 28q0 14 9 23l64 65q9 9 23 9t252 -68l245 245 l-575 274q-18 8 -18 29q0 14 9 23l64 64q9 9 23 9q4 0 6 -1l746 -143l240 240q149 149 236 149q32 0 52.5 -20.5t20.5 -52.5z" /> <glyph unicode="&#xf072;" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-225 -225l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-195 -195l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l195 195l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l224 224q76 76 172 108t148 -12z" />
<glyph unicode="&#xf073;" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" /> <glyph unicode="&#xf073;" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf074;" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" /> <glyph unicode="&#xf074;" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
<glyph unicode="&#xf075;" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" /> <glyph unicode="&#xf075;" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
@ -152,8 +152,8 @@
<glyph unicode="&#xf07d;" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" /> <glyph unicode="&#xf07d;" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
<glyph unicode="&#xf07e;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" /> <glyph unicode="&#xf07e;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
<glyph unicode="&#xf080;" horiz-adv-x="1920" d="M512 512v-384h-256v384h256zM896 1024v-896h-256v896h256zM1280 768v-640h-256v640h256zM1664 1152v-1024h-256v1024h256zM1792 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5z M1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> <glyph unicode="&#xf080;" horiz-adv-x="1920" d="M512 512v-384h-256v384h256zM896 1024v-896h-256v896h256zM1280 768v-640h-256v640h256zM1664 1152v-1024h-256v1024h256zM1792 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5z M1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf081;" d="M1280 958q0 13 -9.5 22.5t-22.5 9.5q-5 0 -15 -4q20 34 20 55q0 13 -9.5 22.5t-22.5 9.5q-7 0 -17 -5q-60 -34 -97 -43q-65 63 -154 63q-98 0 -164.5 -72.5t-64.5 -169.5v-12q-107 14 -187.5 64t-156.5 139q-10 12 -28 12q-26 0 -41 -50.5t-15 -86.5q0 -62 29 -117 q-13 -2 -21.5 -11.5t-8.5 -22.5q0 -112 81 -185q-12 -8 -12 -25q0 -6 1 -9q15 -51 50.5 -91.5t84.5 -60.5q-77 -43 -165 -43q-8 0 -24 1.5t-23 1.5q-13 0 -22.5 -9.5t-9.5 -22.5q0 -17 14 -26q63 -47 150 -73.5t170 -26.5q130 0 248 58q166 79 256 232.5t88 339.5v12 q27 22 62.5 63t35.5 61zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> <glyph unicode="&#xf081;" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf082;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-350q-2 0 -2 1v671h177q31 0 32 23l12 164q2 15 -8 25q-10 12 -24 12h-189v72q0 44 11.5 57t54.5 13q57 0 117 -13q13 -3 26 5q11 8 13 22l23 166q2 12 -5.5 22.5t-19.5 13.5 q-93 26 -197 26q-311 0 -311 -299v-85h-95q-13 0 -23 -10.5t-10 -24.5v-172q0 -8 5.5 -12t10 -4.5t17.5 -0.5h95v-671l10 -1h-330q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" /> <glyph unicode="&#xf082;" d="M1307 618l23 219h-198v109q0 49 15.5 68.5t71.5 19.5h110v219h-175q-152 0 -218 -72t-66 -213v-131h-131v-219h131v-635h262v635h175zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf083;" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" /> <glyph unicode="&#xf083;" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
<glyph unicode="&#xf084;" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" /> <glyph unicode="&#xf084;" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
<glyph unicode="&#xf085;" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" /> <glyph unicode="&#xf085;" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
@ -163,21 +163,21 @@
<glyph unicode="&#xf089;" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" /> <glyph unicode="&#xf089;" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
<glyph unicode="&#xf08a;" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" /> <glyph unicode="&#xf08a;" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
<glyph unicode="&#xf08b;" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" /> <glyph unicode="&#xf08b;" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
<glyph unicode="&#xf08c;" d="M512 160v640q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-640q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM503 1028q0 51 -36 87.5t-88 36.5q-51 0 -87 -36.5t-36 -87.5t36 -87.5t87 -36.5q52 0 88 36.5t36 87.5zM1280 160v435 q0 127 -73.5 192.5t-202.5 65.5q-90 0 -158 -45q-12 -8 -14 -12q0 36 -35 36h-176q-14 0 -29.5 -7.5t-15.5 -20.5v-644q0 -13 15.5 -22.5t29.5 -9.5h182q12 0 20.5 9.5t8.5 22.5v349q0 140 114 140q49 0 63.5 -22.5t14.5 -73.5v-393q0 -13 12 -22.5t26 -9.5h186 q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> <glyph unicode="&#xf08c;" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf08d;" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" /> <glyph unicode="&#xf08d;" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
<glyph unicode="&#xf08e;" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" /> <glyph unicode="&#xf08e;" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf090;" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" /> <glyph unicode="&#xf090;" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf091;" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" /> <glyph unicode="&#xf091;" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf092;" d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -26t19 -63zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85 q0 -52 41 -77v-3q-113 -37 -113 -139q0 -60 36 -98t84 -51t107 -13q224 0 224 187q0 48 -25.5 78t-62.5 42.5t-74 21.5t-62.5 23.5t-25.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q30 7 49 13zM771 350h137q-2 20 -2 90v372q0 59 2 76h-137q3 -26 3 -79v-377 q0 -55 -3 -82zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q4 0 11.5 -0.5t11.5 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072 q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> <glyph unicode="&#xf092;" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 27.5v239q0 97 -52 142q57 6 102.5 18t94 39 t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103 q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -103t0.5 -68q0 -22 -11 -33.5t-22 -13t-33 -1.5 h-224q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf093;" horiz-adv-x="1664" d="M1664 480v-576q0 -13 -9.5 -22.5t-22.5 -9.5h-1600q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352h1152v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1344 832q0 -26 -19 -45t-45 -19h-256v-448 q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" /> <glyph unicode="&#xf093;" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
<glyph unicode="&#xf094;" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" /> <glyph unicode="&#xf094;" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
<glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" /> <glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
<glyph unicode="&#xf096;" horiz-adv-x="1664" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" /> <glyph unicode="&#xf096;" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf097;" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" /> <glyph unicode="&#xf097;" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
<glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> <glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf099;" horiz-adv-x="1920" d="M1875 1202q0 -10 -5 -18q-64 -104 -179 -190v-33q4 -227 -100 -457q-134 -297 -397.5 -464.5t-591.5 -167.5q-265 0 -500 122q-64 33 -87 50q-15 12 -15 27q0 13 9.5 22.5t22.5 9.5q14 0 44 -2.5t45 -2.5q204 0 375 106q-103 24 -181 96t-111 173q-2 8 -2 11q0 12 9 21.5 t22 9.5q5 0 14 -2t12 -2q-89 55 -142 147t-53 196q0 15 11.5 25.5t27.5 10.5q10 0 35 -11.5t30 -13.5q-92 110 -92 256q0 51 14.5 108t40.5 95q10 16 25 16q16 0 27 -12q76 -84 110 -115q123 -111 276 -177.5t317 -80.5q-4 21 -4 49q0 167 118.5 285.5t285.5 118.5 q163 0 282 -114q95 20 209 82q8 5 16 5q13 0 22.5 -9.5t9.5 -22.5q0 -24 -28 -73t-51 -76q7 2 30 10.5t43 16t24 7.5q13 0 22.5 -9.5t9.5 -22.5z" /> <glyph unicode="&#xf099;" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
<glyph unicode="&#xf09a;" horiz-adv-x="768" d="M560 1125q-49 0 -62 -15.5t-13 -66.5v-88h217q16 0 27 -12q11 -13 10 -29l-14 -200q-2 -15 -12.5 -25.5t-25.5 -10.5h-202v-768q0 -16 -11 -27t-26 -11h-250q-16 0 -27 11t-11 27v768h-122q-16 0 -27 11.5t-11 27.5v200q0 16 11 27t27 11h122v103q0 177 88 263.5 t267 86.5q120 0 225 -30q14 -4 22 -16t6 -26l-27 -195q-2 -16 -16 -26q-14 -9 -30 -6q-76 16 -135 16z" /> <glyph unicode="&#xf09a;" horiz-adv-x="768" d="M511 980h257l-30 -284h-227v-824h-341v824h-170v284h170v171q0 182 86 275.5t283 93.5h227v-284h-142q-39 0 -62.5 -6.5t-34 -23.5t-13.5 -34.5t-3 -49.5v-142z" />
<glyph unicode="&#xf09b;" d="M1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5q0 -209 124.5 -378.5t323.5 -231.5v169q-54 -7 -69 -7q-110 0 -153 100q-15 38 -36 63q-5 6 -21 19t-28.5 24t-12.5 16q0 12 28 12q29 0 51.5 -14.5t38 -35 t31.5 -41.5t40.5 -35.5t56.5 -14.5q42 0 81 14q16 57 63 89q-166 16 -246 83.5t-80 224.5q0 118 73 198q-14 42 -14 84q0 58 27 109q57 0 101 -19.5t101 -60.5q76 18 169 18q80 0 153 -16q57 40 100.5 59t99.5 19q27 -51 27 -109q0 -43 -14 -83q73 -82 73 -199 q0 -157 -80 -225.5t-245 -83.5q69 -47 69 -131v-226q199 62 323.5 231.5t124.5 378.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf09b;" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23 q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -89t0.5 -54q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf09c;" horiz-adv-x="1664" d="M704 160q0 6 -15 57t-35 115.5t-20 65.5q32 16 51 47t19 67q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5q0 -36 19 -66.5t51 -47.5q0 -2 -20 -66t-35 -115t-15 -57q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1664 960v-256q0 -26 -19 -45t-45 -19 h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5z" /> <glyph unicode="&#xf09c;" horiz-adv-x="1664" d="M704 160q0 6 -15 57t-35 115.5t-20 65.5q32 16 51 47t19 67q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5q0 -36 19 -66.5t51 -47.5q0 -2 -20 -66t-35 -115t-15 -57q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1664 960v-256q0 -26 -19 -45t-45 -19 h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5z" />
<glyph unicode="&#xf09d;" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" /> <glyph unicode="&#xf09d;" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
<glyph unicode="&#xf09e;" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" /> <glyph unicode="&#xf09e;" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
@ -186,9 +186,9 @@
<glyph unicode="&#xf0a2;" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM183 128h1298q-164 181 -246.5 411.5t-82.5 484.5q0 256 -320 256t-320 -256q0 -254 -82.5 -484.5t-246.5 -411.5zM1664 128q0 -52 -38 -90t-90 -38 h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" /> <glyph unicode="&#xf0a2;" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM183 128h1298q-164 181 -246.5 411.5t-82.5 484.5q0 256 -320 256t-320 -256q0 -254 -82.5 -484.5t-246.5 -411.5zM1664 128q0 -52 -38 -90t-90 -38 h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
<glyph unicode="&#xf0a3;" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" /> <glyph unicode="&#xf0a3;" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
<glyph unicode="&#xf0a4;" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" /> <glyph unicode="&#xf0a4;" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
<glyph unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67 11.5t-64 38.5t-48 44t-50 55q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" /> <glyph unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
<glyph unicode="&#xf0a6;" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" /> <glyph unicode="&#xf0a6;" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
<glyph unicode="&#xf0a7;" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -46 -25 -91t-52 -72t-72 -66q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33t55 33 t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580q0 -142 -77.5 -230 t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100q3 2 17 14t21.5 19 t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" /> <glyph unicode="&#xf0a7;" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
<glyph unicode="&#xf0a8;" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf0a8;" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0a9;" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf0a9;" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0aa;" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf0aa;" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
@ -197,7 +197,7 @@
<glyph unicode="&#xf0ad;" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" /> <glyph unicode="&#xf0ad;" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
<glyph unicode="&#xf0ae;" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" /> <glyph unicode="&#xf0ae;" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0b0;" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" /> <glyph unicode="&#xf0b0;" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
<glyph unicode="&#xf0b1;" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM1792 512v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 512v-128h-256v128h256zM1792 992v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" /> <glyph unicode="&#xf0b1;" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf0b2;" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " /> <glyph unicode="&#xf0b2;" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
<glyph unicode="&#xf0c0;" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" /> <glyph unicode="&#xf0c0;" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
<glyph unicode="&#xf0c1;" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" /> <glyph unicode="&#xf0c1;" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
@ -230,8 +230,8 @@
<glyph unicode="&#xf0dd;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" /> <glyph unicode="&#xf0dd;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0de;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" /> <glyph unicode="&#xf0de;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
<glyph unicode="&#xf0e0;" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" /> <glyph unicode="&#xf0e0;" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
<glyph unicode="&#xf0e1;" horiz-adv-x="1379" d="M1014 961q171 0 268 -85.5t97 -254.5v-586q0 -14 -10.5 -24.5t-24.5 -10.5h-252q-14 0 -24.5 10.5t-10.5 24.5v529q0 71 -26.5 104t-95.5 33q-88 0 -123.5 -51.5t-35.5 -143.5v-471q0 -14 -10.5 -24.5t-25.5 -10.5h-246q-14 0 -24.5 10.5t-10.5 24.5v868q0 14 10.5 24.5 t24.5 10.5h239q13 0 21 -5t10.5 -18.5t3 -18t0.5 -22.5q93 87 246 87zM290 938q14 0 24.5 -10.5t10.5 -24.5v-868q0 -14 -10.5 -24.5t-24.5 -10.5h-246q-14 0 -24.5 10.5t-10.5 24.5v868q0 14 10.5 24.5t24.5 10.5h246zM167 1371q69 0 118 -49t49 -118t-49 -118t-118 -49 t-118 49t-49 118t49 118t118 49z" /> <glyph unicode="&#xf0e1;" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
<glyph unicode="&#xf0e2;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-179 0 -336.5 76t-266 213t-147.5 312q-3 14 7 27q9 12 25 12h199q23 0 30 -23q50 -162 185 -261.5t304 -99.5q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5 t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" /> <glyph unicode="&#xf0e2;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
<glyph unicode="&#xf0e3;" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" /> <glyph unicode="&#xf0e3;" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
<glyph unicode="&#xf0e4;" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> <glyph unicode="&#xf0e4;" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
<glyph unicode="&#xf0e5;" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" /> <glyph unicode="&#xf0e5;" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
@ -255,8 +255,8 @@
<glyph unicode="&#xf0f8;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" /> <glyph unicode="&#xf0f8;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0f9;" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" /> <glyph unicode="&#xf0f9;" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0fa;" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" /> <glyph unicode="&#xf0fa;" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf0fb;" horiz-adv-x="1920" d="M1632 800q261 -58 287 -93l1 -3q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416 h-64v32h64h160h96q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64z" /> <glyph unicode="&#xf0fb;" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
<glyph unicode="&#xf0fc;" horiz-adv-x="1664" d="M640 640v384h-256v-160q0 -45 2 -76t7.5 -56.5t14.5 -40t23 -26.5t33.5 -15.5t45 -7.5t58 -2.5t72.5 0.5zM1664 192v-192h-1152v192l128 192h-97q-211 0 -313 102.5t-102 314.5v287l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" /> <glyph unicode="&#xf0fc;" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
<glyph unicode="&#xf0fd;" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> <glyph unicode="&#xf0fd;" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf0fe;" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> <glyph unicode="&#xf0fe;" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf100;" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" /> <glyph unicode="&#xf100;" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
@ -271,14 +271,69 @@
<glyph unicode="&#xf109;" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" /> <glyph unicode="&#xf109;" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
<glyph unicode="&#xf10a;" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" /> <glyph unicode="&#xf10a;" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf10b;" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" /> <glyph unicode="&#xf10b;" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf10c;" d="M1280 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf10c;" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" /> <glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
<glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" /> <glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
<glyph unicode="&#xf110;" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z" /> <glyph unicode="&#xf110;" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z" />
<glyph unicode="&#xf111;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> <glyph unicode="&#xf111;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" /> <glyph unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
<glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" /> <glyph unicode="&#xf113;" horiz-adv-x="1664" />
<glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" /> <glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " /> <glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
<glyph unicode="&#xf116;" horiz-adv-x="1152" d="M896 608v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h224q14 0 23 -9t9 -23zM1024 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 -28 t-28 -68v-704q0 -40 28 -68t68 -28h704q40 0 68 28t28 68zM1152 928v-704q0 -92 -65.5 -158t-158.5 -66h-704q-93 0 -158.5 66t-65.5 158v704q0 93 65.5 158.5t158.5 65.5h704q93 0 158.5 -65.5t65.5 -158.5z" />
<glyph unicode="&#xf117;" horiz-adv-x="1152" d="M928 1152q93 0 158.5 -65.5t65.5 -158.5v-704q0 -92 -65.5 -158t-158.5 -66h-704q-93 0 -158.5 66t-65.5 158v704q0 93 65.5 158.5t158.5 65.5h704zM1024 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 -28t-28 -68v-704q0 -40 28 -68t68 -28h704q40 0 68 28t28 68z M864 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576z" />
<glyph unicode="&#xf118;" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf119;" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf11a;" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf11b;" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
<glyph unicode="&#xf11c;" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
<glyph unicode="&#xf11d;" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
<glyph unicode="&#xf11e;" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
<glyph unicode="&#xf120;" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
<glyph unicode="&#xf121;" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
<glyph unicode="&#xf122;" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
<glyph unicode="&#xf123;" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
<glyph unicode="&#xf124;" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
<glyph unicode="&#xf125;" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf126;" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
<glyph unicode="&#xf127;" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
<glyph unicode="&#xf128;" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
<glyph unicode="&#xf129;" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf12a;" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
<glyph unicode="&#xf12b;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
<glyph unicode="&#xf12c;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
<glyph unicode="&#xf12d;" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
<glyph unicode="&#xf12e;" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
<glyph unicode="&#xf130;" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
<glyph unicode="&#xf131;" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
<glyph unicode="&#xf132;" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
<glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
<glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1708 881l-188 -881h-304l181 849q4 21 1 43q-4 20 -16 35q-10 14 -28 24q-18 9 -40 9h-197l-205 -960h-303l204 960h-304l-205 -960h-304l272 1280h1139q157 0 245 -118q86 -116 52 -281z" />
<glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf13a;" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf13b;" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
<glyph unicode="&#xf13c;" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
<glyph unicode="&#xf13d;" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1790 276q-8 -20 -30 -20h-112q0 -137 -99.5 -251t-272 -179.5t-380.5 -65.5t-380.5 65.5t-272 179.5t-99.5 251h-112q-22 0 -30 20q-8 19 7 35l224 224q10 9 23 9q12 0 23 -9l224 -224 q15 -16 7 -35q-8 -20 -30 -20h-112q0 -85 112.5 -162.5t287.5 -100.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19t19 -45v-128 q0 -26 -19 -45t-45 -19h-192v-647q175 23 287.5 100.5t112.5 162.5h-112q-22 0 -30 20q-8 19 7 35l224 224q11 9 23 9t23 -9l224 -224q15 -16 7 -35z" />
<glyph unicode="&#xf13e;" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736zM703 169l-69 229q32 17 51 47t19 67q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5q0 -37 19 -67t51 -47l-69 -229q-5 -15 5 -28t26 -13h192q16 0 26 13t5 28z" />
<glyph unicode="&#xf140;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf141;" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf142;" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf143;" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf144;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
<glyph unicode="&#xf145;" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
<glyph unicode="&#xf146;" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
<glyph unicode="&#xf147;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf148;" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
<glyph unicode="&#xf149;" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
<glyph unicode="&#xf14a;" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14b;" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14c;" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14d;" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14e;" horiz-adv-x="1792" />
<glyph unicode="&#xf500;" horiz-adv-x="1792" />
</font> </font>
</defs></svg> </defs></svg>

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 158 KiB

View File

@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2011 Marco Braak
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -0,0 +1,139 @@
ul.jqtree-tree {
margin-left: 18px;
}
ul.jqtree-tree,
ul.jqtree-tree ul.jqtree_common {
list-style: none outside;
margin-bottom: 0;
padding: 0;
}
ul.jqtree-tree ul.jqtree_common {
display: block;
margin-left: 18px;
margin-right: 0;
}
ul.jqtree-tree li.jqtree-closed > ul.jqtree_common {
display: none;
}
ul.jqtree-tree li.jqtree_common {
clear: both;
list-style-type: none;
}
ul.jqtree-tree .jqtree-toggler {
display: block;
position: absolute;
left: -1.3em;
top: 0%;
*top: 0; /* fix for ie7 */
/*font-size: 12px;
line-height: 12px; */
font-family: arial; /* fix for ie9 */
border-bottom: none;
color: #333;
}
ul.jqtree-tree .jqtree-toggler:hover {
color: #000;
}
ul.jqtree-tree .jqtree-element {
cursor: pointer;
}
ul.jqtree-tree .jqtree-title {
color: #1C4257;
vertical-align: middle;
}
ul.jqtree-tree li.jqtree-folder {
margin-bottom: 4px;
}
ul.jqtree-tree li.jqtree-folder.jqtree-closed {
margin-bottom: 1px;
}
ul.jqtree-tree li.jqtree-folder .jqtree-title {
margin-left: 0;
}
ul.jqtree-tree .jqtree-toggler.jqtree-closed {
background-position: 0 0;
}
span.jqtree-dragging {
color: #fff;
background: #000;
opacity: 0.6;
cursor: pointer;
padding: 2px 8px;
}
ul.jqtree-tree li.jqtree-ghost {
position: relative;
z-index: 10;
margin-right: 10px;
}
ul.jqtree-tree li.jqtree-ghost span {
display: block;
}
ul.jqtree-tree li.jqtree-ghost span.jqtree-circle {
background-image: url(jqtree-circle.png);
background-repeat: no-repeat;
height: 8px;
width: 8px;
position: absolute;
top: -4px;
left: 2px;
}
ul.jqtree-tree li.jqtree-ghost span.jqtree-line {
background-color: #0000ff;
height: 2px;
padding: 0;
position: absolute;
top: -1px;
left: 10px;
width: 100%;
}
ul.jqtree-tree li.jqtree-ghost.jqtree-inside {
margin-left: 48px;
}
ul.jqtree-tree span.jqtree-border {
position: absolute;
display: block;
left: -2px;
top: 0;
border: solid 2px #0000ff;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
margin: 0;
}
ul.jqtree-tree .jqtree-element {
width: 100%; /* todo: why is this in here? */
*width: auto; /* ie7 fix; issue 41 */
position: relative;
}
ul.jqtree-tree li.jqtree-selected > .jqtree-element,
ul.jqtree-tree li.jqtree-selected > .jqtree-element:hover {
background-color: #97BDD6;
background: -webkit-gradient(linear, left top, left bottom, from(#BEE0F5), to(#89AFCA));
background: -moz-linear-gradient(top, #BEE0F5, #89AFCA);
background: -ms-linear-gradient(top, #BEE0F5, #89AFCA);
background: -o-linear-gradient(top, #BEE0F5, #89AFCA);
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
}
ul.jqtree-tree .jqtree-moving > .jqtree-element .jqtree-title {
outline: dashed 1px #0000ff;
}

File diff suppressed because it is too large Load Diff

5
styles/bootstrap/noty/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
child/
.DS_Store
.idea/

View File

@ -0,0 +1,20 @@
Copyright (c) 2012 Nedim Arabacı
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,520 @@
/**
* noty - jQuery Notification Plugin v2.0.3
* Contributors: https://github.com/needim/noty/graphs/contributors
*
* Examples and Documentation - http://needim.github.com/noty/
*
* Licensed under the MIT licenses:
* http://www.opensource.org/licenses/mit-license.php
*
**/
if (typeof Object.create !== 'function') {
Object.create = function (o) {
function F() {
}
F.prototype = o;
return new F();
};
}
(function ($) {
var NotyObject = {
init:function (options) {
// Mix in the passed in options with the default options
this.options = $.extend({}, $.noty.defaults, options);
this.options.layout = (this.options.custom) ? $.noty.layouts['inline'] : $.noty.layouts[this.options.layout];
this.options.theme = $.noty.themes[this.options.theme];
delete options.layout;
delete options.theme;
this.options = $.extend({}, this.options, this.options.layout.options);
this.options.id = 'noty_' + (new Date().getTime() * Math.floor(Math.random() * 1000000));
this.options = $.extend({}, this.options, options);
// Build the noty dom initial structure
this._build();
// return this so we can chain/use the bridge with less code.
return this;
}, // end init
_build:function () {
// Generating noty bar
var $bar = $('<div class="noty_bar"></div>').attr('id', this.options.id);
$bar.append(this.options.template).find('.noty_text').html(this.options.text);
this.$bar = (this.options.layout.parent.object !== null) ? $(this.options.layout.parent.object).css(this.options.layout.parent.css).append($bar) : $bar;
// Set buttons if available
if (this.options.buttons) {
// If we have button disable closeWith & timeout options
this.options.closeWith = [];
this.options.timeout = false;
var $buttons = $('<div/>').addClass('noty_buttons');
(this.options.layout.parent.object !== null) ? this.$bar.find('.noty_bar').append($buttons) : this.$bar.append($buttons);
var self = this;
$.each(this.options.buttons, function (i, button) {
var $button = $('<button/>').addClass((button.addClass) ? button.addClass : 'gray').html(button.text)
.appendTo(self.$bar.find('.noty_buttons'))
.bind('click', function () {
if ($.isFunction(button.onClick)) {
button.onClick.call($button, self);
}
});
});
}
// For easy access
this.$message = this.$bar.find('.noty_message');
this.$closeButton = this.$bar.find('.noty_close');
this.$buttons = this.$bar.find('.noty_buttons');
$.noty.store[this.options.id] = this; // store noty for api
}, // end _build
show:function () {
var self = this;
$(self.options.layout.container.selector).append(self.$bar);
self.options.theme.style.apply(self);
($.type(self.options.layout.css) === 'function') ? this.options.layout.css.apply(self.$bar) : self.$bar.css(this.options.layout.css || {});
self.$bar.addClass(self.options.layout.addClass);
self.options.layout.container.style.apply($(self.options.layout.container.selector));
self.options.theme.callback.onShow.apply(this);
if ($.inArray('click', self.options.closeWith) > -1)
self.$bar.css('cursor', 'pointer').one('click', function () {
if (self.options.callback.onCloseClick) {
self.options.callback.onCloseClick.apply(self);
}
self.close();
});
if ($.inArray('hover', self.options.closeWith) > -1)
self.$bar.one('mouseenter', function () {
self.close();
});
if ($.inArray('button', self.options.closeWith) > -1)
self.$closeButton.one('click', function () {
self.close();
});
if ($.inArray('button', self.options.closeWith) == -1)
self.$closeButton.remove();
if (self.options.callback.onShow)
self.options.callback.onShow.apply(self);
self.$bar.animate(
self.options.animation.open,
self.options.animation.speed,
self.options.animation.easing,
function () {
if (self.options.callback.afterShow) self.options.callback.afterShow.apply(self);
self.shown = true;
});
// If noty is have a timeout option
if (self.options.timeout)
self.$bar.delay(self.options.timeout).promise().done(function () {
self.close();
});
return this;
}, // end show
close:function () {
if (this.closed) return;
if (this.$bar && this.$bar.hasClass('i-am-closing-now')) return;
var self = this;
if (!this.shown) { // If we are still waiting in the queue just delete from queue
var queue = [];
$.each($.noty.queue, function (i, n) {
if (n.options.id != self.options.id) {
queue.push(n);
}
});
$.noty.queue = queue;
return;
}
self.$bar.addClass('i-am-closing-now');
if (self.options.callback.onClose) {
self.options.callback.onClose.apply(self);
}
self.$bar.clearQueue().stop().animate(
self.options.animation.close,
self.options.animation.speed,
self.options.animation.easing,
function () {
if (self.options.callback.afterClose) self.options.callback.afterClose.apply(self);
})
.promise().done(function () {
// Modal Cleaning
if (self.options.modal) {
$.notyRenderer.setModalCount(-1);
if ($.notyRenderer.getModalCount() == 0) $('.noty_modal').fadeOut('fast', function () {
$(this).remove();
});
}
// Layout Cleaning
$.notyRenderer.setLayoutCountFor(self, -1);
if ($.notyRenderer.getLayoutCountFor(self) == 0) $(self.options.layout.container.selector).remove();
// Make sure self.$bar has not been removed before attempting to remove it
if (typeof self.$bar !== 'undefined' && self.$bar !== null ) {
self.$bar.remove();
self.$bar = null;
self.closed = true;
}
delete $.noty.store[self.options.id]; // deleting noty from store
self.options.theme.callback.onClose.apply(self);
if (!self.options.dismissQueue) {
// Queue render
$.noty.ontap = true;
$.notyRenderer.render();
}
});
}, // end close
setText:function (text) {
if (!this.closed) {
this.options.text = text;
this.$bar.find('.noty_text').html(text);
}
return this;
},
setType:function (type) {
if (!this.closed) {
this.options.type = type;
this.options.theme.style.apply(this);
this.options.theme.callback.onShow.apply(this);
}
return this;
},
setTimeout:function (time) {
if (!this.closed) {
var self = this;
this.options.timeout = time;
self.$bar.delay(self.options.timeout).promise().done(function () {
self.close();
});
}
return this;
},
closed:false,
shown:false
}; // end NotyObject
$.notyRenderer = {};
$.notyRenderer.init = function (options) {
// Renderer creates a new noty
var notification = Object.create(NotyObject).init(options);
(notification.options.force) ? $.noty.queue.unshift(notification) : $.noty.queue.push(notification);
$.notyRenderer.render();
return ($.noty.returns == 'object') ? notification : notification.options.id;
};
$.notyRenderer.render = function () {
var instance = $.noty.queue[0];
if ($.type(instance) === 'object') {
if (instance.options.dismissQueue) {
$.notyRenderer.show($.noty.queue.shift());
} else {
if ($.noty.ontap) {
$.notyRenderer.show($.noty.queue.shift());
$.noty.ontap = false;
}
}
} else {
$.noty.ontap = true; // Queue is over
}
};
$.notyRenderer.show = function (notification) {
if (notification.options.modal) {
$.notyRenderer.createModalFor(notification);
$.notyRenderer.setModalCount(+1);
}
// Where is the container?
if ($(notification.options.layout.container.selector).length == 0) {
if (notification.options.custom) {
notification.options.custom.append($(notification.options.layout.container.object).addClass('i-am-new'));
} else {
$('body').append($(notification.options.layout.container.object).addClass('i-am-new'));
}
} else {
$(notification.options.layout.container.selector).removeClass('i-am-new');
}
$.notyRenderer.setLayoutCountFor(notification, +1);
notification.show();
};
$.notyRenderer.createModalFor = function (notification) {
if ($('.noty_modal').length == 0)
$('<div/>').addClass('noty_modal').data('noty_modal_count', 0).css(notification.options.theme.modal.css).prependTo($('body')).fadeIn('fast');
};
$.notyRenderer.getLayoutCountFor = function (notification) {
return $(notification.options.layout.container.selector).data('noty_layout_count') || 0;
};
$.notyRenderer.setLayoutCountFor = function (notification, arg) {
return $(notification.options.layout.container.selector).data('noty_layout_count', $.notyRenderer.getLayoutCountFor(notification) + arg);
};
$.notyRenderer.getModalCount = function () {
return $('.noty_modal').data('noty_modal_count') || 0;
};
$.notyRenderer.setModalCount = function (arg) {
return $('.noty_modal').data('noty_modal_count', $.notyRenderer.getModalCount() + arg);
};
// This is for custom container
$.fn.noty = function (options) {
options.custom = $(this);
return $.notyRenderer.init(options);
};
$.noty = {};
$.noty.queue = [];
$.noty.ontap = true;
$.noty.layouts = {};
$.noty.themes = {};
$.noty.returns = 'object';
$.noty.store = {};
$.noty.get = function (id) {
return $.noty.store.hasOwnProperty(id) ? $.noty.store[id] : false;
};
$.noty.close = function (id) {
return $.noty.get(id) ? $.noty.get(id).close() : false;
};
$.noty.setText = function (id, text) {
return $.noty.get(id) ? $.noty.get(id).setText(text) : false;
};
$.noty.setType = function (id, type) {
return $.noty.get(id) ? $.noty.get(id).setType(type) : false;
};
$.noty.clearQueue = function () {
$.noty.queue = [];
};
$.noty.closeAll = function () {
$.noty.clearQueue();
$.each($.noty.store, function (id, noty) {
noty.close();
});
};
var windowAlert = window.alert;
$.noty.consumeAlert = function (options) {
window.alert = function (text) {
if (options)
options.text = text;
else
options = {text:text};
$.notyRenderer.init(options);
};
};
$.noty.stopConsumeAlert = function () {
window.alert = windowAlert;
};
$.noty.defaults = {
layout:'top',
theme:'defaultTheme',
type:'alert',
text:'',
dismissQueue:true,
template:'<div class="noty_message"><span class="noty_text"></span><div class="noty_close"></div></div>',
animation:{
open:{height:'toggle'},
close:{height:'toggle'},
easing:'swing',
speed:500
},
timeout:false,
force:false,
modal:false,
closeWith:['click'],
callback:{
onShow:function () {
},
afterShow:function () {
},
onClose:function () {
},
afterClose:function () {
},
onCloseClick:function () {
}
},
buttons:false
};
$(window).resize(function () {
$.each($.noty.layouts, function (index, layout) {
layout.container.style.apply($(layout.container.selector));
});
});
})(jQuery);
// Helpers
function noty(options) {
// This is for BC - Will be deleted on v2.2.0
var using_old = 0
, old_to_new = {
'animateOpen':'animation.open',
'animateClose':'animation.close',
'easing':'animation.easing',
'speed':'animation.speed',
'onShow':'callback.onShow',
'onShown':'callback.afterShow',
'onClose':'callback.onClose',
'onCloseClick':'callback.onCloseClick',
'onClosed':'callback.afterClose'
};
jQuery.each(options, function (key, value) {
if (old_to_new[key]) {
using_old++;
var _new = old_to_new[key].split('.');
if (!options[_new[0]]) options[_new[0]] = {};
options[_new[0]][_new[1]] = (value) ? value : function () {
};
delete options[key];
}
});
if (!options.closeWith) {
options.closeWith = jQuery.noty.defaults.closeWith;
}
if (options.hasOwnProperty('closeButton')) {
using_old++;
if (options.closeButton) options.closeWith.push('button');
delete options.closeButton;
}
if (options.hasOwnProperty('closeOnSelfClick')) {
using_old++;
if (options.closeOnSelfClick) options.closeWith.push('click');
delete options.closeOnSelfClick;
}
if (options.hasOwnProperty('closeOnSelfOver')) {
using_old++;
if (options.closeOnSelfOver) options.closeWith.push('hover');
delete options.closeOnSelfOver;
}
if (options.hasOwnProperty('custom')) {
using_old++;
if (options.custom.container != 'null') options.custom = options.custom.container;
}
if (options.hasOwnProperty('cssPrefix')) {
using_old++;
delete options.cssPrefix;
}
if (options.theme == 'noty_theme_default') {
using_old++;
options.theme = 'defaultTheme';
}
if (!options.hasOwnProperty('dismissQueue')) {
options.dismissQueue = jQuery.noty.defaults.dismissQueue;
}
if (options.buttons) {
jQuery.each(options.buttons, function (i, button) {
if (button.click) {
using_old++;
button.onClick = button.click;
delete button.click;
}
if (button.type) {
using_old++;
button.addClass = button.type;
delete button.type;
}
});
}
if (using_old) {
if (typeof console !== "undefined" && console.warn) {
console.warn('You are using noty v2 with v1.x.x options. @deprecated until v2.2.0 - Please update your options.');
}
}
// console.log(options);
// End of the BC
return jQuery.notyRenderer.init(options);
}

View File

@ -0,0 +1,34 @@
;(function($) {
$.noty.layouts.bottom = {
name: 'bottom',
options: {},
container: {
object: '<ul id="noty_bottom_layout_container" />',
selector: 'ul#noty_bottom_layout_container',
style: function() {
$(this).css({
bottom: 0,
left: '5%',
position: 'fixed',
width: '90%',
height: 'auto',
margin: 0,
padding: 0,
listStyleType: 'none',
zIndex: 9999999
});
}
},
parent: {
object: '<li />',
selector: 'li',
css: {}
},
css: {
display: 'none'
},
addClass: ''
};
})(jQuery);

View File

@ -0,0 +1,41 @@
;(function($) {
$.noty.layouts.bottomCenter = {
name: 'bottomCenter',
options: { // overrides options
},
container: {
object: '<ul id="noty_bottomCenter_layout_container" />',
selector: 'ul#noty_bottomCenter_layout_container',
style: function() {
$(this).css({
bottom: 20,
left: 0,
position: 'fixed',
width: '310px',
height: 'auto',
margin: 0,
padding: 0,
listStyleType: 'none',
zIndex: 10000000
});
$(this).css({
left: ($(window).width() - $(this).outerWidth(false)) / 2 + 'px'
});
}
},
parent: {
object: '<li />',
selector: 'li',
css: {}
},
css: {
display: 'none',
width: '310px'
},
addClass: ''
};
})(jQuery);

View File

@ -0,0 +1,43 @@
;(function($) {
$.noty.layouts.bottomLeft = {
name: 'bottomLeft',
options: { // overrides options
},
container: {
object: '<ul id="noty_bottomLeft_layout_container" />',
selector: 'ul#noty_bottomLeft_layout_container',
style: function() {
$(this).css({
bottom: 20,
left: 20,
position: 'fixed',
width: '310px',
height: 'auto',
margin: 0,
padding: 0,
listStyleType: 'none',
zIndex: 10000000
});
if (window.innerWidth < 600) {
$(this).css({
left: 5
});
}
}
},
parent: {
object: '<li />',
selector: 'li',
css: {}
},
css: {
display: 'none',
width: '310px'
},
addClass: ''
};
})(jQuery);

View File

@ -0,0 +1,43 @@
;(function($) {
$.noty.layouts.bottomRight = {
name: 'bottomRight',
options: { // overrides options
},
container: {
object: '<ul id="noty_bottomRight_layout_container" />',
selector: 'ul#noty_bottomRight_layout_container',
style: function() {
$(this).css({
bottom: 20,
right: 20,
position: 'fixed',
width: '310px',
height: 'auto',
margin: 0,
padding: 0,
listStyleType: 'none',
zIndex: 10000000
});
if (window.innerWidth < 600) {
$(this).css({
right: 5
});
}
}
},
parent: {
object: '<li />',
selector: 'li',
css: {}
},
css: {
display: 'none',
width: '310px'
},
addClass: ''
};
})(jQuery);

View File

@ -0,0 +1,56 @@
;(function($) {
$.noty.layouts.center = {
name: 'center',
options: { // overrides options
},
container: {
object: '<ul id="noty_center_layout_container" />',
selector: 'ul#noty_center_layout_container',
style: function() {
$(this).css({
position: 'fixed',
width: '310px',
height: 'auto',
margin: 0,
padding: 0,
listStyleType: 'none',
zIndex: 10000000
});
// getting hidden height
var dupe = $(this).clone().css({visibility:"hidden", display:"block", position:"absolute", top: 0, left: 0}).attr('id', 'dupe');
$("body").append(dupe);
dupe.find('.i-am-closing-now').remove();
dupe.find('li').css('display', 'block');
var actual_height = dupe.height();
dupe.remove();
if ($(this).hasClass('i-am-new')) {
$(this).css({
left: ($(window).width() - $(this).outerWidth(false)) / 2 + 'px',
top: ($(window).height() - actual_height) / 2 + 'px'
});
} else {
$(this).animate({
left: ($(window).width() - $(this).outerWidth(false)) / 2 + 'px',
top: ($(window).height() - actual_height) / 2 + 'px'
}, 500);
}
}
},
parent: {
object: '<li />',
selector: 'li',
css: {}
},
css: {
display: 'none',
width: '310px'
},
addClass: ''
};
})(jQuery);

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