From 69fe8eeefdc91e1f3d0ac96fe7b04f16e956f259 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 9 Feb 2009 00:50:38 +0000 Subject: [PATCH] Added support for SMTPS protocol Added a help center --- ChangeLog | 1 + htdocs/about.php | 23 ++++------ htdocs/langs/en_US/admin.lang | 9 +++- htdocs/langs/fr_FR/admin.lang | 7 +++ htdocs/support/inc.php | 26 +++++------ .../support/{onlinesupport.php => index.php} | 42 +++++++++++++----- htdocs/theme/common/internet.png | Bin 0 -> 3911 bytes htdocs/theme/common/pagemaster.png | Bin 0 -> 2086 bytes htdocs/theme/common/who.png | Bin 0 -> 1847 bytes 9 files changed, 66 insertions(+), 42 deletions(-) rename htdocs/support/{onlinesupport.php => index.php} (52%) create mode 100644 htdocs/theme/common/internet.png create mode 100644 htdocs/theme/common/pagemaster.png create mode 100644 htdocs/theme/common/who.png diff --git a/ChangeLog b/ChangeLog index 08d8ddb9946..939b4b898a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -27,6 +27,7 @@ For users: - New: Can create a third party from a member of fundation module. - New: Can set a limit for stock alert to 0. - New: Support SMTPS. +- New: Added a page /support to provide a help center service on Dolibarr. - Fix: Handle correctly the comment in status changing of supplier orders. - Fix: Author, title and topic are correctly encoded in PDF. - Fix: Now HTML output is always UTF8, this solve bad PDF encoding on old users. diff --git a/htdocs/about.php b/htdocs/about.php index 6b2a1b8d344..495ad3bd555 100644 --- a/htdocs/about.php +++ b/htdocs/about.php @@ -1,7 +1,7 @@ * Copyright (C) 2003 Jean-Louis Bergamo - * Copyright (C) 2004-2008 Laurent Destailleur + * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2005-2007 Regis Houssin * @@ -53,17 +53,12 @@ print "
\n"; print $langs->trans("Developpers").':'; print ''; print "
\n"; -print $langs->trans("Informations").':'; +print $langs->trans("OtherInformations").':'; print '
    '; print '
  • '; @@ -75,12 +70,12 @@ if (eregi('^fr_',$langs->getDefaultLang())) print '
  • '; print ''.$langs->trans("OfficialWebSiteFr").''; print '
  • '; - print '
  • '; - print ''.$langs->trans("OfficialWikiFr").''; - print '
  • '; } print '
  • '; -print 'Freshmeat'; +print ''.$langs->trans("OfficialWiki").''; +print '
  • '; +print '
  • '; +print ''.$langs->trans("OfficialDemo").''; print '
  • '; if (eregi('^fr_',$langs->getDefaultLang())) @@ -88,11 +83,11 @@ if (eregi('^fr_',$langs->getDefaultLang())) print '
  • '; print 'Les taches en cours de realisation sur Dolibarr sont consultables dans le gestionnaire de projet sur Savannah.'; print '
  • '; - + print '
  • '; print 'Si vous trouvez un bogue dans Dolibarr, vous pouvez en informer les developpeurs sur le systeme de gestion des bogues de Savannah.'; print '
  • '; - + print '
  • '; print 'Le code source de Dolibarr est consultable par l\'interface web du cvs.'; print '
  • '; diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 16375af2a91..02caa185f8e 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -168,9 +168,15 @@ DolibarrLicense=License DolibarrProjectLeader=Project leader Developpers=Developers/contributors OtherDeveloppers=Other developers/contributors -OfficialWebSite=International official web site +OfficialWebSite=Dolibarr international official web site OfficialWebSiteFr=French official web site OfficialWikiFr=French wiki +OfficialWiki=Dolibarr Wiki +OfficialDemo=Dolibarr online demo +ForDocumentationSeeWiki=For a user or developer documentation, for FAQs (Frequently Asked Questions), take a lookt at the Dolibarr Wiki: %s +ForAnswersSeeForum=For other questions, help, you can read/ask questions on Dolibarr forum: %s +HelpCenterDesc1=This area can help you to get a Help support service on Dolibarr. +HelpCenterDesc2=Some part of this service are available in english only. CurrentTopMenuHandler=Current top menu handler CurrentLeftMenuHandler=Current left menu handler MeasuringUnit=Measuring unit @@ -224,6 +230,7 @@ DoTestSendHTML=Test sending HTML ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Error, can't user option @ if sequence {yy}{mm} or {yyyy}{mm} is not in mask. UMask=UMask parameter for new files on Unix/Linux/BSD file system. UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
    It must be the octal value (for example, 0666 means read and write for everyone).
    Ce paramètre ne sert pas sous un serveur Windows. +SeeWikiForAllTeam=Take a look at the wiki page for full list of all actors and their organisation # Modules Module0Name=Users & groups diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index e2dd115fe9e..f047a50a826 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -170,6 +170,12 @@ OtherDeveloppers=Autres développeurs/contributeurs OfficialWebSite=Site web officiel internationnal OfficialWebSiteFr=Site web officiel francophone OfficialWikiFr=Wiki francophone +OfficialWiki=Wiki Dolibarr +OfficialDemo=Démo en ligne Dolibarr +ForDocumentationSeeWiki=Pour la documentation utilisateur, développeur ou les FAQs (questions-réponses fréquentes), consultez le wiki Dolibarr:
    %s +ForAnswersSeeForum=Pour d'autres questions ou poser vos propres questions, vous pouvez utiliser le forum Dolibarr:
    %s +HelpCenterDesc1=Cet espace permet de vous aider à obtenir un service de support sur Dolibarr. +HelpCenterDesc2=Certain de ces services ne sont disponibles qu'en anglais. CurrentTopMenuHandler=Gestionnaire menu haut courant CurrentLeftMenuHandler=Gestionnaire menu gauche courant MeasuringUnit=Unité de mesure @@ -223,6 +229,7 @@ DoTestSendHTML=Tester envoi HTML ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Erreur, ne peut utiliser l'option @ si la séquence {yy}{mm} ou {yyyy}{mm} n'est pas dans le masque. UMask=Paramètre UMask des nouveaux fichiers sous Unix/Linux/BSD. UMaskExplanation=Ce paramètre permet de définir les droits des fichiers créés sur le serveur par Dolibarr (lors d'upload par exemple).
    Ce doit être la valeur octal (par exemple 0666 signifie lecture/ecriture pour tous).
    Ce paramètre n'a aucun effet sur un serveur Windows. +SeeWikiForAllTeam=Voir le wiki pour le détail de tous les acteurs et leur organisation # Modules Module0Name=Utilisateurs & groupes diff --git a/htdocs/support/inc.php b/htdocs/support/inc.php index cf72bfb9b3e..198e2d46e13 100644 --- a/htdocs/support/inc.php +++ b/htdocs/support/inc.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Sebastien DiCintio * Copyright (C) 2007-2008 Laurent Destailleur @@ -65,10 +65,10 @@ $charset="UTF-8"; // If not output format found in any conf file if (! defined('DONOTLOADCONF') && file_exists($conffile)) { $result=include_once($conffile); // Load conf file - if ($result) + if ($result) { - if (empty($dolibarr_main_db_type)) $dolibarr_main_db_type='mysql'; // For backward compatibility - + if (empty($dolibarr_main_db_type)) $dolibarr_main_db_type='mysql'; // For backward compatibility + // Remove last / or \ on directories or url value if (! empty($dolibarr_main_document_root) && ! ereg('^[\\\/]+$',$dolibarr_main_document_root)) $dolibarr_main_document_root=ereg_replace('[\\\/]+$','',$dolibarr_main_document_root); if (! empty($dolibarr_main_url_root) && ! ereg('^[\\\/]+$',$dolibarr_main_url_root)) $dolibarr_main_url_root=ereg_replace('[\\\/]+$','',$dolibarr_main_url_root); @@ -97,16 +97,16 @@ if (! defined('DONOTLOADCONF') && file_exists($conffile)) } else { - $includeconferror='ErrorBadValueForDolibarrMainDocumentRoot'; + $includeconferror='ErrorBadValueForDolibarrMainDocumentRoot'; } } else { - $includeconferror='ErrorBadFormatForConfFile'; + $includeconferror='ErrorBadFormatForConfFile'; } } -if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_'; +if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_'; define('MAIN_DB_PREFIX',(isset($dolibarr_main_db_prefix)?$dolibarr_main_db_prefix:'')); define('DOL_DATA_ROOT',(isset($dolibarr_main_data_root)?$dolibarr_main_data_root:'')); if (empty($conf->character_set_client)) $conf->character_set_client=$charset; @@ -172,12 +172,8 @@ function conf($dolibarr_main_document_root) $conf->db->user = trim($dolibarr_main_db_user); $conf->db->pass = trim($dolibarr_main_db_pass); - if (empty($character_set_client)) $character_set_client=$charset; - $conf->character_set_client=strtoupper($character_set_client); - if (empty($dolibarr_main_db_charset)) $dolibarr_main_db_charset='latin1'; - $conf->db->character_set=$dolibarr_main_db_charset; - if (empty($dolibarr_main_db_collation)) $dolibarr_main_db_collation='latin1_swedish_ci'; - $conf->db->dolibarr_main_db_collation=$dolibarr_main_db_collation; + if (empty($conf->character_set_client)) $conf->character_set_client="UTF-8"; + if (empty($conf->db->dolibarr_main_db_collation)) $conf->db->dolibarr_main_db_collation='latin1_swedish_ci'; return 1; } @@ -219,10 +215,10 @@ function pFooter($nonext=0,$setuplang='') global $langs; $langs->load("main"); $langs->load("admin"); - + print ''."\n"; print ''."\n"; - + print ''."\n"; print ''."\n"; print ''."\n"; diff --git a/htdocs/support/onlinesupport.php b/htdocs/support/index.php similarity index 52% rename from htdocs/support/onlinesupport.php rename to htdocs/support/index.php index 9c1d3fe9560..de01e8c8aa4 100644 --- a/htdocs/support/onlinesupport.php +++ b/htdocs/support/index.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2008-2009 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,10 +30,10 @@ $langs->load("other"); pHeader("Dolibarr Help Service Center",$_SERVER["PHP_SELF"]); -print "This area can be used to get a Help service support.
    \n"; -print "This service is available in english only.

    "; +print $langs->trans("HelpCenterDesc1")."
    \n"; +print $langs->trans("HelpCenterDesc2")."
    \n"; -print '

    '; +print '


    '; print ''; @@ -52,22 +52,40 @@ print ''; print ''; -// Logo of possible services +// Area of support cells print ''; -print ''; -print ''; -print ''; print ''; - print '
    '; -print $langs->trans("FeatureNotYetAvailable").'.'; +print ''; + +print '
    '; +print img_picto('','/theme/common/who.png','',1); +print '
    '; +print '
    '.$langs->trans("ForDocumentationSeeWiki",'http://wiki.dolibarr.org','http://wiki.dolibarr.org').'
    '; +print '
    '.$langs->trans("ForAnswersSeeForum",'http://www.dolibarr.org','http://www.dolibarr.org').'
    '; +print '
    '; + print '
    '; -print $langs->trans("FeatureNotYetAvailable").'.'; +print ''; + +print '
    '; +print img_picto('','/theme/common/pagemaster.png','',1); +print '
    '; +print '
    '.$langs->trans("FeatureNotYetAvailable").'.'; +print '
    '; + print '
    '; -print $langs->trans("FeatureNotYetAvailable").'.'; +print ''; + +print '
    '; +print img_picto('','/theme/common/internet.png','',1); +print '
    '; +print '
    '.$langs->trans("FeatureNotYetAvailable").'.'; +print '
    '; + print '
    '; pFooter(); diff --git a/htdocs/theme/common/internet.png b/htdocs/theme/common/internet.png new file mode 100644 index 0000000000000000000000000000000000000000..a918a93a89172f7c0923e24ef39901f8423e3e35 GIT binary patch literal 3911 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 BzkUD! literal 0 HcmV?d00001 diff --git a/htdocs/theme/common/who.png b/htdocs/theme/common/who.png new file mode 100644 index 0000000000000000000000000000000000000000..53e59d206d33c383d8a6e8fb39a1e7a07220242d GIT binary patch literal 1847 zcmc&!i&xTl7XN{Y=n>AU+sM0~6&T=7ZGrv>ilc%uvZS zHL_C6_X}UBH96uaYPu8agWZE|OKm3EZmW*7XY9E@_Mh1AIp6O+-}^ZC^||*dofd(x zN7(}afQURpiUp~!<-)DNm-Eza7$nx|1S$al`ep-c%3p(jR|%OVVO~s=LYim-ew4tFvrBc<^)m2wlKY8+`s;a7@qGD=l zs;sOmGc$8&XlP(yK&@7HcXulkitX*~&CSh?jSaKe+}PN7=gyrgSFS`xM%LHYudJ-p z)YQz+&reQHa=Bc&T%MkuUQkfb(b18WmF4H>7Z(>-US59U#0eY@ck0xsprD}O;NXyu zkkhA6jU@%A|5|v6N5{WXI z?CjaIF)=au`T5b&(R@CiMx!yA%&4fS*x1^@j*gBdB_&NvO!W5lrlh1~WMs6qw$9DX z>Gk^c_4SV*KQ=cvudc3|Os2xZ!kL+w7cX9X`t)gccNgr`#os~;Kq8gI(wJbf|IY&i z+C-;=Sn7`?5#kDrDeW^*Yw}Sd^d_sGyc>AWwS=(-K+7P^pj)L!M5vMPyDBPfR5g6< z@jE7Rzy}X-`6llE<2#%E*rlaqF!kl(VSmZiD${MMX2PQ;}0SD|ZSRoJ?1X6D> zEb4O^wC}qBI64mTA+PCXTA@*;LaA^n{Im-1OuwhG&bO!7;ejSTG9Ei}a&ZyBg@18> z9|Y^h;tByM{JY}R_O9VduP@O8z5bV1MMt4)z1^(353jeD9cE)aiCz8 z!Oa4vNOu5Yy~KH*;jp6~cb?M98IR|Ft~GLvMq~_MXcpPBr2C;3i>vM{%qS*v3741TM#Z!rR4jx|*h8T3 z)}oap+ir+C{%?BxDcf(ty_rjoIpX@Z;T|`4i@ej_@ORWpf->7n_p>6+>s{eLiLHCa zjp{PJM5eRC0|YVS0Vj1C6s8r*5%-{WVe=e-#B&hmzDj$5Gpe!>?_h%G8~BxXrlGc;TN`Dw zX<*^)4u6&RmSQUsQ~ALVtCgfBYiGcib|(mq0EIEnvhz9%eUF>#ZKHVK5yA+otjdGl z{{Vq{=-N@TtBAN=Jf6tt>G1XN6b|h`|9U;zSqc#OrhtIuq6d>KX%j`~TK!fc-q&^A z53oiOt@;LUI{N%Lx|{tQ(MNxseuU`#1_Vq~(OiVno?KG{#K4&@W7mV-CKliA3H4!$ z-tbEaxr41;E}bwbAQLIKu+TLUrX8V18Z;yL6)->e0hd21|9ICquDJ3X+@eL~tLeT5 zYa0h)Q=9l;v8A%g#|hW65|db(u$p6gq3tNpXUk|}&QSihhVbaoXW2(AoF3Q!hvDE$ z@|F){{#C7v2Lldwn`uojwIDETJPy%KWK_ez`86~*e@dpWTQPrVt*i?fam(?uN8(*j z+aJzVH2Ry({5PnFr0Ky!^I(;>>Y%zsB$6$${Fe>?at?LPVV{9KAqKiKky0 zk*FmI|EiZSrZcXBk=E+$jwk-`j+x^nSS^7UDot$ji-Y8hY-9J0({f; V925A4jRF@b5J{$ydWjs_e*s!pUDf~q literal 0 HcmV?d00001