Clean files
This commit is contained in:
parent
807db03167
commit
578a1ef568
717 changed files with 3379 additions and 3674 deletions
|
|
@ -30,5 +30,3 @@ services:
|
|||
networks:
|
||||
- internal-pod
|
||||
- external-pod
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -250,7 +250,7 @@ if ($upgrade) {
|
|||
©_source_dest_as_domain_user($d, $oldcfile, $cfile);
|
||||
©_source_dest_as_domain_user($d, $olddocdir, $docdir);
|
||||
©_source_dest_as_domain_user($d, $oldaltdir, $altdir);
|
||||
|
||||
|
||||
# First page (Update database schema)
|
||||
local @params = ( [ "action", "upgrade" ],
|
||||
[ "versionfrom", $upgrade->{'version'} ],
|
||||
|
|
@ -258,7 +258,7 @@ if ($upgrade) {
|
|||
);
|
||||
local $err = &call_dolibarr_wizard_page(\@params, "upgrade", $d, $opts);
|
||||
return (-1, "Dolibarr wizard failed : $err") if ($err);
|
||||
|
||||
|
||||
# Second page (Migrate some data)
|
||||
local @params = ( [ "action", "upgrade" ],
|
||||
[ "versionfrom", $upgrade->{'version'} ],
|
||||
|
|
@ -266,7 +266,7 @@ if ($upgrade) {
|
|||
);
|
||||
local $err = &call_dolibarr_wizard_page(\@params, "upgrade2", $d, $opts);
|
||||
return (-1, "Dolibarr wizard failed : $err") if ($err);
|
||||
|
||||
|
||||
# Third page (Update version number)
|
||||
local @params = ( [ "action", "upgrade" ],
|
||||
[ "versionfrom", $upgrade->{'version'} ],
|
||||
|
|
@ -276,12 +276,12 @@ if ($upgrade) {
|
|||
local $p = $ver >= 3.8 ? "step5" : "etape5";
|
||||
local $err = &call_dolibarr_wizard_page(\@params, $p, $d, $opts);
|
||||
return (-1, "Dolibarr wizard failed : $err") if ($err);
|
||||
|
||||
|
||||
# Remove the installation directory. (deprecated)
|
||||
# local $dinstall = "$opts->{'dir'}/install";
|
||||
# $dinstall =~ s/\/$//;
|
||||
# $out = &run_as_domain_user($d, "rm -rf ".quotemeta($dinstall));
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
# First page (Db connection and config file creation)
|
||||
|
|
@ -306,13 +306,13 @@ else {
|
|||
local $p = $ver >= 3.8 ? "step1" : "etape1";
|
||||
local $err = &call_dolibarr_wizard_page(\@params, $p, $d, $opts);
|
||||
return (-1, "Dolibarr wizard failed : $err") if ($err);
|
||||
|
||||
|
||||
# Second page (Populate database)
|
||||
local @params = ( [ "action", "set" ] );
|
||||
local $p = $ver >= 3.8 ? "step2" : "etape2";
|
||||
local $err = &call_dolibarr_wizard_page(\@params, $p, $d, $opts);
|
||||
return (-1, "Dolibarr wizard failed : $err") if ($err);
|
||||
|
||||
|
||||
# Third page (Add administrator account)
|
||||
local @params = ( [ "action", "set" ],
|
||||
[ "login", "admin" ],
|
||||
|
|
@ -323,17 +323,17 @@ else {
|
|||
local $p = $ver >= 3.8 ? "step5" : "etape5";
|
||||
local $err = &call_dolibarr_wizard_page(\@params, $p, $d, $opts);
|
||||
return (-1, "Dolibarr wizard failed : $err") if ($err);
|
||||
|
||||
|
||||
# Remove the installation directory (deprecated)
|
||||
# local $dinstall = "$opts->{'dir'}/install";
|
||||
# $dinstall =~ s/\/$//;
|
||||
# $out = &run_as_domain_user($d, "rm -rf ".quotemeta($dinstall));
|
||||
|
||||
|
||||
# Protect config file
|
||||
&set_permissions_as_domain_user($d, 0644, $cfile);
|
||||
&set_permissions_as_domain_user($d, 0755, $cfiledir);
|
||||
}
|
||||
|
||||
|
||||
# Return a URL for the user
|
||||
local $rp = $opts->{'dir'};
|
||||
$rp =~ s/^$d->{'home'}\///;
|
||||
|
|
@ -443,7 +443,7 @@ return 2;
|
|||
|
||||
sub script_dolibarr_db_conn_desc
|
||||
{
|
||||
my $db_conn_desc =
|
||||
my $db_conn_desc =
|
||||
{ 'conf/conf.php' =>
|
||||
{
|
||||
'dbpass' =>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
README (english)
|
||||
--------------------------------
|
||||
This directory contains some sample files to test ldap command on command line.
|
||||
They are used to help developmement and debugging of Dolibarr LDAP features.
|
||||
They are used to help developmement and debugging of Dolibarr LDAP features.
|
||||
|
|
|
|||
|
|
@ -8,4 +8,4 @@
|
|||
|
||||
dn: ou=contacts,dc=my-domain,dc=com
|
||||
objectClass: organizationalUnit
|
||||
ou: contacts
|
||||
ou: contacts
|
||||
|
|
|
|||
|
|
@ -24,6 +24,5 @@
|
|||
# ldapsearch -h hostname -p 389 -x -D "cn=manager,o=somecompany.com" -w password -b "ou=people,dc=teclib,dc=infra"
|
||||
# ldapsearch -h hostname -p 389 -x -D "cn=manager,o=somecompany.com" -w password -b "o=somecompany.com" "(objectclass=*)"
|
||||
#
|
||||
# Example to test a ldap search:
|
||||
# Example to test a ldap search:
|
||||
# ldapsearch -h hostname -p 389 -x -z 5 -b 'OU=Collaborateurs,OU=Utilisateurs,OU=MyCompany,DC=bocal,DC=lan' -D 'CN=UserAdmin,OU=Informatique,OU=Utilisateurs,OU=MyCompany,DC=bocal,DC=lan' -w password
|
||||
|
||||
|
|
|
|||
|
|
@ -65,4 +65,4 @@ o9CFUO94RUiiEpmahN6IfgQXpQJUft9yuDseAluyCkKif5QkQA3IvwVYD2mv0R1uc9gY
|
|||
fZt0uru+Tc93cnQQ82A5KVrVVvvahsyxtQFRMOgFLl8ct3wu6NVPyQPby9YUk2J4dpQr
|
||||
R5X+bCaMew5mDNsdjMV95GesdhT3n3y32Az+XZsuecMoxePVX5S+GRSu/9XVL9Z+w7Ki
|
||||
|
||||
--468358388441498ebb24096bfda88a45--
|
||||
--468358388441498ebb24096bfda88a45--
|
||||
|
|
|
|||
|
|
@ -46,4 +46,4 @@ Content-Transfer-Encoding: quoted-printable
|
|||
|
||||
... attach-file ...
|
||||
|
||||
--------------090104020208060008040809-- (end multipart/mixed)
|
||||
--------------090104020208060008040809-- (end multipart/mixed)
|
||||
|
|
|
|||
|
|
@ -45,4 +45,4 @@ VEImZGI9b2Rvb192OCc+UGFydG5lciBBZ3JvbGFpdDwvYT48L3NtYWxsPjwvc3Bhbj4K
|
|||
|
||||
--===============8764907306434163361==--
|
||||
|
||||
--===============4543832834454763172==--
|
||||
--===============4543832834454763172==--
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ Content-Type: text/plain; charset="UTF-8"
|
|||
|
||||
adfsdfsdfds
|
||||
|
||||
--
|
||||
--
|
||||
Laurent.
|
||||
------------------------------------------------------------------------------------
|
||||
Twitter: https://www.twitter.com/eldy10
|
||||
|
|
|
|||
|
|
@ -3,4 +3,3 @@
|
|||
Take a look at the dolibarr wiki page of Zapier module:
|
||||
|
||||
https://wiki.dolibarr.org/index.php?title=Module_Zapier
|
||||
|
||||
|
|
|
|||
|
|
@ -1,56 +1,25 @@
|
|||
{
|
||||
"table_rowid": "id",
|
||||
"id": 6764,
|
||||
"ref": null,
|
||||
"type_id": "5",
|
||||
"type_code": "AC_RDV",
|
||||
"type": null,
|
||||
"type_color": null,
|
||||
"code": null,
|
||||
"label": "azerty",
|
||||
"datec": null,
|
||||
"datem": null,
|
||||
"authorid": null,
|
||||
"usermodid": null,
|
||||
"datep": 1555365600,
|
||||
"datef": 1555538399,
|
||||
"durationp": 172799,
|
||||
"fulldayevent": 1,
|
||||
"punctual": 1,
|
||||
"percentage": "-1",
|
||||
"location": "",
|
||||
"transparency": 1,
|
||||
"priority": 0,
|
||||
"userassigned": {
|
||||
"1": {
|
||||
"id": "1",
|
||||
"transparency": 1
|
||||
}
|
||||
},
|
||||
"userownerid": "1",
|
||||
"userdoneid": null,
|
||||
"usertodo": null,
|
||||
"userdone": null,
|
||||
"socid": null,
|
||||
"contactid": null,
|
||||
"elementtype": "",
|
||||
"icalname": null,
|
||||
"icalcolor": null,
|
||||
"actions": [],
|
||||
"email_msgid": null,
|
||||
"email_from": null,
|
||||
"email_sender": null,
|
||||
"email_to": null,
|
||||
"email_tocc": null,
|
||||
"email_tobcc": null,
|
||||
"email_subject": null,
|
||||
"errors_to": null,
|
||||
"import_key": null,
|
||||
"linkedObjectsIds": null,
|
||||
"fk_project": 0,
|
||||
"modelpdf": null,
|
||||
"note_public": null,
|
||||
"note_private": null,
|
||||
"note": "wxcvbn",
|
||||
"duree": 0
|
||||
}
|
||||
"table_rowid" : "id",
|
||||
"id" : 6764,
|
||||
"type_id" : "5",
|
||||
"type_code" : "AC_RDV",
|
||||
"label" : "azerty",
|
||||
"datep" : 1555365600,
|
||||
"datef" : 1555538399,
|
||||
"durationp" : 172799,
|
||||
"fulldayevent" : 1,
|
||||
"punctual" : 1,
|
||||
"percentage" : "-1",
|
||||
"transparency" : 1,
|
||||
"priority" : 0,
|
||||
"userassigned" : {
|
||||
"1" : {
|
||||
"id" : "1",
|
||||
"transparency" : 1
|
||||
}
|
||||
},
|
||||
"userownerid" : "1",
|
||||
"fk_project" : 0,
|
||||
"note" : "wxcvbn",
|
||||
"duree" : 0
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
This directory contains the file with the graphical database structure.
|
||||
It can be read with MySQL Workbench software.
|
||||
It can be read with MySQL Workbench software.
|
||||
|
|
|
|||
|
|
@ -2,5 +2,5 @@ EORI
|
|||
|
||||
https://en.wikipedia.org/wiki/EORI_number
|
||||
|
||||
in Dolibarr avaiable since v13
|
||||
in Dolibarr avaiable since v13
|
||||
- it is set to field 'profid5'
|
||||
|
|
|
|||
|
|
@ -18,5 +18,3 @@ Et ça marche à l’inverse avec un fournisseur sauf que l’on est en 775000 a
|
|||
|
||||
Un compte comptable de Tiers vente = Acount Receivable
|
||||
Un compte comptable de Tiers achat = Acount Payable
|
||||
|
||||
|
||||
|
|
@ -3,4 +3,3 @@ Address format
|
|||
https://bitboost.com/ref/international-address-formats.html#Formats
|
||||
|
||||
https://www.upu.int/en/Postal-Solutions/Programmes-Services/Addressing-Solutions
|
||||
|
||||
|
|
|
|||
|
|
@ -117,5 +117,3 @@ IBAN : FR54 3000 4031 2800 032T 56H9 125
|
|||
Division :
|
||||
3000403128000322956179125152754 / 97 =
|
||||
3000403128000322956179125152753 reste 1.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
NACE
|
||||
NACE
|
||||
|
||||
https://ec.europa.eu/eurostat/ramon/nomenclatures/index.cfm?TargetUrl=LST_CLS_DLD&StrNom=NACE_REV2&StrLanguageCode=EN&StrLayoutCode=
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
# The list is updated whenever a change to the official code list in ISO 3166-1 is effected by the ISO 3166/MA.
|
||||
# It lists 240 official short names and code elements. One line of text contains one entry.
|
||||
# A country name and its code element are separated by a semicolon (;).
|
||||
# https://www.iso.org/iso-3166-country-codes.html
|
||||
# https://www.iso.org/iso-3166-country-codes.html
|
||||
|
||||
# https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes
|
||||
# ISO-3166: https://en.wikipedia.org/wiki/ISO_3166-1
|
||||
|
|
|
|||
|
|
@ -136,4 +136,4 @@
|
|||
<xsd:element name="regionCode" type="xsd:string"/>
|
||||
<xsd:element name="date" type="xsd:date"/>
|
||||
<xsd:element name="time" type="xsd:time"/>
|
||||
</xsd:schema>
|
||||
</xsd:schema>
|
||||
|
|
|
|||
|
|
@ -52,12 +52,12 @@ GUARANI GN AMERINDIAN
|
|||
GUJARATI GU INDIAN
|
||||
|
||||
HAUSA HA NEGRO-AFRICAN
|
||||
HEBREW HE SEMITIC [*Changed 1989 from original ISO 639:1988, IW]
|
||||
HEBREW HE SEMITIC [*Changed 1989 from original ISO 639:1988, IW]
|
||||
HINDI HI INDIAN
|
||||
HUNGARIAN HU FINNO-UGRIC
|
||||
|
||||
ICELANDIC IS GERMANIC
|
||||
INDONESIAN ID OCEANIC/INDONESIAN [*Changed 1989 from original ISO 639:1988, IN]
|
||||
INDONESIAN ID OCEANIC/INDONESIAN [*Changed 1989 from original ISO 639:1988, IN]
|
||||
INTERLINGUA IA INTERNATIONAL AUX.
|
||||
INTERLINGUE IE INTERNATIONAL AUX.
|
||||
INUKTITUT IU [ ]
|
||||
|
|
@ -159,7 +159,7 @@ WOLOF WO NEGRO-AFRICAN
|
|||
|
||||
XHOSA XH NEGRO-AFRICAN
|
||||
|
||||
YIDDISH YI GERMANIC [*Changed 1989 from original ISO 639:1988, JI]
|
||||
YIDDISH YI GERMANIC [*Changed 1989 from original ISO 639:1988, JI]
|
||||
YORUBA YO NEGRO-AFRICAN
|
||||
|
||||
ZHUANG ZA [ ]
|
||||
|
|
@ -211,7 +211,7 @@ GALICIAN GL ROMANCE
|
|||
GUARANI GN AMERINDIAN
|
||||
GUJARATI GU INDIAN
|
||||
HAUSA HA NEGRO-AFRICAN
|
||||
HEBREW HE SEMITIC [*Changed 1989 from original ISO 639:1988, IW]
|
||||
HEBREW HE SEMITIC [*Changed 1989 from original ISO 639:1988, IW]
|
||||
HINDI HI INDIAN
|
||||
CROATIAN HR SLAVIC
|
||||
HUNGARIAN HU FINNO-UGRIC
|
||||
|
|
@ -219,7 +219,7 @@ ARMENIAN HY INDO-EUROPEAN (OTHER)
|
|||
INTERLINGUA IA INTERNATIONAL AUX.
|
||||
INTERLINGUE IE INTERNATIONAL AUX.
|
||||
INUPIAK IK ESKIMO
|
||||
INDONESIAN ID OCEANIC/INDONESIAN [*Changed 1989 from original ISO 639:1988, IN]
|
||||
INDONESIAN ID OCEANIC/INDONESIAN [*Changed 1989 from original ISO 639:1988, IN]
|
||||
ICELANDIC IS GERMANIC
|
||||
ITALIAN IT ROMANCE
|
||||
INUKTITUT IU [ ]
|
||||
|
|
@ -304,7 +304,7 @@ VIETNAMESE VI ASIAN
|
|||
VOLAPUK VO INTERNATIONAL AUX.
|
||||
WOLOF WO NEGRO-AFRICAN
|
||||
XHOSA XH NEGRO-AFRICAN
|
||||
YIDDISH YI GERMANIC [*Changed 1989 from original ISO 639:1988, JI]
|
||||
YIDDISH YI GERMANIC [*Changed 1989 from original ISO 639:1988, JI]
|
||||
YORUBA YO NEGRO-AFRICAN
|
||||
ZHUANG ZA [ ]
|
||||
CHINESE ZH ASIAN
|
||||
|
|
@ -362,7 +362,7 @@ GERMAN DE GERMANIC
|
|||
ICELANDIC IS GERMANIC
|
||||
NORWEGIAN NO GERMANIC
|
||||
SWEDISH SV GERMANIC
|
||||
YIDDISH YI GERMANIC [*Changed 1989 from original ISO 639:1988, JI]
|
||||
YIDDISH YI GERMANIC [*Changed 1989 from original ISO 639:1988, JI]
|
||||
|
||||
AFAN (OROMO) OM HAMITIC
|
||||
AFAR AA HAMITIC
|
||||
|
|
@ -420,7 +420,7 @@ YORUBA YO NEGRO-AFRICAN
|
|||
ZULU ZU NEGRO-AFRICAN
|
||||
|
||||
FIJI FJ OCEANIC/INDONESIAN
|
||||
INDONESIAN ID OCEANIC/INDONESIAN [*Changed 1989 from original ISO 639:1988, IN]
|
||||
INDONESIAN ID OCEANIC/INDONESIAN [*Changed 1989 from original ISO 639:1988, IN]
|
||||
JAVANESE JV OCEANIC/INDONESIAN
|
||||
MALAGASY MG OCEANIC/INDONESIAN
|
||||
MALAY MS OCEANIC/INDONESIAN
|
||||
|
|
@ -444,7 +444,7 @@ SPANISH ES ROMANCE
|
|||
|
||||
AMHARIC AM SEMITIC
|
||||
ARABIC AR SEMITIC
|
||||
HEBREW HE SEMITIC [*Changed 1989 from original ISO 639:1988, IW]
|
||||
HEBREW HE SEMITIC [*Changed 1989 from original ISO 639:1988, IW]
|
||||
MALTESE MT SEMITIC
|
||||
TIGRINYA TI SEMITIC
|
||||
|
||||
|
|
|
|||
|
|
@ -5,4 +5,4 @@ terms
|
|||
(fr) TVA = Taxe sur la Valeur Ajouté
|
||||
(es) NIF / CIF
|
||||
(de) USt / MwSt = UmsatzSteuer / Mehrwertsteuer
|
||||
(it) IVA
|
||||
(it) IVA
|
||||
|
|
|
|||
|
|
@ -5,6 +5,6 @@ https://www.taxrates.cc/index.html
|
|||
https://en.wikipedia.org/wiki/List_of_countries_by_tax_rates
|
||||
|
||||
For India: VAT=IGST / CGST=Localtax1 / SGST=Localtax2
|
||||
see:
|
||||
see:
|
||||
https://cleartax.in/s/what-is-sgst-cgst-igst
|
||||
https://www.mastersindia.co/blog/what-is-cgst-sgst-igst-and-ugst/
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@ README (English)
|
|||
|
||||
If your web hosting does not allow you to place the folder "documents" outside
|
||||
the site root, add the htaccess.txt in the root directory of
|
||||
folder "documents" by renaming it into .htaccess
|
||||
folder "documents" by renaming it into .htaccess
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
[PHP]
|
||||
|
||||
; ************************
|
||||
: Need a special php.ini to allow usage of
|
||||
: Need a special php.ini to allow usage of
|
||||
; ************************
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
*/</template><template autoinsert="true" context="phpcomment" deleted="false" description="Comment for created constructors" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.constructorcomment" name="constructorcomment">/**
|
||||
* ${tags}
|
||||
*/</template><template autoinsert="true" context="phpcomment" deleted="false" description="Comment for created PHP files" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.filecomment" name="filecomment">/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
</template><template autoinsert="true" context="phpcomment" deleted="false" description="Comment for created types" enabled="true" id="org.eclipse.php.ui.editor.templates.php.codetemplates.typecomment" name="typecomment">/**
|
||||
* @author ${user}
|
||||
|
|
@ -47,7 +47,7 @@ ${cursor}</template><template autoinsert="false" context="php" deleted="false" d
|
|||
case ${value}:
|
||||
${cursor};
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
;
|
||||
break;
|
||||
|
|
@ -66,21 +66,21 @@ ${cursor}</template><template autoinsert="false" context="php" deleted="false" d
|
|||
</template><template autoinsert="false" context="php" deleted="false" description="lambda function statement (closure)" enabled="true" id="org.eclipse.php.ui.editor.templates.php.closure" name="closure">function (${parameters}) use (${lexical_variables}) {
|
||||
${cursor};
|
||||
}
|
||||
</template><template autoinsert="false" context="php" deleted="false" description="class statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.cls" name="cls">class ${class_name}
|
||||
</template><template autoinsert="false" context="php" deleted="false" description="class statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.cls" name="cls">class ${class_name}
|
||||
{
|
||||
function ${function_name}()
|
||||
function ${function_name}()
|
||||
{
|
||||
${cursor};
|
||||
}
|
||||
}
|
||||
</template><template autoinsert="false" context="php" deleted="false" description="class statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.class" name="class">class ${class_name}
|
||||
</template><template autoinsert="false" context="php" deleted="false" description="class statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.class" name="class">class ${class_name}
|
||||
{
|
||||
function ${function_name}()
|
||||
function ${function_name}()
|
||||
{
|
||||
${cursor};
|
||||
}
|
||||
}
|
||||
</template><template autoinsert="false" context="php" deleted="false" description="if statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.if" name="if">if (${condition})
|
||||
</template><template autoinsert="false" context="php" deleted="false" description="if statement" enabled="true" id="org.eclipse.php.ui.editor.templates.php.if" name="if">if (${condition})
|
||||
{
|
||||
${cursor};
|
||||
}
|
||||
|
|
@ -115,7 +115,7 @@ if (${dollar}${dirh}) {
|
|||
${cursor};
|
||||
}
|
||||
</template><template autoinsert="false" context="php" deleted="false" description="Trap code output" enabled="true" id="org.eclipse.php.ui.editor.templates.php.my_gc" name="my_gc">ob_start();
|
||||
|
||||
|
||||
${cursor};
|
||||
|
||||
${dollar}${contents} = ob_get_contents();
|
||||
|
|
@ -142,4 +142,4 @@ ${cursor}
|
|||
</body>
|
||||
</noframes>
|
||||
</frameset>
|
||||
</html></template></templates>
|
||||
</html></template></templates>
|
||||
|
|
|
|||
|
|
@ -9,4 +9,4 @@ cs_re:red:.*ERR.*
|
|||
cs_re:white,yellow:.*WARNING.*
|
||||
cs_re:green,yellow:.*NOTICE.*
|
||||
cs_re:green:.*INFO.*
|
||||
cs_re:white:.*DEBUG.*
|
||||
cs_re:white:.*DEBUG.*
|
||||
|
|
|
|||
|
|
@ -16,4 +16,4 @@ xdebug.show_local_vars=off
|
|||
xdebug.profiler_output_dir=/var/tmp
|
||||
xdebug.profiler_append=0
|
||||
|
||||
Then xdebug profiling can be enabled by adding XDEBUG_PROFILE=1 on URL.
|
||||
Then xdebug profiling can be enabled by adding XDEBUG_PROFILE=1 on URL.
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Files and tools of a skeleton to build a module were moved into htdocs/modulebuilder/template
|
||||
Files and tools of a skeleton to build a module were moved into htdocs/modulebuilder/template
|
||||
|
|
|
|||
|
|
@ -5,29 +5,27 @@ README (English)
|
|||
RapidAPI
|
||||
##############
|
||||
|
||||
RapidAPI for Mac is a full-featured HTTP client that let's you test and describe the APIs you build or consume.
|
||||
RapidAPI for Mac is a full-featured HTTP client that let's you test and describe the APIs you build or consume.
|
||||
It has a beautiful native macOS interface to compose requests, inspect server responses, generate client code and export API definitions.
|
||||
|
||||
https://paw.cloud/
|
||||
|
||||
|
||||
|
||||
@@@
|
||||
(@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@%
|
||||
@@@@@@, @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,
|
||||
@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
(@@@@@@( @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@* @@@@@@@@@@@. /@@@@@@@@@@@@@@@@@(
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* @@@@@@@@@@@. @@@@@@@@@@@@@
|
||||
|
||||
@@@
|
||||
(@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@%
|
||||
@@@@@@, @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,
|
||||
@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
(@@@@@@( @@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@* @@@@@@@@@@@. /@@@@@@@@@@@@@@@@@(
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* @@@@@@@@@@@. @@@@@@@@@@@@@
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ /@@@@@@@@@@@@
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@# @@@@@@@@@@@ @@@@@@@@@@@@&
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ &@@@@@@@@@@@@@@@@@@@@@@
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ &@@@@@@@@@@@@@@@@@@@@/
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@& .@@@@@@@@@@@ &@@@@@@@@@@@@@@@@@@/
|
||||
(@@@@@@@@@@@@@@@@@@@@@@@ .@@@@@@@@@@@ &@@@@@@@@@@@@@@@(
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@@@@@@@@@@@@@
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ &@@@@@@@@@@@@@@@@@@@@@@
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ &@@@@@@@@@@@@@@@@@@@@/
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@& .@@@@@@@@@@@ &@@@@@@@@@@@@@@@@@@/
|
||||
(@@@@@@@@@@@@@@@@@@@@@@@ .@@@@@@@@@@@ &@@@@@@@@@@@@@@@(
|
||||
@@@@@ @@@@@ .@@@@@@@@@@@ @@@@@@@@@@@*
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -128,5 +128,3 @@ for f in ${TFile[@]}; do
|
|||
|
||||
done
|
||||
done
|
||||
|
||||
|
||||
|
|
|
|||
2
dev/tools/rector/.gitignore
vendored
2
dev/tools/rector/.gitignore
vendored
|
|
@ -1,2 +1,2 @@
|
|||
/test.php
|
||||
/vendor
|
||||
/vendor
|
||||
|
|
|
|||
|
|
@ -36,4 +36,3 @@ then
|
|||
wmctrl -i -r $1 -e 0,0,0,$width,$height
|
||||
echo Size of windows $1 modified to $width x $height
|
||||
fi
|
||||
|
||||
|
|
|
|||
|
|
@ -93,5 +93,3 @@ if __name__ == '__main__':
|
|||
options, arguments = parser.parse_args()
|
||||
sys.argv[:] = arguments
|
||||
main(options, arguments)
|
||||
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
Test to migrate Dolibarr to namespace "Dolibarr".
|
||||
|
||||
Script bbb.php is a script of an external module with current code writing.
|
||||
It must works after migration.
|
||||
It must works after migration.
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ https://www.transifex.com/dolibarr-association/dolibarr/dashboard/
|
|||
Installation of Transifex Client:
|
||||
---------------------------------
|
||||
for Linux OS
|
||||
to install or to update transifex client:
|
||||
to install or to update transifex client:
|
||||
sudo pip install --upgrade transifex-client
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -65,4 +65,3 @@ fi
|
|||
echo Think to launch also:
|
||||
echo "> dev/tools/fixaltlanguages.sh fix all"
|
||||
#echo "For v11: Replace also regex \(.*(sponge|cornas|eratosthene|cyan).*\) with '' on *.lang files"
|
||||
|
||||
|
|
|
|||
|
|
@ -19,4 +19,4 @@ But if you are looking for other resources (downloads, documentation, addons, ..
|
|||
* <a href="https://www.dolistore.com">DoliStore (official addons/plugins market place)</a><br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -8,14 +8,14 @@ Download / Herunterladen
|
|||
|
||||
* Dolibarr ERP/CRM kann man über die offizielle Dolibarr Website
|
||||
|
||||
https://www.dolibarr.org/downloads
|
||||
|
||||
https://www.dolibarr.org/downloads
|
||||
|
||||
oder direkt bei Sourceforge
|
||||
|
||||
|
||||
https://sourceforge.net/projects/dolibarr/files/
|
||||
|
||||
|
||||
herunterladen.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -26,10 +26,10 @@ Installation / Hilfe
|
|||
* Für eine kurze Einleitung schau in die README.md Datei im Hauptverzeichnis.
|
||||
|
||||
* Umfangreiche Dokumentationen sind im Dolibarr Wiki zu finden:
|
||||
https://wiki.dolibarr.org/index.php/Hauptseite
|
||||
|
||||
* eine Deutsche Community bietet der Dolibarr e.V. unter
|
||||
https://www.dolibarr.de/
|
||||
https://wiki.dolibarr.org/index.php/Hauptseite
|
||||
|
||||
* eine Deutsche Community bietet der Dolibarr e.V. unter
|
||||
https://www.dolibarr.de/
|
||||
|
||||
|
||||
|
||||
|
|
@ -38,8 +38,6 @@ Installation / Hilfe
|
|||
Zusatzmodule
|
||||
------------------------------------
|
||||
|
||||
* Die meisten externen Module/Themen sind über den offiziellen DoliStore verfügbar:
|
||||
* Die meisten externen Module/Themen sind über den offiziellen DoliStore verfügbar:
|
||||
|
||||
https://www.dolistore.com/de/
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// MENU
|
||||
let navmenu = document.querySelector('.doc-sidebar nav ul');
|
||||
let navmenulinks = navmenu.querySelectorAll('a.link-withsubmenu');
|
||||
if(navmenulinks.length > 0) {
|
||||
if(navmenulinks.length > 0) {
|
||||
navmenulinks.forEach(
|
||||
function (menulink) {
|
||||
menulink.addEventListener(
|
||||
|
|
@ -28,4 +28,4 @@ function showscroll()
|
|||
var height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
|
||||
var scrolled = (winScroll / height) * 100;
|
||||
document.getElementById("documentation-scroll").style.width = scrolled + "%";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,5 +68,3 @@ It is possible to specify url for API methods by simply use the PHPDoc tag **@ur
|
|||
Other annotations are used, you are encouraged to read them : https://github.com/Luracast/Restler/blob/master/ANNOTATIONS.md
|
||||
|
||||
PHPDoc tags can also be used to specify variables information for API. Again, rtfm : https://github.com/Luracast/Restler/blob/master/PARAM.md
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -20,4 +20,3 @@ Vous pouvez aussi lire et faire des recherches au sein de la log inaltérable.
|
|||
Tous les enregistrements de la logs inaltérable sont liés avec le précédent dans une Blockchain, et leur contenu fait parti de la signature include dans ce lien,
|
||||
aussi, une fois le module activé et le premier enregistrement réalisé, il ne sera plus possible d'effacer ni modifier un enregistrement dans la log
|
||||
inaltérable sans corrompre toute la chaine. Dès lors qu'un enregistrement est invalid, tous les suivants pourront également être considérés invalides par votre administration.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# DO NOT DELETE THIS FILE MANUALLY
|
||||
# File to flag module built using official module template.
|
||||
# When this file is present into a module directory, you can edit it with the module builder tool. Use ModuleBuilder if you want to delete module.
|
||||
# When this file is present into a module directory, you can edit it with the module builder tool. Use ModuleBuilder if you want to delete module.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# DO NOT DELETE THIS FILE MANUALLY
|
||||
# File to flag module built using official module template.
|
||||
# When this file is present into a module directory, you can edit it with the module builder tool.
|
||||
# When this file is present into a module directory, you can edit it with the module builder tool.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
## This file is a list of predefined URLs to block when trying to access them from the application,
|
||||
## This file is a list of predefined URLs to block when trying to access them from the application,
|
||||
## for example when using the grab website feature of module website
|
||||
## Allowing grabbing local url allow to get metadata.
|
||||
|
||||
|
|
|
|||
|
|
@ -25,8 +25,8 @@ $(document).ready(function() {
|
|||
var element = $('#jeditable_element').html();
|
||||
var table_element = $('#jeditable_table_element').html();
|
||||
var fk_element = $('#jeditable_fk_element').html();
|
||||
|
||||
|
||||
|
||||
|
||||
if ($('.editval_string').length > 0) {
|
||||
$('.editval_string').editable(urlSaveInPlace, {
|
||||
type : 'text',
|
||||
|
|
@ -69,7 +69,7 @@ $(document).ready(function() {
|
|||
$('#editval_' + $(this).attr('id').substr(8)).show().click();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if ($('.editval_textarea').length > 0) {
|
||||
$('.editval_textarea').editable(urlSaveInPlace, {
|
||||
type : 'textarea',
|
||||
|
|
@ -117,7 +117,7 @@ $(document).ready(function() {
|
|||
$('#editval_' + $(this).attr('id')).show().click();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if (typeof ckeditorConfig != 'undefined') {
|
||||
$('.editval_ckeditor').editable(urlSaveInPlace, {
|
||||
type : 'ckeditor',
|
||||
|
|
@ -170,7 +170,7 @@ $(document).ready(function() {
|
|||
$('#editval_' + $(this).attr('id')).show().click();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if ($('.editval_numeric').length > 0) {
|
||||
$('.editval_numeric').editable(urlSaveInPlace, {
|
||||
type : 'text',
|
||||
|
|
@ -213,7 +213,7 @@ $(document).ready(function() {
|
|||
$('#editval_' + $(this).attr('id')).show().click();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if ($('.editval_datepicker').length > 0) {
|
||||
$('.editval_datepicker').editable(urlSaveInPlace, {
|
||||
type : 'datepicker',
|
||||
|
|
@ -253,7 +253,7 @@ $(document).ready(function() {
|
|||
$('#editval_' + $(this).attr('id')).show().click();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if ($('.editval_select').length > 0) {
|
||||
$('.editval_select').editable(urlSaveInPlace, {
|
||||
type : 'select',
|
||||
|
|
@ -298,7 +298,7 @@ $(document).ready(function() {
|
|||
$('#editval_' + $(this).attr('id')).show().click();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// for test only (not stable)
|
||||
if ($('.editval_autocomplete').length > 0) {
|
||||
$('.editval_autocomplete').editable(urlSaveInPlace, {
|
||||
|
|
@ -345,7 +345,7 @@ $(document).ready(function() {
|
|||
$('#editval_' + $(this).attr('id')).show().click();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function getParameters(obj, type) {
|
||||
var htmlname = $(obj).attr('id').substr(8);
|
||||
var element = $('#element_' + htmlname).val();
|
||||
|
|
@ -355,7 +355,7 @@ $(document).ready(function() {
|
|||
var savemethod = $('#savemethod_' + htmlname).val();
|
||||
var ext_element = $('#ext_element_' + htmlname).val();
|
||||
var timestamp = $('#timestamp').val();
|
||||
|
||||
|
||||
return {
|
||||
type: type,
|
||||
element: element,
|
||||
|
|
@ -367,7 +367,7 @@ $(document).ready(function() {
|
|||
ext_element: ext_element
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
function getResult(obj, result) {
|
||||
var res = $.parseJSON(result);
|
||||
if (res.error) {
|
||||
|
|
@ -379,7 +379,7 @@ $(document).ready(function() {
|
|||
} else {
|
||||
$.jnotify(res.error, "error", true);
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
var htmlname = $(obj).attr('id').substr(8);
|
||||
var successmsg = $( '#successmsg_' + htmlname ).val();
|
||||
|
|
@ -392,7 +392,7 @@ $(document).ready(function() {
|
|||
$('#viewval_' + htmlname).show();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function getDefault(settings) {
|
||||
var htmlname = $(settings).attr('id').substr(8);
|
||||
$('#editval_' + htmlname).hide();
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ function updateCoords(c)
|
|||
ratio=1;
|
||||
imagewidth=0;
|
||||
imageheight=0;
|
||||
|
||||
|
||||
console.log(c);
|
||||
|
||||
if (parseInt(jQuery("#ratioforcrop").val()) > 1) {
|
||||
|
|
@ -42,7 +42,7 @@ function updateCoords(c)
|
|||
if (parseInt(jQuery("#imagewidth").val()) > 0) imagewidth = parseInt(jQuery("#imagewidth").val());
|
||||
if (parseInt(jQuery("#imageheight").val()) > 0) imageheight = parseInt(jQuery("#imageheight").val());
|
||||
}
|
||||
|
||||
|
||||
x = Math.floor(c.x * ratio);
|
||||
y = Math.floor(c.y * ratio);
|
||||
x2 = Math.ceil(c.x2 * ratio);
|
||||
|
|
@ -60,7 +60,7 @@ function updateCoords(c)
|
|||
if (imageheight > 0 && y2 > imageheight) {
|
||||
y2 = imageheight;
|
||||
}
|
||||
|
||||
|
||||
//console.log(ratio);
|
||||
jQuery('#x').val(x);
|
||||
jQuery('#y').val(y);
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ function updateTotal(days,mode)
|
|||
for (var i=-1; i < nbline; i++)
|
||||
{
|
||||
/* get value into timespent cell */
|
||||
|
||||
|
||||
var id='timespent['+i+']['+days+']';
|
||||
var taskTime = new Date(0);
|
||||
var element = document.getElementById(id);
|
||||
|
|
@ -152,9 +152,9 @@ function updateTotal(days,mode)
|
|||
//console.log("i="+i+" nbextradays cumul="+nbextradays+" h="+total.getHours()+" "+taskTime.getHours());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* get value into timeadded cell */
|
||||
|
||||
|
||||
var id='timeadded['+i+']['+days+']';
|
||||
var taskTime= new Date(0);
|
||||
var element=document.getElementById(id);
|
||||
|
|
@ -229,21 +229,21 @@ function updateTotal(days,mode)
|
|||
console.log(total.getMinutes())
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
var stringdays = days;
|
||||
if (startline >= 1 && startline <= 9 && stringdays < 10) {
|
||||
stringdays = '0'+stringdays;
|
||||
}
|
||||
|
||||
|
||||
/* Output total in top of column */
|
||||
|
||||
|
||||
if (total.getHours() || total.getMinutes()) jQuery('.totalDay'+stringdays).addClass("bold");
|
||||
else jQuery('.totalDay'+stringdays).removeClass("bold");
|
||||
var texttoshow = pad(nbextradays * 24 + total.getHours())+':'+pad(total.getMinutes());
|
||||
jQuery('.totalDay'+stringdays).text(texttoshow);
|
||||
|
||||
/* Output total of all total */
|
||||
|
||||
|
||||
var totalhour = 0;
|
||||
var totalmin = 0;
|
||||
for (var i=0; i<7; i++)
|
||||
|
|
@ -309,7 +309,7 @@ function updateTotal(days,mode)
|
|||
stringdays = '0'+stringdays;
|
||||
console.log(stringdays);
|
||||
}
|
||||
|
||||
|
||||
if (total) jQuery('.totalDay'+stringdays).addClass("bold");
|
||||
else jQuery('.totalDay'+stringdays).removeClass("bold");
|
||||
jQuery('.totalDay'+stringdays).text(total);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ Description of htdocs/core/login directory
|
|||
This directory contains files that handle the way to validate passwords.
|
||||
|
||||
If you want to add a new password checker function, just add a file in this directory that follow an example of an already existing files.
|
||||
This file must be called for example :
|
||||
This file must be called for example :
|
||||
functions_mypasschecker.php
|
||||
|
||||
Edit the function name to call it:
|
||||
|
|
@ -19,11 +19,10 @@ Then, you must edit you conf.php file to change the value of
|
|||
parameter to set it to :
|
||||
mypasschecker
|
||||
|
||||
Once this is done, when you log in to Dolibarr, the function
|
||||
Once this is done, when you log in to Dolibarr, the function
|
||||
check_user_mypasschecker in this file is called.
|
||||
If the function return true and login exists, login is accepted.
|
||||
|
||||
|
||||
|
||||
See page https://wiki.dolibarr.org/index.php?title=Authentication,_SSO_and_SSL for more information.
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Reçu au titre des dons à certains organismes d’intérêt général</title>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
.tdtop {
|
||||
vertical-align: top;
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
</td>
|
||||
<td width="20%" class="nowrap" align="center" valign="middle">
|
||||
Numéro d'ordre du reçu<br>
|
||||
__REF__
|
||||
__REF__
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
@ -189,7 +189,7 @@
|
|||
<td width="50%">
|
||||
<font size="+1"><b>Prénoms :</b></font><br>
|
||||
__DONATOR_FIRSTNAME__
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
|
|
@ -282,11 +282,11 @@
|
|||
</tr>
|
||||
</table>
|
||||
</font>
|
||||
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
|
||||
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td class="right">
|
||||
|
|
@ -312,4 +312,3 @@
|
|||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
</div>
|
||||
<p><span class="label">__DonationDatePayment__:</span> __DATE__</p>
|
||||
<p><span class="label">__Donor__:</span> __DONOR_FULL_NAME__, __DONOR_FULL_ADDRESS__</p>
|
||||
|
||||
|
||||
<p><span class="label">__PaymentMode__:</span> __PAYMENTMODE_LABEL__</p>
|
||||
<p><span class="label">__Amount__:</span> __AMOUNT__ __CURRENCY_CODE__</p>
|
||||
__NOTE_PUBLIC__
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ $target[0]=array('email'=>'email_0','name'=>'name_0','firstname'=>'firstname_0',
|
|||
$target[n]=array('email'=>'email_n','name'=>'name_n','firstname'=>'firstname_n', 'other'=>'other_n');
|
||||
// ----- Your code end here -----
|
||||
|
||||
and call the method
|
||||
and call the method
|
||||
|
||||
parent::addTargetsToDatabase($mailing_id, $target);
|
||||
|
||||
|
|
@ -52,4 +52,3 @@ parent::addTargetsToDatabase($mailing_id, $target);
|
|||
|
||||
Once this file has been edited, you can go to the Dolibarr emailing feature,
|
||||
you will see a new line selector in the "targets" editor of emailing tool.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
README (english)
|
||||
|
||||
This directory is used for storing the common default templates of the system core. (outside any modules)
|
||||
This directory is used for storing the common default templates of the system core. (outside any modules)
|
||||
|
|
|
|||
|
|
@ -10,6 +10,5 @@ where:
|
|||
directory or value 'all' if not enabled by a particular module.
|
||||
> Mytrigger is name of the trigger. The PHP class inside the trigger file
|
||||
would be named InterfaceMytrigger.
|
||||
> -NORUN is optional and disable completely a trigger file if set. To use
|
||||
> -NORUN is optional and disable completely a trigger file if set. To use
|
||||
a trigger with such a name, rename file to remove the -NORUN part.
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ où:
|
|||
module particulier.
|
||||
> Mytrigger est le nom du trigger. La classe PHP dans le fichier trigger
|
||||
aura pour nom InterfaceMytrigger.
|
||||
> -NORUN est optionnel et désactive le fichier trigger si défini. Pour
|
||||
utiliser un tel fichier trigger, renommer le fichier afin
|
||||
> -NORUN est optionnel et désactive le fichier trigger si défini. Pour
|
||||
utiliser un tel fichier trigger, renommer le fichier afin
|
||||
d'enlever la partie -NORUN.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# DO NOT DELETE THIS FILE MANUALLY
|
||||
# File to flag module built using official module template.
|
||||
# When this file is present into a module directory, you can edit it with the module builder tool. Use ModuleBuilder if you want to delete module.
|
||||
# When this file is present into a module directory, you can edit it with the module builder tool. Use ModuleBuilder if you want to delete module.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# DO NOT DELETE THIS FILE MANUALLY
|
||||
# File to flag module built using official module template.
|
||||
# When this file is present into a module directory, you can edit it with the module builder tool. Use ModuleBuilder if you want to delete module.
|
||||
# When this file is present into a module directory, you can edit it with the module builder tool. Use ModuleBuilder if you want to delete module.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# DO NOT DELETE THIS FILE MANUALLY
|
||||
# File to flag module built using official module template.
|
||||
# When this file is present into a module directory, you can edit it with the module builder tool.
|
||||
# When this file is present into a module directory, you can edit it with the module builder tool.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
# DO NOT DELETE THIS FILE MANUALLY
|
||||
# File to flag module built using official module template.
|
||||
# When this file is present into a module directory, you can edit it with the module builder tool.
|
||||
# When this file is present into a module directory, you can edit it with the module builder tool.
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ class Yahoo extends AbstractService
|
|||
);
|
||||
|
||||
|
||||
|
||||
|
||||
$headers = array_merge($authorizationHeader, $this->getExtraOAuthHeaders(), array());
|
||||
|
||||
$responseBody = $this->httpClient->retrieveResponse($this->getAccessTokenEndpoint(), $bodyParams, $headers);
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ class Facebook extends AbstractService
|
|||
|
||||
$token = new StdOAuth2Token();
|
||||
$token->setAccessToken($data['access_token']);
|
||||
|
||||
|
||||
if (isset($data['expires'])) {
|
||||
$token->setLifeTime($data['expires']);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,22 +24,22 @@ class Pocket extends AbstractService
|
|||
$this->baseApiUri = new Uri('https://getpocket.com/v3/');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function getRequestTokenEndpoint()
|
||||
{
|
||||
return new Uri('https://getpocket.com/v3/oauth/request');
|
||||
}
|
||||
|
||||
|
||||
public function getAuthorizationEndpoint()
|
||||
{
|
||||
return new Uri('https://getpocket.com/auth/authorize');
|
||||
}
|
||||
|
||||
|
||||
public function getAccessTokenEndpoint()
|
||||
{
|
||||
return new Uri('https://getpocket.com/v3/oauth/authorize');
|
||||
}
|
||||
|
||||
|
||||
public function getAuthorizationUri(array $additionalParameters = array())
|
||||
{
|
||||
$parameters = array_merge(
|
||||
|
|
@ -48,7 +48,7 @@ class Pocket extends AbstractService
|
|||
'redirect_uri' => $this->credentials->getCallbackUrl(),
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
// Build the url
|
||||
$url = clone $this->getAuthorizationEndpoint();
|
||||
foreach ($parameters as $key => $val) {
|
||||
|
|
@ -57,7 +57,7 @@ class Pocket extends AbstractService
|
|||
|
||||
return $url;
|
||||
}
|
||||
|
||||
|
||||
public function requestRequestToken()
|
||||
{
|
||||
$responseBody = $this->httpClient->retrieveResponse(
|
||||
|
|
@ -67,16 +67,16 @@ class Pocket extends AbstractService
|
|||
'redirect_uri' => $this->credentials->getCallbackUrl(),
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
$code = $this->parseRequestTokenResponse($responseBody);
|
||||
|
||||
return $code;
|
||||
}
|
||||
|
||||
|
||||
protected function parseRequestTokenResponse($responseBody)
|
||||
{
|
||||
parse_str($responseBody, $data);
|
||||
|
||||
|
||||
if (null === $data || !is_array($data)) {
|
||||
throw new TokenResponseException('Unable to parse response.');
|
||||
} elseif (!isset($data['code'])) {
|
||||
|
|
@ -84,7 +84,7 @@ class Pocket extends AbstractService
|
|||
}
|
||||
return $data['code'];
|
||||
}
|
||||
|
||||
|
||||
public function requestAccessToken($code)
|
||||
{
|
||||
$bodyParams = array(
|
||||
|
|
@ -102,24 +102,24 @@ class Pocket extends AbstractService
|
|||
|
||||
return $token;
|
||||
}
|
||||
|
||||
|
||||
protected function parseAccessTokenResponse($responseBody)
|
||||
{
|
||||
parse_str($responseBody, $data);
|
||||
|
||||
|
||||
if ($data === null || !is_array($data)) {
|
||||
throw new TokenResponseException('Unable to parse response.');
|
||||
} elseif (isset($data['error'])) {
|
||||
throw new TokenResponseException('Error in retrieving token: "' . $data['error'] . '"');
|
||||
}
|
||||
|
||||
|
||||
$token = new StdOAuth2Token();
|
||||
#$token->setRequestToken($data['access_token']);
|
||||
$token->setAccessToken($data['access_token']);
|
||||
$token->setEndOfLife(StdOAuth2Token::EOL_NEVER_EXPIRES);
|
||||
unset($data['access_token']);
|
||||
$token->setExtraParams($data);
|
||||
|
||||
|
||||
return $token;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ class Vkontakte extends AbstractService
|
|||
|
||||
return $token;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -7,4 +7,4 @@ spl_autoload_register(function ($class_name) {
|
|||
$class_name = preg_replace('/^Psr\\/SimpleCache\\//', '', $class_name);
|
||||
require_once(__DIR__ . '/simple-cache/src/' . $class_name . '.php');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
demo/
|
||||
kitchen-sink.html
|
||||
* *
|
||||
* *
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
2021.09.30 Version 1.4.13
|
||||
* added useStrictCSP global option to use in environments where dynamic style creation is disabled
|
||||
see demo/csp.html for an example of a page which loads external css files instead of generating styles with javascript
|
||||
* updated vim mode, added support for gqq command
|
||||
* updated vim mode, added support for gqq command
|
||||
|
||||
2020.07.06 Version 1.4.12
|
||||
* removed unused es5-shim
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
* added code folding support for vbscript mode
|
||||
|
||||
2020.04.01 Version 1.4.9
|
||||
* added option to disable autoindent
|
||||
* added option to disable autoindent
|
||||
* added new language modes
|
||||
* fixed backspace not working with some mobile keyboards
|
||||
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
* fix backspace handling on mobile
|
||||
|
||||
2019.06.17 Version 1.4.5
|
||||
* improve scrolling and selection on mobile
|
||||
* improve scrolling and selection on mobile
|
||||
* improve type definitions
|
||||
|
||||
2019.04.24 Version 1.4.4
|
||||
|
|
@ -62,7 +62,7 @@
|
|||
* remove usage of innerHTML
|
||||
* improved handling of textinput for IME and mobile
|
||||
* add support for relative line numbers
|
||||
* improve autocompletion popup
|
||||
* improve autocompletion popup
|
||||
|
||||
2018.03.26 Version 1.3.3
|
||||
* fix regession in static-highlight extension
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
|
||||
2018.01.31 Version 1.3.0
|
||||
|
||||
* added copy copyWithEmptySelection option
|
||||
* added copy copyWithEmptySelection option
|
||||
* improved undoManager
|
||||
* improved settings_menu plugin
|
||||
* improved handling of files with very long lines
|
||||
|
|
@ -126,7 +126,7 @@
|
|||
* Bugfixes
|
||||
- fix memory leak in setSession (Tyler Stalder)
|
||||
- double click not working on linux/mac
|
||||
|
||||
|
||||
* new language modes
|
||||
- reStructuredText (Robin Jarry)
|
||||
- NSIS (Jan T. Sott)
|
||||
|
|
@ -150,7 +150,7 @@
|
|||
|
||||
* new language modes
|
||||
- SQLServer (Morgan Yarbrough)
|
||||
|
||||
|
||||
2015.04.03 Version 1.1.9
|
||||
|
||||
- Small Enhancements and Bugfixes
|
||||
|
|
@ -159,14 +159,14 @@
|
|||
|
||||
* API Changes
|
||||
- `editor.commands.commandKeyBinding` now contains direct map from keys to commands instead of grouping them by hashid
|
||||
|
||||
|
||||
* New Features
|
||||
- Improved autoindent for html and php modes (Adam Jimenez)
|
||||
- Find All from searchbox (Colton Voege)
|
||||
|
||||
|
||||
* new language modes
|
||||
- Elixir, Elm
|
||||
|
||||
|
||||
2014.09.21 Version 1.1.7
|
||||
|
||||
* Bugfixes
|
||||
|
|
@ -176,9 +176,9 @@
|
|||
2014.08.17 Version 1.1.6
|
||||
|
||||
* Bugfixes
|
||||
- fix regression in double tap to highlight
|
||||
- fix regression in double tap to highlight
|
||||
- Improved Latex Mode (Daniel Felder)
|
||||
|
||||
|
||||
* API Changes
|
||||
- editor.destroy destroys editor.session too (call editor.setSession(null) to prevent that)
|
||||
|
||||
|
|
@ -186,7 +186,7 @@
|
|||
- Praat (José Joaquín Atria)
|
||||
- Eiffel (Victorien Elvinger)
|
||||
- G-code (Adam Joseph Cook)
|
||||
|
||||
|
||||
2014.07.09 Version 1.1.5
|
||||
|
||||
* Bugfixes
|
||||
|
|
@ -194,7 +194,7 @@
|
|||
|
||||
* new language modes
|
||||
- gitignore (Devon Carew)
|
||||
|
||||
|
||||
2014.07.01 Version 1.1.4
|
||||
|
||||
* New Features
|
||||
|
|
@ -212,7 +212,7 @@
|
|||
- Add ColdFusion behavior (Abram Adams)
|
||||
- add showLineNumbers option
|
||||
- Add html syntax checker (danyaPostfactum)
|
||||
|
||||
|
||||
* new language modes
|
||||
- Gherkin (Patrick Nevels)
|
||||
- Smarty
|
||||
|
|
@ -231,7 +231,7 @@
|
|||
- add option to merge similar changes in undo history
|
||||
- add scrollPastEnd option
|
||||
- use html5 dragndrop for text dragging (danyaPostfactum)
|
||||
|
||||
|
||||
* API Changes
|
||||
- fixed typo in HashHandler commmandManager
|
||||
|
||||
|
|
@ -289,10 +289,10 @@
|
|||
- Added suppoert for Delete and SelectAll from context menu (danyaPostfactum)
|
||||
|
||||
- Make wrapping behavior optional
|
||||
- Selective bracket insertion/skipping
|
||||
|
||||
- Added commands for increase/decrease numbers, sort lines (Vlad Zinculescu)
|
||||
- Folding for Markdown, Lua, LaTeX
|
||||
- Selective bracket insertion/skipping
|
||||
|
||||
- Added commands for increase/decrease numbers, sort lines (Vlad Zinculescu)
|
||||
- Folding for Markdown, Lua, LaTeX
|
||||
- Selective bracket insertion/skipping for C-like languages
|
||||
|
||||
* Many new languages
|
||||
|
|
@ -301,19 +301,19 @@
|
|||
- FreeMarker (nguillaumin)
|
||||
- Tiny Mushcode (h3rb)
|
||||
- Velocity (Ryan Griffith)
|
||||
- TOML (Garen Torikian)
|
||||
- TOML (Garen Torikian)
|
||||
- LSL (Nemurimasu Neiro, Builders Brewery)
|
||||
- Curly (Libo Cannici)
|
||||
- vbScript (Jan Jongboom)
|
||||
- R (RStudio)
|
||||
- vbScript (Jan Jongboom)
|
||||
- R (RStudio)
|
||||
- ABAP
|
||||
- Lucene (Graham Scott)
|
||||
- Haml (Garen Torikian)
|
||||
- Objective-C (Garen Torikian)
|
||||
- Makefile (Garen Torikian)
|
||||
- TypeScript (Garen Torikian)
|
||||
- Lisp (Garen Torikian)
|
||||
- Stylus (Garen Torikian)
|
||||
- Objective-C (Garen Torikian)
|
||||
- Makefile (Garen Torikian)
|
||||
- TypeScript (Garen Torikian)
|
||||
- Lisp (Garen Torikian)
|
||||
- Stylus (Garen Torikian)
|
||||
- Dart (Garen Torikian)
|
||||
|
||||
* Live syntax checks
|
||||
|
|
@ -321,9 +321,9 @@
|
|||
- Lua
|
||||
|
||||
* New Themes
|
||||
- Chaos
|
||||
- Terminal
|
||||
|
||||
- Chaos
|
||||
- Terminal
|
||||
|
||||
2012.09.17, Version 1.0.0
|
||||
|
||||
* New Features
|
||||
|
|
@ -367,7 +367,7 @@
|
|||
- XCode
|
||||
|
||||
* Many Small Enhancements and Bugfixes
|
||||
|
||||
|
||||
2011.08.02, Version 0.2.0
|
||||
|
||||
* Split view (Julian Viereck)
|
||||
|
|
@ -395,7 +395,7 @@
|
|||
- SVG
|
||||
- Textile (Kelley van Evert)
|
||||
- SCAD (Jacob Hansson)
|
||||
|
||||
|
||||
* Live syntax checks
|
||||
- Lint for CSS using CSS Lint <http://csslint.net/>
|
||||
- CoffeeScript
|
||||
|
|
@ -431,7 +431,7 @@
|
|||
2011.02.14, Version 0.1.6
|
||||
|
||||
* Floating Anchors
|
||||
- An Anchor is a floating pointer in the document.
|
||||
- An Anchor is a floating pointer in the document.
|
||||
- Whenever text is inserted or deleted before the cursor, the position of
|
||||
the cursor is updated
|
||||
- Usesd for the cursor and selection
|
||||
|
|
@ -442,7 +442,7 @@
|
|||
- remove to end/start of line
|
||||
- split line
|
||||
- transpose letters
|
||||
* Refator markers
|
||||
* Refator markers
|
||||
- Custom code can be used to render markers
|
||||
- Markers can be in front or behind the text
|
||||
- Markers are now stored in the session (was in the renderer)
|
||||
|
|
|
|||
|
|
@ -71,8 +71,8 @@ Copyright FAQ
|
|||
2. I want to package these fonts separately for distribution and
|
||||
sale as part of a larger software package or system. Can I do so?
|
||||
|
||||
Yes. A RPM or Debian package is a "larger software package" to begin
|
||||
with, and you aren't selling them independently by themselves.
|
||||
Yes. A RPM or Debian package is a "larger software package" to begin
|
||||
with, and you aren't selling them independently by themselves.
|
||||
See 1. above.
|
||||
|
||||
3. Are derivative works allowed?
|
||||
|
|
@ -91,7 +91,7 @@ Copyright FAQ
|
|||
opening). You must include the Bitstream copyright. Additional
|
||||
copyrights can be added, as per copyright law. Happy Font Hacking!
|
||||
|
||||
6. If I have improvements for Bitstream Vera, is it possible they might get
|
||||
6. If I have improvements for Bitstream Vera, is it possible they might get
|
||||
adopted in future versions?
|
||||
|
||||
Yes. The contract between the Gnome Foundation and Bitstream has
|
||||
|
|
@ -110,7 +110,7 @@ Copyright FAQ
|
|||
Sure. Bundle the fonts with your software and sell your software
|
||||
with the fonts. That is the intent of the copyright.
|
||||
|
||||
8. If applications have built the names "Bitstream Vera" into them,
|
||||
8. If applications have built the names "Bitstream Vera" into them,
|
||||
can I override this somehow to use fonts of my choosing?
|
||||
|
||||
This depends on exact details of the software. Most open source
|
||||
|
|
@ -121,4 +121,3 @@ Copyright FAQ
|
|||
supplied local.conf file, which chooses the family Bitstream Vera for
|
||||
"sans", "serif" and "monospace". Other software (e.g., the XFree86
|
||||
core server) has other mechanisms for font substitution.
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -2642,4 +2642,3 @@ a.ui-button:active,
|
|||
-webkit-box-shadow: -8px -8px 8px #aaaaaa;
|
||||
box-shadow: -8px -8px 8px #aaaaaa;
|
||||
}
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
4
htdocs/includes/jquery/js/jquery-ui.js
vendored
4
htdocs/includes/jquery/js/jquery-ui.js
vendored
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
( function( factory ) {
|
||||
"use strict";
|
||||
|
||||
|
||||
if ( typeof define === "function" && define.amd ) {
|
||||
|
||||
// AMD. Register as an anonymous module.
|
||||
|
|
@ -19059,4 +19059,4 @@ var widgetsTooltip = $.ui.tooltip;
|
|||
|
||||
|
||||
|
||||
} );
|
||||
} );
|
||||
|
|
|
|||
2
htdocs/includes/jquery/js/jquery-ui.min.js
vendored
2
htdocs/includes/jquery/js/jquery-ui.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -55,4 +55,4 @@
|
|||
.colorpicker-label {
|
||||
float: left;
|
||||
margin-right: 2px;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
var clear = $('<div style="clear:both;"></div>');
|
||||
|
||||
var clickcount=0;
|
||||
|
||||
|
||||
return this.each(function() {
|
||||
obj = this;
|
||||
|
||||
|
|
@ -98,7 +98,7 @@
|
|||
var offset = $(this).position();
|
||||
var top = offset.top;
|
||||
var left = offset.left + $(this).width() + 5;
|
||||
if ((left + (options.size + 4) * options.count) > $(window).width())
|
||||
if ((left + (options.size + 4) * options.count) > $(window).width())
|
||||
{
|
||||
left = offset.left - (options.size + 4) * options.count - 15;
|
||||
}
|
||||
|
|
@ -134,4 +134,4 @@
|
|||
}
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
||||
})(jQuery);
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
/** @preserve
|
||||
/** @preserve
|
||||
jSignature v2 "${buildDate}" "${commitID}"
|
||||
Copyright (c) 2012 Willow Systems Corp http://willow-systems.com
|
||||
Copyright (c) 2010 Brinley Ang http://www.unbolt.net
|
||||
MIT License <http://www.opensource.org/licenses/mit-license.php>
|
||||
MIT License <http://www.opensource.org/licenses/mit-license.php>
|
||||
|
||||
*/
|
||||
;(function() {
|
||||
|
|
@ -25,7 +25,7 @@ var KickTimerClass = function(time, callback) {
|
|||
timer = setTimeout(
|
||||
callback
|
||||
, time
|
||||
)
|
||||
)
|
||||
}
|
||||
this.clear = function() {
|
||||
clearTimeout(timer)
|
||||
|
|
@ -35,7 +35,7 @@ var KickTimerClass = function(time, callback) {
|
|||
|
||||
var PubSubClass = function(context){
|
||||
'use strict'
|
||||
/* @preserve
|
||||
/* @preserve
|
||||
-----------------------------------------------------------------------------------------------
|
||||
JavaScript PubSub library
|
||||
2012 (c) Willow Systems Corp (www.willow-systems.com)
|
||||
|
|
@ -68,7 +68,7 @@ var PubSubClass = function(context){
|
|||
|
||||
for (i = 0, l = currentTopic.length; i < l; i++) {
|
||||
pair = currentTopic[i] // this is a [function, once_flag] array
|
||||
fn = pair[0]
|
||||
fn = pair[0]
|
||||
if (pair[1] /* 'run once' flag set */){
|
||||
pair[0] = function(){}
|
||||
toremove.push(i)
|
||||
|
|
@ -81,13 +81,13 @@ var PubSubClass = function(context){
|
|||
}
|
||||
}
|
||||
/**
|
||||
* Allows listener code to subscribe to channel and be called when data is available
|
||||
* Allows listener code to subscribe to channel and be called when data is available
|
||||
* @public
|
||||
* @function
|
||||
* @param topic {String} Name of the channel on which to voice this event
|
||||
* @param callback {Function} Executable (function pointer) that will be ran when event is voiced on this channel.
|
||||
* @param once {Boolean} (optional. False by default) Flag indicating if the function is to be triggered only once.
|
||||
* @returns {Object} A token object that cen be used for unsubscribing.
|
||||
* @returns {Object} A token object that cen be used for unsubscribing.
|
||||
*/
|
||||
this.subscribe = function(topic, callback, once) {
|
||||
'use strict'
|
||||
|
|
@ -102,15 +102,15 @@ var PubSubClass = function(context){
|
|||
};
|
||||
};
|
||||
/**
|
||||
* Allows listener code to unsubscribe from a channel
|
||||
* Allows listener code to unsubscribe from a channel
|
||||
* @public
|
||||
* @function
|
||||
* @param token {Object} A token object that was returned by `subscribe` method
|
||||
* @param token {Object} A token object that was returned by `subscribe` method
|
||||
*/
|
||||
this.unsubscribe = function(token) {
|
||||
if (this.topics[token.topic]) {
|
||||
var currentTopic = this.topics[token.topic]
|
||||
|
||||
|
||||
for (var i = 0, l = currentTopic.length; i < l; i++) {
|
||||
if (currentTopic[i][0] === token.callback) {
|
||||
currentTopic.splice(i, 1)
|
||||
|
|
@ -127,7 +127,7 @@ function getColors($e){
|
|||
, frontcolor = $e.css('color')
|
||||
, backcolor
|
||||
, e = $e[0]
|
||||
|
||||
|
||||
var toOfDOM = false
|
||||
while(e && !backcolor && !toOfDOM){
|
||||
try{
|
||||
|
|
@ -192,18 +192,18 @@ function getColors($e){
|
|||
// backcolorcomponents = {'r':0,'g':0,'b':0}
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
// Deriving Decor color
|
||||
// THis is LAZY!!!! Better way would be to use HSL and adjust luminocity. However, that could be an overkill.
|
||||
|
||||
var toRGBfn = function(o){return 'rgb(' + [o.r, o.g, o.b].join(', ') + ')'}
|
||||
// THis is LAZY!!!! Better way would be to use HSL and adjust luminocity. However, that could be an overkill.
|
||||
|
||||
var toRGBfn = function(o){return 'rgb(' + [o.r, o.g, o.b].join(', ') + ')'}
|
||||
, decorcolorcomponents
|
||||
, frontcolorbrightness
|
||||
, adjusted
|
||||
|
||||
|
||||
if (frontcolorcomponents && backcolorcomponents){
|
||||
var backcolorbrightness = Math.max.apply(null, [frontcolorcomponents.r, frontcolorcomponents.g, frontcolorcomponents.b])
|
||||
|
||||
|
||||
frontcolorbrightness = Math.max.apply(null, [backcolorcomponents.r, backcolorcomponents.g, backcolorcomponents.b])
|
||||
adjusted = Math.round(frontcolorbrightness + (-1 * (frontcolorbrightness - backcolorbrightness) * 0.75)) // "dimming" the difference between pen and back.
|
||||
decorcolorcomponents = {'r':adjusted,'g':adjusted,'b':adjusted} // always shade of gray
|
||||
|
|
@ -231,7 +231,7 @@ function Vector(x,y){
|
|||
this.x = x
|
||||
this.y = y
|
||||
this.reverse = function(){
|
||||
return new this.constructor(
|
||||
return new this.constructor(
|
||||
this.x * -1
|
||||
, this.y * -1
|
||||
)
|
||||
|
|
@ -243,7 +243,7 @@ function Vector(x,y){
|
|||
}
|
||||
return this._length
|
||||
}
|
||||
|
||||
|
||||
var polarity = function (e){
|
||||
return Math.round(e / Math.abs(e))
|
||||
}
|
||||
|
|
@ -267,12 +267,12 @@ function Vector(x,y){
|
|||
}
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Calculates the angle between 'this' vector and another.
|
||||
* @public
|
||||
* @function
|
||||
* @returns {Number} The angle between the two vectors as measured in PI.
|
||||
* @returns {Number} The angle between the two vectors as measured in PI.
|
||||
*/
|
||||
this.angleTo = function(vectorB) {
|
||||
var divisor = this.getLength() * vectorB.getLength()
|
||||
|
|
@ -283,8 +283,8 @@ function Vector(x,y){
|
|||
// because of it, the core of the formula can, on occasion, have values
|
||||
// over 1.0 and below -1.0.
|
||||
return Math.acos(
|
||||
Math.min(
|
||||
Math.max(
|
||||
Math.min(
|
||||
Math.max(
|
||||
( this.x * vectorB.x + this.y * vectorB.y ) / divisor
|
||||
, -1.0
|
||||
)
|
||||
|
|
@ -298,7 +298,7 @@ function Vector(x,y){
|
|||
function Point(x,y){
|
||||
this.x = x
|
||||
this.y = y
|
||||
|
||||
|
||||
this.getVectorToCoordinates = function (x, y) {
|
||||
return new Vector(x - this.x, y - this.y)
|
||||
}
|
||||
|
|
@ -316,17 +316,17 @@ function Point(x,y){
|
|||
/*
|
||||
* About data structure:
|
||||
* We don't store / deal with "pictures" this signature capture code captures "vectors"
|
||||
*
|
||||
*
|
||||
* We don't store bitmaps. We store "strokes" as arrays of arrays. (Actually, arrays of objects containing arrays of coordinates.
|
||||
*
|
||||
*
|
||||
* Stroke = mousedown + mousemoved * n (+ mouseup but we don't record that as that was the "end / lack of movement" indicator)
|
||||
*
|
||||
*
|
||||
* Vectors = not classical vectors where numbers indicated shift relative last position. Our vectors are actually coordinates against top left of canvas.
|
||||
* we could calc the classical vectors, but keeping the the actual coordinates allows us (through Math.max / min)
|
||||
* we could calc the classical vectors, but keeping the the actual coordinates allows us (through Math.max / min)
|
||||
* to calc the size of resulting drawing very quickly. If we want classical vectors later, we can always get them in backend code.
|
||||
*
|
||||
*
|
||||
* So, the data structure:
|
||||
*
|
||||
*
|
||||
* var data = [
|
||||
* { // stroke starts
|
||||
* x : [101, 98, 57, 43] // x points
|
||||
|
|
@ -341,9 +341,9 @@ function Point(x,y){
|
|||
* , y : [151] // y points
|
||||
* } // stroke ends
|
||||
* ]
|
||||
*
|
||||
*
|
||||
* we don't care or store stroke width (it's canvas-size-relative), color, shadow values. These can be added / changed on whim post-capture.
|
||||
*
|
||||
*
|
||||
*/
|
||||
function DataEngine(storageObject, context, startStrokeFn, addToStrokeFn, endStrokeFn){
|
||||
this.data = storageObject // we expect this to be an instance of Array
|
||||
|
|
@ -354,7 +354,7 @@ function DataEngine(storageObject, context, startStrokeFn, addToStrokeFn, endStr
|
|||
var numofstrokes = storageObject.length
|
||||
, stroke
|
||||
, numofpoints
|
||||
|
||||
|
||||
for (var i = 0; i < numofstrokes; i++){
|
||||
stroke = storageObject[i]
|
||||
numofpoints = stroke.x.length
|
||||
|
|
@ -367,13 +367,13 @@ function DataEngine(storageObject, context, startStrokeFn, addToStrokeFn, endStr
|
|||
}
|
||||
|
||||
this.changed = function(){}
|
||||
|
||||
|
||||
this.startStrokeFn = startStrokeFn
|
||||
this.addToStrokeFn = addToStrokeFn
|
||||
this.endStrokeFn = endStrokeFn
|
||||
|
||||
this.inStroke = false
|
||||
|
||||
|
||||
this._lastPoint = null
|
||||
this._stroke = null
|
||||
this.startStroke = function(point){
|
||||
|
|
@ -383,7 +383,7 @@ function DataEngine(storageObject, context, startStrokeFn, addToStrokeFn, endStr
|
|||
this._lastPoint = point
|
||||
this.inStroke = true
|
||||
// 'this' does not work same inside setTimeout(
|
||||
var stroke = this._stroke
|
||||
var stroke = this._stroke
|
||||
, fn = this.startStrokeFn
|
||||
, context = this.context
|
||||
setTimeout(
|
||||
|
|
@ -402,8 +402,8 @@ function DataEngine(storageObject, context, startStrokeFn, addToStrokeFn, endStr
|
|||
// when clustering of these is too tight, it produces noise on the line, which, because of smoothing, makes lines too curvy.
|
||||
// maybe, later, we can expose this as a configurable setting of some sort.
|
||||
this.addToStroke = function(point){
|
||||
if (this.inStroke &&
|
||||
typeof(point.x) === "number" &&
|
||||
if (this.inStroke &&
|
||||
typeof(point.x) === "number" &&
|
||||
typeof(point.y) === "number" &&
|
||||
// calculates absolute shift in diagonal pixels away from original point
|
||||
(Math.abs(point.x - this._lastPoint.x) + Math.abs(point.y - this._lastPoint.y)) > 4
|
||||
|
|
@ -412,7 +412,7 @@ function DataEngine(storageObject, context, startStrokeFn, addToStrokeFn, endStr
|
|||
this._stroke.x.push(point.x)
|
||||
this._stroke.y.push(point.y)
|
||||
this._lastPoint = point
|
||||
|
||||
|
||||
var stroke = this._stroke
|
||||
, fn = this.addToStrokeFn
|
||||
, context = this.context
|
||||
|
|
@ -478,7 +478,7 @@ var basicDot = function(ctx, x, y, size){
|
|||
// Because we are funky this way, here we draw TWO curves.
|
||||
// 1. POSSIBLY "this line" - spanning from point right before us, to this latest point.
|
||||
// 2. POSSIBLY "prior curve" - spanning from "latest point" to the one before it.
|
||||
|
||||
|
||||
// Why you ask?
|
||||
// long lines (ones with many pixels between them) do not look good when they are part of a large curvy stroke.
|
||||
// You know, the jaggedy crocodile spine instead of a pretty, smooth curve. Yuck!
|
||||
|
|
@ -486,23 +486,23 @@ var basicDot = function(ctx, x, y, size){
|
|||
// To approximate a very nice curve we need to know the direction of line before and after.
|
||||
// Hence, on long lines we actually wait for another point beyond it to come back from
|
||||
// mousemoved before we draw this curve.
|
||||
|
||||
// So for "prior curve" to be calc'ed we need 4 points
|
||||
|
||||
// So for "prior curve" to be calc'ed we need 4 points
|
||||
// A, B, C, D (we are on D now, A is 3 points in the past.)
|
||||
// and 3 lines:
|
||||
// pre-line (from points A to B),
|
||||
// this line (from points B to C), (we call it "this" because if it was not yet, it's the only one we can draw for sure.)
|
||||
// pre-line (from points A to B),
|
||||
// this line (from points B to C), (we call it "this" because if it was not yet, it's the only one we can draw for sure.)
|
||||
// post-line (from points C to D) (even through D point is 'current' we don't know how we can draw it yet)
|
||||
//
|
||||
// Well, actually, we don't need to *know* the point A, just the vector A->B
|
||||
var Cpoint = new Point(stroke.x[positionInStroke-1], stroke.y[positionInStroke-1])
|
||||
, Dpoint = new Point(stroke.x[positionInStroke], stroke.y[positionInStroke])
|
||||
, CDvector = Cpoint.getVectorToPoint(Dpoint)
|
||||
|
||||
|
||||
// Again, we have a chance here to draw TWO things:
|
||||
// BC Curve (only if it's long, because if it was short, it was drawn by previous callback) and
|
||||
// BC Curve (only if it's long, because if it was short, it was drawn by previous callback) and
|
||||
// CD Line (only if it's short)
|
||||
|
||||
|
||||
// So, let's start with BC curve.
|
||||
// if there is only 2 points in stroke array, we don't have "history" long enough to have point B, let alone point A.
|
||||
// Falling through to drawing line CD is proper, as that's the only line we have points for.
|
||||
|
|
@ -530,7 +530,7 @@ var basicDot = function(ctx, x, y, size){
|
|||
, CCP2vector = (new Vector(BCvector.x + CDvector.x, BCvector.y + CDvector.y)).reverse().resizeTo(
|
||||
Math.max(minlenfraction, BCDangle) * maxlen
|
||||
)
|
||||
|
||||
|
||||
basicCurve(
|
||||
this.canvasContext
|
||||
, Bpoint.x
|
||||
|
|
@ -558,23 +558,23 @@ var basicDot = function(ctx, x, y, size){
|
|||
// this = jSignatureClass instance
|
||||
|
||||
// Here we tidy up things left unfinished in last strokeAddCallback run.
|
||||
|
||||
|
||||
// What's POTENTIALLY left unfinished there is the curve between the last points
|
||||
// in the stroke, if the len of that line is more than lineCurveThreshold
|
||||
// If the last line was shorter than lineCurveThreshold, it was drawn there, and there
|
||||
// is nothing for us here to do.
|
||||
// We can also be called when there is only one point in the stroke (meaning, the
|
||||
// We can also be called when there is only one point in the stroke (meaning, the
|
||||
// stroke was just a dot), in which case, again, there is nothing for us to do.
|
||||
|
||||
// So for "this curve" to be calc'ed we need 3 points
|
||||
|
||||
// So for "this curve" to be calc'ed we need 3 points
|
||||
// A, B, C
|
||||
// and 2 lines:
|
||||
// pre-line (from points A to B),
|
||||
// this line (from points B to C)
|
||||
// pre-line (from points A to B),
|
||||
// this line (from points B to C)
|
||||
// Well, actually, we don't need to *know* the point A, just the vector A->B
|
||||
// so, we really need points B, C and AB vector.
|
||||
var positionInStroke = stroke.x.length - 1
|
||||
|
||||
|
||||
if (positionInStroke > 0){
|
||||
// there are at least 2 points in the stroke.we are in business.
|
||||
var Cpoint = new Point(stroke.x[positionInStroke], stroke.y[positionInStroke])
|
||||
|
|
@ -649,7 +649,7 @@ var getDataStats = function(){
|
|||
function conditionallyLinkCanvasResizeToWindowResize(jSignatureInstance, settingsWidth, apinamespace, globalEvents){
|
||||
'use strict'
|
||||
if ( settingsWidth === 'ratio' || settingsWidth.split('')[settingsWidth.length - 1] === '%' ) {
|
||||
|
||||
|
||||
this.eventTokens[apinamespace + '.parentresized'] = globalEvents.subscribe(
|
||||
apinamespace + '.parentresized'
|
||||
, (function(eventTokens, $parent, originalParentWidth, sizeRatio){
|
||||
|
|
@ -660,9 +660,9 @@ function conditionallyLinkCanvasResizeToWindowResize(jSignatureInstance, setting
|
|||
|
||||
var w = $parent.width()
|
||||
if (w !== originalParentWidth) {
|
||||
|
||||
|
||||
// UNsubscribing this particular instance of signature pad only.
|
||||
// there is a separate `eventTokens` per each instance of signature pad
|
||||
// there is a separate `eventTokens` per each instance of signature pad
|
||||
for (var key in eventTokens){
|
||||
if (eventTokens.hasOwnProperty(key)) {
|
||||
globalEvents.unsubscribe(eventTokens[key])
|
||||
|
|
@ -677,21 +677,21 @@ function conditionallyLinkCanvasResizeToWindowResize(jSignatureInstance, setting
|
|||
delete jSignatureInstance[key]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// scale data to new signature pad size
|
||||
settings.data = (function(data, scale){
|
||||
var newData = []
|
||||
var o, i, l, j, m, stroke
|
||||
for ( i = 0, l = data.length; i < l; i++) {
|
||||
stroke = data[i]
|
||||
|
||||
|
||||
o = {'x':[],'y':[]}
|
||||
|
||||
|
||||
for ( j = 0, m = stroke.x.length; j < m; j++) {
|
||||
o.x.push(stroke.x[j] * scale)
|
||||
o.y.push(stroke.y[j] * scale)
|
||||
}
|
||||
|
||||
|
||||
newData.push(o)
|
||||
}
|
||||
return newData
|
||||
|
|
@ -699,7 +699,7 @@ function conditionallyLinkCanvasResizeToWindowResize(jSignatureInstance, setting
|
|||
settings.data
|
||||
, w * 1.0 / originalParentWidth
|
||||
)
|
||||
|
||||
|
||||
$parent[apinamespace](settings)
|
||||
}
|
||||
}
|
||||
|
|
@ -732,7 +732,7 @@ function jSignatureClass(parent, options, instanceExtensions) {
|
|||
,'showUndoButton': false
|
||||
,'data': []
|
||||
}
|
||||
|
||||
|
||||
$.extend(settings, getColors($parent))
|
||||
if (options) {
|
||||
$.extend(settings, options)
|
||||
|
|
@ -776,7 +776,7 @@ function jSignatureClass(parent, options, instanceExtensions) {
|
|||
return Math.max(
|
||||
Math.round(canvasWidth / 400) /*+1 pixel for every extra 300px of width.*/
|
||||
, 2 /* minimum line width */
|
||||
)
|
||||
)
|
||||
} else {
|
||||
return defaultLineWidth
|
||||
}
|
||||
|
|
@ -830,7 +830,7 @@ function jSignatureClass(parent, options, instanceExtensions) {
|
|||
this.drawStartHandler = function(e) {
|
||||
e.preventDefault()
|
||||
// for performance we cache the offsets
|
||||
// we recalc these only at the beginning the stroke
|
||||
// we recalc these only at the beginning the stroke
|
||||
setStartValues()
|
||||
jSignatureInstance.dataEngine.startStroke( getPointFromEvent(e) )
|
||||
timer.kick()
|
||||
|
|
@ -839,7 +839,7 @@ function jSignatureClass(parent, options, instanceExtensions) {
|
|||
e.preventDefault()
|
||||
if (!jSignatureInstance.dataEngine.inStroke){
|
||||
return
|
||||
}
|
||||
}
|
||||
jSignatureInstance.dataEngine.addToStroke( getPointFromEvent(e) )
|
||||
timer.kick()
|
||||
}
|
||||
|
|
@ -866,7 +866,7 @@ function jSignatureClass(parent, options, instanceExtensions) {
|
|||
canvas.onmousemove = undef
|
||||
|
||||
this.fatFingerCompensation = (
|
||||
settings.minFatFingerCompensation &&
|
||||
settings.minFatFingerCompensation &&
|
||||
settings.lineWidth * -3 > settings.minFatFingerCompensation
|
||||
) ? settings.lineWidth * -3 : settings.minFatFingerCompensation
|
||||
|
||||
|
|
@ -888,7 +888,7 @@ function jSignatureClass(parent, options, instanceExtensions) {
|
|||
canvas.onmousemove = drawMoveHandler
|
||||
}
|
||||
}
|
||||
}).call(
|
||||
}).call(
|
||||
this
|
||||
, movementHandlers.drawEndHandler
|
||||
, movementHandlers.drawStartHandler
|
||||
|
|
@ -918,7 +918,7 @@ function jSignatureClass(parent, options, instanceExtensions) {
|
|||
, settings.width.toString(10)
|
||||
, apinamespace, globalEvents
|
||||
)
|
||||
|
||||
|
||||
// end of event handlers.
|
||||
// ===============================
|
||||
|
||||
|
|
@ -944,7 +944,7 @@ jSignatureClass.prototype.resetCanvas = function(data){
|
|||
|
||||
, cw = canvas.width
|
||||
, ch = canvas.height
|
||||
|
||||
|
||||
// preparing colors, drawing area
|
||||
|
||||
ctx.clearRect(0, 0, cw + 30, ch + 30)
|
||||
|
|
@ -952,13 +952,13 @@ jSignatureClass.prototype.resetCanvas = function(data){
|
|||
ctx.shadowColor = ctx.fillStyle = settings['background-color']
|
||||
if (isCanvasEmulator){
|
||||
// FLashCanvas fills with Black by default, covering up the parent div's background
|
||||
// hence we refill
|
||||
// hence we refill
|
||||
ctx.fillRect(0,0,cw + 30, ch + 30)
|
||||
}
|
||||
|
||||
ctx.lineWidth = Math.ceil(parseInt(settings.lineWidth, 10))
|
||||
ctx.lineCap = ctx.lineJoin = "round"
|
||||
|
||||
|
||||
// signature line
|
||||
ctx.strokeStyle = settings['decor-color']
|
||||
ctx.shadowOffsetX = 0
|
||||
|
|
@ -971,13 +971,13 @@ jSignatureClass.prototype.resetCanvas = function(data){
|
|||
ctx.shadowColor = ctx.strokeStyle
|
||||
ctx.shadowOffsetX = ctx.lineWidth * 0.5
|
||||
ctx.shadowOffsetY = ctx.lineWidth * -0.6
|
||||
ctx.shadowBlur = 0
|
||||
ctx.shadowBlur = 0
|
||||
}
|
||||
|
||||
|
||||
// setting up new dataEngine
|
||||
|
||||
if (!data) { data = [] }
|
||||
|
||||
|
||||
var dataEngine = this.dataEngine = new DataEngine(
|
||||
data
|
||||
, this
|
||||
|
|
@ -996,7 +996,7 @@ jSignatureClass.prototype.resetCanvas = function(data){
|
|||
'use strict'
|
||||
return function() {
|
||||
events.publish(apinamespace+'.change')
|
||||
target.trigger('change')
|
||||
target.trigger('change')
|
||||
}
|
||||
})(this.$parent, this.events, apinamespace)
|
||||
// let's trigger change on all data reloads
|
||||
|
|
@ -1026,9 +1026,9 @@ function initializeCanvasEmulator(canvas){
|
|||
|
||||
if (FC) {
|
||||
canvas = FC.initElement(canvas)
|
||||
|
||||
|
||||
var zoom = 1
|
||||
// FlashCanvas uses flash which has this annoying habit of NOT scaling with page zoom.
|
||||
// FlashCanvas uses flash which has this annoying habit of NOT scaling with page zoom.
|
||||
// It matches pixel-to-pixel to screen instead.
|
||||
// Since we are targeting ONLY IE 7, 8 with FlashCanvas, we will test the zoom only the IE8, IE7 way
|
||||
if (window && window.screen && window.screen.deviceXDPI && window.screen.logicalXDPI){
|
||||
|
|
@ -1105,7 +1105,7 @@ jSignatureClass.prototype.initializeCanvas = function(settings) {
|
|||
|
||||
canvas.width = $canvas.width()
|
||||
canvas.height = $canvas.height()
|
||||
|
||||
|
||||
// Special case Sizing code
|
||||
|
||||
this.isCanvasEmulator = initializeCanvasEmulator(canvas)
|
||||
|
|
@ -1124,7 +1124,7 @@ jSignatureClass.prototype.initializeCanvas = function(settings) {
|
|||
var GlobalJSignatureObjectInitializer = function(window){
|
||||
|
||||
var globalEvents = new PubSubClass()
|
||||
|
||||
|
||||
// common "window resized" event listener.
|
||||
// jSignature instances will subscribe to this chanel.
|
||||
// to resize themselves when needed.
|
||||
|
|
@ -1144,7 +1144,7 @@ var GlobalJSignatureObjectInitializer = function(window){
|
|||
if (resizetimer) {
|
||||
clearTimeout(resizetimer)
|
||||
}
|
||||
resizetimer = setTimeout(
|
||||
resizetimer = setTimeout(
|
||||
runner
|
||||
, 500
|
||||
)
|
||||
|
|
@ -1163,10 +1163,10 @@ var GlobalJSignatureObjectInitializer = function(window){
|
|||
/*
|
||||
'exampleExtension':function(extensionName){
|
||||
// we are called very early in instance's life.
|
||||
// right after the settings are resolved and
|
||||
// jSignatureInstance.events is created
|
||||
// right after the settings are resolved and
|
||||
// jSignatureInstance.events is created
|
||||
// and right before first ("jSignature.initializing") event is called.
|
||||
// You don't really need to manupilate
|
||||
// You don't really need to manupilate
|
||||
// jSignatureInstance directly, just attach
|
||||
// a bunch of events to jSignatureInstance.events
|
||||
// (look at the source of jSignatureClass to see when these fire)
|
||||
|
|
@ -1210,12 +1210,12 @@ var GlobalJSignatureObjectInitializer = function(window){
|
|||
, 'image':function(data){
|
||||
/*this = canvas elem */
|
||||
var imagestring = this.toDataURL()
|
||||
|
||||
if (typeof imagestring === 'string' &&
|
||||
imagestring.length > 4 &&
|
||||
|
||||
if (typeof imagestring === 'string' &&
|
||||
imagestring.length > 4 &&
|
||||
imagestring.slice(0,5) === 'data:' &&
|
||||
imagestring.indexOf(',') !== -1){
|
||||
|
||||
|
||||
var splitterpos = imagestring.indexOf(',')
|
||||
|
||||
return [
|
||||
|
|
@ -1230,9 +1230,9 @@ var GlobalJSignatureObjectInitializer = function(window){
|
|||
// will be part of "importplugins"
|
||||
function _renderImageOnCanvas( data, formattype, rerendercallable ) {
|
||||
'use strict'
|
||||
// #1. Do NOT rely on this. No worky on IE
|
||||
// #1. Do NOT rely on this. No worky on IE
|
||||
// (url max len + lack of base64 decoder + possibly other issues)
|
||||
// #2. This does NOT affect what is captured as "signature" as far as vector data is
|
||||
// #2. This does NOT affect what is captured as "signature" as far as vector data is
|
||||
// concerned. This is treated same as "signature line" - i.e. completely ignored
|
||||
// the only time you see imported image data exported is if you export as image.
|
||||
|
||||
|
|
@ -1240,13 +1240,13 @@ var GlobalJSignatureObjectInitializer = function(window){
|
|||
// because importing image does absolutely nothing to the underlying vector data storage
|
||||
// This could be a way to "import" old signatures stored as images
|
||||
// This could also be a way to import extra decor into signature area.
|
||||
|
||||
|
||||
var img = new Image()
|
||||
// this = Canvas DOM elem. Not jQuery object. Not Canvas's parent div.
|
||||
, c = this
|
||||
|
||||
img.onload = function() {
|
||||
var ctx = c.getContext("2d").drawImage(
|
||||
var ctx = c.getContext("2d").drawImage(
|
||||
img, 0, 0
|
||||
, ( img.width < c.width) ? img.width : c.width
|
||||
, ( img.height < c.height) ? img.height : c.height
|
||||
|
|
@ -1281,7 +1281,7 @@ var GlobalJSignatureObjectInitializer = function(window){
|
|||
if (formattype === undef && typeof data === 'string' && data.substr(0,5) === 'data:') {
|
||||
formattype = data.slice(5).split(',')[0]
|
||||
// 5 chars of "data:" + mimetype len + 1 "," char = all skipped.
|
||||
data = data.slice(6 + formattype.length)
|
||||
data = data.slice(6 + formattype.length)
|
||||
if (formattype === data) return
|
||||
}
|
||||
|
||||
|
|
@ -1294,7 +1294,7 @@ var GlobalJSignatureObjectInitializer = function(window){
|
|||
$canvas[0]
|
||||
, data
|
||||
, formattype
|
||||
, (function(jSignatureInstance){
|
||||
, (function(jSignatureInstance){
|
||||
return function(){ return jSignatureInstance.resetCanvas.apply(jSignatureInstance, arguments) }
|
||||
})($canvas.data(apinamespace+'.this'))
|
||||
)
|
||||
|
|
@ -1319,7 +1319,7 @@ var GlobalJSignatureObjectInitializer = function(window){
|
|||
'init' : function( options ) {
|
||||
return this.each( function() {
|
||||
if (!elementIsOrphan(this)) {
|
||||
new jSignatureClass(this, options, jSignatureInstanceExtensions)
|
||||
new jSignatureClass(this, options, jSignatureInstanceExtensions)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -1353,7 +1353,7 @@ var GlobalJSignatureObjectInitializer = function(window){
|
|||
, 'getData' : function( formattype ) {
|
||||
var undef, $canvas=this.find('canvas.'+apinamespace).add(this.filter('canvas.'+apinamespace))
|
||||
if (formattype === undef) formattype = 'default'
|
||||
if ($canvas.length !== 0 && exportplugins.hasOwnProperty(formattype)){
|
||||
if ($canvas.length !== 0 && exportplugins.hasOwnProperty(formattype)){
|
||||
return exportplugins[formattype].call(
|
||||
$canvas.get(0) // canvas dom elem
|
||||
, $canvas.data(apinamespace+'.data') // raw signature data as array of objects of arrays
|
||||
|
|
@ -1373,7 +1373,7 @@ var GlobalJSignatureObjectInitializer = function(window){
|
|||
.data(apinamespace+'.this').events
|
||||
}
|
||||
} // end of methods declaration.
|
||||
|
||||
|
||||
$.fn[apinamespace] = function(method) {
|
||||
'use strict'
|
||||
if ( !method || typeof method === 'object' ) {
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*
|
||||
|
||||
|
||||
jSignature v2 "2012-11-01T22:48" "commit ID 1c15dfafecc75925c3b7d529356a558b59220edb"
|
||||
Copyright (c) 2012 Willow Systems Corp http://willow-systems.com
|
||||
Copyright (c) 2010 Brinley Ang http://www.unbolt.net
|
||||
MIT License <http://www.opensource.org/licenses/mit-license.php>
|
||||
MIT License <http://www.opensource.org/licenses/mit-license.php>
|
||||
|
||||
|
||||
Simplify.js BSD
|
||||
Simplify.js BSD
|
||||
(c) 2012, Vladimir Agafonkin
|
||||
mourner.github.com/simplify-js
|
||||
|
||||
|
|
@ -74,4 +74,4 @@ a[d];n=[];l={x:[],y:[]};for(var m=void 0,b=void 0,m=0,b=k.x.length;m<b;m++)n.pus
|
|||
c;d++)l=p[d],f.push('<path fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="'+e(l,k,n)+'"/>');f.push("</svg>");return f.join("")}function v(a){return[p,y(a)]}function z(a){return[h,x(y(a))]}var u=window;"use strict";("undefined"!=typeof exports?exports:u).simplify=function(a,e,d){e=void 0!==e?e*e:1;if(!d){for(var c=a.length,l,i=a[0],h=[i],d=1;d<c;d++){l=a[d];var k=l.x-i.x,n=l.y-i.y;k*k+n*n>e&&(h.push(l),i=l)}a=(i!==l&&h.push(l),h)}l=a;var d=l.length,
|
||||
c=new ("undefined"!=typeof Uint8Array?Uint8Array:Array)(d),i=0,h=d-1,m,p,b=[],j=[],s=[];for(c[i]=c[h]=1;h;){n=0;for(k=i+1;k<h;k++){m=l[k];var g=l[i],r=l[h],q=g.x,t=g.y,g=r.x-q,u=r.y-t,v=void 0;if(0!==g||0!==u)v=((m.x-q)*g+(m.y-t)*u)/(g*g+u*u),1<v?(q=r.x,t=r.y):0<v&&(q+=g*v,t+=u*v);m=(g=m.x-q,u=m.y-t,g*g+u*u);m>n&&(p=k,n=m)}n>e&&(c[p]=1,b.push(i),j.push(p),b.push(p),j.push(h));i=b.pop();h=j.pop()}for(k=0;k<d;k++)c[k]&&s.push(l[k]);return a=s,a};if("function"!==typeof x)var x=function(a){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".split(""),
|
||||
d,c,h,i,k=0,m=0,n="",n=[];do d=a.charCodeAt(k++),c=a.charCodeAt(k++),h=a.charCodeAt(k++),i=d<<16|c<<8|h,d=i>>18&63,c=i>>12&63,h=i>>6&63,i&=63,n[m++]=e[d]+e[c]+e[h]+e[i];while(k<a.length);n=n.join("");a=a.length%3;return(a?n.slice(0,a-3):n)+"===".slice(a||3)};var p="image/svg+xml",h="image/svg+xml;base64";if("undefined"===typeof $)throw Error("We need jQuery for some of the functionality. jQuery is not detected. Failing to initialize...");u=$.fn.jSignature;u("addPlugin","export","svg",v);u("addPlugin",
|
||||
"export",p,v);u("addPlugin","export","svgbase64",z);u("addPlugin","export",h,z)})();
|
||||
"export",p,v);u("addPlugin","export","svgbase64",z);u("addPlugin","export",h,z)})();
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ $.Jcrop = function(obj,opt)
|
|||
|
||||
if (!('keySupport' in opt))
|
||||
opt.keySupport = true;
|
||||
|
||||
|
||||
// }}}
|
||||
// Extend the default options {{{
|
||||
var defaults = {
|
||||
|
|
@ -122,7 +122,7 @@ $.Jcrop = function(obj,opt)
|
|||
backgroundColor: options.bgColor
|
||||
}).insertAfter($origimg).append($img);
|
||||
;
|
||||
|
||||
|
||||
if (options.addClass) $div.addClass(options.addClass);
|
||||
//$img.wrap($div);
|
||||
|
||||
|
|
@ -156,8 +156,8 @@ $.Jcrop = function(obj,opt)
|
|||
var bound = options.boundary;
|
||||
var $trk = newTracker().width(boundx+(bound*2)).height(boundy+(bound*2))
|
||||
.css({ position: 'absolute', top: px(-bound), left: px(-bound), zIndex: 290 })
|
||||
.mousedown(newSelection);
|
||||
|
||||
.mousedown(newSelection);
|
||||
|
||||
/* }}} */
|
||||
// Set more variables {{{
|
||||
|
||||
|
|
@ -169,7 +169,7 @@ $.Jcrop = function(obj,opt)
|
|||
shift_down;
|
||||
|
||||
// }}}
|
||||
|
||||
|
||||
|
||||
// }}}
|
||||
// Internal Modules {{{
|
||||
|
|
@ -232,9 +232,9 @@ $.Jcrop = function(obj,opt)
|
|||
if (!options.aspectRatio) return getRect();
|
||||
// This function could use some optimization I think...
|
||||
var aspect = options.aspectRatio,
|
||||
min_x = options.minSize[0]/xscale,
|
||||
min_x = options.minSize[0]/xscale,
|
||||
min_y = options.minSize[1]/yscale,
|
||||
max_x = options.maxSize[0]/xscale,
|
||||
max_x = options.maxSize[0]/xscale,
|
||||
max_y = options.maxSize[1]/yscale,
|
||||
rw = x2 - x1,
|
||||
rh = y2 - y1,
|
||||
|
|
@ -455,7 +455,7 @@ $.Jcrop = function(obj,opt)
|
|||
.css({
|
||||
cursor: ord+'-resize',
|
||||
position: 'absolute',
|
||||
zIndex: zi
|
||||
zIndex: zi
|
||||
})
|
||||
;
|
||||
$hdl_holder.append(jq);
|
||||
|
|
@ -584,7 +584,7 @@ $.Jcrop = function(obj,opt)
|
|||
};
|
||||
//}}}
|
||||
function enableHandles()/*{{{*/
|
||||
{
|
||||
{
|
||||
seehandles = true;
|
||||
if (options.allowResize)
|
||||
{
|
||||
|
|
@ -775,7 +775,7 @@ $.Jcrop = function(obj,opt)
|
|||
return nothing(e);
|
||||
};
|
||||
/*}}}*/
|
||||
|
||||
|
||||
if (options.keySupport) $keywrap.insertBefore($img);
|
||||
return {
|
||||
watchKeys: watchKeys
|
||||
|
|
@ -860,7 +860,7 @@ $.Jcrop = function(obj,opt)
|
|||
{
|
||||
Coords.moveOffset([pos[0] - lloc[0], pos[1] - lloc[1]]);
|
||||
lloc = pos;
|
||||
|
||||
|
||||
Selection.update();
|
||||
};
|
||||
};
|
||||
|
|
@ -914,8 +914,8 @@ $.Jcrop = function(obj,opt)
|
|||
function unscale(c)/*{{{*/
|
||||
{
|
||||
return {
|
||||
x: parseInt(c.x * xscale), y: parseInt(c.y * yscale),
|
||||
x2: parseInt(c.x2 * xscale), y2: parseInt(c.y2 * yscale),
|
||||
x: parseInt(c.x * xscale), y: parseInt(c.y * yscale),
|
||||
x2: parseInt(c.x2 * xscale), y2: parseInt(c.y2 * yscale),
|
||||
w: parseInt(c.w * xscale), h: parseInt(c.h * yscale)
|
||||
};
|
||||
};
|
||||
|
|
@ -968,7 +968,7 @@ $.Jcrop = function(obj,opt)
|
|||
|
||||
// }}}
|
||||
// API methods {{{
|
||||
|
||||
|
||||
function animateTo(a)/*{{{*/
|
||||
{
|
||||
var x1 = a[0] / xscale,
|
||||
|
|
@ -1133,7 +1133,7 @@ $.Jcrop = function(obj,opt)
|
|||
|
||||
$hdl_holder.hide();
|
||||
interfaceUpdate(true);
|
||||
|
||||
|
||||
var api = {
|
||||
animateTo: animateTo,
|
||||
setSelect: setSelect,
|
||||
|
|
|
|||
|
|
@ -159,4 +159,4 @@ Selection.refresh();};$hdl_holder.hide();interfaceUpdate(true);var api={animateT
|
|||
{var loadsrc=options.useImg||from.src;var img=new Image();img.onload=function(){$.Jcrop(from,options);};img.src=loadsrc;};if(typeof(options)!=='object')options={};this.each(function()
|
||||
{if($(this).data('Jcrop'))
|
||||
{if(options=='api')return $(this).data('Jcrop');else $(this).data('Jcrop').setOptions(options);}
|
||||
else attachWhenDone(this);});return this;};})(jQuery);
|
||||
else attachWhenDone(this);});return this;};})(jQuery);
|
||||
|
|
|
|||
|
|
@ -1,26 +1,26 @@
|
|||
.jnotify-container {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 100000;
|
||||
}
|
||||
|
||||
.jnotify-container .jnotify-notification {
|
||||
position: relative;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.jnotify-container .jnotify-notification .jnotify-background {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #e3f0db;
|
||||
filter: alpha(opacity=90);
|
||||
-moz-opacity: 0.90;
|
||||
opacity: 0.90;
|
||||
z-index: 1;
|
||||
background-color: #e3f0db;
|
||||
filter: alpha(opacity=90);
|
||||
-moz-opacity: 0.90;
|
||||
opacity: 0.90;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.jnotify-container .jnotify-notification a.jnotify-close,
|
||||
|
|
@ -41,13 +41,13 @@
|
|||
}
|
||||
|
||||
.jnotify-container .jnotify-notification .jnotify-message {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
color: #567b1b;
|
||||
font: bold 1.4em Arial,Helvetica,sans-serif;
|
||||
line-height: 1.2em;
|
||||
line-height: 1.2em;
|
||||
}
|
||||
|
||||
.jnotify-container .jnotify-notification .jnotify-message * {
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
|
||||
/* notification type == "error" */
|
||||
.jnotify-container .jnotify-notification-error .jnotify-background {
|
||||
background-color: #d79eac;
|
||||
background-color: #d79eac;
|
||||
}
|
||||
|
||||
.jnotify-container .jnotify-notification-error .jnotify-close,
|
||||
|
|
@ -66,10 +66,10 @@
|
|||
|
||||
/* notification type == "warning" */
|
||||
.jnotify-container .jnotify-notification-warning .jnotify-background {
|
||||
background-color: #fff7d1;
|
||||
background-color: #fff7d1;
|
||||
}
|
||||
|
||||
.jnotify-container .jnotify-notification-warning .jnotify-close,
|
||||
.jnotify-container .jnotify-notification-warning .jnotify-message {
|
||||
color: #c2a928 !important;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
/*!
|
||||
* jNotify jQuery Plug-in
|
||||
*
|
||||
* Copyright 2010 Giva, Inc. (http://www.givainc.com/labs/)
|
||||
*
|
||||
* Copyright 2010 Giva, Inc. (http://www.givainc.com/labs/)
|
||||
*
|
||||
* 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.
|
||||
|
|
@ -25,8 +25,8 @@
|
|||
|
||||
// set the version of the plug-in
|
||||
$.jnotify.version = "1.1.00";
|
||||
|
||||
var $jnotify, queue = [], count = 0, playing = false, paused = false, queuedId, queuedNote,
|
||||
|
||||
var $jnotify, queue = [], count = 0, playing = false, paused = false, queuedId, queuedNote,
|
||||
// define default settings
|
||||
defaults = {
|
||||
// define core settings
|
||||
|
|
@ -37,14 +37,14 @@
|
|||
, showClose: true // determines if the "Close" link should be shown if notification is also sticky
|
||||
, fadeSpeed: 1000 // the speed to fade messages out (in milliseconds)
|
||||
, slideSpeed: 250 // the speed used to slide messages out (in milliseconds)
|
||||
|
||||
|
||||
// define the class statements
|
||||
, classContainer: "jnotify-container" // className to use for the outer most container--this is where all the notifications appear
|
||||
, classNotification: "jnotify-notification" // className of the individual notification containers
|
||||
, classBackground: "jnotify-background" // className of the background layer for each notification container
|
||||
, classClose: "jnotify-close" // className to use for the "Close" link
|
||||
, classMessage: "jnotify-message" // className to use for the actual notification text container--this is where the message is actually written
|
||||
|
||||
|
||||
// event handlers
|
||||
, init: null // callback that occurs when the main jnotify container is created
|
||||
, create: null // callback that occurs when when the note is created (occurs just before appearing in DOM)
|
||||
|
|
@ -67,14 +67,14 @@
|
|||
$.jnotify.play = function (f, d){
|
||||
if( playing && (f !== true ) || (queue.length == 0) ) return;
|
||||
playing = true;
|
||||
|
||||
|
||||
// get first note
|
||||
var note = queue.shift();
|
||||
queuedNote = note;
|
||||
|
||||
// determine delay to use
|
||||
var delay = (arguments.length >= 2) ? parseInt(d, 10) : note.options.delay;
|
||||
|
||||
|
||||
// run delay before removing message
|
||||
queuedId = setTimeout(function(){
|
||||
// clear timeout id
|
||||
|
|
@ -104,7 +104,7 @@
|
|||
$.jnotify.play(true, 0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function jNotify(message, options){
|
||||
// a reference to the jNotify object
|
||||
var self = this, TO = typeof options;
|
||||
|
|
@ -118,17 +118,17 @@
|
|||
} else {
|
||||
options = $.extend({}, defaults, options);
|
||||
}
|
||||
|
||||
|
||||
// store the options
|
||||
this.options = options;
|
||||
|
||||
|
||||
// if the container doesn't exist, create it
|
||||
if( !$jnotify ){
|
||||
// we want to use one single container, so always use the default container class
|
||||
$jnotify = $('<div class="' + defaults.classContainer + '" />').appendTo("body");
|
||||
if( $.isFunction(options.init) ) options.init.apply(self, [$jnotify]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// create the notification
|
||||
function create(message){
|
||||
var html = '<div class="' + options.classNotification + (options.type.length ? (" " + options.classNotification + "-" + options.type) : "") + '">'
|
||||
|
|
@ -140,10 +140,10 @@
|
|||
|
||||
// increase the counter tracking the notification instances
|
||||
count++;
|
||||
|
||||
|
||||
// create the note
|
||||
var $note = $(html);
|
||||
|
||||
|
||||
if( options.sticky ){
|
||||
// add click handler to remove the sticky notification
|
||||
$note.find("a." + options.classClose).bind("click.jnotify", function (){
|
||||
|
|
@ -154,11 +154,11 @@
|
|||
// run callback
|
||||
if( $.isFunction(options.create) ) options.create.apply(self, [$note]);
|
||||
|
||||
// return the new note
|
||||
// return the new note
|
||||
return $note.appendTo($jnotify);
|
||||
}
|
||||
|
||||
// remove the notification
|
||||
// remove the notification
|
||||
this.remove = function (callback){
|
||||
var $msg = $note.find("." + options.classMessage), $parent = $msg.parent();
|
||||
// remove message from counter
|
||||
|
|
@ -166,12 +166,12 @@
|
|||
|
||||
// run callback
|
||||
if( $.isFunction(options.beforeRemove) ) options.beforeRemove.apply(self, [$msg]);
|
||||
|
||||
|
||||
// cleans up notification
|
||||
function finished(){
|
||||
// remove the parent container
|
||||
$parent.remove();
|
||||
|
||||
|
||||
// if there's a callback, run it
|
||||
if( $.isFunction(callback) ) callback.apply(self, [$msg]);
|
||||
if( $.isFunction(options.remove) ) options.remove.apply(self, [$msg]);
|
||||
|
|
@ -186,15 +186,15 @@
|
|||
// slide the parent closed
|
||||
else $parent.slideUp(options.slideSpeed, finished);
|
||||
});
|
||||
|
||||
|
||||
// if the last notification, fade out the container
|
||||
if( count <= 0 ) $parent.fadeOut(options.fadeSpeed);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// create the note
|
||||
var $note = create(message);
|
||||
|
||||
|
||||
// if not a sticky, add to show queue
|
||||
if( !options.sticky ){
|
||||
// add the message to the queue
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
.jnotify-container{position:fixed;top:0;left:0;width:100%;z-index:100000;}.jnotify-container .jnotify-notification{position:relative;}.jnotify-container .jnotify-notification .jnotify-background{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#e3f0db;filter:alpha(opacity=90);-moz-opacity:.90;opacity:.90;z-index:1;}.jnotify-container .jnotify-notification a.jnotify-close,.jnotify-container .jnotify-notification a.jnotify-close:link,.jnotify-container .jnotify-notification a.jnotify-close:visited,.jnotify-container .jnotify-notification a.jnotify-close:focus,.jnotify-container .jnotify-notification a.jnotify-close:hover{position:absolute;top:2px;right:5px;padding:0 5px;font:bold 1.4em Arial,Helvetica,sans-serif;line-height:1em;color:#567b1b;text-decoration:none;z-index:3;cursor:pointer;}.jnotify-container .jnotify-notification .jnotify-message{position:relative;z-index:2;padding:20px;text-align:center;color:#567b1b;font:bold 1.4em Arial,Helvetica,sans-serif;line-height:1.2em;}.jnotify-container .jnotify-notification .jnotify-message *{font-size:1em;}.jnotify-container .jnotify-notification-error .jnotify-background{background-color:#d79eac;}.jnotify-container .jnotify-notification-error .jnotify-close,.jnotify-container .jnotify-notification-error .jnotify-message{color:#a72947!important;}.jnotify-container .jnotify-notification-warning .jnotify-background{background-color:#fff7d1;}.jnotify-container .jnotify-notification-warning .jnotify-close,.jnotify-container .jnotify-notification-warning .jnotify-message{color:#c2a928!important;}
|
||||
.jnotify-container{position:fixed;top:0;left:0;width:100%;z-index:100000;}.jnotify-container .jnotify-notification{position:relative;}.jnotify-container .jnotify-notification .jnotify-background{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#e3f0db;filter:alpha(opacity=90);-moz-opacity:.90;opacity:.90;z-index:1;}.jnotify-container .jnotify-notification a.jnotify-close,.jnotify-container .jnotify-notification a.jnotify-close:link,.jnotify-container .jnotify-notification a.jnotify-close:visited,.jnotify-container .jnotify-notification a.jnotify-close:focus,.jnotify-container .jnotify-notification a.jnotify-close:hover{position:absolute;top:2px;right:5px;padding:0 5px;font:bold 1.4em Arial,Helvetica,sans-serif;line-height:1em;color:#567b1b;text-decoration:none;z-index:3;cursor:pointer;}.jnotify-container .jnotify-notification .jnotify-message{position:relative;z-index:2;padding:20px;text-align:center;color:#567b1b;font:bold 1.4em Arial,Helvetica,sans-serif;line-height:1.2em;}.jnotify-container .jnotify-notification .jnotify-message *{font-size:1em;}.jnotify-container .jnotify-notification-error .jnotify-background{background-color:#d79eac;}.jnotify-container .jnotify-notification-error .jnotify-close,.jnotify-container .jnotify-notification-error .jnotify-message{color:#a72947!important;}.jnotify-container .jnotify-notification-warning .jnotify-background{background-color:#fff7d1;}.jnotify-container .jnotify-notification-warning .jnotify-close,.jnotify-container .jnotify-notification-warning .jnotify-message{color:#c2a928!important;}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
/*
|
||||
* jNotify jQuery Plug-in
|
||||
*
|
||||
* Copyright 2010 Giva, Inc. (http://www.givainc.com/labs/)
|
||||
*
|
||||
* Copyright 2010 Giva, Inc. (http://www.givainc.com/labs/)
|
||||
*
|
||||
* 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.
|
||||
|
|
@ -18,4 +18,4 @@
|
|||
* Date: 2010-09-30
|
||||
* Rev: 1.1.00
|
||||
*/
|
||||
(function(B){B.jnotify=function(K,M,L){return new C(K,M,L)};B.jnotify.version="1.1.00";var J,D=[],E=0,H=false,I=false,G,F,A={type:"",delay:2000,sticky:false,closeLabel:"×",showClose:true,fadeSpeed:1000,slideSpeed:250,classContainer:"jnotify-container",classNotification:"jnotify-notification",classBackground:"jnotify-background",classClose:"jnotify-close",classMessage:"jnotify-message",init:null,create:null,beforeRemove:null,remove:null,transition:null};B.jnotify.setup=function(K){A=B.extend({},A,K)};B.jnotify.play=function(M,N){if(H&&(M!==true)||(D.length==0)){return }H=true;var L=D.shift();F=L;var K=(arguments.length>=2)?parseInt(N,10):L.options.delay;G=setTimeout(function(){G=0;L.remove(function(){if(D.length==0){H=false}else{if(!I){B.jnotify.play(true)}}})},K)};B.jnotify.pause=function(){clearTimeout(G);if(G){D.unshift(F)}I=H=true};B.jnotify.resume=function(){I=false;B.jnotify.play(true,0)};function C(P,N){var M=this,K=typeof N;if(K=="number"){N=B.extend({},A,{delay:N})}else{if(K=="boolean"){N=B.extend({},A,{sticky:true})}else{if(K=="string"){N=B.extend({},A,{type:N,delay:((arguments.length>2)&&(typeof arguments[2]=="number"))?arguments[2]:A.delay,sticky:((arguments.length>2)&&(typeof arguments[2]=="boolean"))?arguments[2]:A.sticky})}else{N=B.extend({},A,N)}}}this.options=N;if(!J){J=B('<div class="'+A.classContainer+'" />').appendTo("body");if(B.isFunction(N.init)){N.init.apply(M,[J])}}function O(S){var R='<div class="'+N.classNotification+(N.type.length?(" "+N.classNotification+"-"+N.type):"")+'"><div class="'+N.classBackground+'"></div>'+(N.sticky&&N.showClose?('<a class="'+N.classClose+'">'+N.closeLabel+"</a>"):"")+'<div class="'+N.classMessage+'"><div>'+S+"</div></div></div>";E++;var Q=B(R);if(N.sticky){Q.find("a."+N.classClose).bind("click.jnotify",function(){M.remove()})}if(B.isFunction(N.create)){N.create.apply(M,[Q])}return Q.appendTo(J)}this.remove=function(U){var Q=L.find("."+N.classMessage),S=Q.parent();var R=E--;if(B.isFunction(N.beforeRemove)){N.beforeRemove.apply(M,[Q])}function T(){S.remove();if(B.isFunction(U)){U.apply(M,[Q])}if(B.isFunction(N.remove)){N.remove.apply(M,[Q])}}if(B.isFunction(N.transition)){N.transition.apply(M,[S,Q,R,T,N])}else{Q.fadeTo(N.fadeSpeed,0.01,function(){if(R<=1){T()}else{S.slideUp(N.slideSpeed,T)}});if(E<=0){S.fadeOut(N.fadeSpeed)}}};var L=O(P);if(!N.sticky){D.push(this);B.jnotify.play()}return this}})(jQuery);
|
||||
(function(B){B.jnotify=function(K,M,L){return new C(K,M,L)};B.jnotify.version="1.1.00";var J,D=[],E=0,H=false,I=false,G,F,A={type:"",delay:2000,sticky:false,closeLabel:"×",showClose:true,fadeSpeed:1000,slideSpeed:250,classContainer:"jnotify-container",classNotification:"jnotify-notification",classBackground:"jnotify-background",classClose:"jnotify-close",classMessage:"jnotify-message",init:null,create:null,beforeRemove:null,remove:null,transition:null};B.jnotify.setup=function(K){A=B.extend({},A,K)};B.jnotify.play=function(M,N){if(H&&(M!==true)||(D.length==0)){return }H=true;var L=D.shift();F=L;var K=(arguments.length>=2)?parseInt(N,10):L.options.delay;G=setTimeout(function(){G=0;L.remove(function(){if(D.length==0){H=false}else{if(!I){B.jnotify.play(true)}}})},K)};B.jnotify.pause=function(){clearTimeout(G);if(G){D.unshift(F)}I=H=true};B.jnotify.resume=function(){I=false;B.jnotify.play(true,0)};function C(P,N){var M=this,K=typeof N;if(K=="number"){N=B.extend({},A,{delay:N})}else{if(K=="boolean"){N=B.extend({},A,{sticky:true})}else{if(K=="string"){N=B.extend({},A,{type:N,delay:((arguments.length>2)&&(typeof arguments[2]=="number"))?arguments[2]:A.delay,sticky:((arguments.length>2)&&(typeof arguments[2]=="boolean"))?arguments[2]:A.sticky})}else{N=B.extend({},A,N)}}}this.options=N;if(!J){J=B('<div class="'+A.classContainer+'" />').appendTo("body");if(B.isFunction(N.init)){N.init.apply(M,[J])}}function O(S){var R='<div class="'+N.classNotification+(N.type.length?(" "+N.classNotification+"-"+N.type):"")+'"><div class="'+N.classBackground+'"></div>'+(N.sticky&&N.showClose?('<a class="'+N.classClose+'">'+N.closeLabel+"</a>"):"")+'<div class="'+N.classMessage+'"><div>'+S+"</div></div></div>";E++;var Q=B(R);if(N.sticky){Q.find("a."+N.classClose).bind("click.jnotify",function(){M.remove()})}if(B.isFunction(N.create)){N.create.apply(M,[Q])}return Q.appendTo(J)}this.remove=function(U){var Q=L.find("."+N.classMessage),S=Q.parent();var R=E--;if(B.isFunction(N.beforeRemove)){N.beforeRemove.apply(M,[Q])}function T(){S.remove();if(B.isFunction(U)){U.apply(M,[Q])}if(B.isFunction(N.remove)){N.remove.apply(M,[Q])}}if(B.isFunction(N.transition)){N.transition.apply(M,[S,Q,R,T,N])}else{Q.fadeTo(N.fadeSpeed,0.01,function(){if(R<=1){T()}else{S.slideUp(N.slideSpeed,T)}});if(E<=0){S.fadeOut(N.fadeSpeed)}}};var L=O(P);if(!N.sticky){D.push(this);B.jnotify.play()}return this}})(jQuery);
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ ______________
|
|||
|
||||
1.0.8
|
||||
Moved all images into a few sprites - now using backgroundPosition to change color maps and bars instead of changing the image - this should be faster to download and run.
|
||||
|
||||
|
||||
1.0.7
|
||||
RENAMED CSS FILE TO INCLUDE VERSION NUMBER!!! YOU MUST USE THIS VERSIONED CSS FILE!!! There will be no need to do your own CSS version number increments from now on.
|
||||
Added opacity feedback to color preview boxes.
|
||||
|
|
@ -118,4 +118,4 @@ ______________
|
|||
Corrected closure based memeory leak - there may be others?
|
||||
|
||||
1.0.0
|
||||
First Release.
|
||||
First Release.
|
||||
|
|
|
|||
|
|
@ -43,5 +43,5 @@ ______________
|
|||
- This will result in much faster operation and initialization for pages with multiple pickers.
|
||||
|
||||
Add activateCallback option for calling a callback function when the jPicker is activated or its binding is switched to a different picker element.
|
||||
|
||||
Add multiple window modes for picker operation, include modal, popup, windowed, and exclusive.
|
||||
|
||||
Add multiple window modes for picker operation, include modal, popup, windowed, and exclusive.
|
||||
|
|
|
|||
|
|
@ -229,4 +229,4 @@ table.jPicker {
|
|||
}
|
||||
.jPicker .Grid span[class="QuickColor"] {
|
||||
width: 17px;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
.jPicker .Icon{display:inline-block;height:24px;position:relative;text-align:left;width:25px}.jPicker .Icon span.Color,.jPicker .Icon span.Alpha{background-position:2px 2px;display:block;height:100%;left:0;position:absolute;top:0;width:100%}.jPicker .Icon span.Image{background-repeat:no-repeat;cursor:pointer;display:block;height:100%;left:0;position:absolute;top:0;width:100%}.jPicker.Container{color:#000;z-index:10}table.jPicker{background-color:#efefef;border:1px outset #666;font-family:Arial,Helvetica,Sans-Serif;font-size:12px!important;margin:0;padding:5px;width:545px;z-index:20}.jPicker .Move{background-color:#ddd;border-color:#fff #666 #666 #fff;border-style:solid;border-width:1px;cursor:move;height:12px;padding:0}.jPicker .Title{font-size:11px!important;font-weight:bold;margin:-2px 0 0 0;padding:10px 0 0 0;text-align:center;width:100%}.jPicker div.Map{border-bottom:2px solid #fff;border-left:2px solid #9a9a9a;border-right:2px solid #fff;border-top:2px solid #9a9a9a;cursor:crosshair;height:260px;margin:0 10px 10px 10px;overflow:hidden;padding:0;position:relative;width:260px}.jPicker div[class="Map"]{height:256px;width:256px}.jPicker div.Bar{border-bottom:2px solid #fff;border-left:2px solid #9a9a9a;border-right:2px solid #fff;border-top:2px solid #9a9a9a;cursor:n-resize;height:260px;margin:12px 10px 0 5px;overflow:hidden;padding:0;position:relative;width:24px}.jPicker div[class="Bar"]{height:256px;width:20px}.jPicker .Map .Map1,.jPicker .Map .Map2,.jPicker .Map .Map3,.jPicker .Bar .Map1,.jPicker .Bar .Map2,.jPicker .Bar .Map3,.jPicker .Bar .Map4,.jPicker .Bar .Map5,.jPicker .Bar .Map6{background-color:transparent;background-image:none;display:block;left:0;position:absolute;top:0}.jPicker .Map .Map1,.jPicker .Map .Map2,.jPicker .Map .Map3{height:2596px;width:256px}.jPicker .Bar .Map1,.jPicker .Bar .Map2,.jPicker .Bar .Map3,.jPicker .Bar .Map4{height:3896px;width:20px}.jPicker .Bar .Map5,.jPicker .Bar .Map6{height:256px;width:20px}.jPicker .Map .Map1,.jPicker .Map .Map2,.jPicker .Bar .Map6{background-repeat:no-repeat}.jPicker .Map .Map3,.jPicker .Bar .Map5{background-repeat:repeat}.jPicker .Bar .Map1,.jPicker .Bar .Map2,.jPicker .Bar .Map3,.jPicker .Bar .Map4{background-repeat:repeat-x}.jPicker .Map .Arrow{display:block;position:absolute}.jPicker .Bar .Arrow{display:block;left:0;position:absolute}.jPicker .Preview{font-size:9px;padding:5px 0 0 0;text-align:center}.jPicker .Preview div{border:2px inset #eee;height:62px;margin:0 auto;padding:0;width:62px}.jPicker .Preview div span{border:1px solid #000;display:block;height:30px;margin:0 auto;padding:0;width:60px}.jPicker .Preview .Active{border-bottom-width:0}.jPicker .Preview .Current{border-top-width:0;cursor:pointer}.jPicker input{font-size:13px}.jPicker .Button{text-align:center;padding:0 4px;width:115px}.jPicker .Button input{padding:2px 0;width:100px}.jPicker .Button .Ok{margin:12px 0 5px 0}.jPicker td{margin:0;padding:0}.jPicker td.Radio{margin:0;padding:0;width:31px}.jPicker td.Radio input{margin:0 5px 0 0;padding:0}.jPicker td.Text{font-size:12px!important;height:22px;margin:0;padding:0;text-align:left;width:70px}.jPicker tr.Hex td.Text{width:100px}.jPicker td.Text input{background-color:#fff;border:1px inset #aaa;height:19px;margin:0 0 0 5px;text-align:left;width:30px}.jPicker td[class="Text"] input{height:15px}.jPicker tr.Hex td.Text input.Hex{width:50px}.jPicker tr.Hex td.Text input.AHex{width:20px}.jPicker .Grid{text-align:center;width:114px}.jPicker .Grid span.QuickColor{border:1px inset #aaa;cursor:pointer;display:inline-block;height:15px;line-height:15px;margin:0;padding:0;width:19px}.jPicker .Grid span[class="QuickColor"]{width:17px}
|
||||
.jPicker .Icon{display:inline-block;height:24px;position:relative;text-align:left;width:25px}.jPicker .Icon span.Color,.jPicker .Icon span.Alpha{background-position:2px 2px;display:block;height:100%;left:0;position:absolute;top:0;width:100%}.jPicker .Icon span.Image{background-repeat:no-repeat;cursor:pointer;display:block;height:100%;left:0;position:absolute;top:0;width:100%}.jPicker.Container{color:#000;z-index:10}table.jPicker{background-color:#efefef;border:1px outset #666;font-family:Arial,Helvetica,Sans-Serif;font-size:12px!important;margin:0;padding:5px;width:545px;z-index:20}.jPicker .Move{background-color:#ddd;border-color:#fff #666 #666 #fff;border-style:solid;border-width:1px;cursor:move;height:12px;padding:0}.jPicker .Title{font-size:11px!important;font-weight:bold;margin:-2px 0 0 0;padding:10px 0 0 0;text-align:center;width:100%}.jPicker div.Map{border-bottom:2px solid #fff;border-left:2px solid #9a9a9a;border-right:2px solid #fff;border-top:2px solid #9a9a9a;cursor:crosshair;height:260px;margin:0 10px 10px 10px;overflow:hidden;padding:0;position:relative;width:260px}.jPicker div[class="Map"]{height:256px;width:256px}.jPicker div.Bar{border-bottom:2px solid #fff;border-left:2px solid #9a9a9a;border-right:2px solid #fff;border-top:2px solid #9a9a9a;cursor:n-resize;height:260px;margin:12px 10px 0 5px;overflow:hidden;padding:0;position:relative;width:24px}.jPicker div[class="Bar"]{height:256px;width:20px}.jPicker .Map .Map1,.jPicker .Map .Map2,.jPicker .Map .Map3,.jPicker .Bar .Map1,.jPicker .Bar .Map2,.jPicker .Bar .Map3,.jPicker .Bar .Map4,.jPicker .Bar .Map5,.jPicker .Bar .Map6{background-color:transparent;background-image:none;display:block;left:0;position:absolute;top:0}.jPicker .Map .Map1,.jPicker .Map .Map2,.jPicker .Map .Map3{height:2596px;width:256px}.jPicker .Bar .Map1,.jPicker .Bar .Map2,.jPicker .Bar .Map3,.jPicker .Bar .Map4{height:3896px;width:20px}.jPicker .Bar .Map5,.jPicker .Bar .Map6{height:256px;width:20px}.jPicker .Map .Map1,.jPicker .Map .Map2,.jPicker .Bar .Map6{background-repeat:no-repeat}.jPicker .Map .Map3,.jPicker .Bar .Map5{background-repeat:repeat}.jPicker .Bar .Map1,.jPicker .Bar .Map2,.jPicker .Bar .Map3,.jPicker .Bar .Map4{background-repeat:repeat-x}.jPicker .Map .Arrow{display:block;position:absolute}.jPicker .Bar .Arrow{display:block;left:0;position:absolute}.jPicker .Preview{font-size:9px;padding:5px 0 0 0;text-align:center}.jPicker .Preview div{border:2px inset #eee;height:62px;margin:0 auto;padding:0;width:62px}.jPicker .Preview div span{border:1px solid #000;display:block;height:30px;margin:0 auto;padding:0;width:60px}.jPicker .Preview .Active{border-bottom-width:0}.jPicker .Preview .Current{border-top-width:0;cursor:pointer}.jPicker input{font-size:13px}.jPicker .Button{text-align:center;padding:0 4px;width:115px}.jPicker .Button input{padding:2px 0;width:100px}.jPicker .Button .Ok{margin:12px 0 5px 0}.jPicker td{margin:0;padding:0}.jPicker td.Radio{margin:0;padding:0;width:31px}.jPicker td.Radio input{margin:0 5px 0 0;padding:0}.jPicker td.Text{font-size:12px!important;height:22px;margin:0;padding:0;text-align:left;width:70px}.jPicker tr.Hex td.Text{width:100px}.jPicker td.Text input{background-color:#fff;border:1px inset #aaa;height:19px;margin:0 0 0 5px;text-align:left;width:30px}.jPicker td[class="Text"] input{height:15px}.jPicker tr.Hex td.Text input.Hex{width:50px}.jPicker tr.Hex td.Text input.AHex{width:20px}.jPicker .Grid{text-align:center;width:114px}.jPicker .Grid span.QuickColor{border:1px inset #aaa;cursor:pointer;display:inline-block;height:15px;line-height:15px;margin:0;padding:0;width:19px}.jPicker .Grid span[class="QuickColor"]{width:17px}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@media all
|
||||
@media all
|
||||
{
|
||||
#jPicker { margin: 0px 8px; text-align: left; }
|
||||
#jPicker ul { font-size: 15px; margin: 0px 0px 0px 15px; padding: 0px; }
|
||||
|
|
@ -14,4 +14,4 @@
|
|||
#jPicker a { color: #ff8050; }
|
||||
#jPicker input { font-size: 13px; padding: 2px 5px; }
|
||||
#jPicker h2 { font-size: 16px; margin: 10px 0px; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -566,7 +566,7 @@
|
|||
s,
|
||||
v,
|
||||
changeEvents = new Array(),
|
||||
fireChangeEvents =
|
||||
fireChangeEvents =
|
||||
function(context)
|
||||
{
|
||||
for (var i = 0; i < changeEvents.length; i++) changeEvents[i].call($this, $this, context);
|
||||
|
|
@ -2083,4 +2083,4 @@
|
|||
}
|
||||
}
|
||||
};
|
||||
})(jQuery, '1.1.6');
|
||||
})(jQuery, '1.1.6');
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -87,4 +87,4 @@ UL.jqueryFileTree A:hover {
|
|||
.jqueryFileTree LI.ext_wmv { background: url(images/film.png) left top no-repeat; }
|
||||
.jqueryFileTree LI.ext_xls { background: url(images/xls.png) left top no-repeat; }
|
||||
.jqueryFileTree LI.ext_xml { background: url(images/code.png) left top no-repeat; }
|
||||
.jqueryFileTree LI.ext_zip { background: url(images/zip.png) left top no-repeat; }
|
||||
.jqueryFileTree LI.ext_zip { background: url(images/zip.png) left top no-repeat; }
|
||||
|
|
|
|||
|
|
@ -26,12 +26,12 @@
|
|||
// 1.00 - released (24 March 2008)
|
||||
//
|
||||
// TERMS OF USE
|
||||
//
|
||||
//
|
||||
// This plugin is dual-licensed under the GNU General Public License and the MIT License and
|
||||
// is copyright 2008 A Beautiful Site, LLC.
|
||||
// is copyright 2008 A Beautiful Site, LLC.
|
||||
//
|
||||
if(jQuery) (function($){
|
||||
|
||||
|
||||
$.extend($.fn, {
|
||||
fileTree: function(o, h, hd) { // CHANGE DOL_LDR add hd param
|
||||
// Defaults
|
||||
|
|
@ -45,9 +45,9 @@ if(jQuery) (function($){
|
|||
if( o.collapseEasing == undefined ) o.collapseEasing = null;
|
||||
if( o.multiFolder == undefined ) o.multiFolder = true;
|
||||
if( o.loadMessage == undefined ) o.loadMessage = 'Loading...';
|
||||
|
||||
|
||||
$(this).each( function() {
|
||||
|
||||
|
||||
function showTree(c, t) {
|
||||
$(c).addClass('wait');
|
||||
$(".jqueryFileTree.start").remove();
|
||||
|
|
@ -58,7 +58,7 @@ if(jQuery) (function($){
|
|||
bindTree(c);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function bindTree(t) {
|
||||
/* @CHANGE Replace LI A by LI A.jqft */
|
||||
$(t).find('LI A.jqft').bind(o.folderEvent, function() {
|
||||
|
|
@ -95,5 +95,5 @@ if(jQuery) (function($){
|
|||
});
|
||||
}
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
||||
})(jQuery);
|
||||
|
|
|
|||
|
|
@ -34,4 +34,4 @@
|
|||
});
|
||||
};
|
||||
|
||||
})(jQuery);
|
||||
})(jQuery);
|
||||
|
|
|
|||
|
|
@ -248,4 +248,4 @@
|
|||
hitarea: "hitarea"
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
})(jQuery);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
|
||||
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Verwyders asseblief "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Voer asseblief "+(e.minimum-e.input.length)+" of meer karakters"},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var n="Kies asseblief net "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),e.define,e.require}();
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Verwyders asseblief "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Voer asseblief "+(e.minimum-e.input.length)+" of meer karakters"},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var n="Kies asseblief net "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),e.define,e.require}();
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
|
||||
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}();
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}();
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
|
||||
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}();
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}();
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
|
||||
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bg",[],function(){return{inputTooLong:function(n){var e=n.input.length-n.maximum,u="Моля въведете с "+e+" по-малко символ";return e>1&&(u+="a"),u},inputTooShort:function(n){var e=n.minimum-n.input.length,u="Моля въведете още "+e+" символ";return e>1&&(u+="a"),u},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(n){var e="Можете да направите до "+n.maximum+" ";return n.maximum>1?e+="избора":e+="избор",e},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),n.define,n.require}();
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bg",[],function(){return{inputTooLong:function(n){var e=n.input.length-n.maximum,u="Моля въведете с "+e+" по-малко символ";return e>1&&(u+="a"),u},inputTooShort:function(n){var e=n.minimum-n.input.length,u="Моля въведете още "+e+" символ";return e>1&&(u+="a"),u},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(n){var e="Можете да направите до "+n.maximum+" ";return n.maximum>1?e+="избора":e+="избор",e},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"},removeAllItems:function(){return"Премахнете всички елементи"}}}),n.define,n.require}();
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
|
||||
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।";return 1!=e&&(u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।"),u},inputTooShort:function(n){return n.minimum-n.input.length+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।"},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(n){var e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return 1!=n.maximum&&(e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),e},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),n.define,n.require}();
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/bn",[],function(){return{errorLoading:function(){return"ফলাফলগুলি লোড করা যায়নি।"},inputTooLong:function(n){var e=n.input.length-n.maximum,u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।";return 1!=e&&(u="অনুগ্রহ করে "+e+" টি অক্ষর মুছে দিন।"),u},inputTooShort:function(n){return n.minimum-n.input.length+" টি অক্ষর অথবা অধিক অক্ষর লিখুন।"},loadingMore:function(){return"আরো ফলাফল লোড হচ্ছে ..."},maximumSelected:function(n){var e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।";return 1!=n.maximum&&(e=n.maximum+" টি আইটেম নির্বাচন করতে পারবেন।"),e},noResults:function(){return"কোন ফলাফল পাওয়া যায়নি।"},searching:function(){return"অনুসন্ধান করা হচ্ছে ..."}}}),n.define,n.require}();
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
|
||||
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/bs",[],function(){function e(e,n,r,t){return e%10==1&&e%100!=11?n:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(n){var r=n.input.length-n.maximum,t="Obrišite "+r+" simbol";return t+=e(r,"","a","a")},inputTooShort:function(n){var r=n.minimum-n.input.length,t="Ukucajte bar još "+r+" simbol";return t+=e(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(n){var r="Možete izabrati samo "+n.maximum+" stavk";return r+=e(n.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),e.define,e.require}();
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/bs",[],function(){function e(e,n,r,t){return e%10==1&&e%100!=11?n:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?r:t}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(n){var r=n.input.length-n.maximum,t="Obrišite "+r+" simbol";return t+=e(r,"","a","a")},inputTooShort:function(n){var r=n.minimum-n.input.length,t="Ukucajte bar još "+r+" simbol";return t+=e(r,"","a","a")},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(n){var r="Možete izabrati samo "+n.maximum+" stavk";return r+=e(n.maximum,"u","e","i")},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"},removeAllItems:function(){return"Uklonite sve stavke"}}}),e.define,e.require}();
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
|
||||
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Si us plau, elimina "+n+" car";return r+=1==n?"àcter":"àcters"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Si us plau, introdueix "+n+" car";return r+=1==n?"àcter":"àcters"},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var n="Només es pot seleccionar "+e.maximum+" element";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),e.define,e.require}();
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Si us plau, elimina "+n+" car";return r+=1==n?"àcter":"àcters"},inputTooShort:function(e){var n=e.minimum-e.input.length,r="Si us plau, introdueix "+n+" car";return r+=1==n?"àcter":"àcters"},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var n="Només es pot seleccionar "+e.maximum+" element";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"},removeAllItems:function(){return"Treu tots els elements"}}}),e.define,e.require}();
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
/*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
|
||||
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/cs",[],function(){function e(e,n){switch(e){case 2:return n?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadejte o jeden znak méně.":t<=4?"Prosím, zadejte o "+e(t,!0)+" znaky méně.":"Prosím, zadejte o "+t+" znaků méně."},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadejte ještě jeden znak.":t<=4?"Prosím, zadejte ještě další "+e(t,!0)+" znaky.":"Prosím, zadejte ještě dalších "+t+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(n){var t=n.maximum;return 1==t?"Můžete zvolit jen jednu položku.":t<=4?"Můžete zvolit maximálně "+e(t,!1)+" položky.":"Můžete zvolit maximálně "+t+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),e.define,e.require}();
|
||||
!function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/cs",[],function(){function e(e,n){switch(e){case 2:return n?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(n){var t=n.input.length-n.maximum;return 1==t?"Prosím, zadejte o jeden znak méně.":t<=4?"Prosím, zadejte o "+e(t,!0)+" znaky méně.":"Prosím, zadejte o "+t+" znaků méně."},inputTooShort:function(n){var t=n.minimum-n.input.length;return 1==t?"Prosím, zadejte ještě jeden znak.":t<=4?"Prosím, zadejte ještě další "+e(t,!0)+" znaky.":"Prosím, zadejte ještě dalších "+t+" znaků."},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(n){var t=n.maximum;return 1==t?"Můžete zvolit jen jednu položku.":t<=4?"Můžete zvolit maximálně "+e(t,!1)+" položky.":"Můžete zvolit maximálně "+t+" položek."},noResults:function(){return"Nenalezeny žádné položky."},searching:function(){return"Vyhledávání…"},removeAllItems:function(){return"Odstraňte všechny položky"}}}),e.define,e.require}();
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue