@@ -4,123 +4,123 @@ |
||
| 4 | 4 | // ** ne pas modifier le fichier ** |
| 5 | 5 | |
| 6 | 6 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 7 | - return; |
|
| 7 | + return; |
|
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 11 | 11 | |
| 12 | - // A |
|
| 13 | - 'accueil_site' => 'Home', |
|
| 14 | - 'article' => 'Article', |
|
| 15 | - 'articles' => 'Articles', |
|
| 16 | - 'articles_auteur' => 'Articles by this author', |
|
| 17 | - 'articles_populaires' => 'Most popular articles', |
|
| 18 | - 'articles_rubrique' => 'Articles in this section', |
|
| 19 | - 'aucun_article' => 'No articles here', |
|
| 20 | - 'aucun_auteur' => 'No authors here', |
|
| 21 | - 'aucun_site' => 'No links here', |
|
| 22 | - 'aucune_breve' => 'No news items here', |
|
| 23 | - 'aucune_rubrique' => 'No sections here', |
|
| 24 | - 'auteur' => 'Author', |
|
| 25 | - 'autres' => 'Others', |
|
| 26 | - 'autres_breves' => 'Other news', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'Other groups of keywords', |
|
| 28 | - 'autres_sites' => 'Other websites', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'Hello', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'Comment on this site', |
|
| 35 | - 'contact' => 'Contact', |
|
| 36 | - 'copie_document_impossible' => 'Impossible to copy this document', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'Date', |
|
| 40 | - 'dernier_ajout' => 'Latest update', |
|
| 41 | - 'dernieres_breves' => 'Latest news', |
|
| 42 | - 'derniers_articles' => 'Latest articles', |
|
| 43 | - 'derniers_commentaires' => 'Latest comments', |
|
| 44 | - 'derniers_messages_forum' => 'Latest forum posts', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'Text mode only', |
|
| 48 | - 'en_reponse' => 'Replying to:', |
|
| 49 | - 'en_resume' => 'Summary', |
|
| 50 | - 'envoyer_message' => 'Send a message', |
|
| 51 | - 'espace_prive' => 'Private area', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'Valid formats: @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'Site map', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'days', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'Log in', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'By the same author', |
|
| 67 | - 'meme_rubrique' => 'Also in this section', |
|
| 68 | - 'memes_auteurs' => 'By the same authors', |
|
| 69 | - 'message' => 'Message', |
|
| 70 | - 'messages_forum' => 'Forum posts', |
|
| 71 | - 'messages_recents' => 'Most recent forum posts', |
|
| 72 | - 'mots_clef' => 'Keyword', |
|
| 73 | - 'mots_clefs' => 'Keywords', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'Other keywords in this group', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'Browsing', |
|
| 78 | - 'nom' => 'Name', |
|
| 79 | - 'nouveautes' => 'What’s new', |
|
| 80 | - 'nouveautes_web' => 'What’s new on the Web', |
|
| 81 | - 'nouveaux_articles' => 'New articles', |
|
| 82 | - 'nouvelles_breves' => 'Latest news items', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'previous page', |
|
| 86 | - 'page_suivante' => 'next page', |
|
| 87 | - 'par_auteur' => 'by ', |
|
| 88 | - 'participer_site' => 'You can take active part in this website and write your own articles by signing up here. You will receive an email with your account information for the private area of the site.', |
|
| 89 | - 'plan_site' => 'Site Map', |
|
| 90 | - 'popularite' => 'Popularity', |
|
| 91 | - 'poster_message' => 'Post a message', |
|
| 92 | - 'proposer_site' => 'You can suggest a website for inclusion in this section:', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'Comment on this article', |
|
| 96 | - 'repondre_breve' => 'Comment on this news item', |
|
| 97 | - 'resultats_recherche' => 'Search results', |
|
| 98 | - 'retour_debut_forums' => 'Back to forum top', |
|
| 99 | - 'rss_abonnement' => 'Simply copy the following URL into your aggregator:', |
|
| 100 | - 'rss_abonnement_titre' => 'Subscribe', |
|
| 101 | - 'rss_abonnement_titre_page' => 'Subscribe to', |
|
| 102 | - 'rss_explication' => 'An RSS thread collects information about a site’s update. It delivers the content of the tickets or the comments or an extract of them, as well as a link to the full versions et some other information. This thread is to be read by an RSS aggregator.', |
|
| 103 | - 'rss_explication_titre' => 'What is an RSS feed?', |
|
| 104 | - 'rubrique' => 'Section', |
|
| 105 | - 'rubriques' => 'Sections', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'Signatures', |
|
| 109 | - 'site_realise_avec_spip' => 'Site powered by SPIP', |
|
| 110 | - 'sites_web' => 'Websites', |
|
| 111 | - 'sous_rubriques' => 'Subsections', |
|
| 112 | - 'spam' => 'Spam', |
|
| 113 | - 'suite' => 'continue', |
|
| 114 | - 'sur_web' => 'Around the Web', |
|
| 115 | - 'syndiquer_rubrique' => 'Subscribe to this section', |
|
| 116 | - 'syndiquer_site' => 'Subscribe to the whole site', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'Here is the site newsletter', |
|
| 120 | - 'texte_lettre_information_2' => 'This site contains news items published since', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'Printable version', |
|
| 124 | - 'voir_en_ligne' => 'View online', |
|
| 125 | - 'voir_squelette' => 'show the template of this page' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'Home', |
|
| 14 | + 'article' => 'Article', |
|
| 15 | + 'articles' => 'Articles', |
|
| 16 | + 'articles_auteur' => 'Articles by this author', |
|
| 17 | + 'articles_populaires' => 'Most popular articles', |
|
| 18 | + 'articles_rubrique' => 'Articles in this section', |
|
| 19 | + 'aucun_article' => 'No articles here', |
|
| 20 | + 'aucun_auteur' => 'No authors here', |
|
| 21 | + 'aucun_site' => 'No links here', |
|
| 22 | + 'aucune_breve' => 'No news items here', |
|
| 23 | + 'aucune_rubrique' => 'No sections here', |
|
| 24 | + 'auteur' => 'Author', |
|
| 25 | + 'autres' => 'Others', |
|
| 26 | + 'autres_breves' => 'Other news', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'Other groups of keywords', |
|
| 28 | + 'autres_sites' => 'Other websites', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'Hello', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'Comment on this site', |
|
| 35 | + 'contact' => 'Contact', |
|
| 36 | + 'copie_document_impossible' => 'Impossible to copy this document', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'Date', |
|
| 40 | + 'dernier_ajout' => 'Latest update', |
|
| 41 | + 'dernieres_breves' => 'Latest news', |
|
| 42 | + 'derniers_articles' => 'Latest articles', |
|
| 43 | + 'derniers_commentaires' => 'Latest comments', |
|
| 44 | + 'derniers_messages_forum' => 'Latest forum posts', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'Text mode only', |
|
| 48 | + 'en_reponse' => 'Replying to:', |
|
| 49 | + 'en_resume' => 'Summary', |
|
| 50 | + 'envoyer_message' => 'Send a message', |
|
| 51 | + 'espace_prive' => 'Private area', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'Valid formats: @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'Site map', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'days', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'Log in', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'By the same author', |
|
| 67 | + 'meme_rubrique' => 'Also in this section', |
|
| 68 | + 'memes_auteurs' => 'By the same authors', |
|
| 69 | + 'message' => 'Message', |
|
| 70 | + 'messages_forum' => 'Forum posts', |
|
| 71 | + 'messages_recents' => 'Most recent forum posts', |
|
| 72 | + 'mots_clef' => 'Keyword', |
|
| 73 | + 'mots_clefs' => 'Keywords', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'Other keywords in this group', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'Browsing', |
|
| 78 | + 'nom' => 'Name', |
|
| 79 | + 'nouveautes' => 'What’s new', |
|
| 80 | + 'nouveautes_web' => 'What’s new on the Web', |
|
| 81 | + 'nouveaux_articles' => 'New articles', |
|
| 82 | + 'nouvelles_breves' => 'Latest news items', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'previous page', |
|
| 86 | + 'page_suivante' => 'next page', |
|
| 87 | + 'par_auteur' => 'by ', |
|
| 88 | + 'participer_site' => 'You can take active part in this website and write your own articles by signing up here. You will receive an email with your account information for the private area of the site.', |
|
| 89 | + 'plan_site' => 'Site Map', |
|
| 90 | + 'popularite' => 'Popularity', |
|
| 91 | + 'poster_message' => 'Post a message', |
|
| 92 | + 'proposer_site' => 'You can suggest a website for inclusion in this section:', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'Comment on this article', |
|
| 96 | + 'repondre_breve' => 'Comment on this news item', |
|
| 97 | + 'resultats_recherche' => 'Search results', |
|
| 98 | + 'retour_debut_forums' => 'Back to forum top', |
|
| 99 | + 'rss_abonnement' => 'Simply copy the following URL into your aggregator:', |
|
| 100 | + 'rss_abonnement_titre' => 'Subscribe', |
|
| 101 | + 'rss_abonnement_titre_page' => 'Subscribe to', |
|
| 102 | + 'rss_explication' => 'An RSS thread collects information about a site’s update. It delivers the content of the tickets or the comments or an extract of them, as well as a link to the full versions et some other information. This thread is to be read by an RSS aggregator.', |
|
| 103 | + 'rss_explication_titre' => 'What is an RSS feed?', |
|
| 104 | + 'rubrique' => 'Section', |
|
| 105 | + 'rubriques' => 'Sections', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'Signatures', |
|
| 109 | + 'site_realise_avec_spip' => 'Site powered by SPIP', |
|
| 110 | + 'sites_web' => 'Websites', |
|
| 111 | + 'sous_rubriques' => 'Subsections', |
|
| 112 | + 'spam' => 'Spam', |
|
| 113 | + 'suite' => 'continue', |
|
| 114 | + 'sur_web' => 'Around the Web', |
|
| 115 | + 'syndiquer_rubrique' => 'Subscribe to this section', |
|
| 116 | + 'syndiquer_site' => 'Subscribe to the whole site', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'Here is the site newsletter', |
|
| 120 | + 'texte_lettre_information_2' => 'This site contains news items published since', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'Printable version', |
|
| 124 | + 'voir_en_ligne' => 'View online', |
|
| 125 | + 'voir_squelette' => 'show the template of this page' |
|
| 126 | 126 | ); |
@@ -4,123 +4,123 @@ |
||
| 4 | 4 | // ** ne pas modifier le fichier ** |
| 5 | 5 | |
| 6 | 6 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 7 | - return; |
|
| 7 | + return; |
|
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 11 | 11 | |
| 12 | - // A |
|
| 13 | - 'accueil_site' => 'الصفحة الرئيسية', |
|
| 14 | - 'article' => 'مقال', |
|
| 15 | - 'articles' => 'المقالات', |
|
| 16 | - 'articles_auteur' => 'مقالات هذا المؤلف', |
|
| 17 | - 'articles_populaires' => 'المقالات الأكثر شعبية', |
|
| 18 | - 'articles_rubrique' => 'مقالات هذا القسم', |
|
| 19 | - 'aucun_article' => 'لا توجد مقالات على هذا العنوان', |
|
| 20 | - 'aucun_auteur' => 'لا يوجد مؤلفون على هذا العنوان', |
|
| 21 | - 'aucun_site' => 'لا توجد مواقع على هذا العنوان', |
|
| 22 | - 'aucune_breve' => 'لا توجد أخبار على هذا العنوان', |
|
| 23 | - 'aucune_rubrique' => 'لا توجد أقسام على هذا العنوان', |
|
| 24 | - 'auteur' => 'مؤلف', |
|
| 25 | - 'autres' => 'آخرون', |
|
| 26 | - 'autres_breves' => 'أخبار أخرى', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'مجموعات مفاتيح أخرى', |
|
| 28 | - 'autres_sites' => 'مواقع أخرى', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'أهلاً وسهلاً', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'تعليق على هذا الموقع', |
|
| 35 | - 'contact' => 'للاتصال', |
|
| 36 | - 'copie_document_impossible' => 'لا يمكن نسخ المستند', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'التاريخ', |
|
| 40 | - 'dernier_ajout' => 'آخر إضافة', |
|
| 41 | - 'dernieres_breves' => 'آخر الأخبار', |
|
| 42 | - 'derniers_articles' => 'آخر المقالات', |
|
| 43 | - 'derniers_commentaires' => 'آخر التعليقات', |
|
| 44 | - 'derniers_messages_forum' => 'آخر المشاركات المنشورة في المنتديات', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'النشرة في وضعية النصوص', |
|
| 48 | - 'en_reponse' => 'رداً على:', |
|
| 49 | - 'en_resume' => 'باختصار', |
|
| 50 | - 'envoyer_message' => 'إرسال مشاركة', |
|
| 51 | - 'espace_prive' => 'المجال الخاص', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'التنسيقات المسموحة: @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'هرمية الموقع', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'يوم', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'دخول', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'من نفس المؤلف', |
|
| 67 | - 'meme_rubrique' => 'في هذا القسم أيضاً', |
|
| 68 | - 'memes_auteurs' => 'من المؤلفين نفسهم ايضاً', |
|
| 69 | - 'message' => 'مشاركة', |
|
| 70 | - 'messages_forum' => 'مشاركة منتدى', |
|
| 71 | - 'messages_recents' => 'أحدث المشاركات', |
|
| 72 | - 'mots_clef' => 'مفتاح', |
|
| 73 | - 'mots_clefs' => 'المفاتيح', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'المفاتيح الأخرى في هذه المجموعة', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'تصفح', |
|
| 78 | - 'nom' => 'الاسم', |
|
| 79 | - 'nouveautes' => 'الجديد', |
|
| 80 | - 'nouveautes_web' => 'الجديد على النسيج', |
|
| 81 | - 'nouveaux_articles' => 'المقالات الجديدة', |
|
| 82 | - 'nouvelles_breves' => 'الأخبار الجديدة', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'الصفحة السابقة', |
|
| 86 | - 'page_suivante' => 'الصفحة التالية', |
|
| 87 | - 'par_auteur' => 'بقلم ', |
|
| 88 | - 'participer_site' => 'يمكنك المشاركة في هذا الموقع، بالتسجيل أدناه ونشر مقالاتك. وبعد التسجيل، سوف تصلك رسالة فورية بالبريد الإلكتروني تتضمن معرفك الخاص الذي يسمح لك بالدخول الى المجال الخاص.', |
|
| 89 | - 'plan_site' => 'خريطة الموقع', |
|
| 90 | - 'popularite' => 'الشعبية', |
|
| 91 | - 'poster_message' => 'إبعث برسالة', |
|
| 92 | - 'proposer_site' => 'يمكنك افتراح إضافة موقع الى هذا القسم:', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'الرد على هذا المقال', |
|
| 96 | - 'repondre_breve' => 'الرد على هذا الخبر', |
|
| 97 | - 'resultats_recherche' => 'نتائج البحث', |
|
| 98 | - 'retour_debut_forums' => 'عودة الى بداية المنتديات', |
|
| 99 | - 'rss_abonnement' => 'نسخ عن،ان URL التالي في مجمّع RSS:', |
|
| 100 | - 'rss_abonnement_titre' => 'الاشتراك', |
|
| 101 | - 'rss_abonnement_titre_page' => 'الاشتراك في', |
|
| 102 | - 'rss_explication' => 'يجمع خيط RSS معلومات حول تحديث موقع. ويوفر محتوى تذاكر التحديث او التعليقات او مقتطفات منها إضافة الى رابط الى المحتويات الكاملة وبعض المعلومات الإضافية. هذا الخيط يُقرأ بواسطة مجمّع RSS.', |
|
| 103 | - 'rss_explication_titre' => 'ما هو تدفق RSS؟', |
|
| 104 | - 'rubrique' => 'القسم', |
|
| 105 | - 'rubriques' => 'الأقسام', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'التوقيعات', |
|
| 109 | - 'site_realise_avec_spip' => 'موقع صمم بنظام SPIP', |
|
| 110 | - 'sites_web' => 'مواقع النسيج', |
|
| 111 | - 'sous_rubriques' => 'الأقسام الفرعية', |
|
| 112 | - 'spam' => 'خنزرة', |
|
| 113 | - 'suite' => 'تتمة', |
|
| 114 | - 'sur_web' => 'على النسيج', |
|
| 115 | - 'syndiquer_rubrique' => 'ترخيص هذا القسم', |
|
| 116 | - 'syndiquer_site' => 'ترخيص كامل الموقع', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'ها هي نشرة الموقع', |
|
| 120 | - 'texte_lettre_information_2' => 'تحصي هذه النشرة المقالات والأخبار المنشورة منذ ', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'نسخة للطباعة', |
|
| 124 | - 'voir_en_ligne' => 'عرض مباشر', |
|
| 125 | - 'voir_squelette' => 'عرض الصفحة النموذجية لهذه الصفحة' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'الصفحة الرئيسية', |
|
| 14 | + 'article' => 'مقال', |
|
| 15 | + 'articles' => 'المقالات', |
|
| 16 | + 'articles_auteur' => 'مقالات هذا المؤلف', |
|
| 17 | + 'articles_populaires' => 'المقالات الأكثر شعبية', |
|
| 18 | + 'articles_rubrique' => 'مقالات هذا القسم', |
|
| 19 | + 'aucun_article' => 'لا توجد مقالات على هذا العنوان', |
|
| 20 | + 'aucun_auteur' => 'لا يوجد مؤلفون على هذا العنوان', |
|
| 21 | + 'aucun_site' => 'لا توجد مواقع على هذا العنوان', |
|
| 22 | + 'aucune_breve' => 'لا توجد أخبار على هذا العنوان', |
|
| 23 | + 'aucune_rubrique' => 'لا توجد أقسام على هذا العنوان', |
|
| 24 | + 'auteur' => 'مؤلف', |
|
| 25 | + 'autres' => 'آخرون', |
|
| 26 | + 'autres_breves' => 'أخبار أخرى', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'مجموعات مفاتيح أخرى', |
|
| 28 | + 'autres_sites' => 'مواقع أخرى', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'أهلاً وسهلاً', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'تعليق على هذا الموقع', |
|
| 35 | + 'contact' => 'للاتصال', |
|
| 36 | + 'copie_document_impossible' => 'لا يمكن نسخ المستند', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'التاريخ', |
|
| 40 | + 'dernier_ajout' => 'آخر إضافة', |
|
| 41 | + 'dernieres_breves' => 'آخر الأخبار', |
|
| 42 | + 'derniers_articles' => 'آخر المقالات', |
|
| 43 | + 'derniers_commentaires' => 'آخر التعليقات', |
|
| 44 | + 'derniers_messages_forum' => 'آخر المشاركات المنشورة في المنتديات', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'النشرة في وضعية النصوص', |
|
| 48 | + 'en_reponse' => 'رداً على:', |
|
| 49 | + 'en_resume' => 'باختصار', |
|
| 50 | + 'envoyer_message' => 'إرسال مشاركة', |
|
| 51 | + 'espace_prive' => 'المجال الخاص', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'التنسيقات المسموحة: @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'هرمية الموقع', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'يوم', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'دخول', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'من نفس المؤلف', |
|
| 67 | + 'meme_rubrique' => 'في هذا القسم أيضاً', |
|
| 68 | + 'memes_auteurs' => 'من المؤلفين نفسهم ايضاً', |
|
| 69 | + 'message' => 'مشاركة', |
|
| 70 | + 'messages_forum' => 'مشاركة منتدى', |
|
| 71 | + 'messages_recents' => 'أحدث المشاركات', |
|
| 72 | + 'mots_clef' => 'مفتاح', |
|
| 73 | + 'mots_clefs' => 'المفاتيح', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'المفاتيح الأخرى في هذه المجموعة', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'تصفح', |
|
| 78 | + 'nom' => 'الاسم', |
|
| 79 | + 'nouveautes' => 'الجديد', |
|
| 80 | + 'nouveautes_web' => 'الجديد على النسيج', |
|
| 81 | + 'nouveaux_articles' => 'المقالات الجديدة', |
|
| 82 | + 'nouvelles_breves' => 'الأخبار الجديدة', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'الصفحة السابقة', |
|
| 86 | + 'page_suivante' => 'الصفحة التالية', |
|
| 87 | + 'par_auteur' => 'بقلم ', |
|
| 88 | + 'participer_site' => 'يمكنك المشاركة في هذا الموقع، بالتسجيل أدناه ونشر مقالاتك. وبعد التسجيل، سوف تصلك رسالة فورية بالبريد الإلكتروني تتضمن معرفك الخاص الذي يسمح لك بالدخول الى المجال الخاص.', |
|
| 89 | + 'plan_site' => 'خريطة الموقع', |
|
| 90 | + 'popularite' => 'الشعبية', |
|
| 91 | + 'poster_message' => 'إبعث برسالة', |
|
| 92 | + 'proposer_site' => 'يمكنك افتراح إضافة موقع الى هذا القسم:', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'الرد على هذا المقال', |
|
| 96 | + 'repondre_breve' => 'الرد على هذا الخبر', |
|
| 97 | + 'resultats_recherche' => 'نتائج البحث', |
|
| 98 | + 'retour_debut_forums' => 'عودة الى بداية المنتديات', |
|
| 99 | + 'rss_abonnement' => 'نسخ عن،ان URL التالي في مجمّع RSS:', |
|
| 100 | + 'rss_abonnement_titre' => 'الاشتراك', |
|
| 101 | + 'rss_abonnement_titre_page' => 'الاشتراك في', |
|
| 102 | + 'rss_explication' => 'يجمع خيط RSS معلومات حول تحديث موقع. ويوفر محتوى تذاكر التحديث او التعليقات او مقتطفات منها إضافة الى رابط الى المحتويات الكاملة وبعض المعلومات الإضافية. هذا الخيط يُقرأ بواسطة مجمّع RSS.', |
|
| 103 | + 'rss_explication_titre' => 'ما هو تدفق RSS؟', |
|
| 104 | + 'rubrique' => 'القسم', |
|
| 105 | + 'rubriques' => 'الأقسام', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'التوقيعات', |
|
| 109 | + 'site_realise_avec_spip' => 'موقع صمم بنظام SPIP', |
|
| 110 | + 'sites_web' => 'مواقع النسيج', |
|
| 111 | + 'sous_rubriques' => 'الأقسام الفرعية', |
|
| 112 | + 'spam' => 'خنزرة', |
|
| 113 | + 'suite' => 'تتمة', |
|
| 114 | + 'sur_web' => 'على النسيج', |
|
| 115 | + 'syndiquer_rubrique' => 'ترخيص هذا القسم', |
|
| 116 | + 'syndiquer_site' => 'ترخيص كامل الموقع', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'ها هي نشرة الموقع', |
|
| 120 | + 'texte_lettre_information_2' => 'تحصي هذه النشرة المقالات والأخبار المنشورة منذ ', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'نسخة للطباعة', |
|
| 124 | + 'voir_en_ligne' => 'عرض مباشر', |
|
| 125 | + 'voir_squelette' => 'عرض الصفحة النموذجية لهذه الصفحة' |
|
| 126 | 126 | ); |
@@ -20,15 +20,13 @@ discard block |
||
| 20 | 20 | if ($trace === '?' or defined('_DEBUG_TRACE_QUERIES')) { |
| 21 | 21 | if (defined('_DEBUG_TRACE_QUERIES') and _DEBUG_TRACE_QUERIES) { |
| 22 | 22 | $trace = true; |
| 23 | - } |
|
| 24 | - else { |
|
| 23 | + } else { |
|
| 25 | 24 | if (empty($GLOBALS['visiteur_session'])) { |
| 26 | 25 | // si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir |
| 27 | 26 | // car ici on ne sait pas si c'est un hit anonyme |
| 28 | 27 | // ou une requete SQL faite avant chargement de la session |
| 29 | 28 | $trace = (!empty($_GET['var_profile']) ? '?' : false); |
| 30 | - } |
|
| 31 | - else { |
|
| 29 | + } else { |
|
| 32 | 30 | include_spip('inc/autoriser'); |
| 33 | 31 | // gare au bouclage sur calcul de droits au premier appel |
| 34 | 32 | // A fortiori quand on demande une trace |
@@ -50,8 +48,7 @@ discard block |
||
| 50 | 48 | // car ici on ne sait pas si c'est un hit anonyme |
| 51 | 49 | // ou une requete SQL faite avant chargement de la session |
| 52 | 50 | $trace = (!empty($_GET['var_profile']) ? '?' : false); |
| 53 | - } |
|
| 54 | - else { |
|
| 51 | + } else { |
|
| 55 | 52 | include_spip('inc/autoriser'); |
| 56 | 53 | // gare au bouclage sur calcul de droits au premier appel |
| 57 | 54 | // A fortiori quand on demande une trace |
@@ -111,13 +111,13 @@ discard block |
||
| 111 | 111 | |
| 112 | 112 | function chrono_requete($temps) { |
| 113 | 113 | $total = 0; |
| 114 | - $hors = '<i>' . _T('zbug_hors_compilation') . '</i>'; |
|
| 114 | + $hors = '<i>'._T('zbug_hors_compilation').'</i>'; |
|
| 115 | 115 | $t = $q = $n = $d = []; |
| 116 | 116 | // Totaliser les temps et completer le Explain |
| 117 | 117 | foreach ($temps as $key => $v) { |
| 118 | 118 | [$dt, $nb, $boucle, $query, $explain, $res, $contexte] = $v; |
| 119 | 119 | if (is_array($contexte)) { |
| 120 | - $k = ($contexte[0] . " $boucle"); |
|
| 120 | + $k = ($contexte[0]." $boucle"); |
|
| 121 | 121 | include_spip('public/compiler'); |
| 122 | 122 | $env = reconstruire_contexte_compil($contexte); |
| 123 | 123 | } else { |
@@ -162,7 +162,7 @@ discard block |
||
| 162 | 162 | // Fabriquer les liens de navigations dans le tableau des temps |
| 163 | 163 | foreach ($temps as $k => $v) { |
| 164 | 164 | $titre = strip_tags($v[2]); |
| 165 | - $href = quote_amp($GLOBALS['REQUEST_URI']) . "#req$i"; |
|
| 165 | + $href = quote_amp($GLOBALS['REQUEST_URI'])."#req$i"; |
|
| 166 | 166 | $href = str_replace("\\'", ''', $href); |
| 167 | 167 | |
| 168 | 168 | if (!isset($t[$v[2]])) { |
@@ -183,7 +183,7 @@ discard block |
||
| 183 | 183 | unset($d['']); |
| 184 | 184 | // Fabriquer le tableau des liens de navigation dans le grand tableau |
| 185 | 185 | foreach ($d as $k => $v) { |
| 186 | - $d[$k] = $n[$k] . "</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>" |
|
| 186 | + $d[$k] = $n[$k]."</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>" |
|
| 187 | 187 | . join('', $t[$k]); |
| 188 | 188 | } |
| 189 | 189 | |
@@ -193,7 +193,7 @@ discard block |
||
| 193 | 193 | . join("</td></tr>\n<tr><td>", $d) |
| 194 | 194 | . "</td></tr>\n" |
| 195 | 195 | . (# _request('var_mode_objet') ? '' : |
| 196 | - ('<tr><td>' . (is_countable($temps) ? count($temps) : 0) . '</td><td>' . _T('info_total') . '</td><td class="time">' . $total . '</td><td></td></tr>')) |
|
| 196 | + ('<tr><td>'.(is_countable($temps) ? count($temps) : 0).'</td><td>'._T('info_total').'</td><td class="time">'.$total.'</td><td></td></tr>')) |
|
| 197 | 197 | ]; |
| 198 | 198 | |
| 199 | 199 | return [$temps, $navigation]; |
@@ -11,187 +11,187 @@ |
||
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | 13 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 14 | - return; |
|
| 14 | + return; |
|
| 15 | 15 | } |
| 16 | 16 | |
| 17 | 17 | function trace_query_start() { |
| 18 | - static $trace = '?'; |
|
| 19 | - if ($trace === '?' or defined('_DEBUG_TRACE_QUERIES')) { |
|
| 20 | - if (defined('_DEBUG_TRACE_QUERIES') and _DEBUG_TRACE_QUERIES) { |
|
| 21 | - $trace = true; |
|
| 22 | - } |
|
| 23 | - else { |
|
| 24 | - if (empty($GLOBALS['visiteur_session'])) { |
|
| 25 | - // si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir |
|
| 26 | - // car ici on ne sait pas si c'est un hit anonyme |
|
| 27 | - // ou une requete SQL faite avant chargement de la session |
|
| 28 | - $trace = (!empty($_GET['var_profile']) ? '?' : false); |
|
| 29 | - } |
|
| 30 | - else { |
|
| 31 | - include_spip('inc/autoriser'); |
|
| 32 | - // gare au bouclage sur calcul de droits au premier appel |
|
| 33 | - // A fortiori quand on demande une trace |
|
| 34 | - $trace = false; // on ne trace pas la requete provoquee par autoriser('debug') |
|
| 35 | - $trace = (!empty($_GET['var_profile']) and autoriser('debug')); |
|
| 36 | - } |
|
| 37 | - } |
|
| 38 | - } |
|
| 39 | - |
|
| 40 | - return $trace ? microtime() : 0; |
|
| 18 | + static $trace = '?'; |
|
| 19 | + if ($trace === '?' or defined('_DEBUG_TRACE_QUERIES')) { |
|
| 20 | + if (defined('_DEBUG_TRACE_QUERIES') and _DEBUG_TRACE_QUERIES) { |
|
| 21 | + $trace = true; |
|
| 22 | + } |
|
| 23 | + else { |
|
| 24 | + if (empty($GLOBALS['visiteur_session'])) { |
|
| 25 | + // si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir |
|
| 26 | + // car ici on ne sait pas si c'est un hit anonyme |
|
| 27 | + // ou une requete SQL faite avant chargement de la session |
|
| 28 | + $trace = (!empty($_GET['var_profile']) ? '?' : false); |
|
| 29 | + } |
|
| 30 | + else { |
|
| 31 | + include_spip('inc/autoriser'); |
|
| 32 | + // gare au bouclage sur calcul de droits au premier appel |
|
| 33 | + // A fortiori quand on demande une trace |
|
| 34 | + $trace = false; // on ne trace pas la requete provoquee par autoriser('debug') |
|
| 35 | + $trace = (!empty($_GET['var_profile']) and autoriser('debug')); |
|
| 36 | + } |
|
| 37 | + } |
|
| 38 | + } |
|
| 39 | + |
|
| 40 | + return $trace ? microtime() : 0; |
|
| 41 | 41 | } |
| 42 | 42 | |
| 43 | 43 | function trace_query_end($query, $start, $result, $erreur, $serveur = '') { |
| 44 | - static $trace = '?'; |
|
| 45 | - if ($trace === '?') { |
|
| 46 | - if (empty($GLOBALS['visiteur_session'])) { |
|
| 47 | - // si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir |
|
| 48 | - // car ici on ne sait pas si c'est un hit anonyme |
|
| 49 | - // ou une requete SQL faite avant chargement de la session |
|
| 50 | - $trace = (!empty($_GET['var_profile']) ? '?' : false); |
|
| 51 | - } |
|
| 52 | - else { |
|
| 53 | - include_spip('inc/autoriser'); |
|
| 54 | - // gare au bouclage sur calcul de droits au premier appel |
|
| 55 | - // A fortiori quand on demande une trace |
|
| 56 | - $trace = false; // on ne trace pas la requete provoquee par autoriser('debug') |
|
| 57 | - $trace = (!empty($_GET['var_profile']) and autoriser('debug')); |
|
| 58 | - } |
|
| 59 | - } |
|
| 60 | - if ($start) { |
|
| 61 | - $end = microtime(); |
|
| 62 | - [$usec, $sec] = explode(' ', $start); |
|
| 63 | - [$usec2, $sec2] = explode(' ', $end); |
|
| 64 | - $dt = $sec2 + $usec2 - $sec - $usec; |
|
| 65 | - pipeline('trig_trace_query', ['query' => $query, 'start' => $start, 'end' => $end, 'time' => $dt, 'result' => $result, 'erreur' => $erreur, 'serveur' => $serveur]); |
|
| 66 | - if ($trace) { |
|
| 67 | - trace_query_chrono($dt, $query, $result, $serveur); |
|
| 68 | - } |
|
| 69 | - } |
|
| 70 | - // tracer les erreurs, sauf pour select, c'est fait dans abstract_sql |
|
| 71 | - if ($trace and $erreur and !preg_match('/^select\b/i', $query)) { |
|
| 72 | - erreur_squelette([sql_errno($serveur), $erreur, $query]); |
|
| 73 | - } |
|
| 74 | - |
|
| 75 | - return $result; |
|
| 44 | + static $trace = '?'; |
|
| 45 | + if ($trace === '?') { |
|
| 46 | + if (empty($GLOBALS['visiteur_session'])) { |
|
| 47 | + // si un anonyme fait un var_profile on est oblige de remplir le tableau des temps en attendant de savoir |
|
| 48 | + // car ici on ne sait pas si c'est un hit anonyme |
|
| 49 | + // ou une requete SQL faite avant chargement de la session |
|
| 50 | + $trace = (!empty($_GET['var_profile']) ? '?' : false); |
|
| 51 | + } |
|
| 52 | + else { |
|
| 53 | + include_spip('inc/autoriser'); |
|
| 54 | + // gare au bouclage sur calcul de droits au premier appel |
|
| 55 | + // A fortiori quand on demande une trace |
|
| 56 | + $trace = false; // on ne trace pas la requete provoquee par autoriser('debug') |
|
| 57 | + $trace = (!empty($_GET['var_profile']) and autoriser('debug')); |
|
| 58 | + } |
|
| 59 | + } |
|
| 60 | + if ($start) { |
|
| 61 | + $end = microtime(); |
|
| 62 | + [$usec, $sec] = explode(' ', $start); |
|
| 63 | + [$usec2, $sec2] = explode(' ', $end); |
|
| 64 | + $dt = $sec2 + $usec2 - $sec - $usec; |
|
| 65 | + pipeline('trig_trace_query', ['query' => $query, 'start' => $start, 'end' => $end, 'time' => $dt, 'result' => $result, 'erreur' => $erreur, 'serveur' => $serveur]); |
|
| 66 | + if ($trace) { |
|
| 67 | + trace_query_chrono($dt, $query, $result, $serveur); |
|
| 68 | + } |
|
| 69 | + } |
|
| 70 | + // tracer les erreurs, sauf pour select, c'est fait dans abstract_sql |
|
| 71 | + if ($trace and $erreur and !preg_match('/^select\b/i', $query)) { |
|
| 72 | + erreur_squelette([sql_errno($serveur), $erreur, $query]); |
|
| 73 | + } |
|
| 74 | + |
|
| 75 | + return $result; |
|
| 76 | 76 | } |
| 77 | 77 | |
| 78 | 78 | function trace_query_chrono($dt, $query, $result, $serveur = '') { |
| 79 | - include_spip('inc/filtres_mini'); |
|
| 80 | - static $tt = 0, $nb = 0; |
|
| 81 | - |
|
| 82 | - $x = _request('var_mode_objet'); |
|
| 83 | - if (isset($GLOBALS['debug']['aucasou'])) { |
|
| 84 | - [, $boucle, $serveur, $contexte] = $GLOBALS['debug']['aucasou']; |
|
| 85 | - if ($x and !preg_match("/$boucle\$/", $x)) { |
|
| 86 | - return; |
|
| 87 | - } |
|
| 88 | - if ($serveur) { |
|
| 89 | - $boucle .= " ($serveur)"; |
|
| 90 | - } |
|
| 91 | - $boucle = "<b>$boucle</b>"; |
|
| 92 | - } else { |
|
| 93 | - if ($x) { |
|
| 94 | - return; |
|
| 95 | - } |
|
| 96 | - $boucle = $contexte = ''; |
|
| 97 | - } |
|
| 98 | - |
|
| 99 | - $tt += $dt; |
|
| 100 | - $nb++; |
|
| 101 | - |
|
| 102 | - $q = preg_replace('/([a-z)`])\s+([A-Z])/', "$1\n<br />$2", spip_htmlentities($query)); |
|
| 103 | - $e = sql_explain($query, $serveur); |
|
| 104 | - $r = str_replace('Resource id ', '', (is_object($result) ? get_class($result) : $result)); |
|
| 105 | - $GLOBALS['tableau_des_temps'][] = [$dt, $nb, $boucle, $q, $e, $r, $contexte]; |
|
| 79 | + include_spip('inc/filtres_mini'); |
|
| 80 | + static $tt = 0, $nb = 0; |
|
| 81 | + |
|
| 82 | + $x = _request('var_mode_objet'); |
|
| 83 | + if (isset($GLOBALS['debug']['aucasou'])) { |
|
| 84 | + [, $boucle, $serveur, $contexte] = $GLOBALS['debug']['aucasou']; |
|
| 85 | + if ($x and !preg_match("/$boucle\$/", $x)) { |
|
| 86 | + return; |
|
| 87 | + } |
|
| 88 | + if ($serveur) { |
|
| 89 | + $boucle .= " ($serveur)"; |
|
| 90 | + } |
|
| 91 | + $boucle = "<b>$boucle</b>"; |
|
| 92 | + } else { |
|
| 93 | + if ($x) { |
|
| 94 | + return; |
|
| 95 | + } |
|
| 96 | + $boucle = $contexte = ''; |
|
| 97 | + } |
|
| 98 | + |
|
| 99 | + $tt += $dt; |
|
| 100 | + $nb++; |
|
| 101 | + |
|
| 102 | + $q = preg_replace('/([a-z)`])\s+([A-Z])/', "$1\n<br />$2", spip_htmlentities($query)); |
|
| 103 | + $e = sql_explain($query, $serveur); |
|
| 104 | + $r = str_replace('Resource id ', '', (is_object($result) ? get_class($result) : $result)); |
|
| 105 | + $GLOBALS['tableau_des_temps'][] = [$dt, $nb, $boucle, $q, $e, $r, $contexte]; |
|
| 106 | 106 | } |
| 107 | 107 | |
| 108 | 108 | |
| 109 | 109 | function chrono_requete($temps) { |
| 110 | - $total = 0; |
|
| 111 | - $hors = '<i>' . _T('zbug_hors_compilation') . '</i>'; |
|
| 112 | - $t = $q = $n = $d = []; |
|
| 113 | - // Totaliser les temps et completer le Explain |
|
| 114 | - foreach ($temps as $key => $v) { |
|
| 115 | - [$dt, $nb, $boucle, $query, $explain, $res, $contexte] = $v; |
|
| 116 | - if (is_array($contexte)) { |
|
| 117 | - $k = ($contexte[0] . " $boucle"); |
|
| 118 | - include_spip('public/compiler'); |
|
| 119 | - $env = reconstruire_contexte_compil($contexte); |
|
| 120 | - } else { |
|
| 121 | - $k = $env = $boucle; |
|
| 122 | - } |
|
| 123 | - |
|
| 124 | - $total += $dt; |
|
| 125 | - $t[$key] = $dt; |
|
| 126 | - $q[$key] = $nb; |
|
| 127 | - if (!isset($d[$k])) { |
|
| 128 | - $d[$k] = 0; |
|
| 129 | - $n[$k] = 0; |
|
| 130 | - } |
|
| 131 | - $d[$k] += $dt; |
|
| 132 | - ++$n[$k]; |
|
| 133 | - |
|
| 134 | - if (!is_array($explain)) { |
|
| 135 | - $explain = []; |
|
| 136 | - } |
|
| 137 | - foreach ($explain as $j => $v) { |
|
| 138 | - $explain[$j] = "<tr><th>$j</th><td>" |
|
| 139 | - . str_replace(';', '<br />', $v) |
|
| 140 | - . '</td></tr>'; |
|
| 141 | - } |
|
| 142 | - $e = "<table class='explain'>" |
|
| 143 | - . '<caption>' |
|
| 144 | - . $query |
|
| 145 | - . '</caption>' |
|
| 146 | - . "<tr><th>Time</th><td>$dt</td></tr>" |
|
| 147 | - . "<tr><th>Order</th><td>$nb</td></tr>" |
|
| 148 | - . "<tr><th>Res</th><td>$res</td></tr>" |
|
| 149 | - . join('', $explain) |
|
| 150 | - . '</table>'; |
|
| 151 | - |
|
| 152 | - $temps[$key] = [$e, $env, $k]; |
|
| 153 | - } |
|
| 154 | - // Trier par temps d'execution decroissant |
|
| 155 | - array_multisort($t, SORT_DESC, $q, $temps); |
|
| 156 | - arsort($d); |
|
| 157 | - $i = 1; |
|
| 158 | - $t = []; |
|
| 159 | - // Fabriquer les liens de navigations dans le tableau des temps |
|
| 160 | - foreach ($temps as $k => $v) { |
|
| 161 | - $titre = strip_tags($v[2]); |
|
| 162 | - $href = quote_amp($GLOBALS['REQUEST_URI']) . "#req$i"; |
|
| 163 | - $href = str_replace("\\'", ''', $href); |
|
| 164 | - |
|
| 165 | - if (!isset($t[$v[2]])) { |
|
| 166 | - $t[$v[2]] = []; |
|
| 167 | - } |
|
| 168 | - $t[$v[2]][] = "<span class='spip-debug-arg'> " |
|
| 169 | - . "<a title='$titre' href='$href'>$i</a>" |
|
| 170 | - . '</span>' |
|
| 171 | - . ((count($t[$v[2]]) % 10 == 9) ? '<br />' : ''); |
|
| 172 | - $i++; |
|
| 173 | - } |
|
| 174 | - |
|
| 175 | - if ($d['']) { |
|
| 176 | - $d[$hors] = $d['']; |
|
| 177 | - $n[$hors] = $n['']; |
|
| 178 | - $t[$hors] = $t['']; |
|
| 179 | - } |
|
| 180 | - unset($d['']); |
|
| 181 | - // Fabriquer le tableau des liens de navigation dans le grand tableau |
|
| 182 | - foreach ($d as $k => $v) { |
|
| 183 | - $d[$k] = $n[$k] . "</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>" |
|
| 184 | - . join('', $t[$k]); |
|
| 185 | - } |
|
| 186 | - |
|
| 187 | - $navigation = [ |
|
| 188 | - _T('zbug_statistiques'), |
|
| 189 | - '<tr><td>' |
|
| 190 | - . join("</td></tr>\n<tr><td>", $d) |
|
| 191 | - . "</td></tr>\n" |
|
| 192 | - . (# _request('var_mode_objet') ? '' : |
|
| 193 | - ('<tr><td>' . (is_countable($temps) ? count($temps) : 0) . '</td><td>' . _T('info_total') . '</td><td class="time">' . $total . '</td><td></td></tr>')) |
|
| 194 | - ]; |
|
| 195 | - |
|
| 196 | - return [$temps, $navigation]; |
|
| 110 | + $total = 0; |
|
| 111 | + $hors = '<i>' . _T('zbug_hors_compilation') . '</i>'; |
|
| 112 | + $t = $q = $n = $d = []; |
|
| 113 | + // Totaliser les temps et completer le Explain |
|
| 114 | + foreach ($temps as $key => $v) { |
|
| 115 | + [$dt, $nb, $boucle, $query, $explain, $res, $contexte] = $v; |
|
| 116 | + if (is_array($contexte)) { |
|
| 117 | + $k = ($contexte[0] . " $boucle"); |
|
| 118 | + include_spip('public/compiler'); |
|
| 119 | + $env = reconstruire_contexte_compil($contexte); |
|
| 120 | + } else { |
|
| 121 | + $k = $env = $boucle; |
|
| 122 | + } |
|
| 123 | + |
|
| 124 | + $total += $dt; |
|
| 125 | + $t[$key] = $dt; |
|
| 126 | + $q[$key] = $nb; |
|
| 127 | + if (!isset($d[$k])) { |
|
| 128 | + $d[$k] = 0; |
|
| 129 | + $n[$k] = 0; |
|
| 130 | + } |
|
| 131 | + $d[$k] += $dt; |
|
| 132 | + ++$n[$k]; |
|
| 133 | + |
|
| 134 | + if (!is_array($explain)) { |
|
| 135 | + $explain = []; |
|
| 136 | + } |
|
| 137 | + foreach ($explain as $j => $v) { |
|
| 138 | + $explain[$j] = "<tr><th>$j</th><td>" |
|
| 139 | + . str_replace(';', '<br />', $v) |
|
| 140 | + . '</td></tr>'; |
|
| 141 | + } |
|
| 142 | + $e = "<table class='explain'>" |
|
| 143 | + . '<caption>' |
|
| 144 | + . $query |
|
| 145 | + . '</caption>' |
|
| 146 | + . "<tr><th>Time</th><td>$dt</td></tr>" |
|
| 147 | + . "<tr><th>Order</th><td>$nb</td></tr>" |
|
| 148 | + . "<tr><th>Res</th><td>$res</td></tr>" |
|
| 149 | + . join('', $explain) |
|
| 150 | + . '</table>'; |
|
| 151 | + |
|
| 152 | + $temps[$key] = [$e, $env, $k]; |
|
| 153 | + } |
|
| 154 | + // Trier par temps d'execution decroissant |
|
| 155 | + array_multisort($t, SORT_DESC, $q, $temps); |
|
| 156 | + arsort($d); |
|
| 157 | + $i = 1; |
|
| 158 | + $t = []; |
|
| 159 | + // Fabriquer les liens de navigations dans le tableau des temps |
|
| 160 | + foreach ($temps as $k => $v) { |
|
| 161 | + $titre = strip_tags($v[2]); |
|
| 162 | + $href = quote_amp($GLOBALS['REQUEST_URI']) . "#req$i"; |
|
| 163 | + $href = str_replace("\\'", ''', $href); |
|
| 164 | + |
|
| 165 | + if (!isset($t[$v[2]])) { |
|
| 166 | + $t[$v[2]] = []; |
|
| 167 | + } |
|
| 168 | + $t[$v[2]][] = "<span class='spip-debug-arg'> " |
|
| 169 | + . "<a title='$titre' href='$href'>$i</a>" |
|
| 170 | + . '</span>' |
|
| 171 | + . ((count($t[$v[2]]) % 10 == 9) ? '<br />' : ''); |
|
| 172 | + $i++; |
|
| 173 | + } |
|
| 174 | + |
|
| 175 | + if ($d['']) { |
|
| 176 | + $d[$hors] = $d['']; |
|
| 177 | + $n[$hors] = $n['']; |
|
| 178 | + $t[$hors] = $t['']; |
|
| 179 | + } |
|
| 180 | + unset($d['']); |
|
| 181 | + // Fabriquer le tableau des liens de navigation dans le grand tableau |
|
| 182 | + foreach ($d as $k => $v) { |
|
| 183 | + $d[$k] = $n[$k] . "</td><td>$k</td><td class='time'>$v</td><td class='liste-reqs'>" |
|
| 184 | + . join('', $t[$k]); |
|
| 185 | + } |
|
| 186 | + |
|
| 187 | + $navigation = [ |
|
| 188 | + _T('zbug_statistiques'), |
|
| 189 | + '<tr><td>' |
|
| 190 | + . join("</td></tr>\n<tr><td>", $d) |
|
| 191 | + . "</td></tr>\n" |
|
| 192 | + . (# _request('var_mode_objet') ? '' : |
|
| 193 | + ('<tr><td>' . (is_countable($temps) ? count($temps) : 0) . '</td><td>' . _T('info_total') . '</td><td class="time">' . $total . '</td><td></td></tr>')) |
|
| 194 | + ]; |
|
| 195 | + |
|
| 196 | + return [$temps, $navigation]; |
|
| 197 | 197 | } |
@@ -4,123 +4,123 @@ |
||
| 4 | 4 | // ** ne pas modifier le fichier ** |
| 5 | 5 | |
| 6 | 6 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 7 | - return; |
|
| 7 | + return; |
|
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 11 | 11 | |
| 12 | - // A |
|
| 13 | - 'accueil_site' => 'Página inicial', |
|
| 14 | - 'article' => 'Matéria', |
|
| 15 | - 'articles' => 'Matérias', |
|
| 16 | - 'articles_auteur' => 'Matérias deste autor', |
|
| 17 | - 'articles_populaires' => 'Matérias mais populares', |
|
| 18 | - 'articles_rubrique' => 'Matérias desta seção', |
|
| 19 | - 'aucun_article' => 'Não há nenhuma matéria neste endereço', |
|
| 20 | - 'aucun_auteur' => 'Não há nenhum autor neste endereço', |
|
| 21 | - 'aucun_site' => 'Não há nenhum site neste endereço', |
|
| 22 | - 'aucune_breve' => 'Não há nenhuma nota neste endereço', |
|
| 23 | - 'aucune_rubrique' => 'Não há nenhuma seção neste endereço', |
|
| 24 | - 'auteur' => 'Autor', |
|
| 25 | - 'autres' => 'Outros', |
|
| 26 | - 'autres_breves' => 'Outras notas', |
|
| 27 | - 'autres_groupes_mots_clefs' => 'Outros grupos de palavras-chave', |
|
| 28 | - 'autres_sites' => 'Outros sites', |
|
| 29 | - |
|
| 30 | - // B |
|
| 31 | - 'bonjour' => 'Bom dia', |
|
| 32 | - |
|
| 33 | - // C |
|
| 34 | - 'commenter_site' => 'Comentar este site', |
|
| 35 | - 'contact' => 'Contato', |
|
| 36 | - 'copie_document_impossible' => 'Não foi possível copiar o documento', |
|
| 37 | - |
|
| 38 | - // D |
|
| 39 | - 'date' => 'Data', |
|
| 40 | - 'dernier_ajout' => 'Última inclusão', |
|
| 41 | - 'dernieres_breves' => 'Últimas notas', |
|
| 42 | - 'derniers_articles' => 'Últimas matérias', |
|
| 43 | - 'derniers_commentaires' => 'Últimos comentários', |
|
| 44 | - 'derniers_messages_forum' => 'Últimas mensagens publicadas nos fóruns', |
|
| 45 | - |
|
| 46 | - // E |
|
| 47 | - 'edition_mode_texte' => 'Edição em modo texto de', |
|
| 48 | - 'en_reponse' => 'Em resposta a:', |
|
| 49 | - 'en_resume' => 'Em resumo', |
|
| 50 | - 'envoyer_message' => 'Enviar uma mensagem', |
|
| 51 | - 'espace_prive' => 'Espaço privado', |
|
| 52 | - |
|
| 53 | - // F |
|
| 54 | - 'formats_acceptes' => 'Formatos aceitos: @formats@.', |
|
| 55 | - |
|
| 56 | - // H |
|
| 57 | - 'hierarchie_site' => 'Hierarquia do site', |
|
| 58 | - |
|
| 59 | - // J |
|
| 60 | - 'jours' => 'dias', |
|
| 61 | - |
|
| 62 | - // L |
|
| 63 | - 'lien_connecter' => 'Conectar-se', |
|
| 64 | - |
|
| 65 | - // M |
|
| 66 | - 'meme_auteur' => 'Do mesmo autor', |
|
| 67 | - 'meme_rubrique' => 'Na mesma seção', |
|
| 68 | - 'memes_auteurs' => 'Dos mesmos autores', |
|
| 69 | - 'message' => 'Mensagem', |
|
| 70 | - 'messages_forum' => 'Mensagens', |
|
| 71 | - 'messages_recents' => 'Mensagens de fórum mais recentes', |
|
| 72 | - 'mots_clef' => 'Palavra-chave', |
|
| 73 | - 'mots_clefs' => 'Palavras-chave', |
|
| 74 | - 'mots_clefs_meme_groupe' => 'Palavras-chave no mesmo grupo', |
|
| 75 | - |
|
| 76 | - // N |
|
| 77 | - 'navigation' => 'Navegação', |
|
| 78 | - 'nom' => 'Nome', |
|
| 79 | - 'nouveautes' => 'As novidades', |
|
| 80 | - 'nouveautes_web' => 'Novidades na web', |
|
| 81 | - 'nouveaux_articles' => 'Novas matérias', |
|
| 82 | - 'nouvelles_breves' => 'Novas notas', |
|
| 83 | - |
|
| 84 | - // P |
|
| 85 | - 'page_precedente' => 'página anterior', |
|
| 86 | - 'page_suivante' => 'página seguinte', |
|
| 87 | - 'par_auteur' => 'por ', |
|
| 88 | - 'participer_site' => 'Você pode participar da vida deste site e propor as suas próprias matérias ao se inscrever abaixo. Você receberá imediatamente um e-mail informando os seus códigos de acesso ao espaço privado do site.', |
|
| 89 | - 'plan_site' => 'Mapa do site', |
|
| 90 | - 'popularite' => 'Popularidade', |
|
| 91 | - 'poster_message' => 'Postar uma mensagem', |
|
| 92 | - 'proposer_site' => 'Você pode propor a inclusão de um site nesta seção:', |
|
| 93 | - |
|
| 94 | - // R |
|
| 95 | - 'repondre_article' => 'Responder a esta matéria', |
|
| 96 | - 'repondre_breve' => 'Responder a esta nota', |
|
| 97 | - 'resultats_recherche' => 'Resultados da busca', |
|
| 98 | - 'retour_debut_forums' => 'Voltar ao início dos fóruns', |
|
| 99 | - 'rss_abonnement' => 'Copie o URL a seguir para o seu agregador:', |
|
| 100 | - 'rss_abonnement_titre' => 'Subscrever', |
|
| 101 | - 'rss_abonnement_titre_page' => 'Subscrever', |
|
| 102 | - 'rss_explication' => 'Um feed RSS coleta as informações de atualização de um site. Ele fornece o conteúdo das postagens ou dos somentários, ou um trecho dos mesmos, bem como um link para as versões integrais e informações adicionais. Esse feed é pensado para ser lido por um agregador RSS.', |
|
| 103 | - 'rss_explication_titre' => 'O que é um fluxo RSS?', |
|
| 104 | - 'rubrique' => 'Seção', |
|
| 105 | - 'rubriques' => 'Seções', |
|
| 106 | - |
|
| 107 | - // S |
|
| 108 | - 'signatures_petition' => 'Assinaturas', |
|
| 109 | - 'site_realise_avec_spip' => 'Site realizado com SPIP', |
|
| 110 | - 'sites_web' => 'Websites', |
|
| 111 | - 'sous_rubriques' => 'Subseções', |
|
| 112 | - 'spam' => 'Spam', |
|
| 113 | - 'suite' => 'a seguir', |
|
| 114 | - 'sur_web' => 'Na web', |
|
| 115 | - 'syndiquer_rubrique' => 'Sindicar esta seção', |
|
| 116 | - 'syndiquer_site' => 'Sindicar todo o site', |
|
| 117 | - |
|
| 118 | - // T |
|
| 119 | - 'texte_lettre_information' => 'Esta é a mensagem de informação do site', |
|
| 120 | - 'texte_lettre_information_2' => 'Esta mensagem compila as novidades publicadas desde', |
|
| 121 | - |
|
| 122 | - // V |
|
| 123 | - 'ver_imprimer' => 'Versão para impressão', |
|
| 124 | - 'voir_en_ligne' => 'Ver online', |
|
| 125 | - 'voir_squelette' => 'visualizar o template desta página' |
|
| 12 | + // A |
|
| 13 | + 'accueil_site' => 'Página inicial', |
|
| 14 | + 'article' => 'Matéria', |
|
| 15 | + 'articles' => 'Matérias', |
|
| 16 | + 'articles_auteur' => 'Matérias deste autor', |
|
| 17 | + 'articles_populaires' => 'Matérias mais populares', |
|
| 18 | + 'articles_rubrique' => 'Matérias desta seção', |
|
| 19 | + 'aucun_article' => 'Não há nenhuma matéria neste endereço', |
|
| 20 | + 'aucun_auteur' => 'Não há nenhum autor neste endereço', |
|
| 21 | + 'aucun_site' => 'Não há nenhum site neste endereço', |
|
| 22 | + 'aucune_breve' => 'Não há nenhuma nota neste endereço', |
|
| 23 | + 'aucune_rubrique' => 'Não há nenhuma seção neste endereço', |
|
| 24 | + 'auteur' => 'Autor', |
|
| 25 | + 'autres' => 'Outros', |
|
| 26 | + 'autres_breves' => 'Outras notas', |
|
| 27 | + 'autres_groupes_mots_clefs' => 'Outros grupos de palavras-chave', |
|
| 28 | + 'autres_sites' => 'Outros sites', |
|
| 29 | + |
|
| 30 | + // B |
|
| 31 | + 'bonjour' => 'Bom dia', |
|
| 32 | + |
|
| 33 | + // C |
|
| 34 | + 'commenter_site' => 'Comentar este site', |
|
| 35 | + 'contact' => 'Contato', |
|
| 36 | + 'copie_document_impossible' => 'Não foi possível copiar o documento', |
|
| 37 | + |
|
| 38 | + // D |
|
| 39 | + 'date' => 'Data', |
|
| 40 | + 'dernier_ajout' => 'Última inclusão', |
|
| 41 | + 'dernieres_breves' => 'Últimas notas', |
|
| 42 | + 'derniers_articles' => 'Últimas matérias', |
|
| 43 | + 'derniers_commentaires' => 'Últimos comentários', |
|
| 44 | + 'derniers_messages_forum' => 'Últimas mensagens publicadas nos fóruns', |
|
| 45 | + |
|
| 46 | + // E |
|
| 47 | + 'edition_mode_texte' => 'Edição em modo texto de', |
|
| 48 | + 'en_reponse' => 'Em resposta a:', |
|
| 49 | + 'en_resume' => 'Em resumo', |
|
| 50 | + 'envoyer_message' => 'Enviar uma mensagem', |
|
| 51 | + 'espace_prive' => 'Espaço privado', |
|
| 52 | + |
|
| 53 | + // F |
|
| 54 | + 'formats_acceptes' => 'Formatos aceitos: @formats@.', |
|
| 55 | + |
|
| 56 | + // H |
|
| 57 | + 'hierarchie_site' => 'Hierarquia do site', |
|
| 58 | + |
|
| 59 | + // J |
|
| 60 | + 'jours' => 'dias', |
|
| 61 | + |
|
| 62 | + // L |
|
| 63 | + 'lien_connecter' => 'Conectar-se', |
|
| 64 | + |
|
| 65 | + // M |
|
| 66 | + 'meme_auteur' => 'Do mesmo autor', |
|
| 67 | + 'meme_rubrique' => 'Na mesma seção', |
|
| 68 | + 'memes_auteurs' => 'Dos mesmos autores', |
|
| 69 | + 'message' => 'Mensagem', |
|
| 70 | + 'messages_forum' => 'Mensagens', |
|
| 71 | + 'messages_recents' => 'Mensagens de fórum mais recentes', |
|
| 72 | + 'mots_clef' => 'Palavra-chave', |
|
| 73 | + 'mots_clefs' => 'Palavras-chave', |
|
| 74 | + 'mots_clefs_meme_groupe' => 'Palavras-chave no mesmo grupo', |
|
| 75 | + |
|
| 76 | + // N |
|
| 77 | + 'navigation' => 'Navegação', |
|
| 78 | + 'nom' => 'Nome', |
|
| 79 | + 'nouveautes' => 'As novidades', |
|
| 80 | + 'nouveautes_web' => 'Novidades na web', |
|
| 81 | + 'nouveaux_articles' => 'Novas matérias', |
|
| 82 | + 'nouvelles_breves' => 'Novas notas', |
|
| 83 | + |
|
| 84 | + // P |
|
| 85 | + 'page_precedente' => 'página anterior', |
|
| 86 | + 'page_suivante' => 'página seguinte', |
|
| 87 | + 'par_auteur' => 'por ', |
|
| 88 | + 'participer_site' => 'Você pode participar da vida deste site e propor as suas próprias matérias ao se inscrever abaixo. Você receberá imediatamente um e-mail informando os seus códigos de acesso ao espaço privado do site.', |
|
| 89 | + 'plan_site' => 'Mapa do site', |
|
| 90 | + 'popularite' => 'Popularidade', |
|
| 91 | + 'poster_message' => 'Postar uma mensagem', |
|
| 92 | + 'proposer_site' => 'Você pode propor a inclusão de um site nesta seção:', |
|
| 93 | + |
|
| 94 | + // R |
|
| 95 | + 'repondre_article' => 'Responder a esta matéria', |
|
| 96 | + 'repondre_breve' => 'Responder a esta nota', |
|
| 97 | + 'resultats_recherche' => 'Resultados da busca', |
|
| 98 | + 'retour_debut_forums' => 'Voltar ao início dos fóruns', |
|
| 99 | + 'rss_abonnement' => 'Copie o URL a seguir para o seu agregador:', |
|
| 100 | + 'rss_abonnement_titre' => 'Subscrever', |
|
| 101 | + 'rss_abonnement_titre_page' => 'Subscrever', |
|
| 102 | + 'rss_explication' => 'Um feed RSS coleta as informações de atualização de um site. Ele fornece o conteúdo das postagens ou dos somentários, ou um trecho dos mesmos, bem como um link para as versões integrais e informações adicionais. Esse feed é pensado para ser lido por um agregador RSS.', |
|
| 103 | + 'rss_explication_titre' => 'O que é um fluxo RSS?', |
|
| 104 | + 'rubrique' => 'Seção', |
|
| 105 | + 'rubriques' => 'Seções', |
|
| 106 | + |
|
| 107 | + // S |
|
| 108 | + 'signatures_petition' => 'Assinaturas', |
|
| 109 | + 'site_realise_avec_spip' => 'Site realizado com SPIP', |
|
| 110 | + 'sites_web' => 'Websites', |
|
| 111 | + 'sous_rubriques' => 'Subseções', |
|
| 112 | + 'spam' => 'Spam', |
|
| 113 | + 'suite' => 'a seguir', |
|
| 114 | + 'sur_web' => 'Na web', |
|
| 115 | + 'syndiquer_rubrique' => 'Sindicar esta seção', |
|
| 116 | + 'syndiquer_site' => 'Sindicar todo o site', |
|
| 117 | + |
|
| 118 | + // T |
|
| 119 | + 'texte_lettre_information' => 'Esta é a mensagem de informação do site', |
|
| 120 | + 'texte_lettre_information_2' => 'Esta mensagem compila as novidades publicadas desde', |
|
| 121 | + |
|
| 122 | + // V |
|
| 123 | + 'ver_imprimer' => 'Versão para impressão', |
|
| 124 | + 'voir_en_ligne' => 'Ver online', |
|
| 125 | + 'voir_squelette' => 'visualizar o template desta página' |
|
| 126 | 126 | ); |
@@ -49,8 +49,8 @@ discard block |
||
| 49 | 49 | |
| 50 | 50 | // Espacements pour le rythme vertical et les gouttières |
| 51 | 51 | // Basés sur la hauteur d'une ligne de texte à la racine du document |
| 52 | - $vars->add('--spip-spacing-y', round(strmult($Pile[0]['font-size'], $Pile[0]['line-height']), 4) . 'rem'); |
|
| 53 | - $vars->add('--spip-spacing-x', round(strmult($Pile[0]['font-size'], $Pile[0]['line-height']), 4) . 'rem'); |
|
| 52 | + $vars->add('--spip-spacing-y', round(strmult($Pile[0]['font-size'], $Pile[0]['line-height']), 4).'rem'); |
|
| 53 | + $vars->add('--spip-spacing-x', round(strmult($Pile[0]['font-size'], $Pile[0]['line-height']), 4).'rem'); |
|
| 54 | 54 | $vars->add('--spip-margin-bottom', $Pile[0]['margin-bottom']); // À déprécier |
| 55 | 55 | |
| 56 | 56 | // Bordures |
@@ -60,20 +60,20 @@ discard block |
||
| 60 | 60 | |
| 61 | 61 | // Ombres portées |
| 62 | 62 | $shadow_mini = |
| 63 | - '0 0.05em 0.1em hsla(0, 0%, 0%, 0.33),' . |
|
| 64 | - '0 0.1em 0.15em hsla(0, 0%, 0%, 0.05),' . |
|
| 63 | + '0 0.05em 0.1em hsla(0, 0%, 0%, 0.33),'. |
|
| 64 | + '0 0.1em 0.15em hsla(0, 0%, 0%, 0.05),'. |
|
| 65 | 65 | '0 0.1em 0.25em hsla(0, 0%, 0%, 0.05)'; |
| 66 | 66 | $shadow = |
| 67 | - '0 0.05em 0.15em hsla(0, 0%, 0%, 0.33),' . |
|
| 68 | - '0 0.1em 0.25em hsla(0, 0%, 0%, 0.05),' . |
|
| 67 | + '0 0.05em 0.15em hsla(0, 0%, 0%, 0.33),'. |
|
| 68 | + '0 0.1em 0.25em hsla(0, 0%, 0%, 0.05),'. |
|
| 69 | 69 | '0 0.1em 0.5em hsla(0, 0%, 0%, 0.05)'; |
| 70 | 70 | $shadow_large = |
| 71 | - '0 0.05em 0.15em hsla(0, 0%, 0%, 0.1),' . |
|
| 72 | - '0 0.2em 0.5em hsla(0, 0%, 0%, 0.1),' . |
|
| 71 | + '0 0.05em 0.15em hsla(0, 0%, 0%, 0.1),'. |
|
| 72 | + '0 0.2em 0.5em hsla(0, 0%, 0%, 0.1),'. |
|
| 73 | 73 | '0 0.2em 1em hsla(0, 0%, 0%, 0.075)'; |
| 74 | 74 | $shadow_huge = |
| 75 | - '0 0.1em 0.25em hsla(0, 0%, 0%, 0.1),' . |
|
| 76 | - '0 0.25em 1em hsla(0, 0%, 0%, 0.1),' . |
|
| 75 | + '0 0.1em 0.25em hsla(0, 0%, 0%, 0.1),'. |
|
| 76 | + '0 0.25em 1em hsla(0, 0%, 0%, 0.1),'. |
|
| 77 | 77 | '0 0.5em 2em hsla(0, 0%, 0%, 0.075)'; |
| 78 | 78 | $vars->add('--spip-box-shadow-mini', $shadow_mini); |
| 79 | 79 | $vars->add('--spip-box-shadow-mini-hover', $shadow); |
@@ -8,59 +8,59 @@ discard block |
||
| 8 | 8 | * @param Pile $pile Pile |
| 9 | 9 | */ |
| 10 | 10 | function spip_generer_variables_css_typo(array $Pile): Collection { |
| 11 | - $vars = new Collection(); |
|
| 12 | - |
|
| 13 | - // Direction |
|
| 14 | - $vars->add('--spip-dir', $Pile[0]['dir']); |
|
| 15 | - $vars->add('--spip-left', $Pile[0]['left']); |
|
| 16 | - $vars->add('--spip-right', $Pile[0]['right']); |
|
| 17 | - |
|
| 18 | - // Typographie |
|
| 19 | - $vars->add('--spip-font-size', $Pile[0]['font-size']); |
|
| 20 | - $vars->add('--spip-line-height', $Pile[0]['line-height']); |
|
| 21 | - $vars->add('--spip-text-indent', $Pile[0]['text-indent']); |
|
| 22 | - $vars->add('--spip-font-family', $Pile[0]['font-family']); |
|
| 23 | - |
|
| 24 | - // Couleurs hors thème |
|
| 25 | - $vars->add('--spip-background-color', $Pile[0]['background-color']); |
|
| 26 | - $vars->add('--spip-color', $Pile[0]['color']); |
|
| 27 | - |
|
| 28 | - // Espacements pour le rythme vertical et les gouttières |
|
| 29 | - // Basés sur la hauteur d'une ligne de texte à la racine du document |
|
| 30 | - $vars->add('--spip-spacing-y', round(strmult($Pile[0]['font-size'], $Pile[0]['line-height']), 4) . 'rem'); |
|
| 31 | - $vars->add('--spip-spacing-x', round(strmult($Pile[0]['font-size'], $Pile[0]['line-height']), 4) . 'rem'); |
|
| 32 | - $vars->add('--spip-margin-bottom', $Pile[0]['margin-bottom']); // À déprécier |
|
| 33 | - |
|
| 34 | - // Bordures |
|
| 35 | - $vars->add('--spip-border-radius-mini', '0.2rem'); |
|
| 36 | - $vars->add('--spip-border-radius', '0.33rem'); |
|
| 37 | - $vars->add('--spip-border-radius-large', '0.66rem'); |
|
| 38 | - |
|
| 39 | - // Ombres portées |
|
| 40 | - $shadow_mini = |
|
| 41 | - '0 0.05em 0.1em hsla(0, 0%, 0%, 0.33),' . |
|
| 42 | - '0 0.1em 0.15em hsla(0, 0%, 0%, 0.05),' . |
|
| 43 | - '0 0.1em 0.25em hsla(0, 0%, 0%, 0.05)'; |
|
| 44 | - $shadow = |
|
| 45 | - '0 0.05em 0.15em hsla(0, 0%, 0%, 0.33),' . |
|
| 46 | - '0 0.1em 0.25em hsla(0, 0%, 0%, 0.05),' . |
|
| 47 | - '0 0.1em 0.5em hsla(0, 0%, 0%, 0.05)'; |
|
| 48 | - $shadow_large = |
|
| 49 | - '0 0.05em 0.15em hsla(0, 0%, 0%, 0.1),' . |
|
| 50 | - '0 0.2em 0.5em hsla(0, 0%, 0%, 0.1),' . |
|
| 51 | - '0 0.2em 1em hsla(0, 0%, 0%, 0.075)'; |
|
| 52 | - $shadow_huge = |
|
| 53 | - '0 0.1em 0.25em hsla(0, 0%, 0%, 0.1),' . |
|
| 54 | - '0 0.25em 1em hsla(0, 0%, 0%, 0.1),' . |
|
| 55 | - '0 0.5em 2em hsla(0, 0%, 0%, 0.075)'; |
|
| 56 | - $vars->add('--spip-box-shadow-mini', $shadow_mini); |
|
| 57 | - $vars->add('--spip-box-shadow-mini-hover', $shadow); |
|
| 58 | - $vars->add('--spip-box-shadow', $shadow); |
|
| 59 | - $vars->add('--spip-box-shadow-hover', $shadow_large); |
|
| 60 | - $vars->add('--spip-box-shadow-large', $shadow_large); |
|
| 61 | - $vars->add('--spip-box-shadow-large-hover', $shadow_huge); |
|
| 62 | - |
|
| 63 | - return $vars; |
|
| 11 | + $vars = new Collection(); |
|
| 12 | + |
|
| 13 | + // Direction |
|
| 14 | + $vars->add('--spip-dir', $Pile[0]['dir']); |
|
| 15 | + $vars->add('--spip-left', $Pile[0]['left']); |
|
| 16 | + $vars->add('--spip-right', $Pile[0]['right']); |
|
| 17 | + |
|
| 18 | + // Typographie |
|
| 19 | + $vars->add('--spip-font-size', $Pile[0]['font-size']); |
|
| 20 | + $vars->add('--spip-line-height', $Pile[0]['line-height']); |
|
| 21 | + $vars->add('--spip-text-indent', $Pile[0]['text-indent']); |
|
| 22 | + $vars->add('--spip-font-family', $Pile[0]['font-family']); |
|
| 23 | + |
|
| 24 | + // Couleurs hors thème |
|
| 25 | + $vars->add('--spip-background-color', $Pile[0]['background-color']); |
|
| 26 | + $vars->add('--spip-color', $Pile[0]['color']); |
|
| 27 | + |
|
| 28 | + // Espacements pour le rythme vertical et les gouttières |
|
| 29 | + // Basés sur la hauteur d'une ligne de texte à la racine du document |
|
| 30 | + $vars->add('--spip-spacing-y', round(strmult($Pile[0]['font-size'], $Pile[0]['line-height']), 4) . 'rem'); |
|
| 31 | + $vars->add('--spip-spacing-x', round(strmult($Pile[0]['font-size'], $Pile[0]['line-height']), 4) . 'rem'); |
|
| 32 | + $vars->add('--spip-margin-bottom', $Pile[0]['margin-bottom']); // À déprécier |
|
| 33 | + |
|
| 34 | + // Bordures |
|
| 35 | + $vars->add('--spip-border-radius-mini', '0.2rem'); |
|
| 36 | + $vars->add('--spip-border-radius', '0.33rem'); |
|
| 37 | + $vars->add('--spip-border-radius-large', '0.66rem'); |
|
| 38 | + |
|
| 39 | + // Ombres portées |
|
| 40 | + $shadow_mini = |
|
| 41 | + '0 0.05em 0.1em hsla(0, 0%, 0%, 0.33),' . |
|
| 42 | + '0 0.1em 0.15em hsla(0, 0%, 0%, 0.05),' . |
|
| 43 | + '0 0.1em 0.25em hsla(0, 0%, 0%, 0.05)'; |
|
| 44 | + $shadow = |
|
| 45 | + '0 0.05em 0.15em hsla(0, 0%, 0%, 0.33),' . |
|
| 46 | + '0 0.1em 0.25em hsla(0, 0%, 0%, 0.05),' . |
|
| 47 | + '0 0.1em 0.5em hsla(0, 0%, 0%, 0.05)'; |
|
| 48 | + $shadow_large = |
|
| 49 | + '0 0.05em 0.15em hsla(0, 0%, 0%, 0.1),' . |
|
| 50 | + '0 0.2em 0.5em hsla(0, 0%, 0%, 0.1),' . |
|
| 51 | + '0 0.2em 1em hsla(0, 0%, 0%, 0.075)'; |
|
| 52 | + $shadow_huge = |
|
| 53 | + '0 0.1em 0.25em hsla(0, 0%, 0%, 0.1),' . |
|
| 54 | + '0 0.25em 1em hsla(0, 0%, 0%, 0.1),' . |
|
| 55 | + '0 0.5em 2em hsla(0, 0%, 0%, 0.075)'; |
|
| 56 | + $vars->add('--spip-box-shadow-mini', $shadow_mini); |
|
| 57 | + $vars->add('--spip-box-shadow-mini-hover', $shadow); |
|
| 58 | + $vars->add('--spip-box-shadow', $shadow); |
|
| 59 | + $vars->add('--spip-box-shadow-hover', $shadow_large); |
|
| 60 | + $vars->add('--spip-box-shadow-large', $shadow_large); |
|
| 61 | + $vars->add('--spip-box-shadow-large-hover', $shadow_huge); |
|
| 62 | + |
|
| 63 | + return $vars; |
|
| 64 | 64 | } |
| 65 | 65 | |
| 66 | 66 | /** |
@@ -69,101 +69,101 @@ discard block |
||
| 69 | 69 | * @param string $couleur Couleur hex |
| 70 | 70 | */ |
| 71 | 71 | function spip_generer_variables_css_couleurs_theme(string $couleur): Collection { |
| 72 | - $vars = new Collection(); |
|
| 73 | - |
|
| 74 | - #$vars->add('--spip-color-theme--hsl', couleur_hex_to_hsl($couleur, 'h, s, l')); // redéfini ensuite |
|
| 75 | - $vars->add('--spip-color-theme--h', couleur_hex_to_hsl($couleur, 'h')); |
|
| 76 | - $vars->add('--spip-color-theme--s', couleur_hex_to_hsl($couleur, 's')); |
|
| 77 | - $vars->add('--spip-color-theme--l', couleur_hex_to_hsl($couleur, 'l')); |
|
| 78 | - |
|
| 79 | - // un joli dégradé coloré de presque blanc à presque noir… |
|
| 80 | - $vars->add('--spip-color-theme--100', couleur_hex_to_hsl(couleur_eclaircir($couleur, .99), 'h, s, l')); |
|
| 81 | - $vars->add('--spip-color-theme--98', couleur_hex_to_hsl(couleur_eclaircir($couleur, .95), 'h, s, l')); |
|
| 82 | - $vars->add('--spip-color-theme--95', couleur_hex_to_hsl(couleur_eclaircir($couleur, .90), 'h, s, l')); |
|
| 83 | - $vars->add('--spip-color-theme--90', couleur_hex_to_hsl(couleur_eclaircir($couleur, .75), 'h, s, l')); |
|
| 84 | - $vars->add('--spip-color-theme--80', couleur_hex_to_hsl(couleur_eclaircir($couleur, .50), 'h, s, l')); |
|
| 85 | - $vars->add('--spip-color-theme--70', couleur_hex_to_hsl(couleur_eclaircir($couleur, .25), 'h, s, l')); |
|
| 86 | - $vars->add('--spip-color-theme--60', couleur_hex_to_hsl($couleur, 'h, s, l')); |
|
| 87 | - $vars->add('--spip-color-theme--50', couleur_hex_to_hsl(couleur_foncer($couleur, .125), 'h, s, l')); |
|
| 88 | - $vars->add('--spip-color-theme--40', couleur_hex_to_hsl(couleur_foncer($couleur, .25), 'h, s, l')); |
|
| 89 | - $vars->add('--spip-color-theme--30', couleur_hex_to_hsl(couleur_foncer($couleur, .375), 'h, s, l')); |
|
| 90 | - $vars->add('--spip-color-theme--20', couleur_hex_to_hsl(couleur_foncer($couleur, .50), 'h, s, l')); |
|
| 91 | - $vars->add('--spip-color-theme--10', couleur_hex_to_hsl(couleur_foncer($couleur, .75), 'h, s, l')); |
|
| 92 | - $vars->add('--spip-color-theme--00', couleur_hex_to_hsl(couleur_foncer($couleur, .98), 'h, s, l')); |
|
| 93 | - |
|
| 94 | - return $vars; |
|
| 72 | + $vars = new Collection(); |
|
| 73 | + |
|
| 74 | + #$vars->add('--spip-color-theme--hsl', couleur_hex_to_hsl($couleur, 'h, s, l')); // redéfini ensuite |
|
| 75 | + $vars->add('--spip-color-theme--h', couleur_hex_to_hsl($couleur, 'h')); |
|
| 76 | + $vars->add('--spip-color-theme--s', couleur_hex_to_hsl($couleur, 's')); |
|
| 77 | + $vars->add('--spip-color-theme--l', couleur_hex_to_hsl($couleur, 'l')); |
|
| 78 | + |
|
| 79 | + // un joli dégradé coloré de presque blanc à presque noir… |
|
| 80 | + $vars->add('--spip-color-theme--100', couleur_hex_to_hsl(couleur_eclaircir($couleur, .99), 'h, s, l')); |
|
| 81 | + $vars->add('--spip-color-theme--98', couleur_hex_to_hsl(couleur_eclaircir($couleur, .95), 'h, s, l')); |
|
| 82 | + $vars->add('--spip-color-theme--95', couleur_hex_to_hsl(couleur_eclaircir($couleur, .90), 'h, s, l')); |
|
| 83 | + $vars->add('--spip-color-theme--90', couleur_hex_to_hsl(couleur_eclaircir($couleur, .75), 'h, s, l')); |
|
| 84 | + $vars->add('--spip-color-theme--80', couleur_hex_to_hsl(couleur_eclaircir($couleur, .50), 'h, s, l')); |
|
| 85 | + $vars->add('--spip-color-theme--70', couleur_hex_to_hsl(couleur_eclaircir($couleur, .25), 'h, s, l')); |
|
| 86 | + $vars->add('--spip-color-theme--60', couleur_hex_to_hsl($couleur, 'h, s, l')); |
|
| 87 | + $vars->add('--spip-color-theme--50', couleur_hex_to_hsl(couleur_foncer($couleur, .125), 'h, s, l')); |
|
| 88 | + $vars->add('--spip-color-theme--40', couleur_hex_to_hsl(couleur_foncer($couleur, .25), 'h, s, l')); |
|
| 89 | + $vars->add('--spip-color-theme--30', couleur_hex_to_hsl(couleur_foncer($couleur, .375), 'h, s, l')); |
|
| 90 | + $vars->add('--spip-color-theme--20', couleur_hex_to_hsl(couleur_foncer($couleur, .50), 'h, s, l')); |
|
| 91 | + $vars->add('--spip-color-theme--10', couleur_hex_to_hsl(couleur_foncer($couleur, .75), 'h, s, l')); |
|
| 92 | + $vars->add('--spip-color-theme--00', couleur_hex_to_hsl(couleur_foncer($couleur, .98), 'h, s, l')); |
|
| 93 | + |
|
| 94 | + return $vars; |
|
| 95 | 95 | } |
| 96 | 96 | |
| 97 | 97 | /** |
| 98 | 98 | * Génère les variables CSS de couleurs, dont celles dépendantes des couleurs du thème actif. |
| 99 | 99 | */ |
| 100 | 100 | function spip_generer_variables_css_couleurs(): Collection { |
| 101 | - $vars = new Collection(); |
|
| 102 | - |
|
| 103 | - // nos déclinaisons de couleur (basées sur le dégradé précedent, où 60 est là couleur du thème) |
|
| 104 | - $vars->add('--spip-color-theme-white--hsl', 'var(--spip-color-theme--100)'); |
|
| 105 | - $vars->add('--spip-color-theme-lightest--hsl', 'var(--spip-color-theme--95)'); |
|
| 106 | - $vars->add('--spip-color-theme-lighter--hsl', 'var(--spip-color-theme--90)'); |
|
| 107 | - $vars->add('--spip-color-theme-light--hsl', 'var(--spip-color-theme--80)'); |
|
| 108 | - $vars->add('--spip-color-theme--hsl', 'var(--spip-color-theme--60)'); |
|
| 109 | - $vars->add('--spip-color-theme-dark--hsl', 'var(--spip-color-theme--40)'); |
|
| 110 | - $vars->add('--spip-color-theme-darker--hsl', 'var(--spip-color-theme--20)'); |
|
| 111 | - $vars->add('--spip-color-theme-darkest--hsl', 'var(--spip-color-theme--10)'); |
|
| 112 | - $vars->add('--spip-color-theme-black--hsl', 'var(--spip-color-theme--00)'); |
|
| 113 | - |
|
| 114 | - $vars->add('--spip-color-theme-white', 'hsl(var(--spip-color-theme-white--hsl))'); |
|
| 115 | - $vars->add('--spip-color-theme-lightest', 'hsl(var(--spip-color-theme-lightest--hsl))'); |
|
| 116 | - $vars->add('--spip-color-theme-lighter', 'hsl(var(--spip-color-theme-lighter--hsl))'); |
|
| 117 | - $vars->add('--spip-color-theme-light', 'hsl(var(--spip-color-theme-light--hsl))'); |
|
| 118 | - $vars->add('--spip-color-theme', 'hsl(var(--spip-color-theme--hsl))'); |
|
| 119 | - $vars->add('--spip-color-theme-dark', 'hsl(var(--spip-color-theme-dark--hsl))'); |
|
| 120 | - $vars->add('--spip-color-theme-darker', 'hsl(var(--spip-color-theme-darker--hsl))'); |
|
| 121 | - $vars->add('--spip-color-theme-darkest', 'hsl(var(--spip-color-theme-darkest--hsl))'); |
|
| 122 | - $vars->add('--spip-color-theme-black', 'hsl(var(--spip-color-theme-black--hsl))'); |
|
| 123 | - |
|
| 124 | - // déclinaisons de gris (luminosité calquée sur le dégradé de couleur) |
|
| 125 | - $vars->add('--spip-color-white--hsl', '0, 0%, 100%'); |
|
| 126 | - $vars->add('--spip-color-gray-lightest--hsl', '0, 0%, 96%'); |
|
| 127 | - $vars->add('--spip-color-gray-lighter--hsl', '0, 0%, 90%'); |
|
| 128 | - $vars->add('--spip-color-gray-light--hsl', '0, 0%, 80%'); |
|
| 129 | - $vars->add('--spip-color-gray--hsl', '0, 0%, 60%'); |
|
| 130 | - $vars->add('--spip-color-gray-dark--hsl', '0, 0%, 40%'); |
|
| 131 | - $vars->add('--spip-color-gray-darker--hsl', '0, 0%, 20%'); |
|
| 132 | - $vars->add('--spip-color-gray-darkest--hsl', '0, 0%, 10%'); |
|
| 133 | - $vars->add('--spip-color-black--hsl', '0, 0%, 0%'); |
|
| 134 | - |
|
| 135 | - $vars->add('--spip-color-white', 'hsl(var(--spip-color-white--hsl))'); |
|
| 136 | - $vars->add('--spip-color-gray-lightest', 'hsl(var(--spip-color-gray-lightest--hsl))'); |
|
| 137 | - $vars->add('--spip-color-gray-lighter', 'hsl(var(--spip-color-gray-lighter--hsl))'); |
|
| 138 | - $vars->add('--spip-color-gray-light', 'hsl(var(--spip-color-gray-light--hsl))'); |
|
| 139 | - $vars->add('--spip-color-gray', 'hsl(var(--spip-color-gray--hsl))'); |
|
| 140 | - $vars->add('--spip-color-gray-dark', 'hsl(var(--spip-color-gray-dark--hsl))'); |
|
| 141 | - $vars->add('--spip-color-gray-darker', 'hsl(var(--spip-color-gray-darker--hsl))'); |
|
| 142 | - $vars->add('--spip-color-gray-darkest', 'hsl(var(--spip-color-gray-darkest--hsl))'); |
|
| 143 | - $vars->add('--spip-color-black', 'hsl(var(--spip-color-black--hsl))'); |
|
| 144 | - |
|
| 145 | - // Différents états : erreur, etc. |
|
| 146 | - $vars->add('--spip-color-success--hsl', '72, 66%, 62%'); |
|
| 147 | - $vars->add('--spip-color-success--h', '72'); |
|
| 148 | - $vars->add('--spip-color-success--s', '66%'); |
|
| 149 | - $vars->add('--spip-color-success--l', '62%'); |
|
| 150 | - $vars->add('--spip-color-error--hsl', '356, 70%, 57%'); |
|
| 151 | - $vars->add('--spip-color-error--h', '356'); |
|
| 152 | - $vars->add('--spip-color-error--s', '70%'); |
|
| 153 | - $vars->add('--spip-color-error--l', '57%'); |
|
| 154 | - $vars->add('--spip-color-notice--hsl', '47, 100%, 62%'); |
|
| 155 | - $vars->add('--spip-color-notice--h', '47'); |
|
| 156 | - $vars->add('--spip-color-notice--s', '100%'); |
|
| 157 | - $vars->add('--spip-color-notice--l', '62%'); |
|
| 158 | - $vars->add('--spip-color-info--hsl', '197, 56%, 27%'); |
|
| 159 | - $vars->add('--spip-color-info--h', '197'); |
|
| 160 | - $vars->add('--spip-color-info--s', '56%'); |
|
| 161 | - $vars->add('--spip-color-info--l', '27%'); |
|
| 162 | - |
|
| 163 | - $vars->add('--spip-color-success', 'hsl(var(--spip-color-success--hsl))'); |
|
| 164 | - $vars->add('--spip-color-error', 'hsl(var(--spip-color-error--hsl))'); |
|
| 165 | - $vars->add('--spip-color-notice', 'hsl(var(--spip-color-notice--hsl))'); |
|
| 166 | - $vars->add('--spip-color-info', 'hsl(var(--spip-color-info--hsl))'); |
|
| 167 | - |
|
| 168 | - return $vars; |
|
| 101 | + $vars = new Collection(); |
|
| 102 | + |
|
| 103 | + // nos déclinaisons de couleur (basées sur le dégradé précedent, où 60 est là couleur du thème) |
|
| 104 | + $vars->add('--spip-color-theme-white--hsl', 'var(--spip-color-theme--100)'); |
|
| 105 | + $vars->add('--spip-color-theme-lightest--hsl', 'var(--spip-color-theme--95)'); |
|
| 106 | + $vars->add('--spip-color-theme-lighter--hsl', 'var(--spip-color-theme--90)'); |
|
| 107 | + $vars->add('--spip-color-theme-light--hsl', 'var(--spip-color-theme--80)'); |
|
| 108 | + $vars->add('--spip-color-theme--hsl', 'var(--spip-color-theme--60)'); |
|
| 109 | + $vars->add('--spip-color-theme-dark--hsl', 'var(--spip-color-theme--40)'); |
|
| 110 | + $vars->add('--spip-color-theme-darker--hsl', 'var(--spip-color-theme--20)'); |
|
| 111 | + $vars->add('--spip-color-theme-darkest--hsl', 'var(--spip-color-theme--10)'); |
|
| 112 | + $vars->add('--spip-color-theme-black--hsl', 'var(--spip-color-theme--00)'); |
|
| 113 | + |
|
| 114 | + $vars->add('--spip-color-theme-white', 'hsl(var(--spip-color-theme-white--hsl))'); |
|
| 115 | + $vars->add('--spip-color-theme-lightest', 'hsl(var(--spip-color-theme-lightest--hsl))'); |
|
| 116 | + $vars->add('--spip-color-theme-lighter', 'hsl(var(--spip-color-theme-lighter--hsl))'); |
|
| 117 | + $vars->add('--spip-color-theme-light', 'hsl(var(--spip-color-theme-light--hsl))'); |
|
| 118 | + $vars->add('--spip-color-theme', 'hsl(var(--spip-color-theme--hsl))'); |
|
| 119 | + $vars->add('--spip-color-theme-dark', 'hsl(var(--spip-color-theme-dark--hsl))'); |
|
| 120 | + $vars->add('--spip-color-theme-darker', 'hsl(var(--spip-color-theme-darker--hsl))'); |
|
| 121 | + $vars->add('--spip-color-theme-darkest', 'hsl(var(--spip-color-theme-darkest--hsl))'); |
|
| 122 | + $vars->add('--spip-color-theme-black', 'hsl(var(--spip-color-theme-black--hsl))'); |
|
| 123 | + |
|
| 124 | + // déclinaisons de gris (luminosité calquée sur le dégradé de couleur) |
|
| 125 | + $vars->add('--spip-color-white--hsl', '0, 0%, 100%'); |
|
| 126 | + $vars->add('--spip-color-gray-lightest--hsl', '0, 0%, 96%'); |
|
| 127 | + $vars->add('--spip-color-gray-lighter--hsl', '0, 0%, 90%'); |
|
| 128 | + $vars->add('--spip-color-gray-light--hsl', '0, 0%, 80%'); |
|
| 129 | + $vars->add('--spip-color-gray--hsl', '0, 0%, 60%'); |
|
| 130 | + $vars->add('--spip-color-gray-dark--hsl', '0, 0%, 40%'); |
|
| 131 | + $vars->add('--spip-color-gray-darker--hsl', '0, 0%, 20%'); |
|
| 132 | + $vars->add('--spip-color-gray-darkest--hsl', '0, 0%, 10%'); |
|
| 133 | + $vars->add('--spip-color-black--hsl', '0, 0%, 0%'); |
|
| 134 | + |
|
| 135 | + $vars->add('--spip-color-white', 'hsl(var(--spip-color-white--hsl))'); |
|
| 136 | + $vars->add('--spip-color-gray-lightest', 'hsl(var(--spip-color-gray-lightest--hsl))'); |
|
| 137 | + $vars->add('--spip-color-gray-lighter', 'hsl(var(--spip-color-gray-lighter--hsl))'); |
|
| 138 | + $vars->add('--spip-color-gray-light', 'hsl(var(--spip-color-gray-light--hsl))'); |
|
| 139 | + $vars->add('--spip-color-gray', 'hsl(var(--spip-color-gray--hsl))'); |
|
| 140 | + $vars->add('--spip-color-gray-dark', 'hsl(var(--spip-color-gray-dark--hsl))'); |
|
| 141 | + $vars->add('--spip-color-gray-darker', 'hsl(var(--spip-color-gray-darker--hsl))'); |
|
| 142 | + $vars->add('--spip-color-gray-darkest', 'hsl(var(--spip-color-gray-darkest--hsl))'); |
|
| 143 | + $vars->add('--spip-color-black', 'hsl(var(--spip-color-black--hsl))'); |
|
| 144 | + |
|
| 145 | + // Différents états : erreur, etc. |
|
| 146 | + $vars->add('--spip-color-success--hsl', '72, 66%, 62%'); |
|
| 147 | + $vars->add('--spip-color-success--h', '72'); |
|
| 148 | + $vars->add('--spip-color-success--s', '66%'); |
|
| 149 | + $vars->add('--spip-color-success--l', '62%'); |
|
| 150 | + $vars->add('--spip-color-error--hsl', '356, 70%, 57%'); |
|
| 151 | + $vars->add('--spip-color-error--h', '356'); |
|
| 152 | + $vars->add('--spip-color-error--s', '70%'); |
|
| 153 | + $vars->add('--spip-color-error--l', '57%'); |
|
| 154 | + $vars->add('--spip-color-notice--hsl', '47, 100%, 62%'); |
|
| 155 | + $vars->add('--spip-color-notice--h', '47'); |
|
| 156 | + $vars->add('--spip-color-notice--s', '100%'); |
|
| 157 | + $vars->add('--spip-color-notice--l', '62%'); |
|
| 158 | + $vars->add('--spip-color-info--hsl', '197, 56%, 27%'); |
|
| 159 | + $vars->add('--spip-color-info--h', '197'); |
|
| 160 | + $vars->add('--spip-color-info--s', '56%'); |
|
| 161 | + $vars->add('--spip-color-info--l', '27%'); |
|
| 162 | + |
|
| 163 | + $vars->add('--spip-color-success', 'hsl(var(--spip-color-success--hsl))'); |
|
| 164 | + $vars->add('--spip-color-error', 'hsl(var(--spip-color-error--hsl))'); |
|
| 165 | + $vars->add('--spip-color-notice', 'hsl(var(--spip-color-notice--hsl))'); |
|
| 166 | + $vars->add('--spip-color-info', 'hsl(var(--spip-color-info--hsl))'); |
|
| 167 | + |
|
| 168 | + return $vars; |
|
| 169 | 169 | } |
@@ -11,40 +11,40 @@ |
||
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | 13 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 14 | - return; |
|
| 14 | + return; |
|
| 15 | 15 | } |
| 16 | 16 | |
| 17 | 17 | function defaut_tri_defined($defaut) { |
| 18 | - if (!defined('_TRI_ARTICLES_RUBRIQUE')) { |
|
| 19 | - return $defaut; |
|
| 20 | - } |
|
| 18 | + if (!defined('_TRI_ARTICLES_RUBRIQUE')) { |
|
| 19 | + return $defaut; |
|
| 20 | + } |
|
| 21 | 21 | |
| 22 | - $sens = 1; |
|
| 23 | - $tri = trim(_TRI_ARTICLES_RUBRIQUE); |
|
| 24 | - $tri = explode(' ', $tri); |
|
| 25 | - if (strncasecmp(end($tri), 'DESC', 4) == 0) { |
|
| 26 | - $sens = -1; |
|
| 27 | - array_pop($tri); |
|
| 28 | - } elseif (strncasecmp(end($tri), 'ASC', 3) == 0) { |
|
| 29 | - $sens = 1; |
|
| 30 | - array_pop($tri); |
|
| 31 | - } |
|
| 32 | - $tri = implode(' ', $tri); |
|
| 33 | - $tri = [$tri => $sens]; |
|
| 34 | - foreach ($defaut as $n => $s) { |
|
| 35 | - if (!isset($tri[$n])) { |
|
| 36 | - $tri[$n] = $s; |
|
| 37 | - } |
|
| 38 | - } |
|
| 22 | + $sens = 1; |
|
| 23 | + $tri = trim(_TRI_ARTICLES_RUBRIQUE); |
|
| 24 | + $tri = explode(' ', $tri); |
|
| 25 | + if (strncasecmp(end($tri), 'DESC', 4) == 0) { |
|
| 26 | + $sens = -1; |
|
| 27 | + array_pop($tri); |
|
| 28 | + } elseif (strncasecmp(end($tri), 'ASC', 3) == 0) { |
|
| 29 | + $sens = 1; |
|
| 30 | + array_pop($tri); |
|
| 31 | + } |
|
| 32 | + $tri = implode(' ', $tri); |
|
| 33 | + $tri = [$tri => $sens]; |
|
| 34 | + foreach ($defaut as $n => $s) { |
|
| 35 | + if (!isset($tri[$n])) { |
|
| 36 | + $tri[$n] = $s; |
|
| 37 | + } |
|
| 38 | + } |
|
| 39 | 39 | |
| 40 | - return $tri; |
|
| 40 | + return $tri; |
|
| 41 | 41 | } |
| 42 | 42 | |
| 43 | 43 | function defaut_tri_par($par, $defaut) { |
| 44 | - if (!defined('_TRI_ARTICLES_RUBRIQUE')) { |
|
| 45 | - return $par; |
|
| 46 | - } |
|
| 47 | - $par = array_keys($defaut); |
|
| 44 | + if (!defined('_TRI_ARTICLES_RUBRIQUE')) { |
|
| 45 | + return $par; |
|
| 46 | + } |
|
| 47 | + $par = array_keys($defaut); |
|
| 48 | 48 | |
| 49 | - return reset($par); |
|
| 49 | + return reset($par); |
|
| 50 | 50 | } |
@@ -11,24 +11,24 @@ |
||
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | 13 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 14 | - return; |
|
| 14 | + return; |
|
| 15 | 15 | } |
| 16 | 16 | |
| 17 | 17 | function lister_traductions($id_trad, $objet) { |
| 18 | - $table_objet_sql = table_objet_sql($objet); |
|
| 19 | - $primary = id_table_objet($objet); |
|
| 18 | + $table_objet_sql = table_objet_sql($objet); |
|
| 19 | + $primary = id_table_objet($objet); |
|
| 20 | 20 | |
| 21 | - $select = "$primary as id,lang"; |
|
| 22 | - $where = 'id_trad=' . intval($id_trad); |
|
| 23 | - $trouver_table = charger_fonction('trouver_table', 'base'); |
|
| 24 | - $desc = $trouver_table($table_objet_sql); |
|
| 25 | - if (isset($desc['field']['statut'])) { |
|
| 26 | - $select .= ',statut'; |
|
| 27 | - $where .= ' AND statut!=' . sql_quote('poubelle'); |
|
| 28 | - } |
|
| 21 | + $select = "$primary as id,lang"; |
|
| 22 | + $where = 'id_trad=' . intval($id_trad); |
|
| 23 | + $trouver_table = charger_fonction('trouver_table', 'base'); |
|
| 24 | + $desc = $trouver_table($table_objet_sql); |
|
| 25 | + if (isset($desc['field']['statut'])) { |
|
| 26 | + $select .= ',statut'; |
|
| 27 | + $where .= ' AND statut!=' . sql_quote('poubelle'); |
|
| 28 | + } |
|
| 29 | 29 | |
| 30 | - $rows = sql_allfetsel($select, $table_objet_sql, $where); |
|
| 31 | - lang_select(); |
|
| 30 | + $rows = sql_allfetsel($select, $table_objet_sql, $where); |
|
| 31 | + lang_select(); |
|
| 32 | 32 | |
| 33 | - return $rows; |
|
| 33 | + return $rows; |
|
| 34 | 34 | } |
@@ -19,12 +19,12 @@ |
||
| 19 | 19 | $primary = id_table_objet($objet); |
| 20 | 20 | |
| 21 | 21 | $select = "$primary as id,lang"; |
| 22 | - $where = 'id_trad=' . intval($id_trad); |
|
| 22 | + $where = 'id_trad='.intval($id_trad); |
|
| 23 | 23 | $trouver_table = charger_fonction('trouver_table', 'base'); |
| 24 | 24 | $desc = $trouver_table($table_objet_sql); |
| 25 | 25 | if (isset($desc['field']['statut'])) { |
| 26 | 26 | $select .= ',statut'; |
| 27 | - $where .= ' AND statut!=' . sql_quote('poubelle'); |
|
| 27 | + $where .= ' AND statut!='.sql_quote('poubelle'); |
|
| 28 | 28 | } |
| 29 | 29 | |
| 30 | 30 | $rows = sql_allfetsel($select, $table_objet_sql, $where); |
@@ -11,35 +11,35 @@ |
||
| 11 | 11 | \***************************************************************************/ |
| 12 | 12 | |
| 13 | 13 | if (!defined('_ECRIRE_INC_VERSION')) { |
| 14 | - return; |
|
| 14 | + return; |
|
| 15 | 15 | } |
| 16 | 16 | |
| 17 | 17 | function formulaires_configurer_transcodeur_charger_dist() { |
| 18 | - $valeurs = [ |
|
| 19 | - 'charset' => $GLOBALS['meta']['charset'], |
|
| 20 | - ]; |
|
| 18 | + $valeurs = [ |
|
| 19 | + 'charset' => $GLOBALS['meta']['charset'], |
|
| 20 | + ]; |
|
| 21 | 21 | |
| 22 | - return $valeurs; |
|
| 22 | + return $valeurs; |
|
| 23 | 23 | } |
| 24 | 24 | |
| 25 | 25 | function formulaires_configurer_transcodeur_verifier_dist() { |
| 26 | - include_spip('inc/charsets'); |
|
| 26 | + include_spip('inc/charsets'); |
|
| 27 | 27 | |
| 28 | - $erreurs = []; |
|
| 29 | - if (!$charset = _request('charset')) { |
|
| 30 | - $erreurs['charset'] = _T('info_obligatoire'); |
|
| 31 | - } elseif ($charset != 'utf-8' and !load_charset($charset)) { |
|
| 32 | - $erreurs['charset'] = _T('utf8_convert_erreur_orig', ['charset' => entites_html($charset)]); |
|
| 33 | - } |
|
| 28 | + $erreurs = []; |
|
| 29 | + if (!$charset = _request('charset')) { |
|
| 30 | + $erreurs['charset'] = _T('info_obligatoire'); |
|
| 31 | + } elseif ($charset != 'utf-8' and !load_charset($charset)) { |
|
| 32 | + $erreurs['charset'] = _T('utf8_convert_erreur_orig', ['charset' => entites_html($charset)]); |
|
| 33 | + } |
|
| 34 | 34 | |
| 35 | - return $erreurs; |
|
| 35 | + return $erreurs; |
|
| 36 | 36 | } |
| 37 | 37 | |
| 38 | 38 | |
| 39 | 39 | function formulaires_configurer_transcodeur_traiter_dist() { |
| 40 | - $res = ['editable' => true]; |
|
| 41 | - ecrire_meta('charset', _request('charset')); |
|
| 42 | - $res['message_ok'] = _T('config_info_enregistree'); |
|
| 40 | + $res = ['editable' => true]; |
|
| 41 | + ecrire_meta('charset', _request('charset')); |
|
| 42 | + $res['message_ok'] = _T('config_info_enregistree'); |
|
| 43 | 43 | |
| 44 | - return $res; |
|
| 44 | + return $res; |
|
| 45 | 45 | } |
@@ -3,7 +3,7 @@ |
||
| 3 | 3 | function formulaires_configurer_ecran_connexion_data(): array { |
| 4 | 4 | return [ |
| 5 | 5 | 'couleur_defaut' => '#db1762', |
| 6 | - 'img_fond' => _DIR_IMG . 'spip_fond_login.jpg', |
|
| 6 | + 'img_fond' => _DIR_IMG.'spip_fond_login.jpg', |
|
| 7 | 7 | ]; |
| 8 | 8 | } |
| 9 | 9 | |
@@ -1,94 +1,94 @@ |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | function formulaires_configurer_ecran_connexion_data(): array { |
| 4 | - return [ |
|
| 5 | - 'couleur_defaut' => '#db1762', |
|
| 6 | - 'img_fond' => _DIR_IMG . 'spip_fond_login.jpg', |
|
| 7 | - ]; |
|
| 4 | + return [ |
|
| 5 | + 'couleur_defaut' => '#db1762', |
|
| 6 | + 'img_fond' => _DIR_IMG . 'spip_fond_login.jpg', |
|
| 7 | + ]; |
|
| 8 | 8 | } |
| 9 | 9 | |
| 10 | 10 | function formulaires_configurer_ecran_connexion_charger_dist() { |
| 11 | - include_spip('inc/config'); |
|
| 12 | - include_spip('inc/autoriser'); |
|
| 11 | + include_spip('inc/config'); |
|
| 12 | + include_spip('inc/autoriser'); |
|
| 13 | 13 | |
| 14 | - $data = formulaires_configurer_ecran_connexion_data(); |
|
| 14 | + $data = formulaires_configurer_ecran_connexion_data(); |
|
| 15 | 15 | |
| 16 | - $valeurs = [ |
|
| 17 | - 'couleur_login' => lire_config('couleur_login', $data['couleur_defaut']), |
|
| 18 | - 'couleur_defaut_login' => $data['couleur_defaut'], |
|
| 19 | - 'upload_image_fond_login' => '', |
|
| 20 | - ]; |
|
| 16 | + $valeurs = [ |
|
| 17 | + 'couleur_login' => lire_config('couleur_login', $data['couleur_defaut']), |
|
| 18 | + 'couleur_defaut_login' => $data['couleur_defaut'], |
|
| 19 | + 'upload_image_fond_login' => '', |
|
| 20 | + ]; |
|
| 21 | 21 | |
| 22 | - if (file_exists($data['img_fond'])) { |
|
| 23 | - $valeurs['src_img'] = $data['img_fond']; |
|
| 24 | - } |
|
| 22 | + if (file_exists($data['img_fond'])) { |
|
| 23 | + $valeurs['src_img'] = $data['img_fond']; |
|
| 24 | + } |
|
| 25 | 25 | |
| 26 | - return $valeurs; |
|
| 26 | + return $valeurs; |
|
| 27 | 27 | } |
| 28 | 28 | |
| 29 | 29 | |
| 30 | 30 | function formulaires_configurer_ecran_connexion_verifier_dist() { |
| 31 | - $erreurs = []; |
|
| 32 | - |
|
| 33 | - if (_request('supprimer_image_fond_login')) { |
|
| 34 | - // rien à tester |
|
| 35 | - } |
|
| 36 | - |
|
| 37 | - elseif (_request('supprimer_couleur_login')) { |
|
| 38 | - // rien à tester |
|
| 39 | - } |
|
| 40 | - |
|
| 41 | - elseif (!empty($_FILES['upload_image_fond_login'])) { |
|
| 42 | - $file = $_FILES['upload_image_fond_login']; |
|
| 43 | - include_spip('inc/documents'); |
|
| 44 | - $extension = pathinfo($file['name'], PATHINFO_EXTENSION); |
|
| 45 | - $extension = corriger_extension(strtolower($extension)); |
|
| 46 | - if (!in_array($extension, ['jpg'])) { |
|
| 47 | - $erreurs['upload_image_fond_login'] = _T('erreur_type_fichier'); |
|
| 48 | - } |
|
| 49 | - } |
|
| 50 | - |
|
| 51 | - return $erreurs; |
|
| 31 | + $erreurs = []; |
|
| 32 | + |
|
| 33 | + if (_request('supprimer_image_fond_login')) { |
|
| 34 | + // rien à tester |
|
| 35 | + } |
|
| 36 | + |
|
| 37 | + elseif (_request('supprimer_couleur_login')) { |
|
| 38 | + // rien à tester |
|
| 39 | + } |
|
| 40 | + |
|
| 41 | + elseif (!empty($_FILES['upload_image_fond_login'])) { |
|
| 42 | + $file = $_FILES['upload_image_fond_login']; |
|
| 43 | + include_spip('inc/documents'); |
|
| 44 | + $extension = pathinfo($file['name'], PATHINFO_EXTENSION); |
|
| 45 | + $extension = corriger_extension(strtolower($extension)); |
|
| 46 | + if (!in_array($extension, ['jpg'])) { |
|
| 47 | + $erreurs['upload_image_fond_login'] = _T('erreur_type_fichier'); |
|
| 48 | + } |
|
| 49 | + } |
|
| 50 | + |
|
| 51 | + return $erreurs; |
|
| 52 | 52 | } |
| 53 | 53 | |
| 54 | 54 | |
| 55 | 55 | function formulaires_configurer_ecran_connexion_traiter_dist() { |
| 56 | 56 | |
| 57 | - $retours = [ |
|
| 58 | - 'message_ok' => _T('config_info_enregistree'), |
|
| 59 | - 'editable' => true, |
|
| 60 | - ]; |
|
| 61 | - |
|
| 62 | - include_spip('inc/config'); |
|
| 63 | - $data = formulaires_configurer_ecran_connexion_data(); |
|
| 64 | - $dest = $data['img_fond']; |
|
| 65 | - |
|
| 66 | - if (_request('couleur_login')) { |
|
| 67 | - $color = _request('couleur_login'); |
|
| 68 | - if ($color === $data['couleur_defaut']) { |
|
| 69 | - effacer_config('couleur_login'); |
|
| 70 | - } else { |
|
| 71 | - ecrire_config('couleur_login', $color); |
|
| 72 | - } |
|
| 73 | - } |
|
| 74 | - |
|
| 75 | - if (_request('supprimer_image_fond_login')) { |
|
| 76 | - @unlink($dest); |
|
| 77 | - } |
|
| 78 | - |
|
| 79 | - elseif (_request('supprimer_couleur_login')) { |
|
| 80 | - effacer_config('couleur_login'); |
|
| 81 | - set_request('couleur_login', null); |
|
| 82 | - } |
|
| 83 | - |
|
| 84 | - elseif (!empty($_FILES['upload_image_fond_login'])) { |
|
| 85 | - $file = $_FILES['upload_image_fond_login']; |
|
| 86 | - include_spip('inc/documents'); |
|
| 87 | - deplacer_fichier_upload($file['tmp_name'], $dest); |
|
| 88 | - } |
|
| 89 | - |
|
| 90 | - include_spip('inc/invalideur'); |
|
| 91 | - suivre_invalideur('1'); # tout effacer |
|
| 92 | - |
|
| 93 | - return $retours; |
|
| 57 | + $retours = [ |
|
| 58 | + 'message_ok' => _T('config_info_enregistree'), |
|
| 59 | + 'editable' => true, |
|
| 60 | + ]; |
|
| 61 | + |
|
| 62 | + include_spip('inc/config'); |
|
| 63 | + $data = formulaires_configurer_ecran_connexion_data(); |
|
| 64 | + $dest = $data['img_fond']; |
|
| 65 | + |
|
| 66 | + if (_request('couleur_login')) { |
|
| 67 | + $color = _request('couleur_login'); |
|
| 68 | + if ($color === $data['couleur_defaut']) { |
|
| 69 | + effacer_config('couleur_login'); |
|
| 70 | + } else { |
|
| 71 | + ecrire_config('couleur_login', $color); |
|
| 72 | + } |
|
| 73 | + } |
|
| 74 | + |
|
| 75 | + if (_request('supprimer_image_fond_login')) { |
|
| 76 | + @unlink($dest); |
|
| 77 | + } |
|
| 78 | + |
|
| 79 | + elseif (_request('supprimer_couleur_login')) { |
|
| 80 | + effacer_config('couleur_login'); |
|
| 81 | + set_request('couleur_login', null); |
|
| 82 | + } |
|
| 83 | + |
|
| 84 | + elseif (!empty($_FILES['upload_image_fond_login'])) { |
|
| 85 | + $file = $_FILES['upload_image_fond_login']; |
|
| 86 | + include_spip('inc/documents'); |
|
| 87 | + deplacer_fichier_upload($file['tmp_name'], $dest); |
|
| 88 | + } |
|
| 89 | + |
|
| 90 | + include_spip('inc/invalideur'); |
|
| 91 | + suivre_invalideur('1'); # tout effacer |
|
| 92 | + |
|
| 93 | + return $retours; |
|
| 94 | 94 | } |
@@ -32,13 +32,9 @@ discard block |
||
| 32 | 32 | |
| 33 | 33 | if (_request('supprimer_image_fond_login')) { |
| 34 | 34 | // rien à tester |
| 35 | - } |
|
| 36 | - |
|
| 37 | - elseif (_request('supprimer_couleur_login')) { |
|
| 35 | + } elseif (_request('supprimer_couleur_login')) { |
|
| 38 | 36 | // rien à tester |
| 39 | - } |
|
| 40 | - |
|
| 41 | - elseif (!empty($_FILES['upload_image_fond_login'])) { |
|
| 37 | + } elseif (!empty($_FILES['upload_image_fond_login'])) { |
|
| 42 | 38 | $file = $_FILES['upload_image_fond_login']; |
| 43 | 39 | include_spip('inc/documents'); |
| 44 | 40 | $extension = pathinfo($file['name'], PATHINFO_EXTENSION); |
@@ -74,14 +70,10 @@ discard block |
||
| 74 | 70 | |
| 75 | 71 | if (_request('supprimer_image_fond_login')) { |
| 76 | 72 | @unlink($dest); |
| 77 | - } |
|
| 78 | - |
|
| 79 | - elseif (_request('supprimer_couleur_login')) { |
|
| 73 | + } elseif (_request('supprimer_couleur_login')) { |
|
| 80 | 74 | effacer_config('couleur_login'); |
| 81 | 75 | set_request('couleur_login', null); |
| 82 | - } |
|
| 83 | - |
|
| 84 | - elseif (!empty($_FILES['upload_image_fond_login'])) { |
|
| 76 | + } elseif (!empty($_FILES['upload_image_fond_login'])) { |
|
| 85 | 77 | $file = $_FILES['upload_image_fond_login']; |
| 86 | 78 | include_spip('inc/documents'); |
| 87 | 79 | deplacer_fichier_upload($file['tmp_name'], $dest); |