suppression repertoir custom devenu obsolète
|
|
@ -1,25 +0,0 @@
|
|||
<?php // custom WordPress database error page wpchannel.com
|
||||
header('HTTP/1.1 503 Service Temporarily Unavailable');
|
||||
header('Status: 503 Service Temporarily Unavailable');
|
||||
header('Retry-After: 3600'); // 1 hour = 3600 seconds
|
||||
?>
|
||||
<!DOCTYPE HTML>
|
||||
<html dir="ltr" lang="fr-FR">
|
||||
<head>
|
||||
<title>503 Service Temporarily Unavailable</title>
|
||||
<style type="text/css">
|
||||
h1, p {
|
||||
font-family: Helvetica, sans-serif;
|
||||
font-size: 24px;
|
||||
color: #333;
|
||||
}
|
||||
p {
|
||||
font-size: 14px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Le site est temporairement hors ligne</h1>
|
||||
<p>Merci de revenir un petit peu plus tard</p>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
<?php
|
||||
// Silence is golden.
|
||||
|
|
@ -1,844 +0,0 @@
|
|||
# Translation of Plugins - Akismet Anti-Spam - Stable (latest release) in French (France)
|
||||
# This file is distributed under the same license as the Plugins - Akismet Anti-Spam - Stable (latest release) package.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2017-10-31 09:59:58+0000\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: GlotPress/2.4.0-alpha\n"
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: Plugins - Akismet Anti-Spam - Stable (latest release)\n"
|
||||
|
||||
#: class.akismet.php:211
|
||||
msgid "Comment discarded."
|
||||
msgstr "Commentaire rejeté."
|
||||
|
||||
#: class.akismet-rest-api.php:132
|
||||
msgid "This site's API key is hardcoded and cannot be deleted."
|
||||
msgstr "La clé API de ce site est codée en dur et ne peut pas être supprimée."
|
||||
|
||||
#: class.akismet-rest-api.php:116
|
||||
msgid "The value provided is not a valid and registered API key."
|
||||
msgstr "La valeur fournie n’est pas une clé API valide et enregistrée."
|
||||
|
||||
#: class.akismet-rest-api.php:110
|
||||
msgid "This site's API key is hardcoded and cannot be changed via the API."
|
||||
msgstr "La clé API de ce site est codée en dur et ne peut être modifiée via l’API."
|
||||
|
||||
#: class.akismet-rest-api.php:71 class.akismet-rest-api.php:80
|
||||
msgid "The time period for which to retrieve stats. Options: 60-days, 6-months, all"
|
||||
msgstr "La période sur laquelle les statistiques sont conservées. Options : 60 jours, 6 mois, tous"
|
||||
|
||||
#: class.akismet-rest-api.php:56
|
||||
msgid "If true, show the number of approved comments beside each comment author in the comments list page."
|
||||
msgstr "Si oui, affiche le nombre de commentaires approuvés à côté de chaque auteur de commentaire dans la page de liste de commentaires."
|
||||
|
||||
#: class.akismet-rest-api.php:51
|
||||
msgid "If true, Akismet will automatically discard the worst spam automatically rather than putting it in the spam folder."
|
||||
msgstr "Si oui, Akismet rejettera automatiquement les pires indésirables plutôt que de les placer dans le dossier des indésirables."
|
||||
|
||||
#: class.akismet-rest-api.php:27
|
||||
msgid "A 12-character Akismet API key. Available at akismet.com/get/"
|
||||
msgstr "Une clé API Akismet de 12 caractères. Disponible sur akismet.com/get/"
|
||||
|
||||
#: class.akismet-admin.php:373
|
||||
msgid "(%1$s%)"
|
||||
msgstr "(%1$s%)"
|
||||
|
||||
#: views/notice.php:49
|
||||
msgid "Your site can’t connect to the Akismet servers."
|
||||
msgstr "Votre site ne peut se connecter aux serveurs d’Akismet."
|
||||
|
||||
#: views/start.php:97
|
||||
msgid "An Akismet API key has been defined in the %s file for this site."
|
||||
msgstr "Une clé API Akismet a été définie dans le fichier %s pour ce site."
|
||||
|
||||
#: views/start.php:96
|
||||
msgid "Manual Configuration"
|
||||
msgstr "Configuration manuelle"
|
||||
|
||||
#: class.akismet-admin.php:213
|
||||
msgid "On this page, you are able to update your Akismet settings and view spam stats."
|
||||
msgstr "Sur cette page, vous êtes en mesure de mettre à jour vos réglages Akismet et de voir vos statistiques de spam."
|
||||
|
||||
#. Description of the plugin/theme
|
||||
msgid "Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from spam</strong>. It keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key."
|
||||
msgstr "Utilisé par des millions d'utilisateurs, Akismet est probablement la meilleure solution au monde pour <strong>protéger votre blog du spam</strong>. Il garde votre site protégé même quand vous dormez. Pour commencer : activez l'extension Akismet et allez ensuite dans la page de réglages pour configurer votre clé API. "
|
||||
|
||||
#. #-#-#-#-# akismet-code.pot (Akismet Anti-Spam 4.0.3) #-#-#-#-#
|
||||
#. Plugin Name of the plugin/theme
|
||||
#: class.akismet-admin.php:95 class.akismet-admin.php:98
|
||||
msgid "Akismet Anti-Spam"
|
||||
msgstr "Akismet Anti-Spam"
|
||||
|
||||
#: views/stats.php:4
|
||||
msgid "Akismet Settings"
|
||||
msgstr "Réglages d’Akismet"
|
||||
|
||||
#: views/start.php:90
|
||||
msgid "Connect with API key"
|
||||
msgstr "Connectez-vous avec une clé d'API"
|
||||
|
||||
#: views/start.php:84
|
||||
msgid "(What is an API key?)"
|
||||
msgstr "(Qu'est-ce qu'une clé d'API ?)"
|
||||
|
||||
#: views/start.php:83
|
||||
msgid "Or enter an API key"
|
||||
msgstr "Ou saisissez une clé d'API"
|
||||
|
||||
#: views/start.php:67
|
||||
msgid "Or sign up with a different email address"
|
||||
msgstr "Ou inscrivez-vous avec une adresse email différente"
|
||||
|
||||
#: views/start.php:31 views/start.php:63
|
||||
msgid "You are connected as %s."
|
||||
msgstr "Vous êtes connecté en tant que %s."
|
||||
|
||||
#: views/start.php:28 views/start.php:60
|
||||
msgid "Connect with Jetpack"
|
||||
msgstr "Connectez-vous avec Jetpack"
|
||||
|
||||
#: views/start.php:22 views/start.php:55
|
||||
msgid "Use your Jetpack connection to activate Akismet."
|
||||
msgstr "Utilisez vore connection Jetpack pour activer Akismet."
|
||||
|
||||
#: views/start.php:21 views/start.php:35 views/start.php:54
|
||||
msgid "Connect via Jetpack"
|
||||
msgstr "Connectez-vous avec Jetpack"
|
||||
|
||||
#: views/start.php:14
|
||||
msgid "Select one of the options below to get started."
|
||||
msgstr "Sélectionnez l’une des options ci-dessous pour commencer."
|
||||
|
||||
#: views/start.php:13
|
||||
msgid "Eliminate spam from your site"
|
||||
msgstr "Éliminez le spam de votre site"
|
||||
|
||||
#: views/notice.php:101
|
||||
msgid "Would you like to <a href=\"%s\">check pending comments</a>?"
|
||||
msgstr "Voulez-vous <a href=\"%s\">vérifier les commentaires en attente</a>?"
|
||||
|
||||
#: views/notice.php:99
|
||||
msgid "Akismet is now protecting your site from spam. Happy blogging!"
|
||||
msgstr "Akismet protège maintenant votre site du spam. Joyeux blogging !"
|
||||
|
||||
#: views/notice.php:8
|
||||
msgid "Set up your Akismet account"
|
||||
msgstr "Configurez votre compte Akismet"
|
||||
|
||||
#: views/config.php:26
|
||||
msgid "Detailed Stats"
|
||||
msgstr "Stats détaillées"
|
||||
|
||||
#: views/config.php:22
|
||||
msgid "Statistics"
|
||||
msgstr "Statistiques"
|
||||
|
||||
#: class.akismet-admin.php:1125
|
||||
msgid "Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from spam</strong>. It keeps your site protected even while you sleep. To get started, just go to <a href=\"admin.php?page=akismet-key-config\">your Akismet Settings page</a> to set up your API key."
|
||||
msgstr "Utilisé par des millions d'utilisateurs, Akismet est probablement la meilleure solution au monde pour <strong>protéger votre blog du spam</strong>. Il garde votre site protégé même quand vous dormez. Pour commencer, allez sur <a href=\"admin.php?page=akismet-key-config\">votre page de réglages Akismet</a> pour configurer votre clé API."
|
||||
|
||||
#: class.akismet-admin.php:1122
|
||||
msgid "Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from spam</strong>. Your site is fully configured and being protected, even while you sleep."
|
||||
msgstr "Utilisé par des millions d'utilisateurs, Akismet est probablement la meilleure solution au monde pour <strong>protéger votre blog du spam</strong>. Votre site est pleinement configuré et protégé, même quand vous dormez."
|
||||
|
||||
#: class.akismet-admin.php:1021
|
||||
msgid "%s comment was caught as spam."
|
||||
msgid_plural "%s comments were caught as spam."
|
||||
msgstr[0] "%s commentaire a été marqué comme indésirable."
|
||||
msgstr[1] "%s commentaires ont été marqués comme indésirables."
|
||||
|
||||
#: class.akismet-admin.php:1018
|
||||
msgid "No comments were caught as spam."
|
||||
msgstr "Aucun commentaire n’a été marqué comme indésirable."
|
||||
|
||||
#: class.akismet-admin.php:1014
|
||||
msgid "Akismet checked %s comment."
|
||||
msgid_plural "Akismet checked %s comments."
|
||||
msgstr[0] "Akismet a vérifié %s commentaire."
|
||||
msgstr[1] "Akismet a vérifié %s commentaires."
|
||||
|
||||
#: class.akismet-admin.php:1011
|
||||
msgid "There were no comments to check. Akismet will only check comments in the Pending queue."
|
||||
msgstr "Il n'y avait aucun commentaire à vérifier. Akismet ne vérifie que les commentaire dans la file En Attente."
|
||||
|
||||
#: class.akismet-admin.php:372
|
||||
msgid "Checking for Spam"
|
||||
msgstr "Vérification antispam en cours"
|
||||
|
||||
#: class.akismet.php:492
|
||||
msgid "Comment not found."
|
||||
msgstr "Commentaire non trouvé."
|
||||
|
||||
#: class.akismet-cli.php:88
|
||||
msgid "%d comment could not be checked."
|
||||
msgid_plural "%d comments could not be checked."
|
||||
msgstr[0] "%d commentaire ne peut pas être vérifié."
|
||||
msgstr[1] "%d commentaires ne peuvent pas être vérifiés."
|
||||
|
||||
#: class.akismet-cli.php:85
|
||||
msgid "%d comment moved to Spam."
|
||||
msgid_plural "%d comments moved to Spam."
|
||||
msgstr[0] "%d commentaire déplacé vers les indésirables."
|
||||
msgstr[1] "%d commentaires déplacés vers les indésirables."
|
||||
|
||||
#: class.akismet-cli.php:84
|
||||
msgid "Processed %d comment."
|
||||
msgid_plural "Processed %d comments."
|
||||
msgstr[0] "%d commentaire traité."
|
||||
msgstr[1] "%d commentaires traités."
|
||||
|
||||
#: class.akismet-cli.php:46
|
||||
msgid "Comment #%d could not be checked."
|
||||
msgstr "Le commentaire #%d ne peut pas être vérifié."
|
||||
|
||||
#: class.akismet-cli.php:43
|
||||
msgid "Failed to connect to Akismet."
|
||||
msgstr "Impossible de se connecter à Akismet."
|
||||
|
||||
#: class.akismet-cli.php:39
|
||||
msgid "Comment #%d is not spam."
|
||||
msgstr "Le commentaire #%d n’est pas indésirable."
|
||||
|
||||
#: class.akismet-cli.php:36
|
||||
msgid "Comment #%d is spam."
|
||||
msgstr "Le commentaire #%d est indésirable."
|
||||
|
||||
#: views/config.php:49
|
||||
msgid "%s false positive"
|
||||
msgid_plural "%s false positives"
|
||||
msgstr[0] "%s faux positif"
|
||||
msgstr[1] "%s faux positifs"
|
||||
|
||||
#: views/config.php:47
|
||||
msgid "%s missed spam"
|
||||
msgid_plural "%s missed spam"
|
||||
msgstr[0] "%s indésirable manqué"
|
||||
msgstr[1] "%s indésirables manqués"
|
||||
|
||||
#: views/start.php:79
|
||||
msgid "Log in or sign up now."
|
||||
msgstr "Connectez-vous ou inscrivez-vous maintenant."
|
||||
|
||||
#: views/start.php:84
|
||||
msgid "Already have your key? Enter it here."
|
||||
msgstr "Vous avez déjà votre clé ? Saisissez-la ici."
|
||||
|
||||
#: views/start.php:69
|
||||
msgid "Sign up with a different email address"
|
||||
msgstr "Inscrivez-vous avec une adresse de messagerie différente."
|
||||
|
||||
#: views/start.php:71
|
||||
msgid "Choose this option to use Akismet independently of your Jetpack connection."
|
||||
msgstr "Choisissez cette option pour utiliser Akismet indépendamment de votre connexion à Jetpack."
|
||||
|
||||
#: views/notice.php:79
|
||||
msgid "You don’t have an Akismet plan."
|
||||
msgstr "Vous n’avez pas de plan Akismet."
|
||||
|
||||
#: views/notice.php:64
|
||||
msgid "Your Akismet subscription is suspended."
|
||||
msgstr "Votre inscription Akismet est suspendue."
|
||||
|
||||
#: views/notice.php:59
|
||||
msgid "Your Akismet plan has been cancelled."
|
||||
msgstr "Votre plan Akismet a été annulé."
|
||||
|
||||
#: views/notice.php:55
|
||||
msgid "We cannot process your payment. Please <a href=\"%s\" target=\"_blank\">update your payment details</a>."
|
||||
msgstr "Nous ne pouvons traiter votre paiement. Merci de <a href=\"%s\" target=\"_blank\">mettre à jour vos détails de paiement</a>."
|
||||
|
||||
#: views/notice.php:54
|
||||
msgid "Please update your payment information."
|
||||
msgstr "Merci de mettre à jour vos informations de paiement."
|
||||
|
||||
#: views/notice.php:11
|
||||
msgid "<strong>Almost done</strong> - configure Akismet and say goodbye to spam"
|
||||
msgstr "<strong>C’est presque fini</strong> - configurez Akismet et dîtes adieu aux indésirables."
|
||||
|
||||
#: class.akismet-admin.php:946
|
||||
msgid "Akismet has saved you %d minute!"
|
||||
msgid_plural "Akismet has saved you %d minutes!"
|
||||
msgstr[0] "Akismet vous a fait gagner %d minute !"
|
||||
msgstr[1] "Akismet vous a fait gagner %d minutes !"
|
||||
|
||||
#: class.akismet-admin.php:944
|
||||
msgid "Akismet has saved you %d hour!"
|
||||
msgid_plural "Akismet has saved you %d hours!"
|
||||
msgstr[0] "Akismet vous a fait gagner %d heure !"
|
||||
msgstr[1] "Akismet vous a fait gagner %d heures !"
|
||||
|
||||
#: class.akismet-admin.php:942
|
||||
msgid "Akismet has saved you %s day!"
|
||||
msgid_plural "Akismet has saved you %s days!"
|
||||
msgstr[0] "Akismet vous a fait gagner %s jour !"
|
||||
msgstr[1] "Akismet vous a fait gagner %s jours !"
|
||||
|
||||
#: class.akismet-admin.php:161 class.akismet-admin.php:199
|
||||
#: class.akismet-admin.php:212
|
||||
msgid "Akismet filters out spam, so you can focus on more important things."
|
||||
msgstr "Akismet filtre les indésirables, vous pouvez donc vous concentrer sur des choses plus importantes."
|
||||
|
||||
#: views/notice.php:129
|
||||
msgid "To continue your service, <a href=\"%s\" target=\"_blank\">upgrade to an Enterprise subscription</a>, which covers an unlimited number of sites."
|
||||
msgstr "Pour continuer votre service <a href=\"%s\" target=\"_blank\">migrez vers une inscription Entreprise</a>, qui autorise un nombre de sites illimités."
|
||||
|
||||
#: views/notice.php:122
|
||||
msgid "Your Pro subscription allows the use of Akismet on only one site. Please <a href=\"%s\" target=\"_blank\">purchase additional Pro subscriptions</a> or upgrade to an Enterprise subscription that allows the use of Akismet on unlimited sites."
|
||||
msgstr "Votre abonnement Pro ne vous permet d'utiliser Akismet que sur un seul site. Veuillez <a href=\"%s\" target=\"_blank\"> acheter des abonnements Pro supplémentaires</a> ou mettez à niveau vers un abonnement Entreprise qui vous permettra d'utiliser Akismet sur un nombre de sites illimité."
|
||||
|
||||
#: views/notice.php:115
|
||||
msgid "The connection to akismet.com could not be established. Please refer to <a href=\"%s\" target=\"_blank\">our guide about firewalls</a> and check your server configuration."
|
||||
msgstr "La connexion avec akismet.com ne peut pas être établie. Merci de vous référer à <a href=\"%s\" target=\"_blank\">notre guide à propos des firewalls</a> et de vérifier la configuration de votre serveur."
|
||||
|
||||
#: views/notice.php:114
|
||||
msgid "The API key you entered could not be verified."
|
||||
msgstr "La clé que vous avez saisie n’a pas pu être vérifiée."
|
||||
|
||||
#: views/notice.php:110
|
||||
msgid "Your API key is no longer valid. Please enter a new key or contact support@akismet.com."
|
||||
msgstr "Votre clé API n'est plus valide. Veuillez saisir une nouvelle clé ou nous contacter via support@akismet.com."
|
||||
|
||||
#: views/notice.php:83 views/notice.php:124 views/notice.php:131
|
||||
msgid "Please <a href=\"%s\" target=\"_blank\">contact our support team</a> with any questions."
|
||||
msgstr "Merci de <a href=\"%s\" target=\"_blank\">contacter notre équipe de support</a> si vous avez des questions."
|
||||
|
||||
#: views/notice.php:81
|
||||
msgid "In 2012, Akismet began using subscription plans for all accounts (even free ones). A plan has not been assigned to your account, and we’d appreciate it if you’d <a href=\"%s\" target=\"_blank\">sign into your account</a> and choose one."
|
||||
msgstr "En 2012, Akismet a commencé à utiliser des formules d'abonnement pour tous les comptes (même les gratuits). Aucune formule n'a été assignée à votre compte et nous vous serions reconnaissant si vous vous <a href=\"%s\" target=\"_blank\">connectiez-à votre compte</a> et que vous en choisissiez une."
|
||||
|
||||
#: views/config.php:95
|
||||
msgid "All systems functional."
|
||||
msgstr "Tous les systèmes fonctionnent."
|
||||
|
||||
#: views/config.php:95
|
||||
msgid "Enabled."
|
||||
msgstr "Activé."
|
||||
|
||||
#: views/config.php:92
|
||||
msgid "Akismet encountered a problem with a previous SSL request and disabled it temporarily. It will begin using SSL for requests again shortly."
|
||||
msgstr "Akismet a rencontré un problème avec une requête SSL précédente et l’a désactivée momentanément. Il devrait très rapidement recommencé à utiliser le SSL pour les prochaines requêtes. "
|
||||
|
||||
#: views/config.php:92
|
||||
msgid "Temporarily disabled."
|
||||
msgstr "Temporairement désactivé."
|
||||
|
||||
#: views/config.php:86
|
||||
msgid "Your Web server cannot make SSL requests; contact your Web host and ask them to add support for SSL requests."
|
||||
msgstr "Votre serveur web ne peut pas faire de requête SSL ; contactez votre hébergeur web et demandez-lui d’ajouter la reconnaissance des requêtes SSL."
|
||||
|
||||
#: views/config.php:86
|
||||
msgid "Disabled."
|
||||
msgstr "Désactivé."
|
||||
|
||||
#: views/config.php:79
|
||||
msgid "SSL Status"
|
||||
msgstr "État SSL"
|
||||
|
||||
#: class.akismet-admin.php:583
|
||||
msgid "This comment was reported as not spam."
|
||||
msgstr "Ce commentaire a été rapporté comme acceptable."
|
||||
|
||||
#: class.akismet-admin.php:575
|
||||
msgid "This comment was reported as spam."
|
||||
msgstr "Ce commentaire a été rapporté comme indésirable."
|
||||
|
||||
#: class.akismet-admin.php:130
|
||||
msgid "(undo)"
|
||||
msgstr "(annuler)"
|
||||
|
||||
#: class.akismet-admin.php:129
|
||||
msgid "URL removed"
|
||||
msgstr "URL supprimée"
|
||||
|
||||
#: class.akismet-admin.php:128
|
||||
msgid "Removing..."
|
||||
msgstr "Suppression..."
|
||||
|
||||
#: class.akismet-admin.php:88 class.akismet-admin.php:220
|
||||
#: class.akismet-admin.php:633 views/config.php:60
|
||||
msgid "Settings"
|
||||
msgstr "Réglages"
|
||||
|
||||
#: class.akismet-admin.php:131
|
||||
msgid "Re-adding..."
|
||||
msgstr "Rajout en cours..."
|
||||
|
||||
#: class.akismet-admin.php:158 class.akismet-admin.php:196
|
||||
#: class.akismet-admin.php:209
|
||||
msgid "Overview"
|
||||
msgstr "Vue d’ensemble"
|
||||
|
||||
#: class.akismet-admin.php:160 class.akismet-admin.php:171
|
||||
#: class.akismet-admin.php:182
|
||||
msgid "Akismet Setup"
|
||||
msgstr "Configuration d'Askimet"
|
||||
|
||||
#: class.akismet-admin.php:162
|
||||
msgid "On this page, you are able to set up the Akismet plugin."
|
||||
msgstr "Sur cette page, vous pouvez configurer l’extension Akismet."
|
||||
|
||||
#: class.akismet-admin.php:169
|
||||
msgid "New to Akismet"
|
||||
msgstr "Nouveau avec Akismet"
|
||||
|
||||
#: class.akismet-admin.php:172
|
||||
msgid "You need to enter an API key to activate the Akismet service on your site."
|
||||
msgstr "Vous avez besoin de saisir une clé d’API pour activer le service Akismet sur votre site."
|
||||
|
||||
#: class.akismet-admin.php:180
|
||||
msgid "Enter an API Key"
|
||||
msgstr "Saisissez une clé API"
|
||||
|
||||
#: class.akismet-admin.php:173
|
||||
msgid "Sign up for an account on %s to get an API Key."
|
||||
msgstr "Créez-vous un compte sur %s pour obtenir une clé API."
|
||||
|
||||
#: class.akismet-admin.php:183
|
||||
msgid "If you already have an API key"
|
||||
msgstr "Si vous avez déjà une clé API"
|
||||
|
||||
#: class.akismet-admin.php:185
|
||||
msgid "Copy and paste the API key into the text field."
|
||||
msgstr "Copiez et collez la clé API dans le champ de texte."
|
||||
|
||||
#: class.akismet-admin.php:186
|
||||
msgid "Click the Use this Key button."
|
||||
msgstr "Cliquez sur le bouton \"Utilisez cette clé\"."
|
||||
|
||||
#: class.akismet-admin.php:198
|
||||
msgid "Akismet Stats"
|
||||
msgstr "Statistiques Akismet"
|
||||
|
||||
#: class.akismet-admin.php:200
|
||||
msgid "On this page, you are able to view stats on spam filtered on your site."
|
||||
msgstr "Sur cette page, vous pouvez voir les statistiques des commentaires indésirables filtrés sur votre site."
|
||||
|
||||
#: class.akismet-admin.php:211 class.akismet-admin.php:222
|
||||
#: class.akismet-admin.php:235
|
||||
msgid "Akismet Configuration"
|
||||
msgstr "Configuration Akismet"
|
||||
|
||||
#: class.akismet-admin.php:223 views/config.php:70
|
||||
msgid "API Key"
|
||||
msgstr "Clé API"
|
||||
|
||||
#: class.akismet-admin.php:223
|
||||
msgid "Enter/remove an API key."
|
||||
msgstr "Saisir/supprimer une clé API."
|
||||
|
||||
#: class.akismet-admin.php:224 views/config.php:105
|
||||
msgid "Comments"
|
||||
msgstr "Commentaires"
|
||||
|
||||
#: class.akismet-admin.php:224
|
||||
msgid "Show the number of approved comments beside each comment author in the comments list page."
|
||||
msgstr "Montrer le nombre de commentaires approuvés devant chaque auteur de commentaires dans la page listant les commentaires."
|
||||
|
||||
#: class.akismet-admin.php:225
|
||||
msgid "Choose to either discard the worst spam automatically or to always put all spam in spam folder."
|
||||
msgstr "Choisissez d'éliminer directement les indésirables, ou de toujours les mettre dans le dossier Indésirables."
|
||||
|
||||
#: class.akismet-admin.php:225 views/config.php:128
|
||||
msgid "Strictness"
|
||||
msgstr "Sévérité"
|
||||
|
||||
#: class.akismet-admin.php:233 views/config.php:177
|
||||
msgid "Account"
|
||||
msgstr "Compte"
|
||||
|
||||
#: class.akismet-admin.php:236 views/config.php:185
|
||||
msgid "Subscription Type"
|
||||
msgstr "Type d'abonnement "
|
||||
|
||||
#: class.akismet-admin.php:237
|
||||
msgid "The subscription status - active, cancelled or suspended"
|
||||
msgstr "L'état de l'abonnement - actif, annulé ou suspendu"
|
||||
|
||||
#: class.akismet-admin.php:237 views/config.php:192
|
||||
msgid "Status"
|
||||
msgstr "État"
|
||||
|
||||
#: class.akismet-admin.php:236
|
||||
msgid "The Akismet subscription plan"
|
||||
msgstr "Les abonnements d'Akismet"
|
||||
|
||||
#: class.akismet-admin.php:247
|
||||
msgid "Akismet FAQ"
|
||||
msgstr "FAQ d'Askimet"
|
||||
|
||||
#: class.akismet-admin.php:246
|
||||
msgid "For more information:"
|
||||
msgstr "Plus d’informations :"
|
||||
|
||||
#: class.akismet-admin.php:248
|
||||
msgid "Akismet Support"
|
||||
msgstr "Support d'Askimet"
|
||||
|
||||
#: class.akismet-admin.php:254
|
||||
msgid "Cheatin’ uh?"
|
||||
msgstr "Alors, on triche ?"
|
||||
|
||||
#: class.akismet-admin.php:318
|
||||
msgctxt "comments"
|
||||
msgid "Spam"
|
||||
msgstr "Indésirable"
|
||||
|
||||
#: class.akismet-admin.php:320
|
||||
msgid "<a href=\"%1$s\">Akismet</a> has protected your site from <a href=\"%2$s\">%3$s spam comment</a>."
|
||||
msgid_plural "<a href=\"%1$s\">Akismet</a> has protected your site from <a href=\"%2$s\">%3$s spam comments</a>."
|
||||
msgstr[0] "<a href=\"%1$s\">Akismet</a> a déjà protégé votre site de <a href=\"%2$s\">%3$s commentaire indésirable</a>."
|
||||
msgstr[1] "<a href=\"%1$s\">Akismet</a> a déjà protégé votre site de <a href=\"%2$s\">%3$s commentaires indésirables</a>."
|
||||
|
||||
#: class.akismet-admin.php:330
|
||||
msgid "<a href=\"%1$s\">Akismet</a> has protected your site from %2$s spam comment already. "
|
||||
msgid_plural "<a href=\"%1$s\">Akismet</a> has protected your site from %2$s spam comments already. "
|
||||
msgstr[0] "<a href=\"%1$s\">Akismet</a> a déjà protégé votre site de %2$s commentaire indésirable."
|
||||
msgstr[1] "<a href=\"%1$s\">Akismet</a> a déjà protégé votre site de %2$s commentaires indésirables."
|
||||
|
||||
#: class.akismet-admin.php:336
|
||||
msgid "<a href=\"%s\">Akismet</a> blocks spam from getting to your blog. "
|
||||
msgstr "<a href=\"%s\">Akismet</a> a bloqué les commentaires indésirables de votre site. "
|
||||
|
||||
#: class.akismet-admin.php:342
|
||||
msgid "There’s <a href=\"%2$s\">%1$s comment</a> in your spam queue right now."
|
||||
msgid_plural "There are <a href=\"%2$s\">%1$s comments</a> in your spam queue right now."
|
||||
msgstr[0] "Il y a actuellement <a href=\"%2$s\">%1$s commentaire</a> dans votre file d'indésirables."
|
||||
msgstr[1] "Il y a actuellement <a href=\"%2$s\">%1$s commentaires</a> dans votre file d'indésirables."
|
||||
|
||||
#: class.akismet-admin.php:348
|
||||
msgid "There’s nothing in your <a href='%s'>spam queue</a> at the moment."
|
||||
msgstr "Il n’y a rien dans votre <a href='%s'>file d'attente d'indésirables</a> pour le moment."
|
||||
|
||||
#: class.akismet-admin.php:562
|
||||
msgid "Akismet re-checked and cleared this comment."
|
||||
msgstr "Akismet a revérifié et validé ce commentaire."
|
||||
|
||||
#: class.akismet-admin.php:556
|
||||
msgid "Akismet re-checked and caught this comment as spam."
|
||||
msgstr "Akismet a revérifié et marqué ce commentaire comme indésirable."
|
||||
|
||||
#: class.akismet-admin.php:377
|
||||
msgid "Check for Spam"
|
||||
msgstr "Vérifier les commentaires indésirables"
|
||||
|
||||
#: class.akismet-admin.php:599
|
||||
msgid "Akismet was unable to recheck this comment (response: %s)."
|
||||
msgstr "Akismet a été incapable de revérifier ce commentaire (réponse : %s)."
|
||||
|
||||
#: class.akismet-admin.php:484
|
||||
msgid "Flagged as spam by Akismet"
|
||||
msgstr "Marqué comme indésirable par Akismet"
|
||||
|
||||
#: class.akismet-admin.php:480
|
||||
msgid "Awaiting spam check"
|
||||
msgstr "En attente de vérification"
|
||||
|
||||
#: class.akismet-admin.php:490
|
||||
msgid "Flagged as spam by %s"
|
||||
msgstr "Marqué comme indésirable par %s"
|
||||
|
||||
#: class.akismet-admin.php:486
|
||||
msgid "Cleared by Akismet"
|
||||
msgstr "Validé par Akismet"
|
||||
|
||||
#: class.akismet-admin.php:492
|
||||
msgid "Un-spammed by %s"
|
||||
msgstr "Marqué comme légitime par %s"
|
||||
|
||||
#: class.akismet-admin.php:527
|
||||
msgid "%s approved"
|
||||
msgid_plural "%s approved"
|
||||
msgstr[0] "%s approuvé"
|
||||
msgstr[1] "%s approuvés"
|
||||
|
||||
#: class.akismet-admin.php:504
|
||||
msgid "History"
|
||||
msgstr "Historique"
|
||||
|
||||
#: class.akismet-admin.php:504 class.akismet-admin.php:512
|
||||
msgid "View comment history"
|
||||
msgstr "Voir l’historique du commentaire"
|
||||
|
||||
#: class.akismet-admin.php:832
|
||||
msgid "Please check your <a href=\"%s\">Akismet configuration</a> and contact your web host if problems persist."
|
||||
msgstr "Veuillez vérifier votre <a href=\"%s\">configuration Akismet</a> et contacter votre hébergeur si le problème persiste."
|
||||
|
||||
#: class.akismet-admin.php:621
|
||||
msgid "%s ago"
|
||||
msgstr "il y a %s"
|
||||
|
||||
#: class.akismet-admin.php:939
|
||||
msgid "Cleaning up spam takes time."
|
||||
msgstr "Nettoyer les commentaires indésirables prend du temps."
|
||||
|
||||
#: class.akismet-widget.php:12
|
||||
msgid "Akismet Widget"
|
||||
msgstr "Widget Akismet"
|
||||
|
||||
#: class.akismet-widget.php:13
|
||||
msgid "Display the number of spam comments Akismet has caught"
|
||||
msgstr "Affiche le nombre de commentaires indésirables repérés par Akismet"
|
||||
|
||||
#: class.akismet-widget.php:74
|
||||
msgid "Title:"
|
||||
msgstr "Titre :"
|
||||
|
||||
#: class.akismet-widget.php:69 class.akismet-widget.php:90
|
||||
msgid "Spam Blocked"
|
||||
msgstr "Indésirable bloqué"
|
||||
|
||||
#: class.akismet-widget.php:102
|
||||
msgid "<strong class=\"count\">%1$s spam</strong> blocked by <strong>Akismet</strong>"
|
||||
msgid_plural "<strong class=\"count\">%1$s spam</strong> blocked by <strong>Akismet</strong>"
|
||||
msgstr[0] "<strong class=\"count\">%1$s indésirable</strong> bloqué par <strong>Akismet</strong>"
|
||||
msgstr[1] "<strong class=\"count\">%1$s indésirables</strong> bloqués par <strong>Akismet</strong>"
|
||||
|
||||
#: class.akismet-admin.php:559
|
||||
msgid "Akismet caught this comment as spam."
|
||||
msgstr "Akismet a marqué ce commentaire comme indésirable."
|
||||
|
||||
#: class.akismet-admin.php:607
|
||||
msgid "Comment status was changed to %s"
|
||||
msgstr "L’état du commentaire a été changé en %s"
|
||||
|
||||
#: class.akismet-admin.php:565
|
||||
msgid "Akismet cleared this comment."
|
||||
msgstr "Akismet a validé ce commentaire."
|
||||
|
||||
#: class.akismet-admin.php:568
|
||||
msgid "Comment was caught by wp_blacklist_check."
|
||||
msgstr "Commentaire capté par wp_blacklist_check."
|
||||
|
||||
#: class.akismet-admin.php:594
|
||||
msgid "Akismet was unable to check this comment (response: %s) but will automatically retry later."
|
||||
msgstr "Akismet a été incapable de revérifier ce commentaire (réponse : %s) mais réessayera automatiquement plus tard."
|
||||
|
||||
#: class.akismet-admin.php:613
|
||||
msgid "%1$s changed the comment status to %2$s."
|
||||
msgstr "%1$s a changé l’état du commentaire en %2$s."
|
||||
|
||||
#: class.akismet-admin.php:572
|
||||
msgid "%s reported this comment as spam."
|
||||
msgstr "%s a rapporté ce commentaire comme indésirable."
|
||||
|
||||
#: class.akismet-admin.php:580
|
||||
msgid "%s reported this comment as not spam."
|
||||
msgstr "%s a rapporté ce commentaire comme acceptable."
|
||||
|
||||
#: class.akismet-admin.php:587
|
||||
msgid "Akismet caught this comment as spam during an automatic retry."
|
||||
msgstr "Akismet a revérifié ce commentaire et considéré qu’il s’agit d’un indésirable."
|
||||
|
||||
#: class.akismet-admin.php:590
|
||||
msgid "Akismet cleared this comment during an automatic retry."
|
||||
msgstr "Akismet a validé ce commentaire suite à une revérification automatique."
|
||||
|
||||
#: class.akismet.php:1248
|
||||
msgid "Please <a href=\"%1$s\">upgrade WordPress</a> to a current version, or <a href=\"%2$s\">downgrade to version 2.4 of the Akismet plugin</a>."
|
||||
msgstr "Veuillez passer à la <a href=\"%1$s\">dernière version de WordPress</a> ou <a href=\"%2$s\">revenir à la version 2.4 de l'extension Akismet</a>."
|
||||
|
||||
#: class.akismet.php:1248
|
||||
msgid "Akismet %s requires WordPress %s or higher."
|
||||
msgstr "Akismet %s requiert WordPress %s ou supérieur."
|
||||
|
||||
#: views/config.php:37 views/config.php:42
|
||||
msgid "Spam blocked"
|
||||
msgid_plural "Spam blocked"
|
||||
msgstr[0] "Commentaire indésirable bloqué"
|
||||
msgstr[1] ""
|
||||
|
||||
#: views/config.php:35
|
||||
msgid "Past six months"
|
||||
msgstr "Les six derniers mois"
|
||||
|
||||
#: views/config.php:40
|
||||
msgid "All time"
|
||||
msgstr "Depuis le début"
|
||||
|
||||
#: views/config.php:45
|
||||
msgid "Accuracy"
|
||||
msgstr "Exactitude"
|
||||
|
||||
#: views/config.php:109
|
||||
msgid "Show approved comments"
|
||||
msgstr "Afficher les commentaires approuvés"
|
||||
|
||||
#: views/config.php:122
|
||||
msgid "Show the number of approved comments beside each comment author"
|
||||
msgstr "Montrer le nombre de commentaires approuvés devant chaque auteur de commentaires"
|
||||
|
||||
#: views/config.php:131
|
||||
msgid "Akismet anti-spam strictness"
|
||||
msgstr "Sévérité anti-indésirables d'Akismet"
|
||||
|
||||
#: views/config.php:132
|
||||
msgid "Silently discard the worst and most pervasive spam so I never see it."
|
||||
msgstr "Éliminer directement les pires indésirables et les plus répandus pour que je ne les vois jamais."
|
||||
|
||||
#: views/config.php:133
|
||||
msgid "Always put spam in the Spam folder for review."
|
||||
msgstr "Toujours mettre les indésirables dans le dossier Indésirables pour vérification."
|
||||
|
||||
#: views/config.php:141
|
||||
msgid "Spam in the <a href=\"%1$s\">spam folder</a> older than 1 day is deleted automatically."
|
||||
msgid_plural "Spam in the <a href=\"%1$s\">spam folder</a> older than %2$d days is deleted automatically."
|
||||
msgstr[0] "Les messages dans le <a href=\"%1$s\">dossier des indésirables</a> depuis plus de 1 jour sont supprimés automatiquement."
|
||||
msgstr[1] "Les messages dans le <a href=\"%1$s\">dossier des indésirables</a> depuis plus de %2$d jours sont supprimés automatiquement."
|
||||
|
||||
#: views/config.php:135
|
||||
msgid "Note:"
|
||||
msgstr "Note :"
|
||||
|
||||
#: views/config.php:197
|
||||
msgid "Cancelled"
|
||||
msgstr "Annulé"
|
||||
|
||||
#: views/config.php:165
|
||||
msgid "Save Changes"
|
||||
msgstr "Enregistrer les modifications"
|
||||
|
||||
#: views/config.php:159
|
||||
msgid "Disconnect this account"
|
||||
msgstr "Déconnecter ce compte"
|
||||
|
||||
#: views/config.php:199
|
||||
msgid "Suspended"
|
||||
msgstr "Suspendu"
|
||||
|
||||
#: views/config.php:203
|
||||
msgid "No Subscription Found"
|
||||
msgstr "Aucun abonnement trouvé"
|
||||
|
||||
#: views/config.php:201
|
||||
msgid "Missing"
|
||||
msgstr "Manquant"
|
||||
|
||||
#: views/config.php:211
|
||||
msgid "Next Billing Date"
|
||||
msgstr "Prochaine date de facturation"
|
||||
|
||||
#: views/config.php:205
|
||||
msgid "Active"
|
||||
msgstr "Activé"
|
||||
|
||||
#: views/config.php:222
|
||||
msgid "Upgrade"
|
||||
msgstr "Mise à jour"
|
||||
|
||||
#: views/config.php:222
|
||||
msgid "Change"
|
||||
msgstr "Changer"
|
||||
|
||||
#: views/notice.php:17
|
||||
msgid "Akismet has detected a problem."
|
||||
msgstr "Akismet a détecté un problème."
|
||||
|
||||
#: views/notice.php:18
|
||||
msgid "Some comments have not yet been checked for spam by Akismet. They have been temporarily held for moderation and will automatically be rechecked later."
|
||||
msgstr "Certains commentaires n'ont pas encore été vérifiés par Akismet. Ils ont été temporairement mis en modération et seront vérifiés automatiquement plus tard."
|
||||
|
||||
#: views/notice.php:25
|
||||
msgid "Akismet Error Code: %s"
|
||||
msgstr "Code d’erreur Akismet : %s"
|
||||
|
||||
#. translators: the placeholder is a clickable URL that leads to more
|
||||
#. information regarding an error code.
|
||||
#: views/notice.php:30
|
||||
msgid "For more information: %s"
|
||||
msgstr "Pour plus d'information : %s"
|
||||
|
||||
#: views/notice.php:45
|
||||
msgid "Your web host or server administrator has disabled PHP’s <code>gethostbynamel</code> function. <strong>Akismet cannot work correctly until this is fixed.</strong> Please contact your web host or firewall administrator and give them <a href=\"%s\" target=\"_blank\">this information about Akismet’s system requirements</a>."
|
||||
msgstr "Votre hébergeur web ou administrateur de serveur a désactivé la fonction PHP <code>gethostbynamel</code>. <strong>Akismet ne peut pas fonctionner correctement tant qu'elle ne sera pas activée</strong>. Veuillez contacter votre hébergeur web ou l'administrateur de votre pare-feu et donnez-lui <a href=\"%s\" target=\"_blank\">ces informations à propos des prérequis systèmes d'Akismet</a>."
|
||||
|
||||
#: views/notice.php:44
|
||||
msgid "Network functions are disabled."
|
||||
msgstr "Les fonctionnalités réseau sont désactivées."
|
||||
|
||||
#: views/notice.php:50
|
||||
msgid "Your firewall may be blocking Akismet from connecting to its API. Please contact your host and refer to <a href=\"%s\" target=\"_blank\">our guide about firewalls</a>."
|
||||
msgstr "Il est possible que votre pare-feu bloque Akismet. Veuillez contacter votre hébergeur et indiquez-lui notre <a href=\"%s\" target=\"_blank\">guide pour les pares-feu (en anglais)</a>."
|
||||
|
||||
#: views/notice.php:60
|
||||
msgid "Please visit your <a href=\"%s\" target=\"_blank\">Akismet account page</a> to reactivate your subscription."
|
||||
msgstr "Veuillez vous rendre sur <a href=\"%s\" target=\"_blank\">la page de votre compte Akismet</a> pour réactiver votre abonnement."
|
||||
|
||||
#: views/notice.php:65 views/notice.php:75
|
||||
msgid "Please contact <a href=\"%s\" target=\"_blank\">Akismet support</a> for assistance."
|
||||
msgstr "Veuillez contacter <a href=\"%s\" target=\"_blank\">le service de support d'Akismet</a> pour obtenir de l'aide."
|
||||
|
||||
#: views/notice.php:70
|
||||
msgid "You can help us fight spam and upgrade your account by <a href=\"%s\" target=\"_blank\">contributing a token amount</a>."
|
||||
msgstr "Vous pouvez nous aider à combattre les messages indésirables et passer à un compte supérieur <a href=\"%s\" target=\"_blank\">avec un montant symbolique</a>."
|
||||
|
||||
#: views/notice.php:74
|
||||
msgid "There is a problem with your API key."
|
||||
msgstr "Il y a un problème avec votre clé API."
|
||||
|
||||
#: views/notice.php:106
|
||||
msgid "The key you entered is invalid. Please double-check it."
|
||||
msgstr "Votre clé ne semble pas être valide. Veuillez la vérifier."
|
||||
|
||||
#: views/notice.php:120
|
||||
msgid "You’re using your Akismet key on more sites than your Pro subscription allows."
|
||||
msgstr "Vous utilisez votre clé Askismet sur plus de sites que votre abonnement Pro n'en autorise."
|
||||
|
||||
#: views/notice.php:127
|
||||
msgid "You’re using Akismet on far too many sites for your Pro subscription."
|
||||
msgstr "Vous utilisez Akismet sur bien trop de sites pour votre abonnement Pro."
|
||||
|
||||
#: views/start.php:47
|
||||
msgid "Connected via Jetpack"
|
||||
msgstr "Connecté via Jetpack"
|
||||
|
||||
#: views/start.php:41
|
||||
msgid "Reactivate Akismet"
|
||||
msgstr "Réactiver Akismet"
|
||||
|
||||
#: views/start.php:43
|
||||
msgid "Your subscription for %s is cancelled."
|
||||
msgstr "Votre abonnement à %s est annulé."
|
||||
|
||||
#: views/start.php:48
|
||||
msgid "Your subscription for %s is suspended."
|
||||
msgstr "Votre abonnement à %s est suspendu."
|
||||
|
||||
#: views/start.php:49
|
||||
msgid "No worries! Get in touch and we’ll sort this out."
|
||||
msgstr "Pas de crainte à avoir ! Contactez-nous et nous trouverons une solution."
|
||||
|
||||
#: views/start.php:50
|
||||
msgid "Contact Akismet support"
|
||||
msgstr "Contacter le support Akismet"
|
||||
|
||||
#: views/start.php:75
|
||||
msgid "Activate Akismet"
|
||||
msgstr "Activer Akismet"
|
||||
|
||||
#: views/start.php:77
|
||||
msgid "Get your API key"
|
||||
msgstr "Obtenir votre clé d'API"
|
||||
|
||||
#. Plugin URI of the plugin/theme
|
||||
msgid "https://akismet.com/"
|
||||
msgstr "https://akismet.com/"
|
||||
|
||||
#. Author URI of the plugin/theme
|
||||
msgid "https://automattic.com/wordpress-plugins/"
|
||||
msgstr "https://automattic.com/wordpress-plugins/"
|
||||
|
||||
#. Author of the plugin/theme
|
||||
msgid "Automattic"
|
||||
msgstr "Automattic"
|
||||
|
||||
#: class.akismet-admin.php:127
|
||||
msgid "Remove this URL"
|
||||
msgstr "Supprimer cette URL"
|
||||
|
||||
#: class.akismet-admin.php:72
|
||||
msgid "Comment History"
|
||||
msgstr "Voir l’historique du commentaire"
|
||||
|
|
@ -1,179 +0,0 @@
|
|||
# Translation of Stable (latest release) in French (France)
|
||||
# This file is distributed under the same license as the Stable (latest release) package.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2016-06-03 15:09:03+0000\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: GlotPress/2.1.0-alpha\n"
|
||||
"Project-Id-Version: Stable (latest release)\n"
|
||||
|
||||
#: include/cpto-class.php:244 include/cpto-class.php:246
|
||||
#: include/cpto-class.php:249 include/cpto-class.php:260
|
||||
msgid "Re-Order"
|
||||
msgstr "Trier"
|
||||
|
||||
#: include/cpto-class.php:268
|
||||
msgid "This plugin can't work without javascript, because it's use drag and drop and AJAX."
|
||||
msgstr "Ce plugin ne peut pas fonctionner sans javascript car il utilise un système de glisser-déposer et fait appel à AJAX."
|
||||
|
||||
#: include/cpto-class.php:281
|
||||
msgid "Update"
|
||||
msgstr "Mise à jour"
|
||||
|
||||
#: include/cpto-class.php:300
|
||||
msgid "Items Order Updated"
|
||||
msgstr "Ordre des enregistrements mis à jour."
|
||||
|
||||
#: include/cpto-class.php:319
|
||||
msgid "Pages"
|
||||
msgstr "Pages"
|
||||
|
||||
#: include/functions.php:106
|
||||
msgid "Did you find this plugin useful? Please support our work with a donation or write an article about this plugin in your blog with a link to our site"
|
||||
msgstr "Avez-vous trouvé ce plugin utile? Soutenez notre travail avec un don ou écrivez un article à propos de ce plugin avec un lien vers notre site."
|
||||
|
||||
#: include/functions.php:107
|
||||
msgid "Did you know there is available an Advanced version of this plug-in?"
|
||||
msgstr "Saviez-vous qu'il existe une version Avancée de ce plugin?"
|
||||
|
||||
#: include/functions.php:107
|
||||
msgid "Read more"
|
||||
msgstr "En savoir plus"
|
||||
|
||||
#: include/functions.php:108
|
||||
msgid "Check our"
|
||||
msgstr "Découvrez notre plugin"
|
||||
|
||||
#: include/functions.php:108
|
||||
msgid "plugin which allow to custom sort categories and custom taxonomies terms"
|
||||
msgstr "qui vous permet d'effectuer un tri personnalisé des catégories et des termes de taxonomies."
|
||||
|
||||
#: include/options.php:22
|
||||
msgid "Settings Saved"
|
||||
msgstr "Paramètres enregistrés."
|
||||
|
||||
#: include/options.php:34
|
||||
msgid "General Settings"
|
||||
msgstr "Paramètres généraux"
|
||||
|
||||
#: include/options.php:40
|
||||
msgid "General"
|
||||
msgstr "Général"
|
||||
|
||||
#: include/options.php:44
|
||||
msgid "Show / Hide re-order interface"
|
||||
msgstr "Afficher / Masquer l’interface de tri"
|
||||
|
||||
#: include/options.php:71
|
||||
msgid "Show"
|
||||
msgstr "Voir"
|
||||
|
||||
#: include/options.php:72
|
||||
msgid "Hide"
|
||||
msgstr "Masquer"
|
||||
|
||||
#: include/options.php:79
|
||||
msgid "Minimum Level to use this plugin"
|
||||
msgstr "Rôle minimum pour utiliser ce plugin"
|
||||
|
||||
#: include/options.php:82
|
||||
msgid "Subscriber"
|
||||
msgstr "Abonné"
|
||||
|
||||
#: include/options.php:83
|
||||
msgid "Contributor"
|
||||
msgstr "Contributeur"
|
||||
|
||||
#: include/options.php:84
|
||||
msgid "Author"
|
||||
msgstr "Auteur"
|
||||
|
||||
#: include/options.php:85
|
||||
msgid "Editor"
|
||||
msgstr "Éditeur"
|
||||
|
||||
#: include/options.php:86
|
||||
msgid "Administrator"
|
||||
msgstr "Administrateur"
|
||||
|
||||
#: include/options.php:92
|
||||
msgid "Auto Sort"
|
||||
msgstr "Tri automatique"
|
||||
|
||||
#: include/options.php:94
|
||||
msgid "If checked, the plug-in automatically update the WordPress queries to use the new order (<b>No code update is necessarily</b>)"
|
||||
msgstr "Si coché, l’extension mettra automatiquement à jour toutes les queries de WordPress en fonction du nouvel ordre (<b>Aucune mise à jour de code n’est nécessaire</b>)."
|
||||
|
||||
#: include/options.php:95
|
||||
msgid "If only certain queries need to use the custom sort, keep this unchecked and include 'orderby' => 'menu_order' into query parameters"
|
||||
msgstr "Si uniquement certaines requêtes nécessitent un tri personnalisé, ne cochez pas la case et incluez orderby' => 'menu_order' dans vos paramètres de votre requête."
|
||||
|
||||
#: include/options.php:97
|
||||
msgid "Additional Description and Examples"
|
||||
msgstr "Description supplémentaire et exemples"
|
||||
|
||||
#: include/options.php:104
|
||||
msgid "Admin Sort"
|
||||
msgstr "Tri dans l'administration"
|
||||
|
||||
#: include/options.php:108
|
||||
msgid "To affect the admin interface, to see the post types per your new sort, this need to be checked"
|
||||
msgstr "Cochez cette case afin de répercuter le tri personnalisé sur l'ordre des articles dans l'administration WordPress"
|
||||
|
||||
#: include/options.php:122
|
||||
msgid "Next / Previous Apply"
|
||||
msgstr "Appliquer au Suivant / Précédent"
|
||||
|
||||
#: include/options.php:126
|
||||
msgid "Apply the sort on Next / Previous site-wide navigation."
|
||||
msgstr "Appliquer le tri sur les Suivants / Préc. de l’ensemble du site "
|
||||
|
||||
#: include/options.php:126
|
||||
msgid "This can also be controlled through"
|
||||
msgstr "Cela peut aussi être contrôlé par du "
|
||||
|
||||
#: include/options.php:126
|
||||
msgid "code"
|
||||
msgstr "code"
|
||||
|
||||
#: include/options.php:135
|
||||
msgid "Save Settings"
|
||||
msgstr "Enregistrer les paramètres"
|
||||
|
||||
#: post-types-order.php:150
|
||||
msgid "Post Types Order must be configured. Please go to"
|
||||
msgstr "Post Types Order doit être configuré. Veuillez consulter la"
|
||||
|
||||
#: post-types-order.php:150
|
||||
msgid "Settings Page"
|
||||
msgstr "Page de paramètres"
|
||||
|
||||
#: post-types-order.php:150
|
||||
msgid "make the configuration and save"
|
||||
msgstr "afin de configurer le plugin."
|
||||
|
||||
#: post-types-order.php:243 post-types-order.php:322
|
||||
msgid "Use commas instead of %s to separate excluded terms."
|
||||
msgstr "Utilisez des virgules plutôt que des %s pour séparer les termes à exclure."
|
||||
|
||||
#. Plugin Name of the plugin/theme
|
||||
msgid "Post Types Order"
|
||||
msgstr "Post Types Order"
|
||||
|
||||
#. #-#-#-#-# tmp-post-types-order.pot (Post Types Order 1.8.9.2) #-#-#-#-#
|
||||
#. Plugin URI of the plugin/theme
|
||||
#. #-#-#-#-# tmp-post-types-order.pot (Post Types Order 1.8.9.2) #-#-#-#-#
|
||||
#. Author URI of the plugin/theme
|
||||
msgid "http://www.nsp-code.com"
|
||||
msgstr "http://www.nsp-code.com"
|
||||
|
||||
#. Description of the plugin/theme
|
||||
msgid "Posts Order and Post Types Objects Order using a Drag and Drop Sortable javascript capability"
|
||||
msgstr "Ordonner vos articles et vos types d’articles en utilisant un Glisser/Déposer créé en javascript"
|
||||
|
||||
#. Author of the plugin/theme
|
||||
msgid "Nsp Code"
|
||||
msgstr "Nsp Code"
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
# Translation of Development (trunk) in French (France)
|
||||
# This file is distributed under the same license as the Development (trunk) package.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2010-06-09 15:42:53+0000\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: GlotPress/1.0-alpha-1100\n"
|
||||
"Project-Id-Version: Development (trunk)\n"
|
||||
|
||||
#: rss-importer.php:154
|
||||
msgid "Couldn’t get post ID"
|
||||
msgstr "Impossible d’obtenir l’ID de l’article"
|
||||
|
||||
#: rss-importer.php:185
|
||||
msgid "All done. <a href=\"%s\">Have fun!</a>"
|
||||
msgstr "Terminé ! (<a href=\"%s\">Amusez-vous bien !</a>)"
|
||||
|
||||
#: rss-importer.php:50
|
||||
msgid "Import RSS"
|
||||
msgstr "Importer un flux RSS"
|
||||
|
||||
#: rss-importer.php:143
|
||||
msgid "Importing post..."
|
||||
msgstr "Importation de l’article en cours…"
|
||||
|
||||
#: rss-importer.php:148
|
||||
msgid "Post already imported"
|
||||
msgstr "Cet article a déjà été importé"
|
||||
|
||||
#: rss-importer.php:219
|
||||
msgid "RSS"
|
||||
msgstr "Flux"
|
||||
|
||||
#. #-#-#-#-# tmp-rss-importer.pot (RSS Importer 0.2) #-#-#-#-#
|
||||
#. Description of the plugin/theme
|
||||
#: rss-importer.php:219
|
||||
msgid "Import posts from an RSS feed."
|
||||
msgstr "Importation d’articles depuis un flux RSS."
|
||||
|
||||
#. Plugin URI of the plugin/theme
|
||||
msgid "http://wordpress.org/extend/plugins/rss-importer/"
|
||||
msgstr "http://wordpress.org/extend/plugins/rss-importer/"
|
||||
|
||||
#. Plugin Name of the plugin/theme
|
||||
msgid "RSS Importer"
|
||||
msgstr "Importateur RSS"
|
||||
|
||||
#. Author URI of the plugin/theme
|
||||
msgid "http://wordpress.org/"
|
||||
msgstr "http://wordpress.org/"
|
||||
|
||||
#: rss-importer.php:160
|
||||
msgid "Done!"
|
||||
msgstr "Terminé !"
|
||||
|
||||
#: rss-importer.php:59
|
||||
msgid "Howdy! This importer allows you to extract posts from an RSS 2.0 file into your WordPress site. This is useful if you want to import your posts from a system that is not handled by a custom import tool. Pick an RSS file to upload and click Import."
|
||||
msgstr "Salutations ! Cet importateur vous permet d’extraire des articles depuis un flux RSS, et les ajouter à votre site WordPress. C’est très utile dans les cas où vous souhaitez importer des articles depuis un système de blog qui ne dispose pas d’un importateur dédié. Choisissez un fichier RSS à mettre en ligne, et cliquez sur Importer."
|
||||
|
||||
#. Author of the plugin/theme
|
||||
msgid "wordpressdotorg"
|
||||
msgstr "wordpressdotorg"
|
||||
|
|
@ -1,260 +0,0 @@
|
|||
# Translation of Plugins - TinyMCE Advanced - Stable (latest release) in French (France)
|
||||
# This file is distributed under the same license as the Plugins - TinyMCE Advanced - Stable (latest release) package.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2017-04-23 08:22:04+0000\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: GlotPress/2.4.0-alpha\n"
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: Plugins - TinyMCE Advanced - Stable (latest release)\n"
|
||||
|
||||
#: tadv_admin.php:333
|
||||
msgid "Replace the size setting available for fonts with: %s."
|
||||
msgstr "Remplacez le réglage de taille disponible pour les polices avec : %s."
|
||||
|
||||
#: tadv_admin.php:380
|
||||
msgid "To use this option, add editor-style.css to your theme or a child theme. Enabling this option will also load that stylesheet in the editor."
|
||||
msgstr "Pour utiliser cette option, ajouter editor-style.css à votre thème ou thème enfant. Activer cette option va charger cette feuille de style dans l’éditeur."
|
||||
|
||||
#: tadv_admin.php:375
|
||||
msgid "A stylesheet file named editor-style.css was not added by your theme."
|
||||
msgstr "Une feuille de style nommée editor-style.css n’a pas été ajoutée à votre thème."
|
||||
|
||||
#: tadv_admin.php:369
|
||||
msgid "Your theme does not support editor-style.css."
|
||||
msgstr "Votre thème ne supporte pas editor-style.css"
|
||||
|
||||
#: tadv_admin.php:368 tadv_admin.php:374
|
||||
msgid "ERROR:"
|
||||
msgstr "ERREUR :"
|
||||
|
||||
#: tinymce-advanced.php:856
|
||||
msgid "Settings"
|
||||
msgstr "Paramètres de configuration"
|
||||
|
||||
#: tadv_admin.php:428
|
||||
msgid "Editors on the front end of the site"
|
||||
msgstr "Éditeurs sur l’interface publique du site"
|
||||
|
||||
#: tadv_admin.php:424
|
||||
msgid "Other editors in wp-admin"
|
||||
msgstr "Autres éditeurs dans wp-admin"
|
||||
|
||||
#: tadv_admin.php:420
|
||||
msgid "The main editor (Add New and Edit posts and pages)"
|
||||
msgstr "L’éditeur principal"
|
||||
|
||||
#: tadv_admin.php:417
|
||||
msgid "Enable the editor enhancements for:"
|
||||
msgstr "Activer les améliorations de l'éditeur pour :"
|
||||
|
||||
#: tadv_admin.php:410
|
||||
msgid "Settings import and export"
|
||||
msgstr "Réglages d’importation et d’exportation"
|
||||
|
||||
#: tadv_admin.php:388
|
||||
msgid "Keep paragraph tags"
|
||||
msgstr "Conserver les balises de paragraphe"
|
||||
|
||||
#: tadv_admin.php:359
|
||||
msgid "Create CSS classes menu"
|
||||
msgstr "Créer des classes CSS de menu"
|
||||
|
||||
#: tadv_admin.php:332
|
||||
msgid "Font sizes"
|
||||
msgstr "Tailles de police"
|
||||
|
||||
#: tadv_admin.php:327
|
||||
msgid "Open the TinyMCE link dialog when using the link button on the toolbar or the link menu item."
|
||||
msgstr "Ouvrez la boîte de dialogue de lien TinyMCE lorsque vous utilisez le bouton de lien sur la barre d'outils ou l'élément de lien de menu."
|
||||
|
||||
#: tadv_admin.php:325
|
||||
msgid "Alternative link dialog"
|
||||
msgstr "Boîte de dialogue de lien alternative"
|
||||
|
||||
#: tadv_admin.php:320
|
||||
msgid "Replace the browser context (right-click) menu."
|
||||
msgstr "Remplacer le menu contextuel (clic droit) du navigateur."
|
||||
|
||||
#: tadv_admin.php:313
|
||||
msgid "Enable more list options: upper or lower case letters for ordered lists, disk or square for unordered lists, etc."
|
||||
msgstr "Activer plus d’options de liste : lettres majuscules ou minuscules pour listes ordonnées, disque ou carré pour les listes à puces, etc."
|
||||
|
||||
#: tadv_admin.php:308
|
||||
msgid "Options"
|
||||
msgstr "Options"
|
||||
|
||||
#. Author URI of the plugin/theme
|
||||
msgid "http://www.laptoptips.ca/"
|
||||
msgstr "http://www.laptoptips.ca/"
|
||||
|
||||
#. Author of the plugin/theme
|
||||
msgid "Andrew Ozz"
|
||||
msgstr "Andrew Ozz"
|
||||
|
||||
#. Description of the plugin/theme
|
||||
msgid "Enables advanced features and plugins in TinyMCE, the visual editor in WordPress."
|
||||
msgstr "Active les fonctionnalités avancées et les extensions dans TinyMCE, l'éditeur visuel de WordPress."
|
||||
|
||||
#. Plugin URI of the plugin/theme
|
||||
msgid "http://www.laptoptips.ca/projects/tinymce-advanced/"
|
||||
msgstr "http://www.laptoptips.ca/projects/tinymce-advanced/"
|
||||
|
||||
#. Plugin Name of the plugin/theme
|
||||
msgid "TinyMCE Advanced"
|
||||
msgstr "TinyMCE Advanced"
|
||||
|
||||
#: tinymce-advanced.php:291
|
||||
msgid "Please upgrade your WordPress installation or download an <a href=\"%s\">older version of the plugin</a>."
|
||||
msgstr "Veuillez mettre à jour votre installation de WordPress ou télécharger une <a href=\"%s\">ancienne version de l’extension</a>."
|
||||
|
||||
#: tinymce-advanced.php:284
|
||||
msgid "TinyMCE Advanced requires WordPress version %1$s or newer. It appears that you are running %2$s. This can make the editor unstable."
|
||||
msgstr "TinyMCE Advanced nécessite la version WordPress %1$s ou plus récente. Il semble que vous utilisez la version %2$s. Cela peut rendre l'éditeur instable."
|
||||
|
||||
#: tadv_admin.php:445
|
||||
msgid "The [Toolbar toggle] button shows or hides the second, third, and forth button rows. It will only work when it is in the first row and there are buttons in the second row."
|
||||
msgstr "Le bouton [Barre d'outils] bascule sur afficher ou masquer les deuxième, troisième, et quatrième rangées de boutons. Il ne fonctionne que quand il est dans la première rangée et il ya des boutons de la deuxième rangée."
|
||||
|
||||
#: tadv_admin.php:439
|
||||
msgid "Restore Default Settings"
|
||||
msgstr "Restaurer les paramètres par défaut"
|
||||
|
||||
#: tadv_admin.php:413
|
||||
msgid "Import Settings"
|
||||
msgstr "Réglages d'importation"
|
||||
|
||||
#: tadv_admin.php:412
|
||||
msgid "Export Settings"
|
||||
msgstr "Réglages d'exportation"
|
||||
|
||||
#: tadv_admin.php:408
|
||||
msgid "Administration"
|
||||
msgstr "Administration"
|
||||
|
||||
#: tadv_admin.php:402
|
||||
msgid "These images will not be available in the Media Library."
|
||||
msgstr "Ces images ne seront pas disponibles dans la bibliothèque multimédia."
|
||||
|
||||
#: tadv_admin.php:401
|
||||
msgid "This is not acceptable for larger images like photos or graphics, but may be useful in some cases for very small images like icons, not larger than 2-3KB."
|
||||
msgstr "Cette situation est inacceptable pour les grandes images comme des photos ou des graphiques, mais peut être utile dans certains cas pour les très petites images comme icônes, pas plus grands que 2-3KB."
|
||||
|
||||
#: tadv_admin.php:400
|
||||
msgid "Works only in Firefox and Safari. These browsers support pasting of images directly in the editor and convert them to base64 encoded text."
|
||||
msgstr "Fonctionne uniquement dans Firefox et Safari. Ces navigateurs supportent le coller des images directement dans l'éditeur et les convertir en texte base64."
|
||||
|
||||
#: tadv_admin.php:398
|
||||
msgid "Enable pasting of image source"
|
||||
msgstr "Activer coller de la source de l'image"
|
||||
|
||||
#: tadv_admin.php:393
|
||||
msgid "Line breaks in the Text editor would still affect the output, in particular do not use empty lines, line breaks inside HTML tags or multiple <br /> tags."
|
||||
msgstr "Les sauts de ligne dans l'éditeur HTML affecteraient encore la sortie, en particulier n’utilisez pas de ligne vide, les sauts de ligne à l’intérieur de balises HTML ou multiple balises <br />."
|
||||
|
||||
#: tadv_admin.php:392
|
||||
msgid "However it may behave unexpectedly in rare cases, so test it thoroughly before enabling it permanently."
|
||||
msgstr "Cependant, il peut se comporter de façon inattendue dans de rares cas, si le tester à fond avant de l'activer de façon permanente."
|
||||
|
||||
#: tadv_admin.php:391
|
||||
msgid "This will make it possible to use more advanced coding in the Text editor without the back-end filtering affecting it much."
|
||||
msgstr "Cela rendra possible d’utiliser le codage plus avancé dans l’éditeur HTML sans le filtrage d’interface d’administration qui l’affecte beaucoup."
|
||||
|
||||
#: tadv_admin.php:390
|
||||
msgid "Stop removing the <p> and <br /> tags when saving and show them in the Text editor."
|
||||
msgstr "Arrêter de retirer les balises <p> et <br /> lors de l’enregistrement et les afficher dans l’éditeur de texte"
|
||||
|
||||
#: tadv_admin.php:363
|
||||
msgid "Load the CSS classes used in editor-style.css and replace the Formats menu."
|
||||
msgstr "Chargez les classes CSS utilisées dans editor-style.css et remplacez le menu des formats."
|
||||
|
||||
#: tadv_admin.php:341
|
||||
msgid "Advanced Options"
|
||||
msgstr "Options avancées"
|
||||
|
||||
#: tadv_admin.php:318
|
||||
msgid "Context Menu"
|
||||
msgstr "Menu contextuel"
|
||||
|
||||
#: tadv_admin.php:311
|
||||
msgid "List Style Options"
|
||||
msgstr "Options de style de liste"
|
||||
|
||||
#: tadv_admin.php:266
|
||||
msgid "Unused Buttons"
|
||||
msgstr "Boutons inutilisés"
|
||||
|
||||
#: tadv_admin.php:263
|
||||
msgid "Drag buttons from the unused buttons below and drop them in the toolbars above, or drag the buttons in the toolbars to rearrange them."
|
||||
msgstr "Faites glisser les boutons inutilisés ci-dessous et déposez-les dans les barres d'outils ci-dessus, ou faites glisser les boutons dans les barres d'outils pour les réorganiser."
|
||||
|
||||
#: tadv_admin.php:151
|
||||
msgid "Enable the editor menu."
|
||||
msgstr "Activez le menu de l'éditeur."
|
||||
|
||||
#: tadv_admin.php:144 tadv_admin.php:440
|
||||
msgid "Save Changes"
|
||||
msgstr "Sauvegarder les changements"
|
||||
|
||||
#: tadv_admin.php:135
|
||||
msgid "Settings saved."
|
||||
msgstr "Paramètres sauvegardés."
|
||||
|
||||
#: tadv_admin.php:128
|
||||
msgid "Editor Settings"
|
||||
msgstr "Paramètres de l'éditeur"
|
||||
|
||||
#: tadv_admin.php:117
|
||||
msgid "ERROR: All toolbars are empty. Default settings loaded."
|
||||
msgstr "Erreur: Tous les barres d'outils sont vides. Les réglages par défaut chargés."
|
||||
|
||||
#: tadv_admin.php:104
|
||||
msgid "Importing of settings failed."
|
||||
msgstr "L’importation des réglages a échoué."
|
||||
|
||||
#: tadv_admin.php:86
|
||||
msgid "Import"
|
||||
msgstr "Importer"
|
||||
|
||||
#: tadv_admin.php:85
|
||||
msgid "Verify"
|
||||
msgstr "Vérifier"
|
||||
|
||||
#: tadv_admin.php:80
|
||||
msgid "The settings are imported from a JSON encoded string. Please paste the exported string in the text area below."
|
||||
msgstr "Les réglages sont importés à partir d'une chaîne JSON codée. Veuillez coller la chaîne exportée dans la zone de texte ci-dessous."
|
||||
|
||||
#: tadv_admin.php:77
|
||||
msgid "TinyMCE Advanced Settings Import"
|
||||
msgstr "Réglages d'importation de TinyMCE Advanced "
|
||||
|
||||
#: tadv_admin.php:65 tadv_admin.php:91
|
||||
msgid "Back to Editor Settings"
|
||||
msgstr "Retour aux paramètres de l'éditeur"
|
||||
|
||||
#: tadv_admin.php:63
|
||||
msgid "Select All"
|
||||
msgstr "Sélectionner tout"
|
||||
|
||||
#: tadv_admin.php:58
|
||||
msgid "It is important that the export is not changed in any way, no spaces, line breaks, etc."
|
||||
msgstr "Il est important que l'exportation ne soit changée en aucune manière : pas d'espaces, sauts de ligne, etc."
|
||||
|
||||
#: tadv_admin.php:57
|
||||
msgid "Please copy the content and save it in a <b>text</b> (.txt) file, using a plain text editor like Notepad."
|
||||
msgstr "S'il vous plaît copier le contenu et l'enregistrer dans un fichier <b>texte</b> (.txt), en utilisant un éditeur de texte comme Notepad."
|
||||
|
||||
#: tadv_admin.php:56
|
||||
msgid "The settings are exported as a JSON encoded string."
|
||||
msgstr "Les paramètres sont exportés sous forme de chaîne JSON codée."
|
||||
|
||||
#: tadv_admin.php:52
|
||||
msgid "TinyMCE Advanced Settings Export"
|
||||
msgstr "Réglages d'exportation de TinyMCE Advanced "
|
||||
|
||||
#: tadv_admin.php:40
|
||||
msgid "Default settings restored."
|
||||
msgstr "Les réglages par défaut ont été restaurés."
|
||||
|
|
@ -1,312 +0,0 @@
|
|||
# Translation of Themes - Twenty Fifteen in French (France)
|
||||
# This file is distributed under the same license as the Themes - Twenty Fifteen package.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2018-01-02 09:02:58+0000\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: GlotPress/2.4.0-alpha\n"
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: Themes - Twenty Fifteen\n"
|
||||
|
||||
#. Description of the plugin/theme
|
||||
msgid "Our 2015 default theme is clean, blog-focused, and designed for clarity. Twenty Fifteen's simple, straightforward typography is readable on a wide variety of screen sizes, and suitable for multiple languages. We designed it using a mobile-first approach, meaning your content takes center-stage, regardless of whether your visitors arrive by smartphone, tablet, laptop, or desktop computer."
|
||||
msgstr "Notre thème par défaut pour 2015 est pur, centré sur le blog et conçu pour être clair. Le typographie simple et directe de Twenty Fifteen est lisible sur une grand variété de tailles d'écrans, et adaptée à de nombreuses langues. Nous l'avons conçu avec la méthode \"le mobile avant tout\", ce qui signifie que votre contenu a une place centrale, qu'importe si le visiteur utilise un téléphone, une tablette, un ordinateur portable ou un ordinateur de bureau."
|
||||
|
||||
#. Theme Name of the plugin/theme
|
||||
msgid "Twenty Fifteen"
|
||||
msgstr "Twenty Fifteen"
|
||||
|
||||
#. translators: %s: post title
|
||||
#: comments.php:31
|
||||
msgctxt "comments title"
|
||||
msgid "One thought on “%s”"
|
||||
msgstr "Une réflexion sur « %s »"
|
||||
|
||||
#. translators: %s: post title
|
||||
#: inc/template-tags.php:123
|
||||
msgid "Leave a comment<span class=\"screen-reader-text\"> on %s</span>"
|
||||
msgstr "Laisser un commentaire<span class=\"screen-reader-text\"> sur %s</span>"
|
||||
|
||||
#: single.php:37
|
||||
msgid "Previous post:"
|
||||
msgstr "Article précédent :"
|
||||
|
||||
#: single.php:36
|
||||
msgid "Previous"
|
||||
msgstr "Précédent"
|
||||
|
||||
#: single.php:34
|
||||
msgid "Next post:"
|
||||
msgstr "Article suivant :"
|
||||
|
||||
#: single.php:33
|
||||
msgid "Next"
|
||||
msgstr "Suivant"
|
||||
|
||||
#: search.php:18
|
||||
msgid "Search Results for: %s"
|
||||
msgstr "Résultats de recherche pour %s"
|
||||
|
||||
#: inc/template-tags.php:113
|
||||
msgctxt "Used before full size attachment link."
|
||||
msgid "Full size"
|
||||
msgstr "Taille réelle"
|
||||
|
||||
#: inc/template-tags.php:102
|
||||
msgctxt "Used before tag names."
|
||||
msgid "Tags"
|
||||
msgstr "Mots-clés"
|
||||
|
||||
#: inc/template-tags.php:94
|
||||
msgctxt "Used before category names."
|
||||
msgid "Categories"
|
||||
msgstr "Catégories"
|
||||
|
||||
#: inc/template-tags.php:91 inc/template-tags.php:99
|
||||
msgctxt "Used between list items, there is a space after the comma."
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: inc/template-tags.php:85
|
||||
msgctxt "Used before post author name."
|
||||
msgid "Author"
|
||||
msgstr "Auteur"
|
||||
|
||||
#: inc/template-tags.php:76
|
||||
msgctxt "Used before publish date."
|
||||
msgid "Posted on"
|
||||
msgstr "Publié le"
|
||||
|
||||
#: inc/template-tags.php:55
|
||||
msgctxt "Used before post format."
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: inc/template-tags.php:49
|
||||
msgid "Featured"
|
||||
msgstr "Mis en avant"
|
||||
|
||||
#: inc/template-tags.php:30
|
||||
msgid "Newer Comments"
|
||||
msgstr "Commentaires plus récents"
|
||||
|
||||
#: inc/template-tags.php:26
|
||||
msgid "Older Comments"
|
||||
msgstr "Commentaires plus anciens"
|
||||
|
||||
#: inc/template-tags.php:23
|
||||
msgid "Comment navigation"
|
||||
msgstr "Navigation des commentaires"
|
||||
|
||||
#: inc/customizer.php:205
|
||||
msgid "Blue"
|
||||
msgstr "Bleu"
|
||||
|
||||
#: inc/customizer.php:194
|
||||
msgid "Purple"
|
||||
msgstr "Violet"
|
||||
|
||||
#: inc/customizer.php:183
|
||||
msgid "Pink"
|
||||
msgstr "Rose"
|
||||
|
||||
#: inc/customizer.php:172
|
||||
msgid "Yellow"
|
||||
msgstr "Jaune"
|
||||
|
||||
#: inc/customizer.php:161
|
||||
msgid "Dark"
|
||||
msgstr "Sombre"
|
||||
|
||||
#: inc/customizer.php:150
|
||||
msgid "Default"
|
||||
msgstr "Valeur par défaut"
|
||||
|
||||
#: inc/customizer.php:75
|
||||
msgid "Header and Sidebar Background Color"
|
||||
msgstr "Couleur de fond de l'en-tête et de la barre latérale"
|
||||
|
||||
#: inc/customizer.php:60 inc/customizer.php:76 inc/customizer.php:81
|
||||
msgid "Applied to the header on small screens and the sidebar on wide screens."
|
||||
msgstr "Appliqué à l'en-tête sur les petits écrans, et à la barre latérale sur les grands écrans."
|
||||
|
||||
#: inc/customizer.php:59
|
||||
msgid "Header and Sidebar Text Color"
|
||||
msgstr "Couleur du texte de l'en-tête et le barre latérale"
|
||||
|
||||
#: inc/customizer.php:44
|
||||
msgid "Base Color Scheme"
|
||||
msgstr "Jeu de couleurs de base"
|
||||
|
||||
#: inc/back-compat.php:37 inc/back-compat.php:47 inc/back-compat.php:60
|
||||
msgid "Twenty Fifteen requires at least WordPress version 4.1. You are running version %s. Please upgrade and try again."
|
||||
msgstr "Twenty Fifteen ne fonctionne qu'à partir de WordPress 4.1. Vous utilisez la version %s. Veuillez mettre à jour et réessayer."
|
||||
|
||||
#: image.php:84
|
||||
msgctxt "Parent post link"
|
||||
msgid "<span class=\"meta-nav\">Published in</span><span class=\"post-title\">%title</span>"
|
||||
msgstr "<span class=\"meta-nav\">Publié dans</span><span class=\"post-title\">%title</span>"
|
||||
|
||||
#: image.php:24
|
||||
msgid "Next Image"
|
||||
msgstr "Image suivante"
|
||||
|
||||
#: image.php:24
|
||||
msgid "Previous Image"
|
||||
msgstr "Image précédente"
|
||||
|
||||
#: header.php:45
|
||||
msgid "Menu and widgets"
|
||||
msgstr "Menu et widgets"
|
||||
|
||||
#: header.php:26
|
||||
msgid "Skip to content"
|
||||
msgstr "Aller au contenu"
|
||||
|
||||
#: functions.php:283
|
||||
msgid "collapse child menu"
|
||||
msgstr "fermer le sous-menu"
|
||||
|
||||
#: functions.php:282
|
||||
msgid "expand child menu"
|
||||
msgstr "ouvrir le sous-menu"
|
||||
|
||||
#. Translators: To add an additional character subset specific to your
|
||||
#. language, translate this to 'greek', 'cyrillic', 'devanagari' or
|
||||
#. 'vietnamese'. Do not translate into your own language.
|
||||
#: functions.php:212
|
||||
msgctxt "Add new subset (greek, cyrillic, devanagari, vietnamese)"
|
||||
msgid "no-subset"
|
||||
msgstr "no-subset"
|
||||
|
||||
#. Translators: If there are characters in your language that are not supported
|
||||
#. by Inconsolata, translate this to 'off'. Do not translate into your own
|
||||
#. language.
|
||||
#: functions.php:204
|
||||
msgctxt "Inconsolata font: on or off"
|
||||
msgid "on"
|
||||
msgstr "on"
|
||||
|
||||
#. Translators: If there are characters in your language that are not supported
|
||||
#. by Noto Serif, translate this to 'off'. Do not translate into your own
|
||||
#. language.
|
||||
#: functions.php:196
|
||||
msgctxt "Noto Serif font: on or off"
|
||||
msgid "on"
|
||||
msgstr "on"
|
||||
|
||||
#. Translators: If there are characters in your language that are not supported
|
||||
#. by Noto Sans, translate this to 'off'. Do not translate into your own
|
||||
#. language.
|
||||
#: functions.php:188
|
||||
msgctxt "Noto Sans font: on or off"
|
||||
msgid "on"
|
||||
msgstr "on"
|
||||
|
||||
#: functions.php:162
|
||||
msgid "Add widgets here to appear in your sidebar."
|
||||
msgstr "Ajoutez des widgets ici afin qu'ils apparaissent dans votre barre latérale."
|
||||
|
||||
#: functions.php:160
|
||||
msgid "Widget Area"
|
||||
msgstr "Zone de widgets"
|
||||
|
||||
#: functions.php:86
|
||||
msgid "Social Links Menu"
|
||||
msgstr "Menu des liens de réseaux sociaux"
|
||||
|
||||
#: functions.php:85
|
||||
msgid "Primary Menu"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: footer.php:25
|
||||
msgid "Proudly powered by %s"
|
||||
msgstr "Fièrement propulsé par %s"
|
||||
|
||||
#. #-#-#-#-# twentyfifteen.pot (Twenty Fifteen 1.9) #-#-#-#-#
|
||||
#. Author URI of the plugin/theme
|
||||
#: footer.php:25
|
||||
msgid "https://wordpress.org/"
|
||||
msgstr "https://wordpress.org/"
|
||||
|
||||
#: content-none.php:31
|
||||
msgid "It seems we can’t find what you’re looking for. Perhaps searching can help."
|
||||
msgstr "Il semblerait que nous ne soyons pas en mesure de trouver votre contenu. Essayez en lançant une recherche."
|
||||
|
||||
#: content-none.php:26
|
||||
msgid "Sorry, but nothing matched your search terms. Please try again with some different keywords."
|
||||
msgstr "Désolé, mais rien ne correspond à votre recherche. Veuillez réessayer avec des mots différents."
|
||||
|
||||
#: content-none.php:22
|
||||
msgid "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
|
||||
msgstr "Prêt à publier votre premier article ? <a href=\"%1$s\">Lancez-vous</a> !"
|
||||
|
||||
#: content-none.php:15
|
||||
msgid "Nothing Found"
|
||||
msgstr "Rien de trouvé"
|
||||
|
||||
#: content-link.php:56 content-page.php:35 content-search.php:28
|
||||
#: content-search.php:33 content.php:57 image.php:71
|
||||
msgid "Edit"
|
||||
msgstr "Modifier"
|
||||
|
||||
#: content-link.php:36 content-page.php:25 content.php:38 image.php:59
|
||||
msgid "Pages:"
|
||||
msgstr "Pages :"
|
||||
|
||||
#. translators: %s: Name of current post
|
||||
#: content-link.php:31 content.php:33 inc/template-tags.php:238
|
||||
msgid "Continue reading %s"
|
||||
msgstr "Continuer la lecture de %s"
|
||||
|
||||
#: comments.php:69
|
||||
msgid "Comments are closed."
|
||||
msgstr "Les commentaires sont fermés."
|
||||
|
||||
#. translators: 1: number of comments, 2: post title
|
||||
#: comments.php:35
|
||||
msgctxt "comments title"
|
||||
msgid "%1$s thought on “%2$s”"
|
||||
msgid_plural "%1$s thoughts on “%2$s”"
|
||||
msgstr[0] "%1$s réflexion au sujet de « %2$s »"
|
||||
msgstr[1] "%1$s réflexions au sujet de « %2$s »"
|
||||
|
||||
#: author-bio.php:34
|
||||
msgid "View all posts by %s"
|
||||
msgstr "Afficher tous les articles par %s"
|
||||
|
||||
#: author-bio.php:12
|
||||
msgid "Published by"
|
||||
msgstr "Publié par"
|
||||
|
||||
#: archive.php:51 content-link.php:40 content-page.php:29 content.php:42
|
||||
#: image.php:63 index.php:48 search.php:40
|
||||
msgid "Page"
|
||||
msgstr "Page"
|
||||
|
||||
#: archive.php:50 index.php:47 search.php:39
|
||||
msgid "Next page"
|
||||
msgstr "Page suivante"
|
||||
|
||||
#: archive.php:49 index.php:46 search.php:38
|
||||
msgid "Previous page"
|
||||
msgstr "Page précédente"
|
||||
|
||||
#: 404.php:21
|
||||
msgid "It looks like nothing was found at this location. Maybe try a search?"
|
||||
msgstr "Apparemment, rien n’a été trouvé à cette adresse. Essayez avec recherche ?"
|
||||
|
||||
#: 404.php:17
|
||||
msgid "Oops! That page can’t be found."
|
||||
msgstr "Oups ! Cette page est introuvable."
|
||||
|
||||
#. Author of the plugin/theme
|
||||
msgid "the WordPress team"
|
||||
msgstr "L’équipe WordPress"
|
||||
|
||||
#. Theme URI of the plugin/theme
|
||||
msgid "https://wordpress.org/themes/twentyfifteen/"
|
||||
msgstr "https://wordpress.org/themes/twentyfifteen/"
|
||||
|
|
@ -1,446 +0,0 @@
|
|||
# Translation of Twenty Fourteen in French (France)
|
||||
# This file is distributed under the same license as the Twenty Fourteen package.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2015-05-06 15:52:05+0000\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: GlotPress/1.0-alpha-1100\n"
|
||||
"Project-Id-Version: Twenty Fourteen\n"
|
||||
|
||||
#. Theme URI of the plugin/theme
|
||||
msgid "https://wordpress.org/themes/twentyfourteen/"
|
||||
msgstr "https://wordpress.org/themes/twentyfourteen/"
|
||||
|
||||
#. #-#-#-#-# twentyfourteen.pot (Twenty Fourteen 1.6) #-#-#-#-#
|
||||
#. Author URI of the plugin/theme
|
||||
#: footer.php:21
|
||||
msgid "https://wordpress.org/"
|
||||
msgstr "https://wordpress.org/"
|
||||
|
||||
#. translators: %s: Name of current post
|
||||
#: content-aside.php:48 content-audio.php:48 content-gallery.php:48
|
||||
#: content-image.php:48 content-link.php:48 content-quote.php:48
|
||||
#: content-video.php:48 content.php:56 inc/template-tags.php:222
|
||||
msgid "Continue reading %s <span class=\"meta-nav\">→</span>"
|
||||
msgstr "Continuer la lecture de %s <span class=\"meta-nav\">→</span>"
|
||||
|
||||
#: inc/customizer.php:31 inc/customizer.php:32
|
||||
msgid "May only be visible on wide screens."
|
||||
msgstr "Peut n'être visible que sur les écrans larges."
|
||||
|
||||
#: inc/widgets.php:59
|
||||
msgid "More videos"
|
||||
msgstr "Plus de vidéos"
|
||||
|
||||
#: inc/widgets.php:63
|
||||
msgid "More audio"
|
||||
msgstr "Plus de fichiers audios"
|
||||
|
||||
#: inc/widgets.php:67
|
||||
msgid "More quotes"
|
||||
msgstr "Plus de citations"
|
||||
|
||||
#: inc/widgets.php:71
|
||||
msgid "More links"
|
||||
msgstr "Plus de liens"
|
||||
|
||||
#: inc/widgets.php:75
|
||||
msgid "More galleries"
|
||||
msgstr "Plus de galeries"
|
||||
|
||||
#. translators: used with More archives link
|
||||
#: inc/widgets.php:206
|
||||
msgid "%s <span class=\"meta-nav\">→</span>"
|
||||
msgstr "%s <span class=\"meta-nav\">→</span>"
|
||||
|
||||
#: inc/widgets.php:80
|
||||
msgid "More asides"
|
||||
msgstr "Plus d’apartés"
|
||||
|
||||
#: inc/customizer.php:108
|
||||
msgid "The home page features your choice of up to 6 posts prominently displayed in a grid or slider, controlled by a <a href=\"%1$s\">tag</a>; you can change the tag and layout in <a href=\"%2$s\">Appearance → Customize</a>. If no posts match the tag, <a href=\"%3$s\">sticky posts</a> will be displayed instead."
|
||||
msgstr "La page d’accueil met en avant jusqu’à 6 articles disposés dans une grille ou une galerie défilante, contrôlée par une <a href=\"%1$s\">étiquette</a>; vous pouvez modifier l'étiquette et la disposition dans <a href=\"%2$s\">Apparence → Personnalisation</a>. Si aucun article ne correspond à l'étiquette, <a href=\"%3$s\">un article mis en avant</a> sera affiché à la place. "
|
||||
|
||||
#: inc/customizer.php:42 inc/customizer.php:108 inc/featured-content.php:405
|
||||
#: inc/featured-content.php:414 inc/featured-content.php:474
|
||||
msgctxt "featured content default tag slug"
|
||||
msgid "featured"
|
||||
msgstr "mis-en-avant"
|
||||
|
||||
#: inc/widgets.php:36
|
||||
msgid "Use this widget to list your recent Aside, Quote, Video, Audio, Image, Gallery, and Link posts."
|
||||
msgstr "Utilisez ce widget pour lister vos articles de type En passant, Citation, Vidéo, Audio, Image, Galerie et Lien les plus récents."
|
||||
|
||||
#: inc/customizer.php:41 inc/featured-content.php:404
|
||||
msgid "Use a <a href=\"%1$s\">tag</a> to feature your posts. If no posts match the tag, <a href=\"%2$s\">sticky posts</a> will be displayed instead."
|
||||
msgstr "Utilisez un <a href=\"%1$s\">mot-clé</a> pour mettre vos articles en avant. Si aucun article ne correspond à votre mot-clé, les <a href=\"%2$s\">articles mis en avant</a> seront affichés à la place."
|
||||
|
||||
#: 404.php:17
|
||||
msgid "Not Found"
|
||||
msgstr "Rien de trouvé"
|
||||
|
||||
#: inc/customizer.php:27
|
||||
msgid "Display Site Title & Tagline"
|
||||
msgstr "Afficher le titre du site et son slogan"
|
||||
|
||||
#: inc/customizer.php:110
|
||||
msgid "For an in-depth tutorial, and more tips and tricks, visit the <a href=\"%s\">Twenty Fourteen documentation</a>."
|
||||
msgstr "Pour un didacticiel complet et de nombreux trucs et astuces (en anglais), rendez-vous sur la <a href=\"%s\">documentation de Twenty Fourteen</a>."
|
||||
|
||||
#: archive.php:34
|
||||
msgctxt "monthly archives date format"
|
||||
msgid "F Y"
|
||||
msgstr "F Y"
|
||||
|
||||
#: archive.php:37
|
||||
msgctxt "yearly archives date format"
|
||||
msgid "Y"
|
||||
msgstr "Y"
|
||||
|
||||
#: inc/customizer.php:24
|
||||
msgid "Site Title Color"
|
||||
msgstr "Couleur du titre du site"
|
||||
|
||||
#: inc/featured-content.php:431
|
||||
msgid "Don’t display tag on front end."
|
||||
msgstr "Ne pas afficher l'étiquette sur la page d’accueil."
|
||||
|
||||
#. Description of the plugin/theme
|
||||
msgid "In 2014, our default theme lets you create a responsive magazine website with a sleek, modern design. Feature your favorite homepage content in either a grid or a slider. Use the three widget areas to customize your website, and change your content's layout with a full-width page template and a contributor page to show off your authors. Creating a magazine website with WordPress has never been easier."
|
||||
msgstr "En 2014, notre thème par défaut vous permet de créer un site magazine qui s'adapte à tous les écrans avec un superbe design moderne. Mettez en avant votre contenu préféré sur la page d'accueil grâce à une grille ou un diaporama. Utilisez les trois zones de widget pour personnaliser votre site web, et modifiez la mise en page de votre contenu grâce à des modèles pleine page et une page de contributeurs pour mettre vos auteurs en avant. Créer un site magazine avec WordPress n'a jamais été aussi facile."
|
||||
|
||||
#: inc/featured-content.php:426
|
||||
msgid "Tag Name"
|
||||
msgstr "Nom de l'étiquette"
|
||||
|
||||
#: functions.php:258
|
||||
msgid "Previous"
|
||||
msgstr "Précédent"
|
||||
|
||||
#: author.php:31
|
||||
msgid "All posts by %s"
|
||||
msgstr "Tous les articles par %s"
|
||||
|
||||
#: content-aside.php:17 content-audio.php:17 content-featured-post.php:28
|
||||
#: content-gallery.php:17 content-image.php:17 content-link.php:17
|
||||
#: content-quote.php:17 content-video.php:17 content.php:19
|
||||
msgctxt "Used between list items, there is a space after the comma."
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: functions.php:191
|
||||
msgid "Appears in the footer section of the site."
|
||||
msgstr "Apparaît dans le pied de page du site."
|
||||
|
||||
#: image.php:65
|
||||
msgid "Previous Image"
|
||||
msgstr "Image précédente"
|
||||
|
||||
#: inc/customizer.php:40 inc/featured-content.php:403
|
||||
msgid "Featured Content"
|
||||
msgstr "Contenu mis en avant"
|
||||
|
||||
#: inc/customizer.php:56
|
||||
msgid "Layout"
|
||||
msgstr "Agencement"
|
||||
|
||||
#: inc/customizer.php:60
|
||||
msgid "Grid"
|
||||
msgstr "Grille"
|
||||
|
||||
#: inc/widgets.php:62 taxonomy-post_format.php:39
|
||||
msgid "Audio"
|
||||
msgstr "Audio"
|
||||
|
||||
#: inc/widgets.php:162
|
||||
msgid "This gallery contains <a href=\"%1$s\" rel=\"bookmark\">%2$s photo</a>."
|
||||
msgid_plural "This gallery contains <a href=\"%1$s\" rel=\"bookmark\">%2$s photos</a>."
|
||||
msgstr[0] "Cette galerie contient <a href=\"%1$s\" rel=\"bookmark\">%2$s photo</a>."
|
||||
msgstr[1] "Cette galerie contient <a href=\"%1$s\" rel=\"bookmark\">%2$s photos</a>."
|
||||
|
||||
#: functions.php:259
|
||||
msgid "Next"
|
||||
msgstr "Suivant"
|
||||
|
||||
#: functions.php:189
|
||||
msgid "Footer Widget Area"
|
||||
msgstr "Zone de widgets en pied de page"
|
||||
|
||||
#: functions.php:376
|
||||
msgid "%d Article"
|
||||
msgid_plural "%d Articles"
|
||||
msgstr[0] "%d article"
|
||||
msgstr[1] "%d articles"
|
||||
|
||||
#: image.php:66
|
||||
msgid "Next Image"
|
||||
msgstr "Image suivante"
|
||||
|
||||
#: inc/back-compat.php:37 inc/back-compat.php:47 inc/back-compat.php:60
|
||||
msgid "Twenty Fourteen requires at least WordPress version 3.6. You are running version %s. Please upgrade and try again."
|
||||
msgstr "Twenty Fourteen requiert au moins la version 3.6 de WordPress. Vous utilisez la version %s. Veuillez mettre à jour et réessayer."
|
||||
|
||||
#: inc/customizer.php:34 inc/customizer.php:35
|
||||
msgid "Background may only be visible on wide screens."
|
||||
msgstr "Il est possible que le fond ne soit visible que sur des écrans larges."
|
||||
|
||||
#: inc/customizer.php:61
|
||||
msgid "Slider"
|
||||
msgstr "Diaporama"
|
||||
|
||||
#: inc/template-tags.php:89
|
||||
msgid "<span class=\"meta-nav\">Published In</span>%title"
|
||||
msgstr "<span class=\"meta-nav\">Publié dans</span>%title"
|
||||
|
||||
#: inc/template-tags.php:91
|
||||
msgid "<span class=\"meta-nav\">Previous Post</span>%title"
|
||||
msgstr "<span class=\"meta-nav\">Article précédent</span>%title"
|
||||
|
||||
#: inc/template-tags.php:92
|
||||
msgid "<span class=\"meta-nav\">Next Post</span>%title"
|
||||
msgstr "<span class=\"meta-nav\">Article suivant</span>%title"
|
||||
|
||||
#: inc/template-tags.php:58
|
||||
msgid "Posts navigation"
|
||||
msgstr "Navigation au sein des articles"
|
||||
|
||||
#: inc/widgets.php:34
|
||||
msgid "Twenty Fourteen Ephemera"
|
||||
msgstr "Éphémère de Twenty Fourteen"
|
||||
|
||||
#. Template Name of the plugin/theme
|
||||
msgid "Contributor Page"
|
||||
msgstr "Page des contributeurs"
|
||||
|
||||
#: 404.php:21
|
||||
msgid "It looks like nothing was found at this location. Maybe try a search?"
|
||||
msgstr "Il semblerait que rien n’ai été trouvé à cette adresse. Essayez peut-être une recherche ?"
|
||||
|
||||
#: inc/customizer.php:109
|
||||
msgid "Enhance your site design by using <a href=\"%s\">Featured Images</a> for posts you’d like to stand out (also known as post thumbnails). This allows you to associate an image with your post without inserting it. Twenty Fourteen uses featured images for posts and pages—above the title—and in the Featured Content area on the home page."
|
||||
msgstr "Améliorez le design de votre site en utilisant des <a href=\"%s\">images en Une</a> pour les articles que vous aimeriez voir ressortir (également nommées \"miniatures d’articles\"). Cela vous permet d’associer une image avec votre article sans l’y insérer. Twenty Fourteen place les images en Une au-dessus du titre pour les articles et les pages, et dans la section \"Contenu mis en avant\" pour la page d’accueil."
|
||||
|
||||
#: inc/widgets.php:255
|
||||
msgid "Title:"
|
||||
msgstr "Titre :"
|
||||
|
||||
#: inc/widgets.php:258
|
||||
msgid "Number of posts to show:"
|
||||
msgstr "Nombre d’articles à afficher :"
|
||||
|
||||
#: inc/widgets.php:261
|
||||
msgid "Post format to show:"
|
||||
msgstr "Format d’article à afficher :"
|
||||
|
||||
#: functions.php:182
|
||||
msgid "Additional sidebar that appears on the right."
|
||||
msgstr "Barre latérale supplémentaire apparaissant sur la droite."
|
||||
|
||||
#: footer.php:21
|
||||
msgid "Proudly powered by %s"
|
||||
msgstr "Fièrement propulsé par %s"
|
||||
|
||||
#: archive.php:31
|
||||
msgid "Daily Archives: %s"
|
||||
msgstr "Archives quotidiennes :"
|
||||
|
||||
#: archive.php:34
|
||||
msgid "Monthly Archives: %s"
|
||||
msgstr "Archives mensuelles : %s"
|
||||
|
||||
#: archive.php:37
|
||||
msgid "Yearly Archives: %s"
|
||||
msgstr "Archives annuelles : %s"
|
||||
|
||||
#: comments.php:36 comments.php:54
|
||||
msgid "Newer Comments →"
|
||||
msgstr "Commentaires plus récents →"
|
||||
|
||||
#: comments.php:59
|
||||
msgid "Comments are closed."
|
||||
msgstr "Les commentaires sont fermés."
|
||||
|
||||
#: category.php:20
|
||||
msgid "Category Archives: %s"
|
||||
msgstr "Archives pour la catégorie %s"
|
||||
|
||||
#: comments.php:34 comments.php:52
|
||||
msgid "Comment navigation"
|
||||
msgstr "Navigation des commentaires"
|
||||
|
||||
#: header.php:48
|
||||
msgid "Search"
|
||||
msgstr "Recherche"
|
||||
|
||||
#: archive.php:40 taxonomy-post_format.php:51
|
||||
msgid "Archives"
|
||||
msgstr "Archives"
|
||||
|
||||
#: content-aside.php:40 content-audio.php:40 content-gallery.php:40
|
||||
#: content-image.php:40 content-link.php:40 content-page.php:28
|
||||
#: content-quote.php:40 content-video.php:40 content.php:42 image.php:34
|
||||
#: page-templates/contributors.php:35
|
||||
msgid "Edit"
|
||||
msgstr "Modifier"
|
||||
|
||||
#: inc/template-tags.php:51
|
||||
msgid "Next →"
|
||||
msgstr "Suivant →"
|
||||
|
||||
#: inc/template-tags.php:50
|
||||
msgid "← Previous"
|
||||
msgstr "← Précédent"
|
||||
|
||||
#: functions.php:495
|
||||
msgid "Page %s"
|
||||
msgstr "Page %s"
|
||||
|
||||
#: header.php:52
|
||||
msgid "Primary Menu"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: content-aside.php:37 content-audio.php:37 content-gallery.php:37
|
||||
#: content-image.php:37 content-link.php:37 content-quote.php:37
|
||||
#: content-video.php:37 content.php:38 inc/widgets.php:194
|
||||
msgid "Leave a comment"
|
||||
msgstr "Laisser un commentaire"
|
||||
|
||||
#: inc/template-tags.php:109
|
||||
msgid "Sticky"
|
||||
msgstr "Mis en avant"
|
||||
|
||||
#: header.php:53
|
||||
msgid "Skip to content"
|
||||
msgstr "Aller au contenu principal"
|
||||
|
||||
#: comments.php:35 comments.php:53
|
||||
msgid "← Older Comments"
|
||||
msgstr "← Commentaires plus anciens"
|
||||
|
||||
#: content-aside.php:37 content-audio.php:37 content-gallery.php:37
|
||||
#: content-image.php:37 content-link.php:37 content-quote.php:37
|
||||
#: content-video.php:37 content.php:38 inc/widgets.php:194
|
||||
msgid "1 Comment"
|
||||
msgstr "Un commentaire"
|
||||
|
||||
#: functions.php:83
|
||||
msgid "Top primary menu"
|
||||
msgstr "Menu haut principal"
|
||||
|
||||
#: functions.php:84
|
||||
msgid "Secondary menu in left sidebar"
|
||||
msgstr "Menu secondaire dans la barre latérale de gauche"
|
||||
|
||||
#: functions.php:171
|
||||
msgid "Primary Sidebar"
|
||||
msgstr "Barre latérale principale"
|
||||
|
||||
#: functions.php:173
|
||||
msgid "Main sidebar that appears on the left."
|
||||
msgstr "Barre latérale principale qui apparaît à gauche."
|
||||
|
||||
#: content-none.php:18
|
||||
msgid "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
|
||||
msgstr "Prêt(e) à publier votre premier article? <a href=\"%1$s\">Lancez-vous ici</a>."
|
||||
|
||||
#: content-none.php:22
|
||||
msgid "Sorry, but nothing matched your search terms. Please try again with some different keywords."
|
||||
msgstr "Désolé, mais rien ne correspond à votre recherche. Veuillez réessayer avec des mots différents."
|
||||
|
||||
#: content-none.php:27
|
||||
msgid "It seems we can’t find what you’re looking for. Perhaps searching can help."
|
||||
msgstr "Il semble que ce que vous cherchez est introuvable. Essayez avec une recherche."
|
||||
|
||||
#: inc/widgets.php:58 taxonomy-post_format.php:36
|
||||
msgid "Videos"
|
||||
msgstr "Vidéos"
|
||||
|
||||
#: inc/widgets.php:54 taxonomy-post_format.php:33
|
||||
msgid "Images"
|
||||
msgstr "Images"
|
||||
|
||||
#: inc/widgets.php:74 taxonomy-post_format.php:48
|
||||
msgid "Galleries"
|
||||
msgstr "Galeries"
|
||||
|
||||
#: inc/widgets.php:79 taxonomy-post_format.php:30
|
||||
msgid "Asides"
|
||||
msgstr "En passant"
|
||||
|
||||
#: inc/widgets.php:70 taxonomy-post_format.php:45
|
||||
msgid "Links"
|
||||
msgstr "Liens"
|
||||
|
||||
#: inc/widgets.php:66 taxonomy-post_format.php:42
|
||||
msgid "Quotes"
|
||||
msgstr "Citations"
|
||||
|
||||
#. #-#-#-#-# twentyfourteen.pot (Twenty Fourteen 1.6) #-#-#-#-#
|
||||
#. Theme Name of the plugin/theme
|
||||
#: inc/customizer.php:105
|
||||
msgid "Twenty Fourteen"
|
||||
msgstr "Twenty Fourteen"
|
||||
|
||||
#. Author of the plugin/theme
|
||||
msgid "the WordPress team"
|
||||
msgstr "L'équipe de WordPress"
|
||||
|
||||
#. Template Name of the plugin/theme
|
||||
msgid "Full Width Page"
|
||||
msgstr "Page plein écran"
|
||||
|
||||
#. Translators: If there are characters in your language that are not supported
|
||||
#. by Lato, translate this to 'off'. Do not translate into your own language.
|
||||
#: functions.php:213
|
||||
msgctxt "Lato font: on or off"
|
||||
msgid "on"
|
||||
msgstr "on"
|
||||
|
||||
#: content-aside.php:37 content-audio.php:37 content-gallery.php:37
|
||||
#: content-image.php:37 content-link.php:37 content-quote.php:37
|
||||
#: content-video.php:37 content.php:38 inc/widgets.php:194
|
||||
msgid "% Comments"
|
||||
msgstr "% commentaires"
|
||||
|
||||
#: comments.php:27
|
||||
msgid "One thought on “%2$s”"
|
||||
msgid_plural "%1$s thoughts on “%2$s”"
|
||||
msgstr[0] "Une réflexion sur “ %2$s ”"
|
||||
msgstr[1] "%1$s réflexions sur “ %2$s ”"
|
||||
|
||||
#: inc/widgets.php:55
|
||||
msgid "More images"
|
||||
msgstr "Plus d'images"
|
||||
|
||||
#: content-aside.php:53 content-audio.php:53 content-gallery.php:53
|
||||
#: content-image.php:53 content-link.php:53 content-page.php:22
|
||||
#: content-quote.php:53 content-video.php:53 content.php:61 image.php:54
|
||||
msgid "Pages:"
|
||||
msgstr "Pages :"
|
||||
|
||||
#: content-none.php:12
|
||||
msgid "Nothing Found"
|
||||
msgstr "Rien n’a été trouvé"
|
||||
|
||||
#: inc/template-tags.php:85
|
||||
msgid "Post navigation"
|
||||
msgstr "Navigation de l’article"
|
||||
|
||||
#: search.php:18
|
||||
msgid "Search Results for: %s"
|
||||
msgstr "Résultats de recherche pour : %s"
|
||||
|
||||
#: tag.php:22
|
||||
msgid "Tag Archives: %s"
|
||||
msgstr "Archives pour l'étiquette %s"
|
||||
|
||||
#: functions.php:180
|
||||
msgid "Content Sidebar"
|
||||
msgstr "Barre latérale de contenu"
|
||||
|
||||
#: inc/widgets.php:127 inc/widgets.php:172
|
||||
msgid "Continue reading <span class=\"meta-nav\">→</span>"
|
||||
msgstr "Continuer la lecture <span class=\"meta-nav\">→</span>"
|
||||
|
|
@ -1,335 +0,0 @@
|
|||
# Translation of Themes - Twenty Seventeen in French (France)
|
||||
# This file is distributed under the same license as the Themes - Twenty Seventeen package.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2017-11-16 15:29:10+0000\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: GlotPress/2.4.0-alpha\n"
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: Themes - Twenty Seventeen\n"
|
||||
|
||||
#. Description of the plugin/theme
|
||||
msgid "Twenty Seventeen brings your site to life with header video and immersive featured images. With a focus on business sites, it features multiple sections on the front page as well as widgets, navigation and social menus, a logo, and more. Personalize its asymmetrical grid with a custom color scheme and showcase your multimedia content with post formats. Our default theme for 2017 works great in many languages, for any abilities, and on any device."
|
||||
msgstr "Twenty Seventeen donne vie à votre site avec un en-tête vidéo et des images mises en avant immersives. En mettant l’accent sur les sites d’entreprises, il offre de multiples sections sur la page d’accueil comme sur les widgets, les menus de navigation et sociaux, un logo et bien plus encore. Personnalisez sa grille asymétrique avec votre propre jeu de couleurs et mettez en valeur vos contenus multimédias avec les formats d’articles. Notre thème par défaut pour 2017 fonctionne dans de nombreuses langues, dans tous les domaines et sur n’importe quel type d’appareils."
|
||||
|
||||
#. Theme Name of the plugin/theme
|
||||
msgid "Twenty Seventeen"
|
||||
msgstr "Twenty Seventeen"
|
||||
|
||||
#: template-parts/footer/footer-widgets.php:18
|
||||
msgid "Footer"
|
||||
msgstr "Pied de page"
|
||||
|
||||
#: functions.php:326
|
||||
msgid "Add widgets here to appear in your sidebar on blog posts and archive pages."
|
||||
msgstr "Ajoutez ici des widgets pour les faire apparaître dans votre colonne latérale d’articles de blog ou de pages d’archives."
|
||||
|
||||
#: functions.php:324 sidebar.php:18
|
||||
msgid "Blog Sidebar"
|
||||
msgstr "Colonne latérale du blog"
|
||||
|
||||
#: template-parts/header/site-branding.php:34
|
||||
#: template-parts/navigation/navigation-top.php:31
|
||||
msgid "Scroll down to content"
|
||||
msgstr "Descendre au contenu"
|
||||
|
||||
#: functions.php:167
|
||||
msgctxt "Theme starter content"
|
||||
msgid "Coffee"
|
||||
msgstr "Café"
|
||||
|
||||
#: functions.php:163
|
||||
msgctxt "Theme starter content"
|
||||
msgid "Sandwich"
|
||||
msgstr "Sandwich"
|
||||
|
||||
#: functions.php:159
|
||||
msgctxt "Theme starter content"
|
||||
msgid "Espresso"
|
||||
msgstr "Expresso"
|
||||
|
||||
#: inc/custom-header.php:126
|
||||
msgid "Pause background video"
|
||||
msgstr "Arrière plan vidéo en pause"
|
||||
|
||||
#: inc/custom-header.php:125
|
||||
msgid "Play background video"
|
||||
msgstr "Lecture d’arrière-plan vidéo"
|
||||
|
||||
#: inc/template-tags.php:151
|
||||
msgid "Front Page Section %1$s Placeholder"
|
||||
msgstr "Texte indicatif de la section %1$s de la page d’accueil"
|
||||
|
||||
#: inc/customizer.php:99
|
||||
msgid "When the two-column layout is assigned, the page title is in one column and content is in the other."
|
||||
msgstr "Quand la mise en page en deux colonnes est sélectionnée, le titre de la page est sur une colonne et le contenu sur l’autre."
|
||||
|
||||
#: single.php:34
|
||||
msgid "Next Post"
|
||||
msgstr "Article suivant"
|
||||
|
||||
#: index.php:27
|
||||
msgid "Posts"
|
||||
msgstr "Articles"
|
||||
|
||||
#: inc/template-tags.php:89
|
||||
msgid "Tags"
|
||||
msgstr "Étiquettes"
|
||||
|
||||
#: inc/template-tags.php:85
|
||||
msgid "Categories"
|
||||
msgstr "Catégories"
|
||||
|
||||
#. translators: used between list items, there is a space after the comma
|
||||
#: inc/template-tags.php:66
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#. translators: %s: post date
|
||||
#: inc/template-tags.php:52
|
||||
msgid "<span class=\"screen-reader-text\">Posted on</span> %s"
|
||||
msgstr "<span class=\"screen-reader-text\">Publié le</span> %s"
|
||||
|
||||
#. translators: %s: post author
|
||||
#: inc/template-tags.php:21
|
||||
msgid "by %s"
|
||||
msgstr "par %s"
|
||||
|
||||
#: inc/icon-functions.php:44
|
||||
msgid "Please define an SVG icon filename."
|
||||
msgstr "Veuillez définir un nom de fichier d’icône SVG."
|
||||
|
||||
#: inc/icon-functions.php:39
|
||||
msgid "Please define default parameters in the form of an array."
|
||||
msgstr "Veuillez définir les paramètres par défaut sous forme d’un tableau."
|
||||
|
||||
#: inc/customizer.php:131
|
||||
msgid "Select pages to feature in each area from the dropdowns. Add an image to a section by setting a featured image in the page editor. Empty sections will not be displayed."
|
||||
msgstr "Sélectionnez les pages à mettre en avant dans chaque zone depuis la liste déroulante. Ajoutez une image à la section en définissant une image mise en avant dans l’éditeur de page. Les sections vides ne s’afficheront pas."
|
||||
|
||||
#. translators: %d is the front page section number
|
||||
#: inc/customizer.php:130
|
||||
msgid "Front Page Section %d Content"
|
||||
msgstr "Contenu %d de section de page d’accueil"
|
||||
|
||||
#: inc/customizer.php:102 inc/customizer.php:158
|
||||
msgid "Two Column"
|
||||
msgstr "Deux colonnes"
|
||||
|
||||
#: inc/customizer.php:101 inc/customizer.php:157
|
||||
msgid "One Column"
|
||||
msgstr "Une colonne"
|
||||
|
||||
#: inc/customizer.php:96
|
||||
msgid "Page Layout"
|
||||
msgstr "Mise en page de page"
|
||||
|
||||
#: inc/customizer.php:81
|
||||
msgid "Theme Options"
|
||||
msgstr "Options du thème"
|
||||
|
||||
#: inc/customizer.php:59
|
||||
msgid "Custom"
|
||||
msgstr "Personnalisé"
|
||||
|
||||
#: inc/customizer.php:57
|
||||
msgid "Light"
|
||||
msgstr "Clair"
|
||||
|
||||
#: inc/customizer.php:55
|
||||
msgid "Color Scheme"
|
||||
msgstr "Jeu de couleurs"
|
||||
|
||||
#: inc/custom-header.php:54
|
||||
msgid "Default Header Image"
|
||||
msgstr "Image d’en-tête par défaut"
|
||||
|
||||
#: functions.php:348
|
||||
msgid "Footer 2"
|
||||
msgstr "Pied de page 2"
|
||||
|
||||
#: functions.php:338 functions.php:350
|
||||
msgid "Add widgets here to appear in your footer."
|
||||
msgstr "Ajoutez ici des widgets qui apparaîtront dans votre pied de page."
|
||||
|
||||
#: functions.php:336
|
||||
msgid "Footer 1"
|
||||
msgstr "Pied de page 1"
|
||||
|
||||
#. Translators: If there are characters in your language that are not supported
|
||||
#. by Libre Franklin, translate this to 'off'. Do not translate into your own
|
||||
#. language.
|
||||
#: functions.php:277
|
||||
msgctxt "Libre Franklin font: on or off"
|
||||
msgid "on"
|
||||
msgstr "on"
|
||||
|
||||
#: functions.php:64 functions.php:191
|
||||
#: template-parts/navigation/navigation-top.php:12
|
||||
msgid "Top Menu"
|
||||
msgstr "Menu supérieur"
|
||||
|
||||
#: comments.php:62
|
||||
msgid "Reply"
|
||||
msgstr "Répondre"
|
||||
|
||||
#: template-parts/post/content-none.php:28
|
||||
msgid "It seems we can’t find what you’re looking for. Perhaps searching can help."
|
||||
msgstr "Il semble que ce que vous cherchez est introuvable. Essayez avec une recherche."
|
||||
|
||||
#: search.php:54
|
||||
msgid "Sorry, but nothing matched your search terms. Please try again with some different keywords."
|
||||
msgstr "Désolé, mais rien ne correspond à votre recherche. Veuillez réessayer avec des mots différents."
|
||||
|
||||
#: template-parts/post/content-none.php:24
|
||||
msgid "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
|
||||
msgstr "Prêt(e) à publier votre premier article ? <a href=\"%1$s\">Lancez-vous ici</a>."
|
||||
|
||||
#: search.php:21 template-parts/post/content-none.php:17
|
||||
msgid "Nothing Found"
|
||||
msgstr "Aucun résultat"
|
||||
|
||||
#: single.php:33
|
||||
msgid "Previous Post"
|
||||
msgstr "Article précédent"
|
||||
|
||||
#: comments.php:71 single.php:33
|
||||
msgid "Previous"
|
||||
msgstr "Précédent"
|
||||
|
||||
#: comments.php:72 single.php:34
|
||||
msgid "Next"
|
||||
msgstr "Suivant"
|
||||
|
||||
#: searchform.php:20
|
||||
msgctxt "submit button"
|
||||
msgid "Search"
|
||||
msgstr "Recherche"
|
||||
|
||||
#: searchform.php:19
|
||||
msgctxt "placeholder"
|
||||
msgid "Search …"
|
||||
msgstr "Recherche…"
|
||||
|
||||
#: searchform.php:17
|
||||
msgctxt "label"
|
||||
msgid "Search for:"
|
||||
msgstr "Recherche pour :"
|
||||
|
||||
#: search.php:19
|
||||
msgid "Search Results for: %s"
|
||||
msgstr "Résultats de recherche pour : %s"
|
||||
|
||||
#. translators: %s: Name of current post
|
||||
#: functions.php:378 template-parts/page/content-front-page-panels.php:45
|
||||
#: template-parts/page/content-front-page.php:42
|
||||
#: template-parts/post/content-audio.php:84
|
||||
#: template-parts/post/content-gallery.php:71
|
||||
#: template-parts/post/content-image.php:61
|
||||
#: template-parts/post/content-video.php:83 template-parts/post/content.php:57
|
||||
msgid "Continue reading<span class=\"screen-reader-text\"> \"%s\"</span>"
|
||||
msgstr "Continuer la lecture<span class=\"screen-reader-text\"> de « %s »</span>"
|
||||
|
||||
#: inc/customizer.php:58
|
||||
msgid "Dark"
|
||||
msgstr "Foncé"
|
||||
|
||||
#: inc/back-compat.php:39 inc/back-compat.php:52 inc/back-compat.php:68
|
||||
msgid "Twenty Seventeen requires at least WordPress version 4.7. You are running version %s. Please upgrade and try again."
|
||||
msgstr "Twenty Seventeen ne fonctionne qu’à partir de WordPress 4.7. Vous utilisez la version %s. Veuillez mettre à niveau et réessayer."
|
||||
|
||||
#. translators: %s: Name of current post
|
||||
#: inc/template-tags.php:117
|
||||
msgid "Edit<span class=\"screen-reader-text\"> \"%s\"</span>"
|
||||
msgstr "Modifier<span class=\"screen-reader-text\"> \"%s\"</span>"
|
||||
|
||||
#: template-parts/page/content-page.php:26
|
||||
#: template-parts/post/content-audio.php:91
|
||||
#: template-parts/post/content-gallery.php:78
|
||||
#: template-parts/post/content-image.php:68
|
||||
#: template-parts/post/content-video.php:90 template-parts/post/content.php:64
|
||||
msgid "Pages:"
|
||||
msgstr "Pages :"
|
||||
|
||||
#: template-parts/navigation/navigation-top.php:17
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#: header.php:27
|
||||
msgid "Skip to content"
|
||||
msgstr "Aller au contenu principal"
|
||||
|
||||
#: functions.php:467
|
||||
msgid "Collapse child menu"
|
||||
msgstr "Fermer le sous-menu"
|
||||
|
||||
#: functions.php:466
|
||||
msgid "Expand child menu"
|
||||
msgstr "Ouvrir le sous-menu"
|
||||
|
||||
#: functions.php:65 functions.php:202
|
||||
msgid "Social Links Menu"
|
||||
msgstr "Menu des liens de réseaux sociaux"
|
||||
|
||||
#: template-parts/footer/site-info.php:13
|
||||
msgid "Proudly powered by %s"
|
||||
msgstr "Fièrement propulsé par %s"
|
||||
|
||||
#. #-#-#-#-# twentyseventeen.pot (Twenty Seventeen 1.5) #-#-#-#-#
|
||||
#. Author URI of the plugin/theme
|
||||
#: template-parts/footer/site-info.php:13
|
||||
msgid "https://wordpress.org/"
|
||||
msgstr "https://wordpress.org/"
|
||||
|
||||
#: footer.php:26
|
||||
msgid "Footer Social Links Menu"
|
||||
msgstr "Menu de liens sociaux de pied de page"
|
||||
|
||||
#: comments.php:82
|
||||
msgid "Comments are closed."
|
||||
msgstr "Les commentaires sont fermés."
|
||||
|
||||
#. translators: 1: number of comments, 2: post title
|
||||
#: comments.php:41
|
||||
msgctxt "comments title"
|
||||
msgid "%1$s Reply to “%2$s”"
|
||||
msgid_plural "%1$s Replies to “%2$s”"
|
||||
msgstr[0] "%1$s réponse sur “%2$s”"
|
||||
msgstr[1] "%1$s réponses sur “%2$s”"
|
||||
|
||||
#. translators: %s: post title
|
||||
#: comments.php:37
|
||||
msgctxt "comments title"
|
||||
msgid "One Reply to “%s”"
|
||||
msgstr "Une pensée sur “%s”"
|
||||
|
||||
#: archive.php:50 index.php:54 search.php:47
|
||||
msgid "Page"
|
||||
msgstr "Page"
|
||||
|
||||
#: 404.php:21
|
||||
msgid "Oops! That page can’t be found."
|
||||
msgstr "Aie ! Cette page est introuvable."
|
||||
|
||||
#: 404.php:24
|
||||
msgid "It looks like nothing was found at this location. Maybe try a search?"
|
||||
msgstr "Apparemment, rien n’a été trouvé à cette adresse. Essayez avec une recherche ?"
|
||||
|
||||
#: archive.php:48 index.php:52 search.php:45
|
||||
msgid "Previous page"
|
||||
msgstr "Page précédente"
|
||||
|
||||
#: archive.php:49 index.php:53 search.php:46
|
||||
msgid "Next page"
|
||||
msgstr "Page suivante"
|
||||
|
||||
#. Author of the plugin/theme
|
||||
msgid "the WordPress team"
|
||||
msgstr "l’équipe WordPress"
|
||||
|
||||
#. Theme URI of the plugin/theme
|
||||
msgid "https://wordpress.org/themes/twentyseventeen/"
|
||||
msgstr "https://wordpress.org/themes/twentyseventeen/"
|
||||
|
|
@ -1,330 +0,0 @@
|
|||
# Translation of Themes - Twenty Sixteen in French (France)
|
||||
# This file is distributed under the same license as the Themes - Twenty Sixteen package.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2017-11-08 21:16:31+0000\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: GlotPress/2.4.0-alpha\n"
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: Themes - Twenty Sixteen\n"
|
||||
|
||||
#. Theme Name of the plugin/theme
|
||||
msgid "Twenty Sixteen"
|
||||
msgstr "Twenty Sixteen"
|
||||
|
||||
#. Description of the plugin/theme
|
||||
msgid "Twenty Sixteen is a modernized take on an ever-popular WordPress layout — the horizontal masthead with an optional right sidebar that works perfectly for blogs and websites. It has custom color options with beautiful default color schemes, a harmonious fluid grid using a mobile-first approach, and impeccable polish in every detail. Twenty Sixteen will make your WordPress look beautiful everywhere."
|
||||
msgstr "Twenty Sixteen revisite en la modernisant une mise en page WordPress toujours aussi populaire : l’entête horizontal avec une barre latérale facultative, qui fonctionne tout aussi bien pour les blogs que pour les sites. Il dispose d'options de couleurs avec de superbes jeux de couleurs par défaut, une composition en grille fluide et harmonieuse utilisant l'approche \"mobile-first\", et un soin apporté jusque dans les moindres détails. Twenty Sixteen vous donnera un site WordPress magnifique dans toutes les situations."
|
||||
|
||||
#. translators: %s: Name of current post
|
||||
#: image.php:84 template-parts/content-page.php:37
|
||||
#: template-parts/content-search.php:28 template-parts/content-search.php:43
|
||||
#: template-parts/content-single.php:45 template-parts/content.php:49
|
||||
msgid "Edit<span class=\"screen-reader-text\"> \"%s\"</span>"
|
||||
msgstr "Modifier<span class=\"screen-reader-text\"> \"%s\"</span>"
|
||||
|
||||
#. translators: %s: Name of current post
|
||||
#: inc/template-tags.php:184 template-parts/content.php:28
|
||||
msgid "Continue reading<span class=\"screen-reader-text\"> \"%s\"</span>"
|
||||
msgstr "Continuer la lecture<span class=\"screen-reader-text\"> de « %s »</span>"
|
||||
|
||||
#: inc/customizer.php:283
|
||||
msgid "Red"
|
||||
msgstr "Rouge"
|
||||
|
||||
#. translators: %s: post title
|
||||
#: comments.php:31
|
||||
msgctxt "comments title"
|
||||
msgid "One thought on “%s”"
|
||||
msgstr "Une réflexion sur « %s »"
|
||||
|
||||
#: searchform.php:16
|
||||
msgctxt "submit button"
|
||||
msgid "Search"
|
||||
msgstr "Recherche"
|
||||
|
||||
#: searchform.php:14
|
||||
msgctxt "placeholder"
|
||||
msgid "Search …"
|
||||
msgstr "Recherche…"
|
||||
|
||||
#: searchform.php:13
|
||||
msgctxt "label"
|
||||
msgid "Search for:"
|
||||
msgstr "Recherche pour :"
|
||||
|
||||
#: footer.php:17
|
||||
msgid "Footer Primary Menu"
|
||||
msgstr "Menu principal de pied"
|
||||
|
||||
#: footer.php:28
|
||||
msgid "Footer Social Links Menu"
|
||||
msgstr "Menu de liens sociaux de pied"
|
||||
|
||||
#: functions.php:158
|
||||
msgid "Add widgets here to appear in your sidebar."
|
||||
msgstr "Ajoutez des widgets ici pour les faire apparaître dans votre barre latérale."
|
||||
|
||||
#: template-parts/content.php:14
|
||||
msgid "Featured"
|
||||
msgstr "Mise en avant"
|
||||
|
||||
#: template-parts/content-none.php:28
|
||||
msgid "It seems we can’t find what you’re looking for. Perhaps searching can help."
|
||||
msgstr "Il semble que ce que vous cherchez est introuvable. Essayez avec une recherche."
|
||||
|
||||
#: template-parts/content-none.php:23
|
||||
msgid "Sorry, but nothing matched your search terms. Please try again with some different keywords."
|
||||
msgstr "Désolé, mais rien ne correspond à votre recherche. Veuillez réessayer avec des mots différents."
|
||||
|
||||
#: template-parts/content-none.php:19
|
||||
msgid "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
|
||||
msgstr "Prêt(e) à publier votre premier article ? <a href=\"%1$s\">Lancez-vous ici</a>."
|
||||
|
||||
#: template-parts/content-none.php:13
|
||||
msgid "Nothing Found"
|
||||
msgstr "Aucun résultat"
|
||||
|
||||
#: template-parts/biography.php:33
|
||||
msgid "View all posts by %s"
|
||||
msgstr "Afficher tous les articles par %s"
|
||||
|
||||
#: template-parts/biography.php:28
|
||||
msgid "Author:"
|
||||
msgstr "Auteur :"
|
||||
|
||||
#: single.php:38
|
||||
msgid "Previous post:"
|
||||
msgstr "Article précédent :"
|
||||
|
||||
#: single.php:35
|
||||
msgid "Next post:"
|
||||
msgstr "Article suivant :"
|
||||
|
||||
#: single.php:37
|
||||
msgid "Previous"
|
||||
msgstr "Précédent"
|
||||
|
||||
#: single.php:34
|
||||
msgid "Next"
|
||||
msgstr "Suivant"
|
||||
|
||||
#: search.php:18
|
||||
msgid "Search Results for: %s"
|
||||
msgstr "Résultats de recherche pour : %s"
|
||||
|
||||
#: inc/template-tags.php:106
|
||||
msgctxt "Used before tag names."
|
||||
msgid "Tags"
|
||||
msgstr "Étiquettes"
|
||||
|
||||
#: inc/template-tags.php:98
|
||||
msgctxt "Used before category names."
|
||||
msgid "Categories"
|
||||
msgstr "Catégories"
|
||||
|
||||
#: inc/template-tags.php:95 inc/template-tags.php:103
|
||||
msgctxt "Used between list items, there is a space after the comma."
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: inc/template-tags.php:79
|
||||
msgctxt "Used before publish date."
|
||||
msgid "Posted on"
|
||||
msgstr "Publié le"
|
||||
|
||||
#: inc/template-tags.php:38
|
||||
msgctxt "Used before post format."
|
||||
msgid "Format"
|
||||
msgstr "Format"
|
||||
|
||||
#: inc/template-tags.php:50
|
||||
msgid "Leave a comment<span class=\"screen-reader-text\"> on %s</span>"
|
||||
msgstr "Laisser un commentaire<span class=\"screen-reader-text\"> sur %s</span>"
|
||||
|
||||
#: inc/template-tags.php:25
|
||||
msgctxt "Used before post author name."
|
||||
msgid "Author"
|
||||
msgstr "Auteur"
|
||||
|
||||
#: inc/customizer.php:293
|
||||
msgid "Yellow"
|
||||
msgstr "Jaune"
|
||||
|
||||
#: inc/customizer.php:273
|
||||
msgid "Gray"
|
||||
msgstr "Gris"
|
||||
|
||||
#: inc/customizer.php:263
|
||||
msgid "Dark"
|
||||
msgstr "Foncé"
|
||||
|
||||
#: inc/customizer.php:184
|
||||
msgid "Secondary Text Color"
|
||||
msgstr "Seconde couleur du texte"
|
||||
|
||||
#: inc/customizer.php:253
|
||||
msgid "Default"
|
||||
msgstr "Par défaut"
|
||||
|
||||
#: inc/customizer.php:172
|
||||
msgid "Main Text Color"
|
||||
msgstr "Couleur du texte principal"
|
||||
|
||||
#: inc/customizer.php:160
|
||||
msgid "Link Color"
|
||||
msgstr "Couleur des liens"
|
||||
|
||||
#: inc/customizer.php:145
|
||||
msgid "Page Background Color"
|
||||
msgstr "Couleur du fond de page"
|
||||
|
||||
#: image.php:102 single.php:29
|
||||
msgctxt "Parent post link"
|
||||
msgid "<span class=\"meta-nav\">Published in</span><span class=\"post-title\">%title</span>"
|
||||
msgstr "<span class=\"meta-nav\">Publié dans</span><span class=\"post-title\">%title</span>"
|
||||
|
||||
#: inc/customizer.php:130
|
||||
msgid "Base Color Scheme"
|
||||
msgstr "Jeu de couleurs de base"
|
||||
|
||||
#: inc/back-compat.php:41 inc/back-compat.php:53 inc/back-compat.php:68
|
||||
msgid "Twenty Sixteen requires at least WordPress version 4.4. You are running version %s. Please upgrade and try again."
|
||||
msgstr "Twenty Sixteen ne fonctionne qu'à partir de WordPress 4.4. Vous utilisez la version %s. Veuillez mettre à jour et réessayer. "
|
||||
|
||||
#: image.php:73
|
||||
msgctxt "Used before full size attachment link."
|
||||
msgid "Full size"
|
||||
msgstr "Taille réelle"
|
||||
|
||||
#: image.php:56 template-parts/content-page.php:23
|
||||
#: template-parts/content-single.php:25 template-parts/content.php:33
|
||||
msgid "Pages:"
|
||||
msgstr "Pages :"
|
||||
|
||||
#: image.php:25
|
||||
msgid "Next Image"
|
||||
msgstr "Image suivante"
|
||||
|
||||
#: image.php:24
|
||||
msgid "Previous Image"
|
||||
msgstr "Image précédente"
|
||||
|
||||
#: header.php:47
|
||||
msgid "Menu"
|
||||
msgstr "Menu"
|
||||
|
||||
#: header.php:27
|
||||
msgid "Skip to content"
|
||||
msgstr "Aller au contenu principal"
|
||||
|
||||
#: functions.php:284
|
||||
msgid "expand child menu"
|
||||
msgstr "ouvrir le sous-menu"
|
||||
|
||||
#: functions.php:285
|
||||
msgid "collapse child menu"
|
||||
msgstr "fermer le sous-menu"
|
||||
|
||||
#. translators: If there are characters in your language that are not supported
|
||||
#. by Merriweather, translate this to 'off'. Do not translate into your own
|
||||
#. language.
|
||||
#: functions.php:203
|
||||
msgctxt "Merriweather font: on or off"
|
||||
msgid "on"
|
||||
msgstr "on"
|
||||
|
||||
#. translators: If there are characters in your language that are not supported
|
||||
#. by Montserrat, translate this to 'off'. Do not translate into your own
|
||||
#. language.
|
||||
#: functions.php:208
|
||||
msgctxt "Montserrat font: on or off"
|
||||
msgid "on"
|
||||
msgstr "on"
|
||||
|
||||
#. translators: If there are characters in your language that are not supported
|
||||
#. by Inconsolata, translate this to 'off'. Do not translate into your own
|
||||
#. language.
|
||||
#: functions.php:213
|
||||
msgctxt "Inconsolata font: on or off"
|
||||
msgid "on"
|
||||
msgstr "on"
|
||||
|
||||
#: functions.php:166
|
||||
msgid "Content Bottom 1"
|
||||
msgstr "Contenu du bas 1"
|
||||
|
||||
#: functions.php:176
|
||||
msgid "Content Bottom 2"
|
||||
msgstr "Contenu du bas 2"
|
||||
|
||||
#: functions.php:168 functions.php:178
|
||||
msgid "Appears at the bottom of the content on posts and pages."
|
||||
msgstr "S affiche en bas du contenu des articles et des pages."
|
||||
|
||||
#: functions.php:156
|
||||
msgid "Sidebar"
|
||||
msgstr "Barre latérale"
|
||||
|
||||
#: functions.php:89 header.php:62
|
||||
msgid "Social Links Menu"
|
||||
msgstr "Menu des liens de réseaux sociaux"
|
||||
|
||||
#: functions.php:88 header.php:51
|
||||
msgid "Primary Menu"
|
||||
msgstr "Menu principal"
|
||||
|
||||
#: footer.php:51
|
||||
msgid "Proudly powered by %s"
|
||||
msgstr "Fièrement propulsé par %s"
|
||||
|
||||
#: comments.php:69
|
||||
msgid "Comments are closed."
|
||||
msgstr "Les commentaires sont fermés."
|
||||
|
||||
#. translators: 1: number of comments, 2: post title
|
||||
#: comments.php:35
|
||||
msgctxt "comments title"
|
||||
msgid "%1$s thought on “%2$s”"
|
||||
msgid_plural "%1$s thoughts on “%2$s”"
|
||||
msgstr[0] "%1$s réflexion sur « %2$s »"
|
||||
msgstr[1] "%1$s réflexions sur « %2$s »"
|
||||
|
||||
#: archive.php:51 image.php:60 index.php:48 search.php:39
|
||||
#: template-parts/content-page.php:27 template-parts/content-single.php:29
|
||||
#: template-parts/content.php:37
|
||||
msgid "Page"
|
||||
msgstr "Page"
|
||||
|
||||
#: archive.php:50 index.php:47 search.php:38
|
||||
msgid "Next page"
|
||||
msgstr "Page suivante"
|
||||
|
||||
#: archive.php:49 index.php:46 search.php:37
|
||||
msgid "Previous page"
|
||||
msgstr "Page précédente"
|
||||
|
||||
#: 404.php:21
|
||||
msgid "It looks like nothing was found at this location. Maybe try a search?"
|
||||
msgstr "Apparemment, rien n’a été trouvé à cette adresse. Essayez avec une recherche ?"
|
||||
|
||||
#: 404.php:17
|
||||
msgid "Oops! That page can’t be found."
|
||||
msgstr "Oups ! Cette page est introuvable."
|
||||
|
||||
#. Theme URI of the plugin/theme
|
||||
msgid "https://wordpress.org/themes/twentysixteen/"
|
||||
msgstr "https://wordpress.org/themes/twentysixteen/"
|
||||
|
||||
#. Author of the plugin/theme
|
||||
msgid "the WordPress team"
|
||||
msgstr "l'équipe WordPress"
|
||||
|
||||
#. #-#-#-#-# twentysixteen.pot (Twenty Sixteen 1.4) #-#-#-#-#
|
||||
#. Author URI of the plugin/theme
|
||||
#: footer.php:51
|
||||
msgid "https://wordpress.org/"
|
||||
msgstr "https://wordpress.org/"
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
<?php
|
||||
/*
|
||||
* Plugin Name: Admin Useraccount Security
|
||||
* Description: Met en place des règles de base afin de protéger les comptes administrateurs.
|
||||
* Version: 1.1
|
||||
* Author: Yann Gonidec
|
||||
* Author URI:
|
||||
*/
|
||||
|
||||
/** Removes the ability for non admin users to change/reset their passwords. */
|
||||
class Password_Reset_Removed
|
||||
{
|
||||
|
||||
function __construct()
|
||||
{
|
||||
add_filter( 'show_password_fields', array( $this, 'disable' ) );
|
||||
add_filter( 'allow_password_reset', array( $this, 'disable' ) );
|
||||
add_filter( 'gettext', array( $this, 'remove' ) );
|
||||
}
|
||||
|
||||
function disable()
|
||||
{
|
||||
if ( is_admin() ) {
|
||||
$userdata = wp_get_current_user();
|
||||
$user = new WP_User($userdata->ID);
|
||||
if ( !empty( $user->roles ) && is_array( $user->roles ) && $user->roles[0] == 'administrator' )
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function remove($text)
|
||||
{
|
||||
return str_replace( array('Lost your password?', 'Lost your password'), '', trim($text, '?') );
|
||||
}
|
||||
}
|
||||
|
||||
$pass_reset_removed = new Password_Reset_Removed();
|
||||
|
||||
/** Supprime la class comment-author dans les commentaires pour masquer le login de l'administrateur */
|
||||
function remove_comment_author_class( $classes ) {
|
||||
foreach( $classes as $key => $class ) {
|
||||
if(strstr($class, "comment-author-")) {
|
||||
unset( $classes[$key]);
|
||||
}
|
||||
}
|
||||
return $classes;
|
||||
}
|
||||
add_filter( 'comment_class' , 'remove_comment_author_class');
|
||||
|
||||
/** Renvoi un message d'erreur global au niveau du login de l'admin afin de ne pas savoir si c'est le login ou le pwd qui est faux */
|
||||
add_filter('login_errors',create_function('$a', "return 'Login ou mot de passe incorrect';"));
|
||||
|
||||
/** Supprime la balise « generator » du flux rss.*/
|
||||
add_filter('get_the_generator_rss2', '__return_false');
|
||||
add_filter('get_the_generator_atom', '__return_false');
|
||||
|
||||
/** Masque la version de Wordpress dans les sources du site */
|
||||
remove_action('wp_head', 'wp_generator');
|
||||
?>
|
||||
|
|
@ -1,740 +0,0 @@
|
|||
<?php
|
||||
/*
|
||||
Plugin Name: Advanced Custom Fields PRO
|
||||
Plugin URI: https://www.advancedcustomfields.com/
|
||||
Description: Customise WordPress with powerful, professional and intuitive fields.
|
||||
Version: 5.6.10
|
||||
Author: Elliot Condon
|
||||
Author URI: http://www.elliotcondon.com/
|
||||
Copyright: Elliot Condon
|
||||
Text Domain: acf
|
||||
Domain Path: /lang
|
||||
*/
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
if( ! class_exists('ACF') ) :
|
||||
|
||||
class ACF {
|
||||
|
||||
/** @var string The plugin version number */
|
||||
var $version = '5.6.10';
|
||||
|
||||
/** @var array The plugin settings array */
|
||||
var $settings = array();
|
||||
|
||||
/** @var array The plugin data array */
|
||||
var $data = array();
|
||||
|
||||
/** @var array Storage for class instances */
|
||||
var $instances = array();
|
||||
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
* A dummy constructor to ensure ACF is only initialized once
|
||||
*
|
||||
* @type function
|
||||
* @date 23/06/12
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param N/A
|
||||
* @return N/A
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
/* Do nothing here */
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* initialize
|
||||
*
|
||||
* The real constructor to initialize ACF
|
||||
*
|
||||
* @type function
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function initialize() {
|
||||
|
||||
// vars
|
||||
$version = $this->version;
|
||||
$basename = plugin_basename( __FILE__ );
|
||||
$path = plugin_dir_path( __FILE__ );
|
||||
$url = plugin_dir_url( __FILE__ );
|
||||
$slug = dirname($basename);
|
||||
|
||||
|
||||
// settings
|
||||
$this->settings = array(
|
||||
|
||||
// basic
|
||||
'name' => __('Advanced Custom Fields', 'acf'),
|
||||
'version' => $version,
|
||||
|
||||
// urls
|
||||
'file' => __FILE__,
|
||||
'basename' => $basename,
|
||||
'path' => $path,
|
||||
'url' => $url,
|
||||
'slug' => $slug,
|
||||
|
||||
// options
|
||||
'show_admin' => true,
|
||||
'show_updates' => true,
|
||||
'stripslashes' => false,
|
||||
'local' => true,
|
||||
'json' => true,
|
||||
'save_json' => '',
|
||||
'load_json' => array(),
|
||||
'default_language' => '',
|
||||
'current_language' => '',
|
||||
'capability' => 'manage_options',
|
||||
'uploader' => 'wp',
|
||||
'autoload' => false,
|
||||
'l10n' => true,
|
||||
'l10n_textdomain' => '',
|
||||
'google_api_key' => '',
|
||||
'google_api_client' => '',
|
||||
'enqueue_google_maps' => true,
|
||||
'enqueue_select2' => true,
|
||||
'enqueue_datepicker' => true,
|
||||
'enqueue_datetimepicker' => true,
|
||||
'select2_version' => 4,
|
||||
'row_index_offset' => 1,
|
||||
'remove_wp_meta_box' => true
|
||||
);
|
||||
|
||||
|
||||
// constants
|
||||
$this->define( 'ACF', true );
|
||||
$this->define( 'ACF_VERSION', $version );
|
||||
$this->define( 'ACF_PATH', $path );
|
||||
|
||||
|
||||
// api
|
||||
include_once( ACF_PATH . 'includes/api/api-helpers.php');
|
||||
acf_include('includes/api/api-input.php');
|
||||
acf_include('includes/api/api-value.php');
|
||||
acf_include('includes/api/api-field.php');
|
||||
acf_include('includes/api/api-field-group.php');
|
||||
acf_include('includes/api/api-template.php');
|
||||
|
||||
|
||||
// fields
|
||||
acf_include('includes/fields.php');
|
||||
acf_include('includes/fields/class-acf-field.php');
|
||||
|
||||
|
||||
// locations
|
||||
acf_include('includes/locations.php');
|
||||
acf_include('includes/locations/class-acf-location.php');
|
||||
|
||||
|
||||
// core
|
||||
acf_include('includes/ajax.php');
|
||||
acf_include('includes/cache.php');
|
||||
acf_include('includes/compatibility.php');
|
||||
acf_include('includes/deprecated.php');
|
||||
acf_include('includes/input.php');
|
||||
acf_include('includes/json.php');
|
||||
acf_include('includes/local.php');
|
||||
acf_include('includes/loop.php');
|
||||
acf_include('includes/media.php');
|
||||
acf_include('includes/revisions.php');
|
||||
acf_include('includes/updates.php');
|
||||
acf_include('includes/validation.php');
|
||||
|
||||
|
||||
// forms
|
||||
acf_include('includes/forms/form-attachment.php');
|
||||
acf_include('includes/forms/form-comment.php');
|
||||
acf_include('includes/forms/form-customizer.php');
|
||||
acf_include('includes/forms/form-front.php');
|
||||
acf_include('includes/forms/form-nav-menu.php');
|
||||
acf_include('includes/forms/form-post.php');
|
||||
acf_include('includes/forms/form-taxonomy.php');
|
||||
acf_include('includes/forms/form-user.php');
|
||||
acf_include('includes/forms/form-widget.php');
|
||||
|
||||
|
||||
// admin
|
||||
if( is_admin() ) {
|
||||
|
||||
acf_include('includes/admin/admin.php');
|
||||
acf_include('includes/admin/admin-field-group.php');
|
||||
acf_include('includes/admin/admin-field-groups.php');
|
||||
acf_include('includes/admin/install.php');
|
||||
acf_include('includes/admin/admin-tools.php');
|
||||
acf_include('includes/admin/settings-info.php');
|
||||
|
||||
|
||||
// network
|
||||
if( is_network_admin() ) {
|
||||
|
||||
acf_include('includes/admin/install-network.php');
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// pro
|
||||
acf_include('pro/acf-pro.php');
|
||||
|
||||
|
||||
// actions
|
||||
add_action('init', array($this, 'init'), 5);
|
||||
add_action('init', array($this, 'register_post_types'), 5);
|
||||
add_action('init', array($this, 'register_post_status'), 5);
|
||||
add_action('init', array($this, 'register_assets'), 5);
|
||||
|
||||
|
||||
// filters
|
||||
add_filter('posts_where', array($this, 'posts_where'), 10, 2 );
|
||||
//add_filter('posts_request', array($this, 'posts_request'), 10, 1 );
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* init
|
||||
*
|
||||
* This function will run after all plugins and theme functions have been included
|
||||
*
|
||||
* @type action (init)
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param N/A
|
||||
* @return N/A
|
||||
*/
|
||||
|
||||
function init() {
|
||||
|
||||
// bail early if too early
|
||||
// ensures all plugins have a chance to add fields, etc
|
||||
if( !did_action('plugins_loaded') ) return;
|
||||
|
||||
|
||||
// bail early if already init
|
||||
if( acf_has_done('init') ) return;
|
||||
|
||||
|
||||
// vars
|
||||
$major = intval( acf_get_setting('version') );
|
||||
|
||||
|
||||
// update url
|
||||
// - allow another plugin to modify dir (maybe force SSL)
|
||||
acf_update_setting('url', plugin_dir_url( __FILE__ ));
|
||||
|
||||
|
||||
// textdomain
|
||||
$this->load_plugin_textdomain();
|
||||
|
||||
// include 3rd party support
|
||||
acf_include('includes/third-party.php');
|
||||
|
||||
// include wpml support
|
||||
if( defined('ICL_SITEPRESS_VERSION') ) {
|
||||
acf_include('includes/wpml.php');
|
||||
}
|
||||
|
||||
// include gutenberg
|
||||
if( defined('GUTENBERG_VERSION') ) {
|
||||
acf_include('includes/forms/form-gutenberg.php');
|
||||
}
|
||||
|
||||
// fields
|
||||
acf_include('includes/fields/class-acf-field-text.php');
|
||||
acf_include('includes/fields/class-acf-field-textarea.php');
|
||||
acf_include('includes/fields/class-acf-field-number.php');
|
||||
acf_include('includes/fields/class-acf-field-range.php');
|
||||
acf_include('includes/fields/class-acf-field-email.php');
|
||||
acf_include('includes/fields/class-acf-field-url.php');
|
||||
acf_include('includes/fields/class-acf-field-password.php');
|
||||
|
||||
acf_include('includes/fields/class-acf-field-image.php');
|
||||
acf_include('includes/fields/class-acf-field-file.php');
|
||||
acf_include('includes/fields/class-acf-field-wysiwyg.php');
|
||||
acf_include('includes/fields/class-acf-field-oembed.php');
|
||||
|
||||
acf_include('includes/fields/class-acf-field-select.php');
|
||||
acf_include('includes/fields/class-acf-field-checkbox.php');
|
||||
acf_include('includes/fields/class-acf-field-radio.php');
|
||||
acf_include('includes/fields/class-acf-field-button-group.php');
|
||||
acf_include('includes/fields/class-acf-field-true_false.php');
|
||||
|
||||
acf_include('includes/fields/class-acf-field-link.php');
|
||||
acf_include('includes/fields/class-acf-field-post_object.php');
|
||||
acf_include('includes/fields/class-acf-field-page_link.php');
|
||||
acf_include('includes/fields/class-acf-field-relationship.php');
|
||||
acf_include('includes/fields/class-acf-field-taxonomy.php');
|
||||
acf_include('includes/fields/class-acf-field-user.php');
|
||||
|
||||
acf_include('includes/fields/class-acf-field-google-map.php');
|
||||
acf_include('includes/fields/class-acf-field-date_picker.php');
|
||||
acf_include('includes/fields/class-acf-field-date_time_picker.php');
|
||||
acf_include('includes/fields/class-acf-field-time_picker.php');
|
||||
acf_include('includes/fields/class-acf-field-color_picker.php');
|
||||
|
||||
acf_include('includes/fields/class-acf-field-message.php');
|
||||
acf_include('includes/fields/class-acf-field-accordion.php');
|
||||
acf_include('includes/fields/class-acf-field-tab.php');
|
||||
acf_include('includes/fields/class-acf-field-group.php');
|
||||
do_action('acf/include_field_types', $major);
|
||||
|
||||
|
||||
// locations
|
||||
acf_include('includes/locations/class-acf-location-post-type.php');
|
||||
acf_include('includes/locations/class-acf-location-post-template.php');
|
||||
acf_include('includes/locations/class-acf-location-post-status.php');
|
||||
acf_include('includes/locations/class-acf-location-post-format.php');
|
||||
acf_include('includes/locations/class-acf-location-post-category.php');
|
||||
acf_include('includes/locations/class-acf-location-post-taxonomy.php');
|
||||
acf_include('includes/locations/class-acf-location-post.php');
|
||||
acf_include('includes/locations/class-acf-location-page-template.php');
|
||||
acf_include('includes/locations/class-acf-location-page-type.php');
|
||||
acf_include('includes/locations/class-acf-location-page-parent.php');
|
||||
acf_include('includes/locations/class-acf-location-page.php');
|
||||
acf_include('includes/locations/class-acf-location-current-user.php');
|
||||
acf_include('includes/locations/class-acf-location-current-user-role.php');
|
||||
acf_include('includes/locations/class-acf-location-user-form.php');
|
||||
acf_include('includes/locations/class-acf-location-user-role.php');
|
||||
acf_include('includes/locations/class-acf-location-taxonomy.php');
|
||||
acf_include('includes/locations/class-acf-location-attachment.php');
|
||||
acf_include('includes/locations/class-acf-location-comment.php');
|
||||
acf_include('includes/locations/class-acf-location-widget.php');
|
||||
acf_include('includes/locations/class-acf-location-nav-menu.php');
|
||||
acf_include('includes/locations/class-acf-location-nav-menu-item.php');
|
||||
do_action('acf/include_location_rules', $major);
|
||||
|
||||
|
||||
// local fields
|
||||
do_action('acf/include_fields', $major);
|
||||
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/init');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* load_plugin_textdomain
|
||||
*
|
||||
* This function will load the textdomain file
|
||||
*
|
||||
* @type function
|
||||
* @date 3/5/17
|
||||
* @since 5.5.13
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function load_plugin_textdomain() {
|
||||
|
||||
// vars
|
||||
$domain = 'acf';
|
||||
$locale = apply_filters( 'plugin_locale', acf_get_locale(), $domain );
|
||||
$mofile = $domain . '-' . $locale . '.mo';
|
||||
|
||||
|
||||
// load from the languages directory first
|
||||
load_textdomain( $domain, WP_LANG_DIR . '/plugins/' . $mofile );
|
||||
|
||||
|
||||
// redirect missing translations
|
||||
$mofile = str_replace('fr_CA', 'fr_FR', $mofile);
|
||||
|
||||
|
||||
// load from plugin lang folder
|
||||
load_textdomain( $domain, acf_get_path( 'lang/' . $mofile ) );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* register_post_types
|
||||
*
|
||||
* This function will register post types and statuses
|
||||
*
|
||||
* @type function
|
||||
* @date 22/10/2015
|
||||
* @since 5.3.2
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function register_post_types() {
|
||||
|
||||
// vars
|
||||
$cap = acf_get_setting('capability');
|
||||
|
||||
|
||||
// register post type 'acf-field-group'
|
||||
register_post_type('acf-field-group', array(
|
||||
'labels' => array(
|
||||
'name' => __( 'Field Groups', 'acf' ),
|
||||
'singular_name' => __( 'Field Group', 'acf' ),
|
||||
'add_new' => __( 'Add New' , 'acf' ),
|
||||
'add_new_item' => __( 'Add New Field Group' , 'acf' ),
|
||||
'edit_item' => __( 'Edit Field Group' , 'acf' ),
|
||||
'new_item' => __( 'New Field Group' , 'acf' ),
|
||||
'view_item' => __( 'View Field Group', 'acf' ),
|
||||
'search_items' => __( 'Search Field Groups', 'acf' ),
|
||||
'not_found' => __( 'No Field Groups found', 'acf' ),
|
||||
'not_found_in_trash' => __( 'No Field Groups found in Trash', 'acf' ),
|
||||
),
|
||||
'public' => false,
|
||||
'show_ui' => true,
|
||||
'_builtin' => false,
|
||||
'capability_type' => 'post',
|
||||
'capabilities' => array(
|
||||
'edit_post' => $cap,
|
||||
'delete_post' => $cap,
|
||||
'edit_posts' => $cap,
|
||||
'delete_posts' => $cap,
|
||||
),
|
||||
'hierarchical' => true,
|
||||
'rewrite' => false,
|
||||
'query_var' => false,
|
||||
'supports' => array('title'),
|
||||
'show_in_menu' => false,
|
||||
));
|
||||
|
||||
|
||||
// register post type 'acf-field'
|
||||
register_post_type('acf-field', array(
|
||||
'labels' => array(
|
||||
'name' => __( 'Fields', 'acf' ),
|
||||
'singular_name' => __( 'Field', 'acf' ),
|
||||
'add_new' => __( 'Add New' , 'acf' ),
|
||||
'add_new_item' => __( 'Add New Field' , 'acf' ),
|
||||
'edit_item' => __( 'Edit Field' , 'acf' ),
|
||||
'new_item' => __( 'New Field' , 'acf' ),
|
||||
'view_item' => __( 'View Field', 'acf' ),
|
||||
'search_items' => __( 'Search Fields', 'acf' ),
|
||||
'not_found' => __( 'No Fields found', 'acf' ),
|
||||
'not_found_in_trash' => __( 'No Fields found in Trash', 'acf' ),
|
||||
),
|
||||
'public' => false,
|
||||
'show_ui' => false,
|
||||
'_builtin' => false,
|
||||
'capability_type' => 'post',
|
||||
'capabilities' => array(
|
||||
'edit_post' => $cap,
|
||||
'delete_post' => $cap,
|
||||
'edit_posts' => $cap,
|
||||
'delete_posts' => $cap,
|
||||
),
|
||||
'hierarchical' => true,
|
||||
'rewrite' => false,
|
||||
'query_var' => false,
|
||||
'supports' => array('title'),
|
||||
'show_in_menu' => false,
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* register_post_status
|
||||
*
|
||||
* This function will register custom post statuses
|
||||
*
|
||||
* @type function
|
||||
* @date 22/10/2015
|
||||
* @since 5.3.2
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function register_post_status() {
|
||||
|
||||
// acf-disabled
|
||||
register_post_status('acf-disabled', array(
|
||||
'label' => __( 'Inactive', 'acf' ),
|
||||
'public' => true,
|
||||
'exclude_from_search' => false,
|
||||
'show_in_admin_all_list' => true,
|
||||
'show_in_admin_status_list' => true,
|
||||
'label_count' => _n_noop( 'Inactive <span class="count">(%s)</span>', 'Inactive <span class="count">(%s)</span>', 'acf' ),
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* register_assets
|
||||
*
|
||||
* This function will register scripts and styles
|
||||
*
|
||||
* @type function
|
||||
* @date 22/10/2015
|
||||
* @since 5.3.2
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function register_assets() {
|
||||
|
||||
// vars
|
||||
$version = acf_get_setting('version');
|
||||
$min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
|
||||
|
||||
|
||||
// scripts
|
||||
wp_register_script('acf-input', acf_get_url("assets/js/acf-input{$min}.js"), array('jquery', 'jquery-ui-core', 'jquery-ui-sortable', 'jquery-ui-resizable'), $version );
|
||||
wp_register_script('acf-field-group', acf_get_url("assets/js/acf-field-group{$min}.js"), array('acf-input'), $version );
|
||||
|
||||
|
||||
// styles
|
||||
wp_register_style('acf-global', acf_get_url('assets/css/acf-global.css'), array(), $version );
|
||||
wp_register_style('acf-input', acf_get_url('assets/css/acf-input.css'), array('acf-global'), $version );
|
||||
wp_register_style('acf-field-group', acf_get_url('assets/css/acf-field-group.css'), array('acf-input'), $version );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* posts_where
|
||||
*
|
||||
* This function will add in some new parameters to the WP_Query args allowing fields to be found via key / name
|
||||
*
|
||||
* @type filter
|
||||
* @date 5/12/2013
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $where (string)
|
||||
* @param $wp_query (object)
|
||||
* @return $where (string)
|
||||
*/
|
||||
|
||||
function posts_where( $where, $wp_query ) {
|
||||
|
||||
// global
|
||||
global $wpdb;
|
||||
|
||||
|
||||
// acf_field_key
|
||||
if( $field_key = $wp_query->get('acf_field_key') ) {
|
||||
$where .= $wpdb->prepare(" AND {$wpdb->posts}.post_name = %s", $field_key );
|
||||
}
|
||||
|
||||
// acf_field_name
|
||||
if( $field_name = $wp_query->get('acf_field_name') ) {
|
||||
$where .= $wpdb->prepare(" AND {$wpdb->posts}.post_excerpt = %s", $field_name );
|
||||
}
|
||||
|
||||
// acf_group_key
|
||||
if( $group_key = $wp_query->get('acf_group_key') ) {
|
||||
$where .= $wpdb->prepare(" AND {$wpdb->posts}.post_name = %s", $group_key );
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $where;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* define
|
||||
*
|
||||
* This function will safely define a constant
|
||||
*
|
||||
* @type function
|
||||
* @date 3/5/17
|
||||
* @since 5.5.13
|
||||
*
|
||||
* @param $name (string)
|
||||
* @param $value (mixed)
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function define( $name, $value = true ) {
|
||||
|
||||
if( !defined($name) ) {
|
||||
define( $name, $value );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* has_setting
|
||||
*
|
||||
* Returns true if has setting.
|
||||
*
|
||||
* @date 2/2/18
|
||||
* @since 5.6.5
|
||||
*
|
||||
* @param string $name
|
||||
* @return boolean
|
||||
*/
|
||||
|
||||
function has_setting( $name ) {
|
||||
return isset($this->settings[ $name ]);
|
||||
}
|
||||
|
||||
/**
|
||||
* get_setting
|
||||
*
|
||||
* Returns a setting.
|
||||
*
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param string $name
|
||||
* @return mixed
|
||||
*/
|
||||
|
||||
function get_setting( $name ) {
|
||||
return isset($this->settings[ $name ]) ? $this->settings[ $name ] : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* update_setting
|
||||
*
|
||||
* Updates a setting.
|
||||
*
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param string $name
|
||||
* @param mixed $value
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function update_setting( $name, $value ) {
|
||||
$this->settings[ $name ] = $value;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* get_data
|
||||
*
|
||||
* Returns data.
|
||||
*
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param string $name
|
||||
* @return mixed
|
||||
*/
|
||||
|
||||
function get_data( $name ) {
|
||||
return isset($this->data[ $name ]) ? $this->data[ $name ] : null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* set_data
|
||||
*
|
||||
* Sets data.
|
||||
*
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param string $name
|
||||
* @param mixed $value
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function set_data( $name, $value ) {
|
||||
$this->data[ $name ] = $value;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get_instance
|
||||
*
|
||||
* Returns an instance.
|
||||
*
|
||||
* @date 13/2/18
|
||||
* @since 5.6.9
|
||||
*
|
||||
* @param string $class The instance class name.
|
||||
* @return object
|
||||
*/
|
||||
|
||||
function get_instance( $class ) {
|
||||
$name = strtolower($class);
|
||||
return isset($this->instances[ $name ]) ? $this->instances[ $name ] : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* new_instance
|
||||
*
|
||||
* Creates and stores an instance.
|
||||
*
|
||||
* @date 13/2/18
|
||||
* @since 5.6.9
|
||||
*
|
||||
* @param string $class The instance class name.
|
||||
* @return object
|
||||
*/
|
||||
|
||||
function new_instance( $class ) {
|
||||
$instance = new $class();
|
||||
$name = strtolower($class);
|
||||
$this->instances[ $name ] = $instance;
|
||||
return $instance;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf
|
||||
*
|
||||
* The main function responsible for returning the one true acf Instance to functions everywhere.
|
||||
* Use this function like you would a global variable, except without needing to declare the global.
|
||||
*
|
||||
* Example: <?php $acf = acf(); ?>
|
||||
*
|
||||
* @type function
|
||||
* @date 4/09/13
|
||||
* @since 4.3.0
|
||||
*
|
||||
* @param N/A
|
||||
* @return (object)
|
||||
*/
|
||||
|
||||
function acf() {
|
||||
|
||||
// globals
|
||||
global $acf;
|
||||
|
||||
|
||||
// initialize
|
||||
if( !isset($acf) ) {
|
||||
$acf = new ACF();
|
||||
$acf->initialize();
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $acf;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// initialize
|
||||
acf();
|
||||
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
?>
|
||||
|
|
@ -1,432 +0,0 @@
|
|||
/*--------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Vars
|
||||
*
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
/* colors */
|
||||
/* acf-field */
|
||||
/* responsive */
|
||||
/*--------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Mixins
|
||||
*
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Global
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
#adv-settings .show-field-keys label {
|
||||
padding: 0 5px;
|
||||
}
|
||||
#acf-field-group-fields > .inside,
|
||||
#acf-field-group-locations > .inside,
|
||||
#acf-field-group-options > .inside {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.acf-field p.description {
|
||||
font-style: normal;
|
||||
font-size: 12px;
|
||||
color: #777777;
|
||||
}
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Postbox: Publish
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
#minor-publishing-actions,
|
||||
#misc-publishing-actions #visibility {
|
||||
display: none;
|
||||
}
|
||||
#minor-publishing {
|
||||
border-bottom: 0 none;
|
||||
}
|
||||
#misc-pub-section {
|
||||
border-bottom: 0 none;
|
||||
}
|
||||
#misc-publishing-actions .misc-pub-section {
|
||||
border-bottom-color: #F5F5F5;
|
||||
}
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Postbox: Fields
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
#acf-field-group-fields {
|
||||
border: 0 none;
|
||||
box-shadow: none;
|
||||
/* metabox */
|
||||
/* links */
|
||||
/* no fields */
|
||||
/* table header */
|
||||
/* show keys */
|
||||
/* fields */
|
||||
}
|
||||
#acf-field-group-fields > .handlediv,
|
||||
#acf-field-group-fields > .hndle {
|
||||
display: none;
|
||||
}
|
||||
#acf-field-group-fields a {
|
||||
text-decoration: none;
|
||||
}
|
||||
#acf-field-group-fields a:active,
|
||||
#acf-field-group-fields a:focus {
|
||||
outline: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
#acf-field-group-fields .no-fields-message {
|
||||
padding: 15px 15px;
|
||||
background: #fff;
|
||||
}
|
||||
#acf-field-group-fields .li-field-order {
|
||||
width: 20%;
|
||||
}
|
||||
#acf-field-group-fields .li-field-label {
|
||||
width: 30%;
|
||||
}
|
||||
#acf-field-group-fields .li-field-name {
|
||||
width: 25%;
|
||||
}
|
||||
#acf-field-group-fields .li-field-type {
|
||||
width: 25%;
|
||||
}
|
||||
#acf-field-group-fields .li-field-key {
|
||||
display: none;
|
||||
}
|
||||
#acf-field-group-fields.show-field-keys .li-field-label,
|
||||
#acf-field-group-fields.show-field-keys .li-field-name,
|
||||
#acf-field-group-fields.show-field-keys .li-field-type,
|
||||
#acf-field-group-fields.show-field-keys .li-field-key {
|
||||
width: 20%;
|
||||
}
|
||||
#acf-field-group-fields.show-field-keys .li-field-key {
|
||||
display: block;
|
||||
}
|
||||
#acf-field-group-fields .acf-field-list-wrap {
|
||||
border: #DFDFDF solid 1px;
|
||||
}
|
||||
#acf-field-group-fields .acf-field-list {
|
||||
background: #F9F9F9;
|
||||
margin-top: -1px;
|
||||
}
|
||||
/* field object */
|
||||
.acf-field-object {
|
||||
border-top: #F0F0F0 solid 1px;
|
||||
background: #fff;
|
||||
/* sortable */
|
||||
/* meta */
|
||||
/* handle */
|
||||
/* open */
|
||||
/* hover */
|
||||
/* settings */
|
||||
/* conditional logic */
|
||||
}
|
||||
.acf-field-object.ui-sortable-helper {
|
||||
border-top-color: #fff;
|
||||
box-shadow: 0 0 0 1px #DFDFDF, 0 1px 4px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.acf-field-object.ui-sortable-placeholder {
|
||||
box-shadow: 0 -1px 0 0 #DFDFDF;
|
||||
visibility: visible !important;
|
||||
background: #F9F9F9;
|
||||
border-top-color: transparent;
|
||||
min-height: 54px;
|
||||
}
|
||||
.acf-field-object.ui-sortable-placeholder:after,
|
||||
.acf-field-object.ui-sortable-placeholder:before {
|
||||
visibility: hidden;
|
||||
}
|
||||
.acf-field-object > .meta {
|
||||
display: none;
|
||||
}
|
||||
.acf-field-object > .handle a {
|
||||
-webkit-transition: none;
|
||||
-moz-transition: none;
|
||||
-o-transition: none;
|
||||
transition: none;
|
||||
}
|
||||
.acf-field-object > .handle li {
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.acf-field-object > .handle .acf-icon {
|
||||
margin: 1px 0 0;
|
||||
cursor: move;
|
||||
background: transparent;
|
||||
float: left;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
width: 28px;
|
||||
font-size: 13px;
|
||||
color: #444;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
.acf-field-object > .handle strong {
|
||||
display: block;
|
||||
padding-bottom: 6px;
|
||||
font-size: 14px;
|
||||
line-height: 14px;
|
||||
min-height: 14px;
|
||||
}
|
||||
.acf-field-object > .handle .row-options {
|
||||
visibility: hidden;
|
||||
}
|
||||
.acf-field-object > .handle .row-options a {
|
||||
margin-right: 4px;
|
||||
}
|
||||
.acf-field-object > .handle .row-options a.delete-field {
|
||||
color: #a00;
|
||||
}
|
||||
.acf-field-object > .handle .row-options a.delete-field:hover {
|
||||
color: #f00;
|
||||
}
|
||||
.acf-field-object.open + .acf-field-object {
|
||||
border-top-color: #E1E1E1;
|
||||
}
|
||||
.acf-field-object.open > .handle {
|
||||
background: #2a9bd9;
|
||||
border: #2696d3 solid 1px;
|
||||
text-shadow: #268FBB 0 1px 0;
|
||||
color: #fff;
|
||||
position: relative;
|
||||
margin: -1px -1px 0 -1px;
|
||||
}
|
||||
.acf-field-object.open > .handle a {
|
||||
color: #fff !important;
|
||||
}
|
||||
.acf-field-object.open > .handle a:hover {
|
||||
text-decoration: underline !important;
|
||||
}
|
||||
.acf-field-object.open > .handle .acf-icon {
|
||||
border-color: #fff;
|
||||
color: #fff;
|
||||
}
|
||||
.acf-field-object.open > .handle .acf-required {
|
||||
color: #fff;
|
||||
}
|
||||
.acf-field-object:hover > .handle .row-options {
|
||||
visibility: visible;
|
||||
}
|
||||
.acf-field-object > .settings {
|
||||
display: none;
|
||||
width: 100%;
|
||||
}
|
||||
.acf-field-object > .settings > .acf-table {
|
||||
border: none;
|
||||
}
|
||||
.acf-field-object .rule-groups {
|
||||
margin-top: 20px;
|
||||
}
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Postbox: Locations
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
.rule-groups h4 {
|
||||
margin: 15px 0 5px;
|
||||
}
|
||||
.rule-groups .rule-group {
|
||||
margin: 0 0 5px;
|
||||
}
|
||||
.rule-groups .rule-group h4 {
|
||||
margin: 0 0 3px;
|
||||
}
|
||||
.rule-groups .rule-group td.param {
|
||||
width: 35%;
|
||||
}
|
||||
.rule-groups .rule-group td.operator {
|
||||
width: 20%;
|
||||
}
|
||||
.rule-groups .rule-group td.add {
|
||||
width: 40px;
|
||||
}
|
||||
.rule-groups .rule-group td.remove {
|
||||
width: 28px;
|
||||
vertical-align: middle;
|
||||
visibility: hidden;
|
||||
}
|
||||
.rule-groups .rule-group tr:hover td.remove {
|
||||
visibility: visible;
|
||||
}
|
||||
/* Don't allow user to delete the first field group */
|
||||
.rule-groups .rule-group:first-child tr:first-child td.remove {
|
||||
visibility: hidden !important;
|
||||
}
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Options
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
#acf-field-group-options tr[data-name="hide_on_screen"] li {
|
||||
float: left;
|
||||
width: 33%;
|
||||
}
|
||||
@media (max-width: 1100px) {
|
||||
#acf-field-group-options tr[data-name="hide_on_screen"] li {
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Conditional Logic
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
table.conditional-logic-rules {
|
||||
background: transparent;
|
||||
border: 0 none;
|
||||
border-radius: 0;
|
||||
}
|
||||
table.conditional-logic-rules tbody td {
|
||||
background: transparent;
|
||||
border: 0 none !important;
|
||||
padding: 5px 2px !important;
|
||||
}
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Field: Tab
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
.acf-field-object-tab .acf-field-setting-name,
|
||||
.acf-field-object-tab .acf-field-setting-instructions,
|
||||
.acf-field-object-tab .acf-field-setting-required,
|
||||
.acf-field-object-tab .acf-field-setting-warning,
|
||||
.acf-field-object-tab .acf-field-setting-wrapper,
|
||||
.acf-field-object-accordion .acf-field-setting-name,
|
||||
.acf-field-object-accordion .acf-field-setting-instructions,
|
||||
.acf-field-object-accordion .acf-field-setting-required,
|
||||
.acf-field-object-accordion .acf-field-setting-warning,
|
||||
.acf-field-object-accordion .acf-field-setting-wrapper {
|
||||
display: none;
|
||||
}
|
||||
.acf-field-object-tab .li-field-name,
|
||||
.acf-field-object-accordion .li-field-name {
|
||||
visibility: hidden;
|
||||
}
|
||||
.acf-field-object + .acf-field-object-tab:before,
|
||||
.acf-field-object + .acf-field-object-accordion:before {
|
||||
display: block;
|
||||
content: "";
|
||||
height: 5px;
|
||||
width: 100%;
|
||||
background: #f9f9f9;
|
||||
border-bottom: #f0f0f0 solid 1px;
|
||||
}
|
||||
.acf-field-object-tab p:first-child,
|
||||
.acf-field-object-accordion p:first-child {
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Field: Accordion
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
.acf-field-object-accordion .acf-field-setting-instructions {
|
||||
display: table-row;
|
||||
}
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Field: Message
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
.acf-field-object-message tr[data-name="name"],
|
||||
.acf-field-object-message tr[data-name="instructions"],
|
||||
.acf-field-object-message tr[data-name="required"] {
|
||||
display: none !important;
|
||||
}
|
||||
.acf-field-object-message .li-field-name {
|
||||
visibility: hidden;
|
||||
}
|
||||
.acf-field-object-message textarea {
|
||||
height: 175px !important;
|
||||
}
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Field: Separator
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
.acf-field-object-separator tr[data-name="name"],
|
||||
.acf-field-object-separator tr[data-name="instructions"],
|
||||
.acf-field-object-separator tr[data-name="required"] {
|
||||
display: none !important;
|
||||
}
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Field: Date Picker
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
.acf-field-object-date-picker .acf-radio-list li,
|
||||
.acf-field-object-time-picker .acf-radio-list li,
|
||||
.acf-field-object-date-time-picker .acf-radio-list li {
|
||||
line-height: 25px;
|
||||
}
|
||||
.acf-field-object-date-picker .acf-radio-list span,
|
||||
.acf-field-object-time-picker .acf-radio-list span,
|
||||
.acf-field-object-date-time-picker .acf-radio-list span {
|
||||
display: inline-block;
|
||||
min-width: 10em;
|
||||
}
|
||||
.acf-field-object-date-picker .acf-radio-list input[type="text"],
|
||||
.acf-field-object-time-picker .acf-radio-list input[type="text"],
|
||||
.acf-field-object-date-time-picker .acf-radio-list input[type="text"] {
|
||||
width: 100px;
|
||||
}
|
||||
.acf-field-object-date-time-picker .acf-radio-list span {
|
||||
min-width: 15em;
|
||||
}
|
||||
.acf-field-object-date-time-picker .acf-radio-list input[type="text"] {
|
||||
width: 200px;
|
||||
}
|
||||
/*--------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Slug
|
||||
*
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
#slugdiv .inside {
|
||||
padding: 12px;
|
||||
margin: 0;
|
||||
}
|
||||
#slugdiv input[type="text"] {
|
||||
width: 100%;
|
||||
height: 28px;
|
||||
font-size: 14px;
|
||||
}
|
||||
/*--------------------------------------------------------------------------------------------
|
||||
*
|
||||
* RTL
|
||||
*
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
html[dir="rtl"] .acf-field-object.open > .handle {
|
||||
margin: -1px -1px 0;
|
||||
}
|
||||
html[dir="rtl"] .acf-field-object.open > .handle .acf-icon {
|
||||
float: right;
|
||||
}
|
||||
html[dir="rtl"] .acf-field-object.open > .handle .li-field-order {
|
||||
padding-left: 0 !important;
|
||||
padding-right: 15px !important;
|
||||
}
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*
|
||||
* Device
|
||||
*
|
||||
*---------------------------------------------------------------------------------------------*/
|
||||
@media only screen and (max-width: 850px) {
|
||||
tr.acf-field,
|
||||
td.acf-label,
|
||||
td.acf-input {
|
||||
display: block !important;
|
||||
width: auto !important;
|
||||
border: 0 none !important;
|
||||
}
|
||||
tr.acf-field {
|
||||
border-top: #ededed solid 1px !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
td.acf-label {
|
||||
background: transparent !important;
|
||||
padding-bottom: 0 !important;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
Font license info
|
||||
|
||||
|
||||
## Entypo
|
||||
|
||||
Copyright (C) 2012 by Daniel Bruce
|
||||
|
||||
Author: Daniel Bruce
|
||||
License: SIL (http://scripts.sil.org/OFL)
|
||||
Homepage: http://www.entypo.com
|
||||
|
||||
|
||||
## Typicons
|
||||
|
||||
(c) Stephen Hutchings 2012
|
||||
|
||||
Author: Stephen Hutchings
|
||||
License: SIL (http://scripts.sil.org/OFL)
|
||||
Homepage: http://typicons.com/
|
||||
|
||||
|
||||
## Font Awesome
|
||||
|
||||
Copyright (C) 2016 by Dave Gandy
|
||||
|
||||
Author: Dave Gandy
|
||||
License: SIL ()
|
||||
Homepage: http://fortawesome.github.com/Font-Awesome/
|
||||
|
||||
|
||||
## Elusive
|
||||
|
||||
Copyright (C) 2013 by Aristeides Stathopoulos
|
||||
|
||||
Author: Aristeides Stathopoulos
|
||||
License: SIL (http://scripts.sil.org/OFL)
|
||||
Homepage: http://aristeides.com/
|
||||
|
||||
|
||||
## Modern Pictograms
|
||||
|
||||
Copyright (c) 2012 by John Caserta. All rights reserved.
|
||||
|
||||
Author: John Caserta
|
||||
License: SIL (http://scripts.sil.org/OFL)
|
||||
Homepage: http://thedesignoffice.org/project/modern-pictograms/
|
||||
|
||||
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
This webfont is generated by http://fontello.com open source project.
|
||||
|
||||
|
||||
================================================================================
|
||||
Please, note, that you should obey original font licenses, used to make this
|
||||
webfont pack. Details available in LICENSE.txt file.
|
||||
|
||||
- Usually, it's enough to publish content of LICENSE.txt file somewhere on your
|
||||
site in "About" section.
|
||||
|
||||
- If your project is open-source, usually, it will be ok to make LICENSE.txt
|
||||
file publicly available in your repository.
|
||||
|
||||
- Fonts, used in Fontello, don't require a clickable link on your site.
|
||||
But any kind of additional authors crediting is welcome.
|
||||
================================================================================
|
||||
|
||||
|
||||
Comments on archive content
|
||||
---------------------------
|
||||
|
||||
- /font/* - fonts in different formats
|
||||
|
||||
- /css/* - different kinds of css, for all situations. Should be ok with
|
||||
twitter bootstrap. Also, you can skip <i> style and assign icon classes
|
||||
directly to text elements, if you don't mind about IE7.
|
||||
|
||||
- demo.html - demo file, to show your webfont content
|
||||
|
||||
- LICENSE.txt - license info about source fonts, used to build your one.
|
||||
|
||||
- config.json - keeps your settings. You can import it back into fontello
|
||||
anytime, to continue your work
|
||||
|
||||
|
||||
Why so many CSS files ?
|
||||
-----------------------
|
||||
|
||||
Because we like to fit all your needs :)
|
||||
|
||||
- basic file, <your_font_name>.css - is usually enough, it contains @font-face
|
||||
and character code definitions
|
||||
|
||||
- *-ie7.css - if you need IE7 support, but still don't wish to put char codes
|
||||
directly into html
|
||||
|
||||
- *-codes.css and *-ie7-codes.css - if you like to use your own @font-face
|
||||
rules, but still wish to benefit from css generation. That can be very
|
||||
convenient for automated asset build systems. When you need to update font -
|
||||
no need to manually edit files, just override old version with archive
|
||||
content. See fontello source code for examples.
|
||||
|
||||
- *-embedded.css - basic css file, but with embedded WOFF font, to avoid
|
||||
CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain.
|
||||
We strongly recommend to resolve this issue by `Access-Control-Allow-Origin`
|
||||
server headers. But if you ok with dirty hack - this file is for you. Note,
|
||||
that data url moved to separate @font-face to avoid problems with <IE9, when
|
||||
string is too long.
|
||||
|
||||
- animate.css - use it to get ideas about spinner rotation animation.
|
||||
|
||||
|
||||
Attention for server setup
|
||||
--------------------------
|
||||
|
||||
You MUST setup server to reply with proper `mime-types` for font files -
|
||||
otherwise some browsers will fail to show fonts.
|
||||
|
||||
Usually, `apache` already has necessary settings, but `nginx` and other
|
||||
webservers should be tuned. Here is list of mime types for our file extensions:
|
||||
|
||||
- `application/vnd.ms-fontobject` - eot
|
||||
- `application/x-font-woff` - woff
|
||||
- `application/x-font-ttf` - ttf
|
||||
- `image/svg+xml` - svg
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Copyright (C) 2017 by original authors @ fontello.com</metadata>
|
||||
<defs>
|
||||
<font id="acf" horiz-adv-x="1000" >
|
||||
<font-face font-family="acf" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
|
||||
<missing-glyph horiz-adv-x="1000" />
|
||||
<glyph glyph-name="plus" unicode="" d="M550 400q30 0 30-50t-30-50l-210 0 0-210q0-30-50-30t-50 30l0 210-210 0q-30 0-30 50t30 50l210 0 0 210q0 30 50 30t50-30l0-210 210 0z" horiz-adv-x="580" />
|
||||
|
||||
<glyph glyph-name="minus" unicode="" d="M550 400q30 0 30-50t-30-50l-520 0q-30 0-30 50t30 50l520 0z" horiz-adv-x="580" />
|
||||
|
||||
<glyph glyph-name="cancel" unicode="" d="M452 194q18-18 18-43t-18-43q-18-16-43-16t-43 16l-132 152-132-152q-18-16-43-16t-43 16q-16 18-16 43t16 43l138 156-138 158q-16 18-16 43t16 43q18 16 43 16t43-16l132-152 132 152q18 16 43 16t43-16q18-18 18-43t-18-43l-138-158z" horiz-adv-x="470" />
|
||||
|
||||
<glyph glyph-name="pencil" unicode="" d="M938 605q22-22 22-55t-22-55l-570-570q-22-21-60-38t-73-17l-235 0 0 234q0 35 17 74t38 60l570 570q23 22 55 22t55-22z m-794-426l65-64 431 433-64 63z m91-205q14 0 33 8-10 10-27 26t-50 50-56 56l-22 22q-9-21-9-32l0-78 52-52 79 0z m74 40l432 432-63 64-433-431z m469 469l67 67-165 165-67-66z" horiz-adv-x="960" />
|
||||
|
||||
<glyph glyph-name="location" unicode="" d="M250 750q104 0 177-73t73-177q0-106-62-243t-126-223l-62-84q-10 12-27 35t-60 89-76 130-60 147-27 149q0 104 73 177t177 73z m0-388q56 0 96 40t40 96-40 95-96 39-95-39-39-95 39-96 95-40z" horiz-adv-x="500" />
|
||||
|
||||
<glyph glyph-name="down" unicode="" d="M564 422l-234-224q-18-18-40-18t-40 18l-234 224q-16 16-16 41t16 41q38 38 78 0l196-188 196 188q40 38 78 0 16-16 16-41t-16-41z" horiz-adv-x="580" />
|
||||
|
||||
<glyph glyph-name="left" unicode="" d="M242 626q14 16 39 16t41-16q38-36 0-80l-186-196 186-194q38-44 0-80-16-16-40-16t-40 16l-226 236q-16 16-16 38 0 24 16 40 206 214 226 236z" horiz-adv-x="341" />
|
||||
|
||||
<glyph glyph-name="right" unicode="" d="M98 626l226-236q16-16 16-40 0-22-16-38l-226-236q-16-16-40-16t-40 16q-36 36 0 80l186 194-186 196q-36 44 0 80 16 16 41 16t39-16z" horiz-adv-x="340" />
|
||||
|
||||
<glyph glyph-name="up" unicode="" d="M564 280q16-16 16-41t-16-41q-38-38-78 0l-196 188-196-188q-40-38-78 0-16 16-16 41t16 41l234 224q16 16 40 16t40-16z" horiz-adv-x="580" />
|
||||
|
||||
<glyph glyph-name="sync" unicode="" d="M843 261q0-3 0-4-36-150-150-243t-267-93q-81 0-157 31t-136 88l-72-72q-11-11-25-11t-25 11-11 25v250q0 14 11 25t25 11h250q14 0 25-11t10-25-10-25l-77-77q40-36 90-57t105-20q74 0 139 37t104 99q6 10 30 66 4 13 16 13h107q8 0 13-6t5-12z m14 446v-250q0-14-10-25t-26-11h-250q-14 0-25 11t-10 25 10 25l77 77q-82 77-194 77-75 0-140-37t-104-99q-6-10-29-66-5-13-17-13h-111q-7 0-13 6t-5 12v4q36 150 151 243t268 93q81 0 158-31t137-88l72 72q11 11 25 11t26-11 10-25z" horiz-adv-x="857.1" />
|
||||
|
||||
<glyph glyph-name="globe" unicode="" d="M480 830q200 0 340-141t140-339q0-200-140-340t-340-140q-198 0-339 140t-141 340q0 198 141 339t339 141z m410-480q0 132-78 239t-202 149q-18-24-16-32 4-38 18-51t30-7l32 12t20 2q22-24 0-47t-45-56-1-77q34-64 96-64 28-2 43-36t17-66q10-80-14-140-22-44 14-76 86 112 86 250z m-466 404q-112-14-199-84t-127-174q6 0 22-2t28-3 26-4 24-8 12-13q4-12-14-45t-18-61q0-30 38-56t38-46q0-28 8-68t8-44q0-12 36-54t52-42q10 0 11 22t-2 54-3 40q0 32 14 74 12 42 59 70t55 46q16 34 9 61t-17 43-34 28-41 17-37 9-22 4q-16 6-42 7t-36-3-27 11-17 29q0 10 15 27t35 37 28 30q8 14 17 21t22 16 27 21q4 4 25 17t27 23z m-72-794q66-20 128-20 128 0 226 68-26 44-118 34-24-2-65-17t-47-17q-74-16-76-16-12-2-26-14t-22-18z" horiz-adv-x="960" />
|
||||
|
||||
<glyph glyph-name="picture" unicode="" d="M0-68l0 836 1000 0 0-836-1000 0z m76 78l848 0 0 680-848 0 0-680z m90 80l0 59 150 195 102-86 193 291 223-228 0-231-668 0z m0 416q0 37 24 62t62 24q33 0 58-24t24-62q0-33-24-57t-58-25q-37 0-62 25t-24 57z" horiz-adv-x="1000" />
|
||||
|
||||
<glyph glyph-name="check" unicode="" d="M249 0q-34 0-56 28l-180 236q-16 24-12 52t26 46 51 14 47-28l118-154 296 474q16 24 43 30t53-8q24-16 30-43t-8-53l-350-560q-20-32-56-32z" horiz-adv-x="667" />
|
||||
|
||||
<glyph glyph-name="dot-3" unicode="" d="M110 460q46 0 78-32t32-78q0-44-32-77t-78-33-78 33-32 77q0 46 32 78t78 32z m350 0q46 0 78-32t32-78q0-44-33-77t-77-33-77 33-33 77q0 46 32 78t78 32z m350 0q46 0 78-32t32-78q0-44-32-77t-78-33-78 33-32 77q0 46 32 78t78 32z" horiz-adv-x="920" />
|
||||
|
||||
<glyph glyph-name="arrow-combo" unicode="" d="M230 850l230-364-460 0z m0-1000l-230 366 460 0z" horiz-adv-x="460" />
|
||||
|
||||
<glyph glyph-name="arrow-down" unicode="" d="M540 587l-269-473-271 473 540 0z" horiz-adv-x="540" />
|
||||
|
||||
<glyph glyph-name="arrow-up" unicode="" d="M0 114l269 473 271-473-540 0z" horiz-adv-x="540" />
|
||||
|
||||
<glyph glyph-name="search" unicode="" d="M772 78q30-34 6-62l-46-46q-36-32-68 0l-190 190q-74-42-156-42-128 0-223 95t-95 223 90 219 218 91 224-95 96-223q0-88-46-162z m-678 358q0-88 68-156t156-68 151 63 63 153q0 88-68 155t-156 67-151-63-63-151z" horiz-adv-x="789" />
|
||||
|
||||
<glyph glyph-name="link-ext" unicode="" d="M786 332v-178q0-67-47-114t-114-47h-464q-67 0-114 47t-47 114v464q0 66 47 113t114 48h393q7 0 12-5t5-13v-36q0-8-5-13t-12-5h-393q-37 0-63-26t-27-63v-464q0-37 27-63t63-27h464q37 0 63 27t26 63v178q0 8 5 13t13 5h36q8 0 13-5t5-13z m214 482v-285q0-15-11-25t-25-11-25 11l-98 98-364-364q-5-6-13-6t-12 6l-64 64q-6 5-6 12t6 13l364 364-98 98q-11 11-11 25t11 25 25 11h285q15 0 25-11t11-25z" horiz-adv-x="1000" />
|
||||
</font>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 5.4 KiB |
|
|
@ -1,124 +0,0 @@
|
|||
{
|
||||
"name": "acf",
|
||||
"css_prefix_text": "acf-icon-",
|
||||
"css_use_suffix": false,
|
||||
"hinting": true,
|
||||
"units_per_em": 1000,
|
||||
"ascent": 850,
|
||||
"glyphs": [
|
||||
{
|
||||
"uid": "a73c5deb486c8d66249811642e5d719a",
|
||||
"css": "sync",
|
||||
"code": 59401,
|
||||
"src": "fontawesome"
|
||||
},
|
||||
{
|
||||
"uid": "7222571caa5c15f83dcfd447c58d68d9",
|
||||
"css": "search",
|
||||
"code": 59409,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "14017aae737730faeda4a6fd8fb3a5f0",
|
||||
"css": "check",
|
||||
"code": 59404,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "c709da589c923ba3c2ad48d9fc563e93",
|
||||
"css": "cancel",
|
||||
"code": 59394,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "70370693ada58ef0a60fa0984fe8d52a",
|
||||
"css": "plus",
|
||||
"code": 59392,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "1256e3054823e304d7e452a589cf8bb8",
|
||||
"css": "minus",
|
||||
"code": 59393,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "a42b598e4298f3319b25a2702a02e7ff",
|
||||
"css": "location",
|
||||
"code": 59396,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "0a3192de65a73ca1501b073ad601f87d",
|
||||
"css": "arrow-combo",
|
||||
"code": 59406,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "8704cd847a47b64265b8bb110c8b4d62",
|
||||
"css": "down",
|
||||
"code": 59397,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "c311c48d79488965b0fab7f9cd12b6b5",
|
||||
"css": "left",
|
||||
"code": 59398,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "749e7d90a9182938180f1d2d8c33584e",
|
||||
"css": "right",
|
||||
"code": 59399,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "9c7ff134960bb5a82404e4aeaab366d9",
|
||||
"css": "up",
|
||||
"code": 59400,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "6a12c2b74456ea21cc984e11dec227a1",
|
||||
"css": "globe",
|
||||
"code": 59402,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "d10920db2e79c997c5e783279291970c",
|
||||
"css": "dot-3",
|
||||
"code": 59405,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "1e77a2yvsq3owssduo2lcgsiven57iv5",
|
||||
"css": "pencil",
|
||||
"code": 59395,
|
||||
"src": "typicons"
|
||||
},
|
||||
{
|
||||
"uid": "8ax1xqcbzz1hobyd4i7f0unwib1bztip",
|
||||
"css": "arrow-down",
|
||||
"code": 59407,
|
||||
"src": "modernpics"
|
||||
},
|
||||
{
|
||||
"uid": "6ipws8y9gej6vbloufvhi5qux7rluf64",
|
||||
"css": "arrow-up",
|
||||
"code": 59408,
|
||||
"src": "modernpics"
|
||||
},
|
||||
{
|
||||
"uid": "a1be363d4de9be39857893d4134f6215",
|
||||
"css": "picture",
|
||||
"code": 59403,
|
||||
"src": "elusive"
|
||||
},
|
||||
{
|
||||
"uid": "e15f0d620a7897e2035c18c80142f6d9",
|
||||
"css": "link-ext",
|
||||
"code": 61582,
|
||||
"src": "fontawesome"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Before Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 84 B |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
|
@ -1,650 +0,0 @@
|
|||
/*! jQuery UI - v1.11.4 - 2016-05-31
|
||||
* http://jqueryui.com
|
||||
* Includes: core.css, datepicker.css, theme.css
|
||||
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=%22Open%20Sans%22%2C%E2%80%8B%20sans-serif&fsDefault=14px&fwDefault=normal&cornerRadius=3&bgColorHeader=%23ffffff&bgTextureHeader=highlight_soft&borderColorHeader=%23ffffff&fcHeader=%23222222&iconColorHeader=%23DDDDDD&bgColorContent=%23ffffff&bgTextureContent=flat&borderColorContent=%23E1E1E1&fcContent=%23444444&iconColorContent=%23444444&bgColorDefault=%23F9F9F9&bgTextureDefault=flat&borderColorDefault=%23F0F0F0&fcDefault=%23444444&iconColorDefault=%23444444&bgColorHover=%2398b7e8&bgTextureHover=flat&borderColorHover=%2398b7e8&fcHover=%23ffffff&iconColorHover=%23ffffff&bgColorActive=%233875d7&bgTextureActive=flat&borderColorActive=%233875d7&fcActive=%23ffffff&iconColorActive=%23ffffff&bgColorHighlight=%23ffffff&bgTextureHighlight=flat&borderColorHighlight=%23aaaaaa&fcHighlight=%23444444&iconColorHighlight=%23444444&bgColorError=%23E14D43&bgTextureError=flat&borderColorError=%23E14D43&fcError=%23ffffff&iconColorError=%23ffffff&bgColorOverlay=%23ffffff&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=%23aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px&bgImgOpacityHeader=0&bgImgOpacityContent=&bgImgOpacityDefault=0&bgImgOpacityHover=0&bgImgOpacityActive=0&bgImgOpacityHighlight=0&bgImgOpacityError=0
|
||||
* Copyright jQuery Foundation and other contributors; Licensed MIT */
|
||||
|
||||
/* Layout helpers
|
||||
----------------------------------*/
|
||||
.ui-helper-hidden {
|
||||
display: none;
|
||||
}
|
||||
.ui-helper-hidden-accessible {
|
||||
border: 0;
|
||||
clip: rect(0 0 0 0);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
}
|
||||
.ui-helper-reset {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
outline: 0;
|
||||
line-height: 1.3;
|
||||
text-decoration: none;
|
||||
font-size: 100%;
|
||||
list-style: none;
|
||||
}
|
||||
.ui-helper-clearfix:before,
|
||||
.ui-helper-clearfix:after {
|
||||
content: "";
|
||||
display: table;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
.ui-helper-clearfix:after {
|
||||
clear: both;
|
||||
}
|
||||
.ui-helper-clearfix {
|
||||
min-height: 0; /* support: IE7 */
|
||||
}
|
||||
.ui-helper-zfix {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
filter:Alpha(Opacity=0); /* support: IE8 */
|
||||
}
|
||||
|
||||
.ui-front {
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-disabled {
|
||||
cursor: default !important;
|
||||
}
|
||||
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon {
|
||||
display: block;
|
||||
text-indent: -99999px;
|
||||
overflow: hidden;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.ui-datepicker {
|
||||
width: 17em;
|
||||
padding: .2em .2em 0;
|
||||
display: none;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-header {
|
||||
position: relative;
|
||||
padding: .2em 0;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-prev,
|
||||
.ui-datepicker .ui-datepicker-next {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
width: 1.8em;
|
||||
height: 1.8em;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-prev-hover,
|
||||
.ui-datepicker .ui-datepicker-next-hover {
|
||||
top: 1px;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-prev {
|
||||
left: 2px;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-next {
|
||||
right: 2px;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-prev-hover {
|
||||
left: 1px;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-next-hover {
|
||||
right: 1px;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-prev span,
|
||||
.ui-datepicker .ui-datepicker-next span {
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
margin-left: -8px;
|
||||
top: 50%;
|
||||
margin-top: -8px;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-title {
|
||||
margin: 0 2.3em;
|
||||
line-height: 1.8em;
|
||||
text-align: center;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-title select {
|
||||
font-size: 1em;
|
||||
margin: 1px 0;
|
||||
}
|
||||
.ui-datepicker select.ui-datepicker-month,
|
||||
.ui-datepicker select.ui-datepicker-year {
|
||||
width: 45%;
|
||||
}
|
||||
.ui-datepicker table {
|
||||
width: 100%;
|
||||
font-size: .9em;
|
||||
border-collapse: collapse;
|
||||
margin: 0 0 .4em;
|
||||
}
|
||||
.ui-datepicker th {
|
||||
padding: .7em .3em;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
border: 0;
|
||||
}
|
||||
.ui-datepicker td {
|
||||
border: 0;
|
||||
padding: 1px;
|
||||
}
|
||||
.ui-datepicker td span,
|
||||
.ui-datepicker td a {
|
||||
display: block;
|
||||
padding: .2em;
|
||||
text-align: right;
|
||||
text-decoration: none;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-buttonpane {
|
||||
background-image: none;
|
||||
margin: .7em 0 0 0;
|
||||
padding: 0 .2em;
|
||||
border-left: 0;
|
||||
border-right: 0;
|
||||
border-bottom: 0;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-buttonpane button {
|
||||
float: right;
|
||||
margin: .5em .2em .4em;
|
||||
cursor: pointer;
|
||||
padding: .2em .6em .3em .6em;
|
||||
width: auto;
|
||||
overflow: visible;
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
|
||||
float: left;
|
||||
}
|
||||
|
||||
/* with multiple calendars */
|
||||
.ui-datepicker.ui-datepicker-multi {
|
||||
width: auto;
|
||||
}
|
||||
.ui-datepicker-multi .ui-datepicker-group {
|
||||
float: left;
|
||||
}
|
||||
.ui-datepicker-multi .ui-datepicker-group table {
|
||||
width: 95%;
|
||||
margin: 0 auto .4em;
|
||||
}
|
||||
.ui-datepicker-multi-2 .ui-datepicker-group {
|
||||
width: 50%;
|
||||
}
|
||||
.ui-datepicker-multi-3 .ui-datepicker-group {
|
||||
width: 33.3%;
|
||||
}
|
||||
.ui-datepicker-multi-4 .ui-datepicker-group {
|
||||
width: 25%;
|
||||
}
|
||||
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
|
||||
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
|
||||
border-left-width: 0;
|
||||
}
|
||||
.ui-datepicker-multi .ui-datepicker-buttonpane {
|
||||
clear: left;
|
||||
}
|
||||
.ui-datepicker-row-break {
|
||||
clear: both;
|
||||
width: 100%;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
/* RTL support */
|
||||
.ui-datepicker-rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-prev {
|
||||
right: 2px;
|
||||
left: auto;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-next {
|
||||
left: 2px;
|
||||
right: auto;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-prev:hover {
|
||||
right: 1px;
|
||||
left: auto;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-next:hover {
|
||||
left: 1px;
|
||||
right: auto;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane {
|
||||
clear: right;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
|
||||
float: left;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
|
||||
.ui-datepicker-rtl .ui-datepicker-group {
|
||||
float: right;
|
||||
}
|
||||
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
|
||||
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
|
||||
border-right-width: 0;
|
||||
border-left-width: 1px;
|
||||
}
|
||||
|
||||
/* Component containers
|
||||
----------------------------------*/
|
||||
.acf-ui-datepicker .ui-widget {
|
||||
font-family: inherit;
|
||||
font-size: 14px;
|
||||
}
|
||||
.acf-ui-datepicker .ui-widget .ui-widget {
|
||||
font-size: 1em;
|
||||
}
|
||||
.acf-ui-datepicker .ui-widget input,
|
||||
.acf-ui-datepicker .ui-widget select,
|
||||
.acf-ui-datepicker .ui-widget textarea,
|
||||
.acf-ui-datepicker .ui-widget button {
|
||||
font-family: inherit;
|
||||
font-size: 1em;
|
||||
}
|
||||
.acf-ui-datepicker .ui-widget-content {
|
||||
border: 1px solid #E1E1E1;
|
||||
background: #ffffff;
|
||||
color: #444444;
|
||||
}
|
||||
.acf-ui-datepicker .ui-widget-content a {
|
||||
color: #444444;
|
||||
}
|
||||
.acf-ui-datepicker .ui-widget-header {
|
||||
border: 1px solid #ffffff;
|
||||
background: #ffffff url("images/ui-bg_highlight-soft_0_ffffff_1x100.png") 50% 50% repeat-x;
|
||||
color: #222222;
|
||||
font-weight: bold;
|
||||
}
|
||||
.acf-ui-datepicker .ui-widget-header a {
|
||||
color: #222222;
|
||||
}
|
||||
|
||||
/* Interaction states
|
||||
----------------------------------*/
|
||||
.acf-ui-datepicker .ui-state-default,
|
||||
.acf-ui-datepicker .ui-widget-content .ui-state-default,
|
||||
.acf-ui-datepicker .ui-widget-header .ui-state-default {
|
||||
border: 1px solid #F0F0F0;
|
||||
background: #F9F9F9;
|
||||
font-weight: normal;
|
||||
color: #444444;
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-default a,
|
||||
.acf-ui-datepicker .ui-state-default a:link,
|
||||
.acf-ui-datepicker .ui-state-default a:visited {
|
||||
color: #444444;
|
||||
text-decoration: none;
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-hover,
|
||||
.acf-ui-datepicker .ui-widget-content .ui-state-hover,
|
||||
.acf-ui-datepicker .ui-widget-header .ui-state-hover,
|
||||
.acf-ui-datepicker .ui-state-focus,
|
||||
.acf-ui-datepicker .ui-widget-content .ui-state-focus,
|
||||
.acf-ui-datepicker .ui-widget-header .ui-state-focus {
|
||||
border: 1px solid #98b7e8;
|
||||
background: #98b7e8;
|
||||
font-weight: normal;
|
||||
color: #ffffff;
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-hover a,
|
||||
.acf-ui-datepicker .ui-state-hover a:hover,
|
||||
.acf-ui-datepicker .ui-state-hover a:link,
|
||||
.acf-ui-datepicker .ui-state-hover a:visited,
|
||||
.acf-ui-datepicker .ui-state-focus a,
|
||||
.acf-ui-datepicker .ui-state-focus a:hover,
|
||||
.acf-ui-datepicker .ui-state-focus a:link,
|
||||
.acf-ui-datepicker .ui-state-focus a:visited {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-active,
|
||||
.acf-ui-datepicker .ui-widget-content .ui-state-active,
|
||||
.acf-ui-datepicker .ui-widget-header .ui-state-active {
|
||||
border: 1px solid #3875d7;
|
||||
background: #3875d7;
|
||||
font-weight: normal;
|
||||
color: #ffffff;
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-active a,
|
||||
.acf-ui-datepicker .ui-state-active a:link,
|
||||
.acf-ui-datepicker .ui-state-active a:visited {
|
||||
color: #ffffff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.acf-ui-datepicker .ui-state-highlight,
|
||||
.acf-ui-datepicker .ui-widget-content .ui-state-highlight,
|
||||
.acf-ui-datepicker .ui-widget-header .ui-state-highlight {
|
||||
border: 1px solid #aaaaaa;
|
||||
background: #ffffff;
|
||||
color: #444444;
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-highlight a,
|
||||
.acf-ui-datepicker .ui-widget-content .ui-state-highlight a,
|
||||
.acf-ui-datepicker .ui-widget-header .ui-state-highlight a {
|
||||
color: #444444;
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-error,
|
||||
.acf-ui-datepicker .ui-widget-content .ui-state-error,
|
||||
.acf-ui-datepicker .ui-widget-header .ui-state-error {
|
||||
border: 1px solid #E14D43;
|
||||
background: #E14D43;
|
||||
color: #ffffff;
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-error a,
|
||||
.acf-ui-datepicker .ui-widget-content .ui-state-error a,
|
||||
.acf-ui-datepicker .ui-widget-header .ui-state-error a {
|
||||
color: #ffffff;
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-error-text,
|
||||
.acf-ui-datepicker .ui-widget-content .ui-state-error-text,
|
||||
.acf-ui-datepicker .ui-widget-header .ui-state-error-text {
|
||||
color: #ffffff;
|
||||
}
|
||||
.acf-ui-datepicker .ui-priority-primary,
|
||||
.acf-ui-datepicker .ui-widget-content .ui-priority-primary,
|
||||
.acf-ui-datepicker .ui-widget-header .ui-priority-primary {
|
||||
font-weight: bold;
|
||||
}
|
||||
.acf-ui-datepicker .ui-priority-secondary,
|
||||
.acf-ui-datepicker .ui-widget-content .ui-priority-secondary,
|
||||
.acf-ui-datepicker .ui-widget-header .ui-priority-secondary {
|
||||
opacity: .7;
|
||||
filter:Alpha(Opacity=70); /* support: IE8 */
|
||||
font-weight: normal;
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-disabled,
|
||||
.acf-ui-datepicker .ui-widget-content .ui-state-disabled,
|
||||
.acf-ui-datepicker .ui-widget-header .ui-state-disabled {
|
||||
opacity: .35;
|
||||
filter:Alpha(Opacity=35); /* support: IE8 */
|
||||
background-image: none;
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-disabled .ui-icon {
|
||||
filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
|
||||
}
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.acf-ui-datepicker .ui-icon {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
.acf-ui-datepicker .ui-icon,
|
||||
.acf-ui-datepicker .ui-widget-content .ui-icon {
|
||||
background-image: url("images/ui-icons_444444_256x240.png");
|
||||
}
|
||||
.acf-ui-datepicker .ui-widget-header .ui-icon {
|
||||
background-image: url("images/ui-icons_DDDDDD_256x240.png");
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-default .ui-icon {
|
||||
background-image: url("images/ui-icons_444444_256x240.png");
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-hover .ui-icon,
|
||||
.acf-ui-datepicker .ui-state-focus .ui-icon {
|
||||
background-image: url("images/ui-icons_ffffff_256x240.png");
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-active .ui-icon {
|
||||
background-image: url("images/ui-icons_ffffff_256x240.png");
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-highlight .ui-icon {
|
||||
background-image: url("images/ui-icons_444444_256x240.png");
|
||||
}
|
||||
.acf-ui-datepicker .ui-state-error .ui-icon,
|
||||
.acf-ui-datepicker .ui-state-error-text .ui-icon {
|
||||
background-image: url("images/ui-icons_ffffff_256x240.png");
|
||||
}
|
||||
|
||||
/* positioning */
|
||||
.acf-ui-datepicker .ui-icon-blank { background-position: 16px 16px; }
|
||||
.acf-ui-datepicker .ui-icon-carat-1-n { background-position: 0 0; }
|
||||
.acf-ui-datepicker .ui-icon-carat-1-ne { background-position: -16px 0; }
|
||||
.acf-ui-datepicker .ui-icon-carat-1-e { background-position: -32px 0; }
|
||||
.acf-ui-datepicker .ui-icon-carat-1-se { background-position: -48px 0; }
|
||||
.acf-ui-datepicker .ui-icon-carat-1-s { background-position: -64px 0; }
|
||||
.acf-ui-datepicker .ui-icon-carat-1-sw { background-position: -80px 0; }
|
||||
.acf-ui-datepicker .ui-icon-carat-1-w { background-position: -96px 0; }
|
||||
.acf-ui-datepicker .ui-icon-carat-1-nw { background-position: -112px 0; }
|
||||
.acf-ui-datepicker .ui-icon-carat-2-n-s { background-position: -128px 0; }
|
||||
.acf-ui-datepicker .ui-icon-carat-2-e-w { background-position: -144px 0; }
|
||||
.acf-ui-datepicker .ui-icon-triangle-1-n { background-position: 0 -16px; }
|
||||
.acf-ui-datepicker .ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
||||
.acf-ui-datepicker .ui-icon-triangle-1-e { background-position: -32px -16px; }
|
||||
.acf-ui-datepicker .ui-icon-triangle-1-se { background-position: -48px -16px; }
|
||||
.acf-ui-datepicker .ui-icon-triangle-1-s { background-position: -64px -16px; }
|
||||
.acf-ui-datepicker .ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
||||
.acf-ui-datepicker .ui-icon-triangle-1-w { background-position: -96px -16px; }
|
||||
.acf-ui-datepicker .ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
||||
.acf-ui-datepicker .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
||||
.acf-ui-datepicker .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-1-n { background-position: 0 -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-1-e { background-position: -32px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-1-se { background-position: -48px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-1-s { background-position: -64px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-1-w { background-position: -96px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
||||
.acf-ui-datepicker .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-4 { background-position: 0 -80px; }
|
||||
.acf-ui-datepicker .ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
||||
.acf-ui-datepicker .ui-icon-extlink { background-position: -32px -80px; }
|
||||
.acf-ui-datepicker .ui-icon-newwin { background-position: -48px -80px; }
|
||||
.acf-ui-datepicker .ui-icon-refresh { background-position: -64px -80px; }
|
||||
.acf-ui-datepicker .ui-icon-shuffle { background-position: -80px -80px; }
|
||||
.acf-ui-datepicker .ui-icon-transfer-e-w { background-position: -96px -80px; }
|
||||
.acf-ui-datepicker .ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
||||
.acf-ui-datepicker .ui-icon-folder-collapsed { background-position: 0 -96px; }
|
||||
.acf-ui-datepicker .ui-icon-folder-open { background-position: -16px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-document { background-position: -32px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-document-b { background-position: -48px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-note { background-position: -64px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-mail-closed { background-position: -80px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-mail-open { background-position: -96px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-suitcase { background-position: -112px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-comment { background-position: -128px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-person { background-position: -144px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-print { background-position: -160px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-trash { background-position: -176px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-locked { background-position: -192px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-unlocked { background-position: -208px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-bookmark { background-position: -224px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-tag { background-position: -240px -96px; }
|
||||
.acf-ui-datepicker .ui-icon-home { background-position: 0 -112px; }
|
||||
.acf-ui-datepicker .ui-icon-flag { background-position: -16px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-calendar { background-position: -32px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-cart { background-position: -48px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-pencil { background-position: -64px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-clock { background-position: -80px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-disk { background-position: -96px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-calculator { background-position: -112px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-zoomin { background-position: -128px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-zoomout { background-position: -144px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-search { background-position: -160px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-wrench { background-position: -176px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-gear { background-position: -192px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-heart { background-position: -208px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-star { background-position: -224px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-link { background-position: -240px -112px; }
|
||||
.acf-ui-datepicker .ui-icon-cancel { background-position: 0 -128px; }
|
||||
.acf-ui-datepicker .ui-icon-plus { background-position: -16px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-plusthick { background-position: -32px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-minus { background-position: -48px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-minusthick { background-position: -64px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-close { background-position: -80px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-closethick { background-position: -96px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-key { background-position: -112px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-lightbulb { background-position: -128px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-scissors { background-position: -144px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-clipboard { background-position: -160px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-copy { background-position: -176px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-contact { background-position: -192px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-image { background-position: -208px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-video { background-position: -224px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-script { background-position: -240px -128px; }
|
||||
.acf-ui-datepicker .ui-icon-alert { background-position: 0 -144px; }
|
||||
.acf-ui-datepicker .ui-icon-info { background-position: -16px -144px; }
|
||||
.acf-ui-datepicker .ui-icon-notice { background-position: -32px -144px; }
|
||||
.acf-ui-datepicker .ui-icon-help { background-position: -48px -144px; }
|
||||
.acf-ui-datepicker .ui-icon-check { background-position: -64px -144px; }
|
||||
.acf-ui-datepicker .ui-icon-bullet { background-position: -80px -144px; }
|
||||
.acf-ui-datepicker .ui-icon-radio-on { background-position: -96px -144px; }
|
||||
.acf-ui-datepicker .ui-icon-radio-off { background-position: -112px -144px; }
|
||||
.acf-ui-datepicker .ui-icon-pin-w { background-position: -128px -144px; }
|
||||
.acf-ui-datepicker .ui-icon-pin-s { background-position: -144px -144px; }
|
||||
.acf-ui-datepicker .ui-icon-play { background-position: 0 -160px; }
|
||||
.acf-ui-datepicker .ui-icon-pause { background-position: -16px -160px; }
|
||||
.acf-ui-datepicker .ui-icon-seek-next { background-position: -32px -160px; }
|
||||
.acf-ui-datepicker .ui-icon-seek-prev { background-position: -48px -160px; }
|
||||
.acf-ui-datepicker .ui-icon-seek-end { background-position: -64px -160px; }
|
||||
.acf-ui-datepicker .ui-icon-seek-start { background-position: -80px -160px; }
|
||||
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
||||
.acf-ui-datepicker .ui-icon-seek-first { background-position: -80px -160px; }
|
||||
.acf-ui-datepicker .ui-icon-stop { background-position: -96px -160px; }
|
||||
.acf-ui-datepicker .ui-icon-eject { background-position: -112px -160px; }
|
||||
.acf-ui-datepicker .ui-icon-volume-off { background-position: -128px -160px; }
|
||||
.acf-ui-datepicker .ui-icon-volume-on { background-position: -144px -160px; }
|
||||
.acf-ui-datepicker .ui-icon-power { background-position: 0 -176px; }
|
||||
.acf-ui-datepicker .ui-icon-signal-diag { background-position: -16px -176px; }
|
||||
.acf-ui-datepicker .ui-icon-signal { background-position: -32px -176px; }
|
||||
.acf-ui-datepicker .ui-icon-battery-0 { background-position: -48px -176px; }
|
||||
.acf-ui-datepicker .ui-icon-battery-1 { background-position: -64px -176px; }
|
||||
.acf-ui-datepicker .ui-icon-battery-2 { background-position: -80px -176px; }
|
||||
.acf-ui-datepicker .ui-icon-battery-3 { background-position: -96px -176px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-plus { background-position: 0 -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-minus { background-position: -16px -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-close { background-position: -32px -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-zoomin { background-position: -176px -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-zoomout { background-position: -192px -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circle-check { background-position: -208px -192px; }
|
||||
.acf-ui-datepicker .ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
||||
.acf-ui-datepicker .ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
||||
.acf-ui-datepicker .ui-icon-circlesmall-close { background-position: -32px -208px; }
|
||||
.acf-ui-datepicker .ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
||||
.acf-ui-datepicker .ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
||||
.acf-ui-datepicker .ui-icon-squaresmall-close { background-position: -80px -208px; }
|
||||
.acf-ui-datepicker .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
||||
.acf-ui-datepicker .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
||||
.acf-ui-datepicker .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||
.acf-ui-datepicker .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||
.acf-ui-datepicker .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||
.acf-ui-datepicker .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Corner radius */
|
||||
.acf-ui-datepicker .ui-corner-all,
|
||||
.acf-ui-datepicker .ui-corner-top,
|
||||
.acf-ui-datepicker .ui-corner-left,
|
||||
.acf-ui-datepicker .ui-corner-tl {
|
||||
border-top-left-radius: 3;
|
||||
}
|
||||
.acf-ui-datepicker .ui-corner-all,
|
||||
.acf-ui-datepicker .ui-corner-top,
|
||||
.acf-ui-datepicker .ui-corner-right,
|
||||
.acf-ui-datepicker .ui-corner-tr {
|
||||
border-top-right-radius: 3;
|
||||
}
|
||||
.acf-ui-datepicker .ui-corner-all,
|
||||
.acf-ui-datepicker .ui-corner-bottom,
|
||||
.acf-ui-datepicker .ui-corner-left,
|
||||
.acf-ui-datepicker .ui-corner-bl {
|
||||
border-bottom-left-radius: 3;
|
||||
}
|
||||
.acf-ui-datepicker .ui-corner-all,
|
||||
.acf-ui-datepicker .ui-corner-bottom,
|
||||
.acf-ui-datepicker .ui-corner-right,
|
||||
.acf-ui-datepicker .ui-corner-br {
|
||||
border-bottom-right-radius: 3;
|
||||
}
|
||||
|
||||
/* Overlays */
|
||||
.acf-ui-datepicker .ui-widget-overlay {
|
||||
background: #ffffff;
|
||||
opacity: .3;
|
||||
filter: Alpha(Opacity=30); /* support: IE8 */
|
||||
}
|
||||
.acf-ui-datepicker .ui-widget-shadow {
|
||||
margin: -8px 0 0 -8px;
|
||||
padding: 8px;
|
||||
background: #aaaaaa;
|
||||
opacity: .3;
|
||||
filter: Alpha(Opacity=30); /* support: IE8 */
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
|
|
@ -1,704 +0,0 @@
|
|||
/*
|
||||
Version: 3.5.2 Timestamp: Sat Nov 1 14:43:36 EDT 2014
|
||||
*/
|
||||
.select2-container {
|
||||
margin: 0;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
/* inline-block for ie7 */
|
||||
zoom: 1;
|
||||
*display: inline;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.select2-container,
|
||||
.select2-drop,
|
||||
.select2-search,
|
||||
.select2-search input {
|
||||
/*
|
||||
Force border-box so that % widths fit the parent
|
||||
container without overlap because of margin/padding.
|
||||
More Info : http://www.quirksmode.org/css/box.html
|
||||
*/
|
||||
-webkit-box-sizing: border-box; /* webkit */
|
||||
-moz-box-sizing: border-box; /* firefox */
|
||||
box-sizing: border-box; /* css3 */
|
||||
}
|
||||
|
||||
.select2-container .select2-choice {
|
||||
display: block;
|
||||
height: 26px;
|
||||
padding: 0 0 0 8px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
|
||||
border: 1px solid #aaa;
|
||||
white-space: nowrap;
|
||||
line-height: 26px;
|
||||
color: #444;
|
||||
text-decoration: none;
|
||||
|
||||
border-radius: 4px;
|
||||
|
||||
background-clip: padding-box;
|
||||
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
background-color: #fff;
|
||||
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));
|
||||
background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);
|
||||
background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);
|
||||
background-image: linear-gradient(to top, #eee 0%, #fff 50%);
|
||||
}
|
||||
|
||||
html[dir="rtl"] .select2-container .select2-choice {
|
||||
padding: 0 8px 0 0;
|
||||
}
|
||||
|
||||
.select2-container.select2-drop-above .select2-choice {
|
||||
border-bottom-color: #aaa;
|
||||
|
||||
border-radius: 0 0 4px 4px;
|
||||
|
||||
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));
|
||||
background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);
|
||||
background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);
|
||||
background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);
|
||||
}
|
||||
|
||||
.select2-container.select2-allowclear .select2-choice .select2-chosen {
|
||||
margin-right: 42px;
|
||||
}
|
||||
|
||||
.select2-container .select2-choice > .select2-chosen {
|
||||
margin-right: 26px;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
|
||||
white-space: nowrap;
|
||||
|
||||
text-overflow: ellipsis;
|
||||
float: none;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .select2-container .select2-choice > .select2-chosen {
|
||||
margin-left: 26px;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.select2-container .select2-choice abbr {
|
||||
display: none;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
position: absolute;
|
||||
right: 24px;
|
||||
top: 8px;
|
||||
|
||||
font-size: 1px;
|
||||
text-decoration: none;
|
||||
|
||||
border: 0;
|
||||
background: url('select2.png') right top no-repeat;
|
||||
cursor: pointer;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.select2-container.select2-allowclear .select2-choice abbr {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.select2-container .select2-choice abbr:hover {
|
||||
background-position: right -11px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.select2-drop-mask {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
min-height: 100%;
|
||||
min-width: 100%;
|
||||
height: auto;
|
||||
width: auto;
|
||||
opacity: 0;
|
||||
z-index: 9998;
|
||||
/* styles required for IE to work */
|
||||
background-color: #fff;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
|
||||
.select2-drop {
|
||||
width: 100%;
|
||||
margin-top: -1px;
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
top: 100%;
|
||||
|
||||
background: #fff;
|
||||
color: #000;
|
||||
border: 1px solid #aaa;
|
||||
border-top: 0;
|
||||
|
||||
border-radius: 0 0 4px 4px;
|
||||
|
||||
-webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
|
||||
box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
|
||||
}
|
||||
|
||||
.select2-drop.select2-drop-above {
|
||||
margin-top: 1px;
|
||||
border-top: 1px solid #aaa;
|
||||
border-bottom: 0;
|
||||
|
||||
border-radius: 4px 4px 0 0;
|
||||
|
||||
-webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
|
||||
box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
|
||||
}
|
||||
|
||||
.select2-drop-active {
|
||||
border: 1px solid #5897fb;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
.select2-drop.select2-drop-above.select2-drop-active {
|
||||
border-top: 1px solid #5897fb;
|
||||
}
|
||||
|
||||
.select2-drop-auto-width {
|
||||
border-top: 1px solid #aaa;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.select2-drop-auto-width .select2-search {
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
.select2-container .select2-choice .select2-arrow {
|
||||
display: inline-block;
|
||||
width: 18px;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
|
||||
border-left: 1px solid #aaa;
|
||||
border-radius: 0 4px 4px 0;
|
||||
|
||||
background-clip: padding-box;
|
||||
|
||||
background: #ccc;
|
||||
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
|
||||
background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
|
||||
background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);
|
||||
background-image: linear-gradient(to top, #ccc 0%, #eee 60%);
|
||||
}
|
||||
|
||||
html[dir="rtl"] .select2-container .select2-choice .select2-arrow {
|
||||
left: 0;
|
||||
right: auto;
|
||||
|
||||
border-left: none;
|
||||
border-right: 1px solid #aaa;
|
||||
border-radius: 4px 0 0 4px;
|
||||
}
|
||||
|
||||
.select2-container .select2-choice .select2-arrow b {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: url('select2.png') no-repeat 0 1px;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .select2-container .select2-choice .select2-arrow b {
|
||||
background-position: 2px 1px;
|
||||
}
|
||||
|
||||
.select2-search {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
min-height: 26px;
|
||||
margin: 0;
|
||||
padding-left: 4px;
|
||||
padding-right: 4px;
|
||||
|
||||
position: relative;
|
||||
z-index: 10000;
|
||||
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.select2-search input {
|
||||
width: 100%;
|
||||
height: auto !important;
|
||||
min-height: 26px;
|
||||
padding: 4px 20px 4px 5px;
|
||||
margin: 0;
|
||||
|
||||
outline: 0;
|
||||
font-family: sans-serif;
|
||||
font-size: 1em;
|
||||
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 0;
|
||||
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
|
||||
background: #fff url('select2.png') no-repeat 100% -22px;
|
||||
background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
|
||||
background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
||||
background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
||||
background: url('select2.png') no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .select2-search input {
|
||||
padding: 4px 5px 4px 20px;
|
||||
|
||||
background: #fff url('select2.png') no-repeat -37px -22px;
|
||||
background: url('select2.png') no-repeat -37px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
|
||||
background: url('select2.png') no-repeat -37px -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
||||
background: url('select2.png') no-repeat -37px -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
||||
background: url('select2.png') no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
|
||||
}
|
||||
|
||||
.select2-drop.select2-drop-above .select2-search input {
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.select2-search input.select2-active {
|
||||
background: #fff url('select2-spinner.gif') no-repeat 100%;
|
||||
background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
|
||||
background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
||||
background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
||||
background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
|
||||
}
|
||||
|
||||
.select2-container-active .select2-choice,
|
||||
.select2-container-active .select2-choices {
|
||||
border: 1px solid #5897fb;
|
||||
outline: none;
|
||||
|
||||
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
||||
box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
||||
}
|
||||
|
||||
.select2-dropdown-open .select2-choice {
|
||||
border-bottom-color: transparent;
|
||||
-webkit-box-shadow: 0 1px 0 #fff inset;
|
||||
box-shadow: 0 1px 0 #fff inset;
|
||||
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
|
||||
background-color: #eee;
|
||||
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));
|
||||
background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);
|
||||
background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
|
||||
background-image: linear-gradient(to top, #fff 0%, #eee 50%);
|
||||
}
|
||||
|
||||
.select2-dropdown-open.select2-drop-above .select2-choice,
|
||||
.select2-dropdown-open.select2-drop-above .select2-choices {
|
||||
border: 1px solid #5897fb;
|
||||
border-top-color: transparent;
|
||||
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));
|
||||
background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);
|
||||
background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
|
||||
background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);
|
||||
}
|
||||
|
||||
.select2-dropdown-open .select2-choice .select2-arrow {
|
||||
background: transparent;
|
||||
border-left: none;
|
||||
filter: none;
|
||||
}
|
||||
html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.select2-dropdown-open .select2-choice .select2-arrow b {
|
||||
background-position: -18px 1px;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow b {
|
||||
background-position: -16px 1px;
|
||||
}
|
||||
|
||||
.select2-hidden-accessible {
|
||||
border: 0;
|
||||
clip: rect(0 0 0 0);
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
/* results */
|
||||
.select2-results {
|
||||
max-height: 200px;
|
||||
padding: 0 0 0 4px;
|
||||
margin: 4px 4px 4px 0;
|
||||
position: relative;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
html[dir="rtl"] .select2-results {
|
||||
padding: 0 4px 0 0;
|
||||
margin: 4px 0 4px 4px;
|
||||
}
|
||||
|
||||
.select2-results ul.select2-result-sub {
|
||||
margin: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.select2-results li {
|
||||
list-style: none;
|
||||
display: list-item;
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
.select2-results li.select2-result-with-children > .select2-result-label {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.select2-results .select2-result-label {
|
||||
padding: 3px 7px 4px;
|
||||
margin: 0;
|
||||
cursor: pointer;
|
||||
|
||||
min-height: 1em;
|
||||
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.select2-results-dept-1 .select2-result-label { padding-left: 20px }
|
||||
.select2-results-dept-2 .select2-result-label { padding-left: 40px }
|
||||
.select2-results-dept-3 .select2-result-label { padding-left: 60px }
|
||||
.select2-results-dept-4 .select2-result-label { padding-left: 80px }
|
||||
.select2-results-dept-5 .select2-result-label { padding-left: 100px }
|
||||
.select2-results-dept-6 .select2-result-label { padding-left: 110px }
|
||||
.select2-results-dept-7 .select2-result-label { padding-left: 120px }
|
||||
|
||||
.select2-results .select2-highlighted {
|
||||
background: #3875d7;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.select2-results li em {
|
||||
background: #feffde;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.select2-results .select2-highlighted em {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.select2-results .select2-highlighted ul {
|
||||
background: #fff;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.select2-results .select2-no-results,
|
||||
.select2-results .select2-searching,
|
||||
.select2-results .select2-ajax-error,
|
||||
.select2-results .select2-selection-limit {
|
||||
background: #f4f4f4;
|
||||
display: list-item;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
/*
|
||||
disabled look for disabled choices in the results dropdown
|
||||
*/
|
||||
.select2-results .select2-disabled.select2-highlighted {
|
||||
color: #666;
|
||||
background: #f4f4f4;
|
||||
display: list-item;
|
||||
cursor: default;
|
||||
}
|
||||
.select2-results .select2-disabled {
|
||||
background: #f4f4f4;
|
||||
display: list-item;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.select2-results .select2-selected {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.select2-more-results.select2-active {
|
||||
background: #f4f4f4 url('select2-spinner.gif') no-repeat 100%;
|
||||
}
|
||||
|
||||
.select2-results .select2-ajax-error {
|
||||
background: rgba(255, 50, 50, .2);
|
||||
}
|
||||
|
||||
.select2-more-results {
|
||||
background: #f4f4f4;
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
/* disabled styles */
|
||||
|
||||
.select2-container.select2-container-disabled .select2-choice {
|
||||
background-color: #f4f4f4;
|
||||
background-image: none;
|
||||
border: 1px solid #ddd;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.select2-container.select2-container-disabled .select2-choice .select2-arrow {
|
||||
background-color: #f4f4f4;
|
||||
background-image: none;
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
.select2-container.select2-container-disabled .select2-choice abbr {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
/* multiselect */
|
||||
|
||||
.select2-container-multi .select2-choices {
|
||||
height: auto !important;
|
||||
height: 1%;
|
||||
margin: 0;
|
||||
padding: 0 5px 0 0;
|
||||
position: relative;
|
||||
|
||||
border: 1px solid #aaa;
|
||||
cursor: text;
|
||||
overflow: hidden;
|
||||
|
||||
background-color: #fff;
|
||||
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));
|
||||
background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);
|
||||
background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);
|
||||
background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);
|
||||
}
|
||||
|
||||
html[dir="rtl"] .select2-container-multi .select2-choices {
|
||||
padding: 0 0 0 5px;
|
||||
}
|
||||
|
||||
.select2-locked {
|
||||
padding: 3px 5px 3px 5px !important;
|
||||
}
|
||||
|
||||
.select2-container-multi .select2-choices {
|
||||
min-height: 26px;
|
||||
}
|
||||
|
||||
.select2-container-multi.select2-container-active .select2-choices {
|
||||
border: 1px solid #5897fb;
|
||||
outline: none;
|
||||
|
||||
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
||||
box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
||||
}
|
||||
.select2-container-multi .select2-choices li {
|
||||
float: left;
|
||||
list-style: none;
|
||||
}
|
||||
html[dir="rtl"] .select2-container-multi .select2-choices li
|
||||
{
|
||||
float: right;
|
||||
}
|
||||
.select2-container-multi .select2-choices .select2-search-field {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.select2-container-multi .select2-choices .select2-search-field input {
|
||||
padding: 5px;
|
||||
margin: 1px 0;
|
||||
|
||||
font-family: sans-serif;
|
||||
font-size: 100%;
|
||||
color: #666;
|
||||
outline: 0;
|
||||
border: 0;
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.select2-container-multi .select2-choices .select2-search-field input.select2-active {
|
||||
background: #fff url('select2-spinner.gif') no-repeat 100% !important;
|
||||
}
|
||||
|
||||
.select2-default {
|
||||
color: #999 !important;
|
||||
}
|
||||
|
||||
.select2-container-multi .select2-choices .select2-search-choice {
|
||||
padding: 3px 5px 3px 18px;
|
||||
margin: 3px 0 3px 5px;
|
||||
position: relative;
|
||||
|
||||
line-height: 13px;
|
||||
color: #333;
|
||||
cursor: default;
|
||||
border: 1px solid #aaaaaa;
|
||||
|
||||
border-radius: 3px;
|
||||
|
||||
-webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
|
||||
box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
|
||||
|
||||
background-clip: padding-box;
|
||||
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
background-color: #e4e4e4;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);
|
||||
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));
|
||||
background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
||||
background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
||||
background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
||||
}
|
||||
html[dir="rtl"] .select2-container-multi .select2-choices .select2-search-choice
|
||||
{
|
||||
margin: 3px 5px 3px 0;
|
||||
padding: 3px 18px 3px 5px;
|
||||
}
|
||||
.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {
|
||||
cursor: default;
|
||||
}
|
||||
.select2-container-multi .select2-choices .select2-search-choice-focus {
|
||||
background: #d4d4d4;
|
||||
}
|
||||
|
||||
.select2-search-choice-close {
|
||||
display: block;
|
||||
width: 12px;
|
||||
height: 13px;
|
||||
position: absolute;
|
||||
right: 3px;
|
||||
top: 4px;
|
||||
|
||||
font-size: 1px;
|
||||
outline: none;
|
||||
background: url('select2.png') right top no-repeat;
|
||||
}
|
||||
html[dir="rtl"] .select2-search-choice-close {
|
||||
right: auto;
|
||||
left: 3px;
|
||||
}
|
||||
|
||||
.select2-container-multi .select2-search-choice-close {
|
||||
left: 3px;
|
||||
}
|
||||
|
||||
html[dir="rtl"] .select2-container-multi .select2-search-choice-close {
|
||||
left: auto;
|
||||
right: 2px;
|
||||
}
|
||||
|
||||
.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
|
||||
background-position: right -11px;
|
||||
}
|
||||
.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
|
||||
background-position: right -11px;
|
||||
}
|
||||
|
||||
/* disabled styles */
|
||||
.select2-container-multi.select2-container-disabled .select2-choices {
|
||||
background-color: #f4f4f4;
|
||||
background-image: none;
|
||||
border: 1px solid #ddd;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
|
||||
padding: 3px 5px 3px 5px;
|
||||
border: 1px solid #ddd;
|
||||
background-image: none;
|
||||
background-color: #f4f4f4;
|
||||
}
|
||||
|
||||
.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none;
|
||||
background: none;
|
||||
}
|
||||
/* end multiselect */
|
||||
|
||||
|
||||
.select2-result-selectable .select2-match,
|
||||
.select2-result-unselectable .select2-match {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.select2-offscreen, .select2-offscreen:focus {
|
||||
clip: rect(0 0 0 0) !important;
|
||||
width: 1px !important;
|
||||
height: 1px !important;
|
||||
border: 0 !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
overflow: hidden !important;
|
||||
position: absolute !important;
|
||||
outline: 0 !important;
|
||||
left: 0px !important;
|
||||
top: 0px !important;
|
||||
}
|
||||
|
||||
.select2-display-none {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.select2-measure-scrollbar {
|
||||
position: absolute;
|
||||
top: -10000px;
|
||||
left: -10000px;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
/* Retina-ize icons */
|
||||
|
||||
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx) {
|
||||
.select2-search input,
|
||||
.select2-search-choice-close,
|
||||
.select2-container .select2-choice abbr,
|
||||
.select2-container .select2-choice .select2-arrow b {
|
||||
background-image: url('select2x2.png') !important;
|
||||
background-repeat: no-repeat !important;
|
||||
background-size: 60px 40px !important;
|
||||
}
|
||||
|
||||
.select2-search input {
|
||||
background-position: 100% -21px !important;
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 525 B |
|
Before Width: | Height: | Size: 653 B |
|
|
@ -1,484 +0,0 @@
|
|||
.select2-container {
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
vertical-align: middle; }
|
||||
.select2-container .select2-selection--single {
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
height: 28px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none; }
|
||||
.select2-container .select2-selection--single .select2-selection__rendered {
|
||||
display: block;
|
||||
padding-left: 8px;
|
||||
padding-right: 20px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap; }
|
||||
.select2-container .select2-selection--single .select2-selection__clear {
|
||||
position: relative; }
|
||||
.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
|
||||
padding-right: 8px;
|
||||
padding-left: 20px; }
|
||||
.select2-container .select2-selection--multiple {
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
min-height: 32px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none; }
|
||||
.select2-container .select2-selection--multiple .select2-selection__rendered {
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
padding-left: 8px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap; }
|
||||
.select2-container .select2-search--inline {
|
||||
float: left; }
|
||||
.select2-container .select2-search--inline .select2-search__field {
|
||||
box-sizing: border-box;
|
||||
border: none;
|
||||
font-size: 100%;
|
||||
margin-top: 5px;
|
||||
padding: 0; }
|
||||
.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
|
||||
-webkit-appearance: none; }
|
||||
|
||||
.select2-dropdown {
|
||||
background-color: white;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -100000px;
|
||||
width: 100%;
|
||||
z-index: 1051; }
|
||||
|
||||
.select2-results {
|
||||
display: block; }
|
||||
|
||||
.select2-results__options {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
|
||||
.select2-results__option {
|
||||
padding: 6px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none; }
|
||||
.select2-results__option[aria-selected] {
|
||||
cursor: pointer; }
|
||||
|
||||
.select2-container--open .select2-dropdown {
|
||||
left: 0; }
|
||||
|
||||
.select2-container--open .select2-dropdown--above {
|
||||
border-bottom: none;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0; }
|
||||
|
||||
.select2-container--open .select2-dropdown--below {
|
||||
border-top: none;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0; }
|
||||
|
||||
.select2-search--dropdown {
|
||||
display: block;
|
||||
padding: 4px; }
|
||||
.select2-search--dropdown .select2-search__field {
|
||||
padding: 4px;
|
||||
width: 100%;
|
||||
box-sizing: border-box; }
|
||||
.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
|
||||
-webkit-appearance: none; }
|
||||
.select2-search--dropdown.select2-search--hide {
|
||||
display: none; }
|
||||
|
||||
.select2-close-mask {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: block;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
min-height: 100%;
|
||||
min-width: 100%;
|
||||
height: auto;
|
||||
width: auto;
|
||||
opacity: 0;
|
||||
z-index: 99;
|
||||
background-color: #fff;
|
||||
filter: alpha(opacity=0); }
|
||||
|
||||
.select2-hidden-accessible {
|
||||
border: 0 !important;
|
||||
clip: rect(0 0 0 0) !important;
|
||||
height: 1px !important;
|
||||
margin: -1px !important;
|
||||
overflow: hidden !important;
|
||||
padding: 0 !important;
|
||||
position: absolute !important;
|
||||
width: 1px !important; }
|
||||
|
||||
.select2-container--default .select2-selection--single {
|
||||
background-color: #fff;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
||||
color: #444;
|
||||
line-height: 28px; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__clear {
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
font-weight: bold; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__placeholder {
|
||||
color: #999; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||
height: 26px;
|
||||
position: absolute;
|
||||
top: 1px;
|
||||
right: 1px;
|
||||
width: 20px; }
|
||||
.select2-container--default .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: #888 transparent transparent transparent;
|
||||
border-style: solid;
|
||||
border-width: 5px 4px 0 4px;
|
||||
height: 0;
|
||||
left: 50%;
|
||||
margin-left: -4px;
|
||||
margin-top: -2px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 0; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
||||
float: left; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
||||
left: 1px;
|
||||
right: auto; }
|
||||
|
||||
.select2-container--default.select2-container--disabled .select2-selection--single {
|
||||
background-color: #eee;
|
||||
cursor: default; }
|
||||
.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
|
||||
display: none; }
|
||||
|
||||
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: transparent transparent #888 transparent;
|
||||
border-width: 0 4px 5px 4px; }
|
||||
|
||||
.select2-container--default .select2-selection--multiple {
|
||||
background-color: white;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
cursor: text; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
|
||||
box-sizing: border-box;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0 5px;
|
||||
width: 100%; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
|
||||
list-style: none; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
|
||||
color: #999;
|
||||
margin-top: 5px;
|
||||
float: left; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__clear {
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
font-weight: bold;
|
||||
margin-top: 5px;
|
||||
margin-right: 10px; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
||||
background-color: #e4e4e4;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
cursor: default;
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
margin-top: 5px;
|
||||
padding: 0 5px; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
|
||||
color: #999;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
margin-right: 2px; }
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
|
||||
color: #333; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
|
||||
float: right; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||
margin-left: 5px;
|
||||
margin-right: auto; }
|
||||
|
||||
.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
||||
margin-left: 2px;
|
||||
margin-right: auto; }
|
||||
|
||||
.select2-container--default.select2-container--focus .select2-selection--multiple {
|
||||
border: solid black 1px;
|
||||
outline: 0; }
|
||||
|
||||
.select2-container--default.select2-container--disabled .select2-selection--multiple {
|
||||
background-color: #eee;
|
||||
cursor: default; }
|
||||
|
||||
.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
|
||||
display: none; }
|
||||
|
||||
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0; }
|
||||
|
||||
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0; }
|
||||
|
||||
.select2-container--default .select2-search--dropdown .select2-search__field {
|
||||
border: 1px solid #aaa; }
|
||||
|
||||
.select2-container--default .select2-search--inline .select2-search__field {
|
||||
background: transparent;
|
||||
border: none;
|
||||
outline: 0;
|
||||
box-shadow: none;
|
||||
-webkit-appearance: textfield; }
|
||||
|
||||
.select2-container--default .select2-results > .select2-results__options {
|
||||
max-height: 200px;
|
||||
overflow-y: auto; }
|
||||
|
||||
.select2-container--default .select2-results__option[role=group] {
|
||||
padding: 0; }
|
||||
|
||||
.select2-container--default .select2-results__option[aria-disabled=true] {
|
||||
color: #999; }
|
||||
|
||||
.select2-container--default .select2-results__option[aria-selected=true] {
|
||||
background-color: #ddd; }
|
||||
|
||||
.select2-container--default .select2-results__option .select2-results__option {
|
||||
padding-left: 1em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
|
||||
padding-left: 0; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -1em;
|
||||
padding-left: 2em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -2em;
|
||||
padding-left: 3em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -3em;
|
||||
padding-left: 4em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -4em;
|
||||
padding-left: 5em; }
|
||||
.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
|
||||
margin-left: -5em;
|
||||
padding-left: 6em; }
|
||||
|
||||
.select2-container--default .select2-results__option--highlighted[aria-selected] {
|
||||
background-color: #5897fb;
|
||||
color: white; }
|
||||
|
||||
.select2-container--default .select2-results__group {
|
||||
cursor: default;
|
||||
display: block;
|
||||
padding: 6px; }
|
||||
|
||||
.select2-container--classic .select2-selection--single {
|
||||
background-color: #f7f7f7;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
outline: 0;
|
||||
background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
|
||||
background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
|
||||
background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
|
||||
.select2-container--classic .select2-selection--single:focus {
|
||||
border: 1px solid #5897fb; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__rendered {
|
||||
color: #444;
|
||||
line-height: 28px; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__clear {
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
font-weight: bold;
|
||||
margin-right: 10px; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__placeholder {
|
||||
color: #999; }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__arrow {
|
||||
background-color: #ddd;
|
||||
border: none;
|
||||
border-left: 1px solid #aaa;
|
||||
border-top-right-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
height: 26px;
|
||||
position: absolute;
|
||||
top: 1px;
|
||||
right: 1px;
|
||||
width: 20px;
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
|
||||
background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
|
||||
background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
|
||||
.select2-container--classic .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: #888 transparent transparent transparent;
|
||||
border-style: solid;
|
||||
border-width: 5px 4px 0 4px;
|
||||
height: 0;
|
||||
left: 50%;
|
||||
margin-left: -4px;
|
||||
margin-top: -2px;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
width: 0; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
|
||||
float: left; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
|
||||
border: none;
|
||||
border-right: 1px solid #aaa;
|
||||
border-radius: 0;
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
left: 1px;
|
||||
right: auto; }
|
||||
|
||||
.select2-container--classic.select2-container--open .select2-selection--single {
|
||||
border: 1px solid #5897fb; }
|
||||
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
|
||||
background: transparent;
|
||||
border: none; }
|
||||
.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
|
||||
border-color: transparent transparent #888 transparent;
|
||||
border-width: 0 4px 5px 4px; }
|
||||
|
||||
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
|
||||
border-top: none;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
|
||||
background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
|
||||
background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
|
||||
|
||||
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
|
||||
border-bottom: none;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
|
||||
background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
|
||||
background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }
|
||||
|
||||
.select2-container--classic .select2-selection--multiple {
|
||||
background-color: white;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
cursor: text;
|
||||
outline: 0; }
|
||||
.select2-container--classic .select2-selection--multiple:focus {
|
||||
border: 1px solid #5897fb; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0 5px; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__clear {
|
||||
display: none; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice {
|
||||
background-color: #e4e4e4;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 4px;
|
||||
cursor: default;
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
margin-top: 5px;
|
||||
padding: 0 5px; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
|
||||
color: #888;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
margin-right: 2px; }
|
||||
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
|
||||
color: #555; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||
float: right; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
|
||||
margin-left: 5px;
|
||||
margin-right: auto; }
|
||||
|
||||
.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
|
||||
margin-left: 2px;
|
||||
margin-right: auto; }
|
||||
|
||||
.select2-container--classic.select2-container--open .select2-selection--multiple {
|
||||
border: 1px solid #5897fb; }
|
||||
|
||||
.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
|
||||
border-top: none;
|
||||
border-top-left-radius: 0;
|
||||
border-top-right-radius: 0; }
|
||||
|
||||
.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
|
||||
border-bottom: none;
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0; }
|
||||
|
||||
.select2-container--classic .select2-search--dropdown .select2-search__field {
|
||||
border: 1px solid #aaa;
|
||||
outline: 0; }
|
||||
|
||||
.select2-container--classic .select2-search--inline .select2-search__field {
|
||||
outline: 0;
|
||||
box-shadow: none; }
|
||||
|
||||
.select2-container--classic .select2-dropdown {
|
||||
background-color: white;
|
||||
border: 1px solid transparent; }
|
||||
|
||||
.select2-container--classic .select2-dropdown--above {
|
||||
border-bottom: none; }
|
||||
|
||||
.select2-container--classic .select2-dropdown--below {
|
||||
border-top: none; }
|
||||
|
||||
.select2-container--classic .select2-results > .select2-results__options {
|
||||
max-height: 200px;
|
||||
overflow-y: auto; }
|
||||
|
||||
.select2-container--classic .select2-results__option[role=group] {
|
||||
padding: 0; }
|
||||
|
||||
.select2-container--classic .select2-results__option[aria-disabled=true] {
|
||||
color: grey; }
|
||||
|
||||
.select2-container--classic .select2-results__option--highlighted[aria-selected] {
|
||||
background-color: #3875d7;
|
||||
color: white; }
|
||||
|
||||
.select2-container--classic .select2-results__group {
|
||||
cursor: default;
|
||||
display: block;
|
||||
padding: 6px; }
|
||||
|
||||
.select2-container--classic.select2-container--open .select2-dropdown {
|
||||
border-color: #5897fb; }
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; }
|
||||
.ui-timepicker-div dl { text-align: left; }
|
||||
.ui-timepicker-div dl dt { float: left; clear:left; padding: 0 0 0 5px; }
|
||||
.ui-timepicker-div dl dd { margin: 0 10px 10px 40%; }
|
||||
.ui-timepicker-div td { font-size: 90%; }
|
||||
.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; }
|
||||
.ui-timepicker-div .ui_tpicker_unit_hide{ display: none; }
|
||||
|
||||
.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input { background: none; color: inherit; border: none; outline: none; border-bottom: solid 1px #555; width: 95%; }
|
||||
.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input:focus { border-bottom-color: #aaa; }
|
||||
|
||||
.ui-timepicker-rtl{ direction: rtl; }
|
||||
.ui-timepicker-rtl dl { text-align: right; padding: 0 5px 0 0; }
|
||||
.ui-timepicker-rtl dl dt{ float: right; clear: right; }
|
||||
.ui-timepicker-rtl dl dd { margin: 0 40% 10px 10px; }
|
||||
|
||||
/* Shortened version style */
|
||||
.ui-timepicker-div.ui-timepicker-oneLine { padding-right: 2px; }
|
||||
.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time,
|
||||
.ui-timepicker-div.ui-timepicker-oneLine dt { display: none; }
|
||||
.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label { display: block; padding-top: 2px; }
|
||||
.ui-timepicker-div.ui-timepicker-oneLine dl { text-align: right; }
|
||||
.ui-timepicker-div.ui-timepicker-oneLine dl dd,
|
||||
.ui-timepicker-div.ui-timepicker-oneLine dl dd > div { display:inline-block; margin:0; }
|
||||
.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_minute:before,
|
||||
.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before { content:':'; display:inline-block; }
|
||||
.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_millisec:before,
|
||||
.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_microsec:before { content:'.'; display:inline-block; }
|
||||
.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide,
|
||||
.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide:before{ display: none; }
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
/*! jQuery Timepicker Addon - v1.6.3 - 2016-04-20
|
||||
* http://trentrichardson.com/examples/timepicker
|
||||
* Copyright (c) 2016 Trent Richardson; Licensed MIT */
|
||||
|
||||
.ui-timepicker-div .ui-widget-header{margin-bottom:8px}.ui-timepicker-div dl{text-align:left}.ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.ui-timepicker-div dl dd{margin:0 10px 10px 40%}.ui-timepicker-div td{font-size:90%}.ui-tpicker-grid-label{background:0 0;border:0;margin:0;padding:0}.ui-timepicker-div .ui_tpicker_unit_hide{display:none}.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input{background:0 0;color:inherit;border:0;outline:0;border-bottom:solid 1px #555;width:95%}.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input:focus{border-bottom-color:#aaa}.ui-timepicker-rtl{direction:rtl}.ui-timepicker-rtl dl{text-align:right;padding:0 5px 0 0}.ui-timepicker-rtl dl dt{float:right;clear:right}.ui-timepicker-rtl dl dd{margin:0 40% 10px 10px}.ui-timepicker-div.ui-timepicker-oneLine{padding-right:2px}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time,.ui-timepicker-div.ui-timepicker-oneLine dt{display:none}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label{display:block;padding-top:2px}.ui-timepicker-div.ui-timepicker-oneLine dl{text-align:right}.ui-timepicker-div.ui-timepicker-oneLine dl dd,.ui-timepicker-div.ui-timepicker-oneLine dl dd>div{display:inline-block;margin:0}.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_minute:before,.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before{content:':';display:inline-block}.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_millisec:before,.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_microsec:before{content:'.';display:inline-block}.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide,.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide:before{display:none}
|
||||
|
|
@ -1,867 +0,0 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* ACF Admin Field Group Class
|
||||
*
|
||||
* All the logic for editing a field group
|
||||
*
|
||||
* @class acf_admin_field_group
|
||||
* @package ACF
|
||||
* @subpackage Admin
|
||||
*/
|
||||
|
||||
if( ! class_exists('acf_admin_field_group') ) :
|
||||
|
||||
class acf_admin_field_group {
|
||||
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
* This function will setup the class functionality
|
||||
*
|
||||
* @type function
|
||||
* @date 5/03/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
// actions
|
||||
add_action('current_screen', array($this, 'current_screen'));
|
||||
add_action('save_post', array($this, 'save_post'), 10, 2);
|
||||
|
||||
|
||||
// ajax
|
||||
add_action('wp_ajax_acf/field_group/render_field_settings', array($this, 'ajax_render_field_settings'));
|
||||
add_action('wp_ajax_acf/field_group/render_location_rule', array($this, 'ajax_render_location_rule'));
|
||||
add_action('wp_ajax_acf/field_group/move_field', array($this, 'ajax_move_field'));
|
||||
|
||||
|
||||
// filters
|
||||
add_filter('post_updated_messages', array($this, 'post_updated_messages'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* post_updated_messages
|
||||
*
|
||||
* This function will customize the message shown when editing a field group
|
||||
*
|
||||
* @type action (post_updated_messages)
|
||||
* @date 30/04/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $messages (array)
|
||||
* @return $messages
|
||||
*/
|
||||
|
||||
function post_updated_messages( $messages ) {
|
||||
|
||||
// append to messages
|
||||
$messages['acf-field-group'] = array(
|
||||
0 => '', // Unused. Messages start at index 1.
|
||||
1 => __('Field group updated.', 'acf'),
|
||||
2 => __('Field group updated.', 'acf'),
|
||||
3 => __('Field group deleted.', 'acf'),
|
||||
4 => __('Field group updated.', 'acf'),
|
||||
5 => false, // field group does not support revisions
|
||||
6 => __('Field group published.', 'acf'),
|
||||
7 => __('Field group saved.', 'acf'),
|
||||
8 => __('Field group submitted.', 'acf'),
|
||||
9 => __('Field group scheduled for.', 'acf'),
|
||||
10 => __('Field group draft updated.', 'acf')
|
||||
);
|
||||
|
||||
|
||||
// return
|
||||
return $messages;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* current_screen
|
||||
*
|
||||
* This function is fired when loading the admin page before HTML has been rendered.
|
||||
*
|
||||
* @type action (current_screen)
|
||||
* @date 21/07/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function current_screen() {
|
||||
|
||||
// validate screen
|
||||
if( !acf_is_screen('acf-field-group') ) return;
|
||||
|
||||
|
||||
// disable filters to ensure ACF loads raw data from DB
|
||||
acf_disable_filters();
|
||||
|
||||
|
||||
// enqueue scripts
|
||||
acf_enqueue_scripts();
|
||||
|
||||
|
||||
// actions
|
||||
add_action('acf/input/admin_enqueue_scripts', array($this, 'admin_enqueue_scripts'));
|
||||
add_action('acf/input/admin_head', array($this, 'admin_head'));
|
||||
add_action('acf/input/form_data', array($this, 'form_data'));
|
||||
add_action('acf/input/admin_footer', array($this, 'admin_footer'));
|
||||
add_action('acf/input/admin_footer_js', array($this, 'admin_footer_js'));
|
||||
|
||||
|
||||
// filters
|
||||
add_filter('acf/input/admin_l10n', array($this, 'admin_l10n'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_enqueue_scripts
|
||||
*
|
||||
* This action is run after post query but before any admin script / head actions.
|
||||
* It is a good place to register all actions.
|
||||
*
|
||||
* @type action (admin_enqueue_scripts)
|
||||
* @date 30/06/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_enqueue_scripts() {
|
||||
|
||||
// no autosave
|
||||
wp_dequeue_script('autosave');
|
||||
|
||||
|
||||
// custom scripts
|
||||
wp_enqueue_style('acf-field-group');
|
||||
wp_enqueue_script('acf-field-group');
|
||||
|
||||
|
||||
// 3rd party hook
|
||||
do_action('acf/field_group/admin_enqueue_scripts');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_head
|
||||
*
|
||||
* This function will setup all functionality for the field group edit page to work
|
||||
*
|
||||
* @type action (admin_head)
|
||||
* @date 23/06/12
|
||||
* @since 3.1.8
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function admin_head() {
|
||||
|
||||
// global
|
||||
global $post, $field_group;
|
||||
|
||||
|
||||
// set global var
|
||||
$field_group = acf_get_field_group( $post );
|
||||
|
||||
|
||||
// metaboxes
|
||||
add_meta_box('acf-field-group-fields', __("Fields",'acf'), array($this, 'mb_fields'), 'acf-field-group', 'normal', 'high');
|
||||
add_meta_box('acf-field-group-locations', __("Location",'acf'), array($this, 'mb_locations'), 'acf-field-group', 'normal', 'high');
|
||||
add_meta_box('acf-field-group-options', __("Settings",'acf'), array($this, 'mb_options'), 'acf-field-group', 'normal', 'high');
|
||||
|
||||
|
||||
// actions
|
||||
add_action('post_submitbox_misc_actions', array($this, 'post_submitbox_misc_actions'), 10, 0);
|
||||
add_action('edit_form_after_title', array($this, 'edit_form_after_title'), 10, 0);
|
||||
|
||||
|
||||
// filters
|
||||
add_filter('screen_settings', array($this, 'screen_settings'), 10, 1);
|
||||
|
||||
|
||||
// 3rd party hook
|
||||
do_action('acf/field_group/admin_head');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* edit_form_after_title
|
||||
*
|
||||
* This action will allow ACF to render metaboxes after the title
|
||||
*
|
||||
* @type action
|
||||
* @date 17/08/13
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function edit_form_after_title() {
|
||||
|
||||
// globals
|
||||
global $post;
|
||||
|
||||
|
||||
// render post data
|
||||
acf_form_data(array(
|
||||
'screen' => 'field_group',
|
||||
'post_id' => $post->ID,
|
||||
'delete_fields' => 0
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* form_data
|
||||
*
|
||||
* This function will add extra HTML to the acf form data element
|
||||
*
|
||||
* @type function
|
||||
* @date 31/05/2016
|
||||
* @since 5.3.8
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function form_data( $args ) {
|
||||
|
||||
// do action
|
||||
do_action('acf/field_group/form_data', $args);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_l10n
|
||||
*
|
||||
* This function will append extra l10n strings to the acf JS object
|
||||
*
|
||||
* @type function
|
||||
* @date 31/05/2016
|
||||
* @since 5.3.8
|
||||
*
|
||||
* @param $l10n (array)
|
||||
* @return $l10n
|
||||
*/
|
||||
|
||||
function admin_l10n( $l10n ) {
|
||||
|
||||
// merge in new strings
|
||||
$l10n = array_merge($l10n, array(
|
||||
'move_to_trash' => __("Move to trash. Are you sure?",'acf'),
|
||||
'checked' => __("checked",'acf'),
|
||||
'no_fields' => __("No toggle fields available",'acf'),
|
||||
'title_is_required' => __("Field group title is required",'acf'),
|
||||
'copy' => __("copy",'acf'),
|
||||
'or' => __("or",'acf'),
|
||||
'fields' => __("Fields",'acf'),
|
||||
'parent_fields' => __("Parent fields",'acf'),
|
||||
'sibling_fields' => __("Sibling fields",'acf'),
|
||||
'move_field' => __("Move Custom Field",'acf'),
|
||||
'move_field_warning' => __("This field cannot be moved until its changes have been saved",'acf'),
|
||||
'null' => __("Null",'acf'),
|
||||
'unload' => __('The changes you made will be lost if you navigate away from this page','acf'),
|
||||
'field_name_start' => __('The string "field_" may not be used at the start of a field name','acf'),
|
||||
));
|
||||
|
||||
|
||||
// 3rd party hook
|
||||
$l10n = apply_filters('acf/field_group/admin_l10n', $l10n);
|
||||
|
||||
|
||||
// return
|
||||
return $l10n;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* admin_footer
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 11/01/2016
|
||||
* @since 5.3.2
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function admin_footer() {
|
||||
|
||||
// 3rd party hook
|
||||
do_action('acf/field_group/admin_footer');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_footer_js
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 31/05/2016
|
||||
* @since 5.3.8
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function admin_footer_js() {
|
||||
|
||||
// 3rd party hook
|
||||
do_action('acf/field_group/admin_footer_js');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* screen_settings
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 26/01/13
|
||||
* @since 3.6.0
|
||||
*
|
||||
* @param $current (string)
|
||||
* @return $current
|
||||
*/
|
||||
|
||||
function screen_settings( $html ) {
|
||||
|
||||
// vars
|
||||
$checked = acf_get_user_setting('show_field_keys') ? 'checked="checked"' : '';
|
||||
|
||||
|
||||
// append
|
||||
$html .= '<div id="acf-append-show-on-screen" class="acf-hidden">';
|
||||
$html .= '<label for="acf-field-key-hide"><input id="acf-field-key-hide" type="checkbox" value="1" name="show_field_keys" ' . $checked . ' /> ' . __('Field Keys','acf') . '</label>';
|
||||
$html .= '</div>';
|
||||
|
||||
|
||||
// return
|
||||
return $html;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* post_submitbox_misc_actions
|
||||
*
|
||||
* This function will customize the publish metabox
|
||||
*
|
||||
* @type function
|
||||
* @date 17/07/2015
|
||||
* @since 5.2.9
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function post_submitbox_misc_actions() {
|
||||
|
||||
// global
|
||||
global $field_group;
|
||||
|
||||
|
||||
// vars
|
||||
$status = $field_group['active'] ? __("Active",'acf') : __("Inactive",'acf');
|
||||
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
(function($) {
|
||||
|
||||
// modify status
|
||||
$('#post-status-display').html('<?php echo $status; ?>');
|
||||
|
||||
|
||||
// remove edit links
|
||||
$('#misc-publishing-actions a').remove();
|
||||
|
||||
|
||||
// remove editables (fixes status text changing on submit)
|
||||
$('#misc-publishing-actions .hide-if-js').remove();
|
||||
|
||||
})(jQuery);
|
||||
</script>
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* save_post
|
||||
*
|
||||
* This function will save all the field group data
|
||||
*
|
||||
* @type function
|
||||
* @date 23/06/12
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function save_post( $post_id, $post ) {
|
||||
|
||||
// do not save if this is an auto save routine
|
||||
if( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) {
|
||||
|
||||
return $post_id;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// bail early if not acf-field-group
|
||||
if( $post->post_type !== 'acf-field-group' ) {
|
||||
|
||||
return $post_id;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// only save once! WordPress save's a revision as well.
|
||||
if( wp_is_post_revision($post_id) ) {
|
||||
|
||||
return $post_id;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// verify nonce
|
||||
if( !acf_verify_nonce('field_group') ) {
|
||||
|
||||
return $post_id;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// disable filters to ensure ACF loads raw data from DB
|
||||
acf_disable_filters();
|
||||
|
||||
|
||||
// save fields
|
||||
if( !empty($_POST['acf_fields']) ) {
|
||||
|
||||
foreach( $_POST['acf_fields'] as $field ) {
|
||||
|
||||
// vars
|
||||
$specific = false;
|
||||
$save = acf_extract_var( $field, 'save' );
|
||||
|
||||
|
||||
// only saved field if has changed
|
||||
if( $save == 'meta' ) {
|
||||
|
||||
$specific = array(
|
||||
'menu_order',
|
||||
'post_parent',
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// set field parent
|
||||
if( empty($field['parent']) ) {
|
||||
|
||||
$field['parent'] = $post_id;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// save field
|
||||
acf_update_field( $field, $specific );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// delete fields
|
||||
if( $_POST['_acf_delete_fields'] ) {
|
||||
|
||||
// clean
|
||||
$ids = explode('|', $_POST['_acf_delete_fields']);
|
||||
$ids = array_map( 'intval', $ids );
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $ids as $id ) {
|
||||
|
||||
// bai early if no id
|
||||
if( !$id ) continue;
|
||||
|
||||
|
||||
// delete
|
||||
acf_delete_field( $id );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// add args
|
||||
$_POST['acf_field_group']['ID'] = $post_id;
|
||||
$_POST['acf_field_group']['title'] = $_POST['post_title'];
|
||||
|
||||
|
||||
// save field group
|
||||
acf_update_field_group( $_POST['acf_field_group'] );
|
||||
|
||||
|
||||
// return
|
||||
return $post_id;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* mb_fields
|
||||
*
|
||||
* This function will render the HTML for the medtabox 'acf-field-group-fields'
|
||||
*
|
||||
* @type function
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param N/A
|
||||
* @return N/A
|
||||
*/
|
||||
|
||||
function mb_fields() {
|
||||
|
||||
// global
|
||||
global $field_group;
|
||||
|
||||
|
||||
// get fields
|
||||
$view = array(
|
||||
'fields' => acf_get_fields_by_id( $field_group['ID'] ),
|
||||
'parent' => 0
|
||||
);
|
||||
|
||||
|
||||
// load view
|
||||
acf_get_view('field-group-fields', $view);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* mb_options
|
||||
*
|
||||
* This function will render the HTML for the medtabox 'acf-field-group-options'
|
||||
*
|
||||
* @type function
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param N/A
|
||||
* @return N/A
|
||||
*/
|
||||
|
||||
function mb_options() {
|
||||
|
||||
// global
|
||||
global $field_group;
|
||||
|
||||
|
||||
// field key (leave in for compatibility)
|
||||
if( !acf_is_field_group_key( $field_group['key']) ) {
|
||||
|
||||
$field_group['key'] = uniqid('group_');
|
||||
|
||||
}
|
||||
|
||||
|
||||
// view
|
||||
acf_get_view('field-group-options');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* mb_locations
|
||||
*
|
||||
* This function will render the HTML for the medtabox 'acf-field-group-locations'
|
||||
*
|
||||
* @type function
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param N/A
|
||||
* @return N/A
|
||||
*/
|
||||
|
||||
function mb_locations() {
|
||||
|
||||
// global
|
||||
global $field_group;
|
||||
|
||||
|
||||
// UI needs at lease 1 location rule
|
||||
if( empty($field_group['location']) ) {
|
||||
|
||||
$field_group['location'] = array(
|
||||
|
||||
// group 0
|
||||
array(
|
||||
|
||||
// rule 0
|
||||
array(
|
||||
'param' => 'post_type',
|
||||
'operator' => '==',
|
||||
'value' => 'post',
|
||||
)
|
||||
)
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// view
|
||||
acf_get_view('field-group-locations');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* ajax_render_location_rule
|
||||
*
|
||||
* This function can be accessed via an AJAX action and will return the result from the render_location_value function
|
||||
*
|
||||
* @type function (ajax)
|
||||
* @date 30/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function ajax_render_location_rule() {
|
||||
|
||||
// validate
|
||||
if( !acf_verify_ajax() ) die();
|
||||
|
||||
|
||||
// valid rule
|
||||
$rule = acf_get_valid_location_rule($_POST['rule']);
|
||||
|
||||
|
||||
// view
|
||||
acf_get_view( 'html-location-rule', array(
|
||||
'rule' => $rule
|
||||
));
|
||||
|
||||
|
||||
// die
|
||||
die();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* ajax_render_field_settings
|
||||
*
|
||||
* This function will return HTML containing the field's settings based on it's new type
|
||||
*
|
||||
* @type function (ajax)
|
||||
* @date 30/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function ajax_render_field_settings() {
|
||||
|
||||
// vars
|
||||
$options = array(
|
||||
'nonce' => '',
|
||||
'parent' => 0,
|
||||
'field_group' => 0,
|
||||
'prefix' => '',
|
||||
'type' => '',
|
||||
);
|
||||
|
||||
|
||||
// load post options
|
||||
$options = wp_parse_args($_POST, $options);
|
||||
|
||||
|
||||
// verify nonce
|
||||
if( !wp_verify_nonce($options['nonce'], 'acf_nonce') ) {
|
||||
|
||||
die(0);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// required
|
||||
if( !$options['type'] ) {
|
||||
|
||||
die(0);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// render options
|
||||
$field = acf_get_valid_field(array(
|
||||
'type' => $options['type'],
|
||||
'name' => 'temp',
|
||||
'prefix' => $options['prefix'],
|
||||
'parent' => $options['parent'],
|
||||
'field_group' => $options['field_group'],
|
||||
));
|
||||
|
||||
|
||||
// render
|
||||
do_action("acf/render_field_settings/type={$field['type']}", $field);
|
||||
|
||||
|
||||
// die
|
||||
die();
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* ajax_move_field
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 20/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function ajax_move_field() {
|
||||
|
||||
// disable filters to ensure ACF loads raw data from DB
|
||||
acf_disable_filters();
|
||||
|
||||
|
||||
$args = acf_parse_args($_POST, array(
|
||||
'nonce' => '',
|
||||
'post_id' => 0,
|
||||
'field_id' => 0,
|
||||
'field_group_id' => 0
|
||||
));
|
||||
|
||||
|
||||
// verify nonce
|
||||
if( !wp_verify_nonce($args['nonce'], 'acf_nonce') ) die();
|
||||
|
||||
|
||||
// confirm?
|
||||
if( $args['field_id'] && $args['field_group_id'] ) {
|
||||
|
||||
// vars
|
||||
$field = acf_get_field($args['field_id']);
|
||||
$field_group = acf_get_field_group($args['field_group_id']);
|
||||
|
||||
|
||||
// update parent
|
||||
$field['parent'] = $field_group['ID'];
|
||||
|
||||
|
||||
// remove conditional logic
|
||||
$field['conditional_logic'] = 0;
|
||||
|
||||
|
||||
// update field
|
||||
acf_update_field($field);
|
||||
|
||||
|
||||
// message
|
||||
$a = '<a href="' . admin_url("post.php?post={$field_group['ID']}&action=edit") . '" target="_blank">' . $field_group['title'] . '</a>';
|
||||
echo '<p><strong>' . __('Move Complete.', 'acf') . '</strong></p>';
|
||||
echo '<p>' . sprintf( __('The %s field can now be found in the %s field group', 'acf'), $field['label'], $a ). '</p>';
|
||||
echo '<a href="#" class="button button-primary acf-close-popup">' . __("Close Window",'acf') . '</a>';
|
||||
die();
|
||||
|
||||
}
|
||||
|
||||
|
||||
// get all field groups
|
||||
$field_groups = acf_get_field_groups();
|
||||
$choices = array();
|
||||
|
||||
|
||||
// check
|
||||
if( !empty($field_groups) ) {
|
||||
|
||||
// loop
|
||||
foreach( $field_groups as $field_group ) {
|
||||
|
||||
// bail early if no ID
|
||||
if( !$field_group['ID'] ) continue;
|
||||
|
||||
|
||||
// bail ealry if is current
|
||||
if( $field_group['ID'] == $args['post_id'] ) continue;
|
||||
|
||||
|
||||
// append
|
||||
$choices[ $field_group['ID'] ] = $field_group['title'];
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// render options
|
||||
$field = acf_get_valid_field(array(
|
||||
'type' => 'select',
|
||||
'name' => 'acf_field_group',
|
||||
'choices' => $choices
|
||||
));
|
||||
|
||||
|
||||
echo '<p>' . __('Please select the destination for this field', 'acf') . '</p>';
|
||||
|
||||
echo '<form id="acf-move-field-form">';
|
||||
|
||||
// render
|
||||
acf_render_field_wrap( $field );
|
||||
|
||||
echo '<button type="submit" class="button button-primary">' . __("Move Field",'acf') . '</button>';
|
||||
|
||||
echo '</form>';
|
||||
|
||||
|
||||
// die
|
||||
die();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// initialize
|
||||
new acf_admin_field_group();
|
||||
|
||||
endif;
|
||||
|
||||
?>
|
||||
|
|
@ -1,811 +0,0 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* ACF Admin Field Groups Class
|
||||
*
|
||||
* All the logic for editing a list of field groups
|
||||
*
|
||||
* @class acf_admin_field_groups
|
||||
* @package ACF
|
||||
* @subpackage Admin
|
||||
*/
|
||||
|
||||
if( ! class_exists('acf_admin_field_groups') ) :
|
||||
|
||||
class acf_admin_field_groups {
|
||||
|
||||
// vars
|
||||
var $url = 'edit.php?post_type=acf-field-group',
|
||||
$sync = array();
|
||||
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
* This function will setup the class functionality
|
||||
*
|
||||
* @type function
|
||||
* @date 5/03/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
// actions
|
||||
add_action('current_screen', array($this, 'current_screen'));
|
||||
add_action('trashed_post', array($this, 'trashed_post'));
|
||||
add_action('untrashed_post', array($this, 'untrashed_post'));
|
||||
add_action('deleted_post', array($this, 'deleted_post'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* current_screen
|
||||
*
|
||||
* This function is fired when loading the admin page before HTML has been rendered.
|
||||
*
|
||||
* @type action (current_screen)
|
||||
* @date 21/07/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function current_screen() {
|
||||
|
||||
// validate screen
|
||||
if( !acf_is_screen('edit-acf-field-group') ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// customize post_status
|
||||
global $wp_post_statuses;
|
||||
|
||||
|
||||
// modify publish post status
|
||||
$wp_post_statuses['publish']->label_count = _n_noop( 'Active <span class="count">(%s)</span>', 'Active <span class="count">(%s)</span>', 'acf' );
|
||||
|
||||
|
||||
// reorder trash to end
|
||||
$wp_post_statuses['trash'] = acf_extract_var( $wp_post_statuses, 'trash' );
|
||||
|
||||
|
||||
// check stuff
|
||||
$this->check_duplicate();
|
||||
$this->check_sync();
|
||||
|
||||
|
||||
// actions
|
||||
add_action('admin_enqueue_scripts', array($this, 'admin_enqueue_scripts'));
|
||||
add_action('admin_footer', array($this, 'admin_footer'));
|
||||
|
||||
|
||||
// columns
|
||||
add_filter('manage_edit-acf-field-group_columns', array($this, 'field_group_columns'), 10, 1);
|
||||
add_action('manage_acf-field-group_posts_custom_column', array($this, 'field_group_columns_html'), 10, 2);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_enqueue_scripts
|
||||
*
|
||||
* This function will add the already registered css
|
||||
*
|
||||
* @type function
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_enqueue_scripts() {
|
||||
|
||||
wp_enqueue_script('acf-input');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* check_duplicate
|
||||
*
|
||||
* This function will check for any $_GET data to duplicate
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function check_duplicate() {
|
||||
|
||||
// message
|
||||
if( $ids = acf_maybe_get_GET('acfduplicatecomplete') ) {
|
||||
|
||||
// explode
|
||||
$ids = explode(',', $ids);
|
||||
$total = count($ids);
|
||||
|
||||
if( $total == 1 ) {
|
||||
|
||||
acf_add_admin_notice( sprintf(__('Field group duplicated. %s', 'acf'), '<a href="' . get_edit_post_link($ids[0]) . '">' . get_the_title($ids[0]) . '</a>') );
|
||||
|
||||
} else {
|
||||
|
||||
acf_add_admin_notice( sprintf(_n( '%s field group duplicated.', '%s field groups duplicated.', $total, 'acf' ), $total) );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// vars
|
||||
$ids = array();
|
||||
|
||||
|
||||
// check single
|
||||
if( $id = acf_maybe_get_GET('acfduplicate') ) {
|
||||
|
||||
$ids[] = $id;
|
||||
|
||||
// check multiple
|
||||
} elseif( acf_maybe_get_GET('action2') === 'acfduplicate' ) {
|
||||
|
||||
$ids = acf_maybe_get_GET('post');
|
||||
|
||||
}
|
||||
|
||||
|
||||
// sync
|
||||
if( !empty($ids) ) {
|
||||
|
||||
// validate
|
||||
check_admin_referer('bulk-posts');
|
||||
|
||||
|
||||
// vars
|
||||
$new_ids = array();
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $ids as $id ) {
|
||||
|
||||
// duplicate
|
||||
$field_group = acf_duplicate_field_group( $id );
|
||||
|
||||
|
||||
// increase counter
|
||||
$new_ids[] = $field_group['ID'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
// redirect
|
||||
wp_redirect( admin_url( $this->url . '&acfduplicatecomplete=' . implode(',', $new_ids)) );
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* check_sync
|
||||
*
|
||||
* This function will check for any $_GET data to sync
|
||||
*
|
||||
* @type function
|
||||
* @date 9/12/2014
|
||||
* @since 5.1.5
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function check_sync() {
|
||||
|
||||
// message
|
||||
if( $ids = acf_maybe_get_GET('acfsynccomplete') ) {
|
||||
|
||||
// explode
|
||||
$ids = explode(',', $ids);
|
||||
$total = count($ids);
|
||||
|
||||
if( $total == 1 ) {
|
||||
|
||||
acf_add_admin_notice( sprintf(__('Field group synchronised. %s', 'acf'), '<a href="' . get_edit_post_link($ids[0]) . '">' . get_the_title($ids[0]) . '</a>') );
|
||||
|
||||
} else {
|
||||
|
||||
acf_add_admin_notice( sprintf(_n( '%s field group synchronised.', '%s field groups synchronised.', $total, 'acf' ), $total) );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// vars
|
||||
$groups = acf_get_field_groups();
|
||||
|
||||
|
||||
// bail early if no field groups
|
||||
if( empty($groups) ) return;
|
||||
|
||||
|
||||
// find JSON field groups which have not yet been imported
|
||||
foreach( $groups as $group ) {
|
||||
|
||||
// vars
|
||||
$local = acf_maybe_get($group, 'local', false);
|
||||
$modified = acf_maybe_get($group, 'modified', 0);
|
||||
$private = acf_maybe_get($group, 'private', false);
|
||||
|
||||
|
||||
// ignore DB / PHP / private field groups
|
||||
if( $local !== 'json' || $private ) {
|
||||
|
||||
// do nothing
|
||||
|
||||
} elseif( !$group['ID'] ) {
|
||||
|
||||
$this->sync[ $group['key'] ] = $group;
|
||||
|
||||
} elseif( $modified && $modified > get_post_modified_time('U', true, $group['ID'], true) ) {
|
||||
|
||||
$this->sync[ $group['key'] ] = $group;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// bail if no sync needed
|
||||
if( empty($this->sync) ) return;
|
||||
|
||||
|
||||
// maybe sync
|
||||
$sync_keys = array();
|
||||
|
||||
|
||||
// check single
|
||||
if( $key = acf_maybe_get_GET('acfsync') ) {
|
||||
|
||||
$sync_keys[] = $key;
|
||||
|
||||
// check multiple
|
||||
} elseif( acf_maybe_get_GET('action2') === 'acfsync' ) {
|
||||
|
||||
$sync_keys = acf_maybe_get_GET('post');
|
||||
|
||||
}
|
||||
|
||||
|
||||
// sync
|
||||
if( !empty($sync_keys) ) {
|
||||
|
||||
// validate
|
||||
check_admin_referer('bulk-posts');
|
||||
|
||||
|
||||
// disable filters to ensure ACF loads raw data from DB
|
||||
acf_disable_filters();
|
||||
acf_enable_filter('local');
|
||||
|
||||
|
||||
// disable JSON
|
||||
// - this prevents a new JSON file being created and causing a 'change' to theme files - solves git anoyance
|
||||
acf_update_setting('json', false);
|
||||
|
||||
|
||||
// vars
|
||||
$new_ids = array();
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $sync_keys as $key ) {
|
||||
|
||||
// append fields
|
||||
if( acf_have_local_fields($key) ) {
|
||||
|
||||
$this->sync[ $key ]['fields'] = acf_get_local_fields( $key );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// import
|
||||
$field_group = acf_import_field_group( $this->sync[ $key ] );
|
||||
|
||||
|
||||
// append
|
||||
$new_ids[] = $field_group['ID'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
// redirect
|
||||
wp_redirect( admin_url( $this->url . '&acfsynccomplete=' . implode(',', $new_ids)) );
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// filters
|
||||
add_filter('views_edit-acf-field-group', array($this, 'list_table_views'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* list_table_views
|
||||
*
|
||||
* This function will add an extra link for JSON in the field group list table
|
||||
*
|
||||
* @type function
|
||||
* @date 3/12/2014
|
||||
* @since 5.1.5
|
||||
*
|
||||
* @param $views (array)
|
||||
* @return $views
|
||||
*/
|
||||
|
||||
function list_table_views( $views ) {
|
||||
|
||||
// vars
|
||||
$class = '';
|
||||
$total = count($this->sync);
|
||||
|
||||
// active
|
||||
if( acf_maybe_get_GET('post_status') === 'sync' ) {
|
||||
|
||||
// actions
|
||||
add_action('admin_footer', array($this, 'sync_admin_footer'), 5);
|
||||
|
||||
|
||||
// set active class
|
||||
$class = ' class="current"';
|
||||
|
||||
|
||||
// global
|
||||
global $wp_list_table;
|
||||
|
||||
|
||||
// update pagination
|
||||
$wp_list_table->set_pagination_args( array(
|
||||
'total_items' => $total,
|
||||
'total_pages' => 1,
|
||||
'per_page' => $total
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// add view
|
||||
$views['json'] = '<a' . $class . ' href="' . admin_url($this->url . '&post_status=sync') . '">' . __('Sync available', 'acf') . ' <span class="count">(' . $total . ')</span></a>';
|
||||
|
||||
|
||||
// return
|
||||
return $views;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* trashed_post
|
||||
*
|
||||
* This function is run when a post object is sent to the trash
|
||||
*
|
||||
* @type action (trashed_post)
|
||||
* @date 8/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function trashed_post( $post_id ) {
|
||||
|
||||
// validate post type
|
||||
if( get_post_type($post_id) != 'acf-field-group' ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// trash field group
|
||||
acf_trash_field_group( $post_id );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* untrashed_post
|
||||
*
|
||||
* This function is run when a post object is restored from the trash
|
||||
*
|
||||
* @type action (untrashed_post)
|
||||
* @date 8/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function untrashed_post( $post_id ) {
|
||||
|
||||
// validate post type
|
||||
if( get_post_type($post_id) != 'acf-field-group' ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// trash field group
|
||||
acf_untrash_field_group( $post_id );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* deleted_post
|
||||
*
|
||||
* This function is run when a post object is deleted from the trash
|
||||
*
|
||||
* @type action (deleted_post)
|
||||
* @date 8/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function deleted_post( $post_id ) {
|
||||
|
||||
// validate post type
|
||||
if( get_post_type($post_id) != 'acf-field-group' ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// trash field group
|
||||
acf_delete_field_group( $post_id );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* field_group_columns
|
||||
*
|
||||
* This function will customize the columns for the field group table
|
||||
*
|
||||
* @type filter (manage_edit-acf-field-group_columns)
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $columns (array)
|
||||
* @return $columns (array)
|
||||
*/
|
||||
|
||||
function field_group_columns( $columns ) {
|
||||
|
||||
return array(
|
||||
'cb' => '<input type="checkbox" />',
|
||||
'title' => __('Title', 'acf'),
|
||||
'acf-fg-description' => __('Description', 'acf'),
|
||||
'acf-fg-status' => '<i class="acf-icon -dot-3 small acf-js-tooltip" title="' . esc_attr__('Status', 'acf') . '"></i>',
|
||||
'acf-fg-count' => __('Fields', 'acf'),
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* field_group_columns_html
|
||||
*
|
||||
* This function will render the HTML for each table cell
|
||||
*
|
||||
* @type action (manage_acf-field-group_posts_custom_column)
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $column (string)
|
||||
* @param $post_id (int)
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function field_group_columns_html( $column, $post_id ) {
|
||||
|
||||
// vars
|
||||
$field_group = acf_get_field_group( $post_id );
|
||||
|
||||
|
||||
// render
|
||||
$this->render_column( $column, $field_group );
|
||||
|
||||
}
|
||||
|
||||
function render_column( $column, $field_group ) {
|
||||
|
||||
// description
|
||||
if( $column == 'acf-fg-description' ) {
|
||||
|
||||
if( $field_group['description'] ) {
|
||||
|
||||
echo '<span class="acf-description">' . acf_esc_html($field_group['description']) . '</span>';
|
||||
|
||||
}
|
||||
|
||||
// status
|
||||
} elseif( $column == 'acf-fg-status' ) {
|
||||
|
||||
if( isset($this->sync[ $field_group['key'] ]) ) {
|
||||
|
||||
echo '<i class="acf-icon -sync grey small acf-js-tooltip" title="' . esc_attr__('Sync available', 'acf') .'"></i> ';
|
||||
|
||||
}
|
||||
|
||||
if( $field_group['active'] ) {
|
||||
|
||||
//echo '<i class="acf-icon -check small acf-js-tooltip" title="' . esc_attr__('Active', 'acf') .'"></i> ';
|
||||
|
||||
} else {
|
||||
|
||||
echo '<i class="acf-icon -minus yellow small acf-js-tooltip" title="' . esc_attr__('Inactive', 'acf') . '"></i> ';
|
||||
|
||||
}
|
||||
|
||||
// fields
|
||||
} elseif( $column == 'acf-fg-count' ) {
|
||||
|
||||
echo esc_html( acf_get_field_count( $field_group ) );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_footer
|
||||
*
|
||||
* This function will render extra HTML onto the page
|
||||
*
|
||||
* @type action (admin_footer)
|
||||
* @date 23/06/12
|
||||
* @since 3.1.8
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_footer() {
|
||||
|
||||
// vars
|
||||
$url_home = 'https://www.advancedcustomfields.com';
|
||||
$url_support = 'https://support.advancedcustomfields.com';
|
||||
$icon = '<i aria-hidden="true" class="dashicons dashicons-external"></i>';
|
||||
|
||||
?>
|
||||
<script type="text/html" id="tmpl-acf-column-2">
|
||||
<div class="acf-column-2">
|
||||
<div class="acf-box">
|
||||
<div class="inner">
|
||||
<h2><?php echo acf_get_setting('name'); ?></h2>
|
||||
<p><?php _e('Customise WordPress with powerful, professional and intuitive fields.','acf'); ?></p>
|
||||
|
||||
<h3><?php _e("Changelog",'acf'); ?></h3>
|
||||
<p><?php
|
||||
|
||||
$acf_changelog = admin_url('edit.php?post_type=acf-field-group&page=acf-settings-info&tab=changelog');
|
||||
$acf_version = acf_get_setting('version');
|
||||
printf( __('See what\'s new in <a href="%s">version %s</a>.','acf'), esc_url($acf_changelog), $acf_version );
|
||||
|
||||
?></p>
|
||||
<h3><?php _e("Resources",'acf'); ?></h3>
|
||||
<ul>
|
||||
<li><a href="<?php echo esc_url( $url_home ); ?>" target="_blank"><?php echo $icon; ?> <?php _e("Website",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo esc_url( $url_home . '/resources/' ); ?>" target="_blank"><?php echo $icon; ?> <?php _e("Documentation",'acf'); ?></a></li>
|
||||
<li><a href="<?php echo esc_url( $url_support ); ?>" target="_blank"><?php echo $icon; ?> <?php _e("Support",'acf'); ?></a></li>
|
||||
<?php if( !acf_get_setting('pro') ): ?>
|
||||
<li><a href="<?php echo esc_url( $url_home . '/pro/' ); ?>" target="_blank"><?php echo $icon; ?> <?php _e("Pro",'acf'); ?></a></li>
|
||||
<?php endif; ?>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<p><?php printf( __('Thank you for creating with <a href="%s">ACF</a>.','acf'), esc_url($url_home) ); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
(function($){
|
||||
|
||||
// wrap
|
||||
$('#wpbody .wrap').attr('id', 'acf-field-group-wrap');
|
||||
|
||||
|
||||
// wrap form
|
||||
$('#posts-filter').wrap('<div class="acf-columns-2" />');
|
||||
|
||||
|
||||
// add column main
|
||||
$('#posts-filter').addClass('acf-column-1');
|
||||
|
||||
|
||||
// add column side
|
||||
$('#posts-filter').after( $('#tmpl-acf-column-2').html() );
|
||||
|
||||
|
||||
// modify row actions
|
||||
$('#the-list tr').each(function(){
|
||||
|
||||
// vars
|
||||
var $tr = $(this),
|
||||
id = $tr.attr('id'),
|
||||
description = $tr.find('.column-acf-fg-description').html();
|
||||
|
||||
|
||||
// replace Quick Edit with Duplicate (sync page has no id attribute)
|
||||
if( id ) {
|
||||
|
||||
// vars
|
||||
var post_id = id.replace('post-', '');
|
||||
var url = '<?php echo esc_url( admin_url( $this->url . '&acfduplicate=__post_id__&_wpnonce=' . wp_create_nonce('bulk-posts') ) ); ?>';
|
||||
var $span = $('<span class="acf-duplicate-field-group"><a title="<?php _e('Duplicate this item', 'acf'); ?>" href="' + url.replace('__post_id__', post_id) + '"><?php _e('Duplicate', 'acf'); ?></a> | </span>');
|
||||
|
||||
|
||||
// replace
|
||||
$tr.find('.column-title .row-actions .inline').replaceWith( $span );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// add description to title
|
||||
$tr.find('.column-title .row-title').after( description );
|
||||
|
||||
});
|
||||
|
||||
|
||||
// modify bulk actions
|
||||
$('#bulk-action-selector-bottom option[value="edit"]').attr('value','acfduplicate').text('<?php _e( 'Duplicate', 'acf' ); ?>');
|
||||
|
||||
|
||||
// clean up table
|
||||
$('#adv-settings label[for="acf-fg-description-hide"]').remove();
|
||||
|
||||
|
||||
// mobile compatibility
|
||||
var status = $('.acf-icon.-dot-3').first().attr('title');
|
||||
$('td.column-acf-fg-status').attr('data-colname', status);
|
||||
|
||||
|
||||
// no field groups found
|
||||
$('#the-list tr.no-items td').attr('colspan', 4);
|
||||
|
||||
|
||||
// search
|
||||
$('.subsubsub').append(' | <li><a href="#" class="acf-toggle-search"><?php _e('Search', 'acf'); ?></a></li>');
|
||||
|
||||
|
||||
// events
|
||||
$(document).on('click', '.acf-toggle-search', function( e ){
|
||||
|
||||
// prevent default
|
||||
e.preventDefault();
|
||||
|
||||
|
||||
// toggle
|
||||
$('.search-box').slideToggle();
|
||||
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
</script>
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* sync_admin_footer
|
||||
*
|
||||
* This function will render extra HTML onto the page
|
||||
*
|
||||
* @type action (admin_footer)
|
||||
* @date 23/06/12
|
||||
* @since 3.1.8
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function sync_admin_footer() {
|
||||
|
||||
// vars
|
||||
$i = -1;
|
||||
$columns = array(
|
||||
'acf-fg-description',
|
||||
'acf-fg-status',
|
||||
'acf-fg-count'
|
||||
);
|
||||
$nonce = wp_create_nonce('bulk-posts');
|
||||
|
||||
?>
|
||||
<script type="text/html" id="tmpl-acf-json-tbody">
|
||||
<?php foreach( $this->sync as $field_group ):
|
||||
|
||||
// vars
|
||||
$i++;
|
||||
$key = $field_group['key'];
|
||||
$title = $field_group['title'];
|
||||
$url = admin_url( $this->url . '&post_status=sync&acfsync=' . $key . '&_wpnonce=' . $nonce );
|
||||
|
||||
?>
|
||||
<tr <?php if($i%2 == 0): ?>class="alternate"<?php endif; ?>>
|
||||
<th class="check-column" scope="row">
|
||||
<label for="cb-select-<?php echo esc_attr($key); ?>" class="screen-reader-text"><?php echo esc_html(sprintf(__('Select %s', 'acf'), $title)); ?></label>
|
||||
<input type="checkbox" value="<?php echo esc_attr($key); ?>" name="post[]" id="cb-select-<?php echo esc_attr($key); ?>">
|
||||
</th>
|
||||
<td class="post-title page-title column-title">
|
||||
<strong>
|
||||
<span class="row-title"><?php echo esc_html($title); ?></span><span class="acf-description"><?php echo esc_html($key); ?>.json</span>
|
||||
</strong>
|
||||
<div class="row-actions">
|
||||
<span class="import"><a title="<?php echo esc_attr( __('Synchronise field group', 'acf') ); ?>" href="<?php echo esc_url($url); ?>"><?php _e( 'Sync', 'acf' ); ?></a></span>
|
||||
</div>
|
||||
</td>
|
||||
<?php foreach( $columns as $column ): ?>
|
||||
<td class="column-<?php echo esc_attr($column); ?>"><?php $this->render_column( $column, $field_group ); ?></td>
|
||||
<?php endforeach; ?>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</script>
|
||||
<script type="text/html" id="tmpl-acf-bulk-actions">
|
||||
<?php // source: bulk_actions() wp-admin/includes/class-wp-list-table.php ?>
|
||||
<select name="action2" id="bulk-action-selector-bottom"></select>
|
||||
<?php submit_button( __( 'Apply' ), 'action', '', false, array( 'id' => "doaction2" ) ); ?>
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
(function($){
|
||||
|
||||
// update table HTML
|
||||
$('#the-list').html( $('#tmpl-acf-json-tbody').html() );
|
||||
|
||||
|
||||
// bulk may not exist if no field groups in DB
|
||||
if( !$('#bulk-action-selector-bottom').exists() ) {
|
||||
|
||||
$('.tablenav.bottom .actions.alignleft').html( $('#tmpl-acf-bulk-actions').html() );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// set only options
|
||||
$('#bulk-action-selector-bottom').html('<option value="-1"><?php _e('Bulk Actions'); ?></option><option value="acfsync"><?php _e('Sync', 'acf'); ?></option>');
|
||||
|
||||
})(jQuery);
|
||||
</script>
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
new acf_admin_field_groups();
|
||||
|
||||
endif;
|
||||
|
||||
?>
|
||||
|
|
@ -1,354 +0,0 @@
|
|||
<?php
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
if( ! class_exists('acf_admin_tools') ) :
|
||||
|
||||
class acf_admin_tools {
|
||||
|
||||
|
||||
/** @var array Contains an array of admin tool instances */
|
||||
var $tools = array();
|
||||
|
||||
|
||||
/** @var string The active tool */
|
||||
var $active = '';
|
||||
|
||||
|
||||
/**
|
||||
* __construct
|
||||
*
|
||||
* This function will setup the class functionality
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
// actions
|
||||
add_action('admin_menu', array($this, 'admin_menu'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* register_tool
|
||||
*
|
||||
* This function will store a tool tool class
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param string $class
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function register_tool( $class ) {
|
||||
|
||||
$instance = new $class();
|
||||
$this->tools[ $instance->name ] = $instance;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get_tool
|
||||
*
|
||||
* This function will return a tool tool class
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param string $name
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function get_tool( $name ) {
|
||||
|
||||
return isset( $this->tools[$name] ) ? $this->tools[$name] : null;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get_tools
|
||||
*
|
||||
* This function will return an array of all tools
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return array
|
||||
*/
|
||||
|
||||
function get_tools() {
|
||||
|
||||
return $this->tools;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_menu
|
||||
*
|
||||
* This function will add the ACF menu item to the WP admin
|
||||
*
|
||||
* @type action (admin_menu)
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_menu() {
|
||||
|
||||
// bail early if no show_admin
|
||||
if( !acf_get_setting('show_admin') ) return;
|
||||
|
||||
|
||||
// add page
|
||||
$page = add_submenu_page('edit.php?post_type=acf-field-group', __('Tools','acf'), __('Tools','acf'), acf_get_setting('capability'), 'acf-tools', array($this, 'html'));
|
||||
|
||||
|
||||
// actions
|
||||
add_action('load-' . $page, array($this, 'load'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* load
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function load() {
|
||||
|
||||
// disable filters (default to raw data)
|
||||
acf_disable_filters();
|
||||
|
||||
|
||||
// include tools
|
||||
$this->include_tools();
|
||||
|
||||
|
||||
// check submit
|
||||
$this->check_submit();
|
||||
|
||||
|
||||
// load acf scripts
|
||||
acf_enqueue_scripts();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* include_tools
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function include_tools() {
|
||||
|
||||
// include
|
||||
acf_include('includes/admin/tools/class-acf-admin-tool.php');
|
||||
acf_include('includes/admin/tools/class-acf-admin-tool-export.php');
|
||||
acf_include('includes/admin/tools/class-acf-admin-tool-import.php');
|
||||
|
||||
|
||||
// action
|
||||
do_action('acf/include_admin_tools');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* check_submit
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function check_submit() {
|
||||
|
||||
// loop
|
||||
foreach( $this->get_tools() as $tool ) {
|
||||
|
||||
// load
|
||||
$tool->load();
|
||||
|
||||
|
||||
// submit
|
||||
if( acf_verify_nonce($tool->name) ) {
|
||||
$tool->submit();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* html
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function html() {
|
||||
|
||||
// vars
|
||||
$screen = get_current_screen();
|
||||
$active = acf_maybe_get_GET('tool');
|
||||
|
||||
|
||||
// view
|
||||
$view = array(
|
||||
'screen_id' => $screen->id,
|
||||
'active' => $active
|
||||
);
|
||||
|
||||
|
||||
// register metaboxes
|
||||
foreach( $this->get_tools() as $tool ) {
|
||||
|
||||
// check active
|
||||
if( $active && $active !== $tool->name ) continue;
|
||||
|
||||
|
||||
// add metabox
|
||||
add_meta_box( 'acf-admin-tool-' . $tool->name, $tool->title, array($this, 'metabox_html'), $screen->id, 'normal', 'default', array('tool' => $tool->name) );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// view
|
||||
acf_get_view( 'html-admin-tools', $view );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* meta_box_html
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function metabox_html( $post, $metabox ) {
|
||||
|
||||
// vars
|
||||
$tool = $this->get_tool($metabox['args']['tool']);
|
||||
|
||||
|
||||
?>
|
||||
<form method="post">
|
||||
<?php $tool->html(); ?>
|
||||
<?php acf_nonce_input( $tool->name ); ?>
|
||||
</form>
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// initialize
|
||||
acf()->admin_tools = new acf_admin_tools();
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
|
||||
/*
|
||||
* acf_register_admin_tool
|
||||
*
|
||||
* alias of acf()->admin_tools->register_tool()
|
||||
*
|
||||
* @type function
|
||||
* @date 31/5/17
|
||||
* @since 5.6.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_register_admin_tool( $class ) {
|
||||
|
||||
return acf()->admin_tools->register_tool( $class );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_admin_tools_url
|
||||
*
|
||||
* This function will return the admin URL to the tools page
|
||||
*
|
||||
* @type function
|
||||
* @date 31/5/17
|
||||
* @since 5.6.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_get_admin_tools_url() {
|
||||
|
||||
return admin_url('edit.php?post_type=acf-field-group&page=acf-tools');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_admin_tool_url
|
||||
*
|
||||
* This function will return the admin URL to the tools page
|
||||
*
|
||||
* @type function
|
||||
* @date 31/5/17
|
||||
* @since 5.6.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_get_admin_tool_url( $tool = '' ) {
|
||||
|
||||
return acf_get_admin_tools_url() . '&tool='.$tool;
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
|
|
@ -1,235 +0,0 @@
|
|||
<?php
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
if( ! class_exists('acf_admin') ) :
|
||||
|
||||
class acf_admin {
|
||||
|
||||
// vars
|
||||
var $notices = array();
|
||||
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
* Initialize filters, action, variables and includes
|
||||
*
|
||||
* @type function
|
||||
* @date 23/06/12
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
// actions
|
||||
add_action('admin_menu', array($this, 'admin_menu'));
|
||||
add_action('admin_enqueue_scripts', array($this, 'admin_enqueue_scripts'), 0);
|
||||
add_action('admin_notices', array($this, 'admin_notices'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* add_notice
|
||||
*
|
||||
* This function will add the notice data to a setting in the acf object for the admin_notices action to use
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $text (string)
|
||||
* @param $class (string)
|
||||
* @param wrap (string)
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function add_notice( $text = '', $class = '', $wrap = 'p' ) {
|
||||
|
||||
// append
|
||||
$this->notices[] = array(
|
||||
'text' => $text,
|
||||
'class' => 'updated ' . $class,
|
||||
'wrap' => $wrap
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* get_notices
|
||||
*
|
||||
* This function will return an array of admin notices
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return (array)
|
||||
*/
|
||||
|
||||
function get_notices() {
|
||||
|
||||
// bail early if no notices
|
||||
if( empty($this->notices) ) return false;
|
||||
|
||||
|
||||
// return
|
||||
return $this->notices;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_menu
|
||||
*
|
||||
* This function will add the ACF menu item to the WP admin
|
||||
*
|
||||
* @type action (admin_menu)
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_menu() {
|
||||
|
||||
// bail early if no show_admin
|
||||
if( !acf_get_setting('show_admin') ) return;
|
||||
|
||||
|
||||
// vars
|
||||
$slug = 'edit.php?post_type=acf-field-group';
|
||||
$cap = acf_get_setting('capability');
|
||||
|
||||
|
||||
// add parent
|
||||
add_menu_page(__("Custom Fields",'acf'), __("Custom Fields",'acf'), $cap, $slug, false, 'dashicons-welcome-widgets-menus', '80.025');
|
||||
|
||||
|
||||
// add children
|
||||
add_submenu_page($slug, __('Field Groups','acf'), __('Field Groups','acf'), $cap, $slug );
|
||||
add_submenu_page($slug, __('Add New','acf'), __('Add New','acf'), $cap, 'post-new.php?post_type=acf-field-group' );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_enqueue_scripts
|
||||
*
|
||||
* This function will add the already registered css
|
||||
*
|
||||
* @type function
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_enqueue_scripts() {
|
||||
|
||||
wp_enqueue_style( 'acf-global' );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_notices
|
||||
*
|
||||
* This function will render any admin notices
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_notices() {
|
||||
|
||||
// vars
|
||||
$notices = $this->get_notices();
|
||||
|
||||
|
||||
// bail early if no notices
|
||||
if( !$notices ) return;
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $notices as $notice ) {
|
||||
|
||||
$open = '';
|
||||
$close = '';
|
||||
|
||||
if( $notice['wrap'] ) {
|
||||
|
||||
$open = "<{$notice['wrap']}>";
|
||||
$close = "</{$notice['wrap']}>";
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
<div class="notice is-dismissible <?php echo esc_attr($notice['class']); ?> acf-notice"><?php echo $open . $notice['text'] . $close; ?></div>
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// initialize
|
||||
acf()->admin = new acf_admin();
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
|
||||
/*
|
||||
* acf_add_admin_notice
|
||||
*
|
||||
* This function will add the notice data to a setting in the acf object for the admin_notices action to use
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $text (string)
|
||||
* @param $class (string)
|
||||
* @return (int) message ID (array position)
|
||||
*/
|
||||
|
||||
function acf_add_admin_notice( $text, $class = '', $wrap = 'p' ) {
|
||||
|
||||
return acf()->admin->add_notice($text, $class, $wrap);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_admin_notices
|
||||
*
|
||||
* This function will return an array containing any admin notices
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return (array)
|
||||
*/
|
||||
|
||||
function acf_get_admin_notices() {
|
||||
|
||||
return acf()->admin->get_notices();
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -1,283 +0,0 @@
|
|||
<?php
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
if( ! class_exists('acf_admin_install_network') ) :
|
||||
|
||||
class acf_admin_install_network {
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
* A good place to add actions / filters
|
||||
*
|
||||
* @type function
|
||||
* @date 11/08/13
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
// actions
|
||||
add_action('network_admin_menu', array($this,'network_admin_menu'), 20);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* network_admin_menu
|
||||
*
|
||||
* This function will chck for available updates and add actions if needed
|
||||
*
|
||||
* @type function
|
||||
* @date 2/04/2015
|
||||
* @since 5.1.5
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function network_admin_menu() {
|
||||
|
||||
// vars
|
||||
$prompt = false;
|
||||
|
||||
|
||||
// loop through sites and find updates
|
||||
$sites = acf_get_sites();
|
||||
|
||||
if( $sites ) {
|
||||
|
||||
foreach( $sites as $site ) {
|
||||
|
||||
// switch blog
|
||||
switch_to_blog( $site['blog_id'] );
|
||||
|
||||
|
||||
// get site updates
|
||||
$updates = acf_get_db_updates();
|
||||
|
||||
|
||||
// restore
|
||||
restore_current_blog();
|
||||
|
||||
|
||||
if( $updates ) {
|
||||
|
||||
$prompt = true;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// bail if no prompt
|
||||
if( !$prompt ) return;
|
||||
|
||||
|
||||
// actions
|
||||
add_action('network_admin_notices', array($this, 'network_admin_notices'), 1);
|
||||
|
||||
|
||||
// add page
|
||||
$page = add_submenu_page('index.php', __('Upgrade Database','acf'), __('Upgrade Database','acf'), acf_get_setting('capability'), 'acf-upgrade-network', array($this,'network_html'));
|
||||
|
||||
|
||||
// actions
|
||||
add_action('load-' . $page, array($this,'network_load'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* load
|
||||
*
|
||||
* This function will look at the $_POST data and run any functions if needed
|
||||
*
|
||||
* @type function
|
||||
* @date 7/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function network_load() {
|
||||
|
||||
// hide notice on this page
|
||||
remove_action('network_admin_notices', array($this, 'network_admin_notices'), 1);
|
||||
|
||||
|
||||
// load acf scripts
|
||||
acf_enqueue_scripts();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* network_admin_notices
|
||||
*
|
||||
* This function will render the update notice
|
||||
*
|
||||
* @type function
|
||||
* @date 2/04/2015
|
||||
* @since 5.1.5
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function network_admin_notices() {
|
||||
|
||||
// view
|
||||
$view = array(
|
||||
'button_text' => __("Review sites & upgrade", 'acf'),
|
||||
'button_url' => network_admin_url('index.php?page=acf-upgrade-network'),
|
||||
'confirm' => false
|
||||
);
|
||||
|
||||
|
||||
// load view
|
||||
acf_get_view('install-notice', $view);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* network_html
|
||||
*
|
||||
* This function will render the HTML for the network upgrade page
|
||||
*
|
||||
* @type function
|
||||
* @date 19/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function network_html() {
|
||||
|
||||
// vars
|
||||
$plugin_version = acf_get_setting('version');
|
||||
|
||||
|
||||
// loop through sites and find updates
|
||||
$sites = acf_get_sites();
|
||||
|
||||
if( $sites ) {
|
||||
|
||||
foreach( $sites as $i => $site ) {
|
||||
|
||||
// switch blog
|
||||
switch_to_blog( $site['blog_id'] );
|
||||
|
||||
|
||||
// extra info
|
||||
$site['name'] = get_bloginfo('name');
|
||||
$site['url'] = home_url();
|
||||
|
||||
|
||||
// get site updates
|
||||
$site['updates'] = acf_get_db_updates();
|
||||
|
||||
|
||||
// get site version
|
||||
$site['acf_version'] = get_option('acf_version');
|
||||
|
||||
|
||||
// no value equals new instal
|
||||
if( !$site['acf_version'] ) {
|
||||
|
||||
$site['acf_version'] = $plugin_version;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// update
|
||||
$sites[ $i ] = $site;
|
||||
|
||||
|
||||
// restore
|
||||
restore_current_blog();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// view
|
||||
$view = array(
|
||||
'sites' => $sites,
|
||||
'plugin_version' => $plugin_version
|
||||
);
|
||||
|
||||
|
||||
// load view
|
||||
acf_get_view('install-network', $view);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// initialize
|
||||
new acf_admin_install_network();
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_sites
|
||||
*
|
||||
* This function will return an array of site data
|
||||
*
|
||||
* @type function
|
||||
* @date 29/08/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return (array)
|
||||
*/
|
||||
|
||||
function acf_get_sites() {
|
||||
|
||||
// vars
|
||||
$sites = array();
|
||||
|
||||
|
||||
// WP >= 4.6
|
||||
if( function_exists('get_sites') ) {
|
||||
|
||||
$_sites = get_sites(array(
|
||||
'number' => 0
|
||||
));
|
||||
|
||||
foreach( $_sites as $_site ) {
|
||||
|
||||
$_site = get_site( $_site );
|
||||
$sites[] = $_site->to_array();
|
||||
|
||||
}
|
||||
|
||||
// WP < 4.6
|
||||
} else {
|
||||
|
||||
$sites = wp_get_sites(array(
|
||||
'limit' => 0
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $sites;
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -1,499 +0,0 @@
|
|||
<?php
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
|
||||
/*
|
||||
* acf_update_500
|
||||
*
|
||||
* These functions will update the DB for ACF v5.0.0
|
||||
*
|
||||
* @type function
|
||||
* @date 10/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_update_500() {
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/update_500');
|
||||
|
||||
|
||||
// field groups
|
||||
acf_update_500_field_groups();
|
||||
|
||||
|
||||
// version
|
||||
acf_update_db_version('5.0.0');
|
||||
|
||||
}
|
||||
|
||||
function acf_update_500_field_groups() {
|
||||
|
||||
// vars
|
||||
$ofgs = get_posts(array(
|
||||
'numberposts' => -1,
|
||||
'post_type' => 'acf',
|
||||
'orderby' => 'menu_order title',
|
||||
'order' => 'asc',
|
||||
'suppress_filters' => true,
|
||||
));
|
||||
|
||||
|
||||
// check
|
||||
if( !$ofgs ) return;
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $ofgs as $ofg ){
|
||||
|
||||
acf_update_500_field_group( $ofg );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function acf_update_500_field_group( $ofg ) {
|
||||
|
||||
// global
|
||||
global $wpdb;
|
||||
|
||||
|
||||
// create new field group
|
||||
$nfg = array(
|
||||
'ID' => 0,
|
||||
'title' => $ofg->post_title,
|
||||
'menu_order' => $ofg->menu_order,
|
||||
);
|
||||
|
||||
|
||||
// location rules
|
||||
$groups = array();
|
||||
|
||||
|
||||
// get all rules
|
||||
$rules = get_post_meta($ofg->ID, 'rule', false);
|
||||
|
||||
if( is_array($rules) ) {
|
||||
|
||||
$group_no = 0;
|
||||
|
||||
foreach( $rules as $rule ) {
|
||||
|
||||
// if field group was duplicated, it may now be a serialized string!
|
||||
$rule = maybe_unserialize($rule);
|
||||
|
||||
|
||||
// does this rule have a group?
|
||||
// + groups were added in 4.0.4
|
||||
if( !isset($rule['group_no']) ) {
|
||||
|
||||
$rule['group_no'] = $group_no;
|
||||
|
||||
// sperate groups?
|
||||
if( get_post_meta($ofg->ID, 'allorany', true) == 'any' ) {
|
||||
|
||||
$group_no++;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// extract vars
|
||||
$group = acf_extract_var( $rule, 'group_no' );
|
||||
$order = acf_extract_var( $rule, 'order_no' );
|
||||
|
||||
|
||||
// add to group
|
||||
$groups[ $group ][ $order ] = $rule;
|
||||
|
||||
|
||||
// sort rules
|
||||
ksort( $groups[ $group ] );
|
||||
|
||||
}
|
||||
|
||||
// sort groups
|
||||
ksort( $groups );
|
||||
}
|
||||
|
||||
$nfg['location'] = $groups;
|
||||
|
||||
|
||||
// settings
|
||||
if( $position = get_post_meta($ofg->ID, 'position', true) ) {
|
||||
|
||||
$nfg['position'] = $position;
|
||||
|
||||
}
|
||||
|
||||
if( $layout = get_post_meta($ofg->ID, 'layout', true) ) {
|
||||
|
||||
$nfg['layout'] = $layout;
|
||||
|
||||
}
|
||||
|
||||
if( $hide_on_screen = get_post_meta($ofg->ID, 'hide_on_screen', true) ) {
|
||||
|
||||
$nfg['hide_on_screen'] = maybe_unserialize($hide_on_screen);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Note: acf_update_field_group will call the acf_get_valid_field_group function and apply 'compatibility' changes
|
||||
|
||||
|
||||
// save field group
|
||||
$nfg = acf_update_field_group( $nfg );
|
||||
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/update_500_field_group', $nfg, $ofg);
|
||||
|
||||
|
||||
// trash?
|
||||
if( $ofg->post_status == 'trash' ) {
|
||||
|
||||
acf_trash_field_group( $nfg['ID'] );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// get field from postmeta
|
||||
$rows = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $wpdb->postmeta WHERE post_id = %d AND meta_key LIKE %s", $ofg->ID, 'field_%'), ARRAY_A);
|
||||
|
||||
|
||||
// check
|
||||
if( $rows ) {
|
||||
|
||||
// loop
|
||||
foreach( $rows as $row ) {
|
||||
|
||||
// bail early if key already migrated (potential duplicates in DB)
|
||||
if( acf_has_done('update_500_field_group_' . $ofg->ID . '_' . $row['meta_key']) ) continue;
|
||||
|
||||
|
||||
// vars
|
||||
$field = $row['meta_value'];
|
||||
$field = maybe_unserialize( $field );
|
||||
$field = maybe_unserialize( $field ); // run again for WPML
|
||||
|
||||
|
||||
// add parent
|
||||
$field['parent'] = $nfg['ID'];
|
||||
|
||||
|
||||
// migrate field
|
||||
$field = acf_update_500_field( $field );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $nfg;
|
||||
|
||||
}
|
||||
|
||||
|
||||
function acf_update_500_field( $field ) {
|
||||
|
||||
// orig
|
||||
$orig = $field;
|
||||
|
||||
|
||||
// order_no is now menu_order
|
||||
$field['menu_order'] = acf_extract_var( $field, 'order_no' );
|
||||
|
||||
|
||||
// correct very old field keys
|
||||
if( substr($field['key'], 0, 6) !== 'field_' ) {
|
||||
|
||||
$field['key'] = 'field_' . str_replace('field', '', $field['key']);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// get valid field
|
||||
$field = acf_get_valid_field( $field );
|
||||
|
||||
|
||||
// save field
|
||||
$field = acf_update_field( $field );
|
||||
|
||||
|
||||
// sub fields
|
||||
if( $field['type'] == 'repeater' ) {
|
||||
|
||||
// get sub fields
|
||||
$sub_fields = acf_extract_var( $orig, 'sub_fields' );
|
||||
|
||||
|
||||
// save sub fields
|
||||
if( !empty($sub_fields) ) {
|
||||
|
||||
$keys = array_keys($sub_fields);
|
||||
|
||||
foreach( $keys as $key ) {
|
||||
|
||||
$sub_field = acf_extract_var($sub_fields, $key);
|
||||
$sub_field['parent'] = $field['ID'];
|
||||
|
||||
acf_update_500_field( $sub_field );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
} elseif( $field['type'] == 'flexible_content' ) {
|
||||
|
||||
// get layouts
|
||||
$layouts = acf_extract_var( $orig, 'layouts' );
|
||||
|
||||
|
||||
// update layouts
|
||||
$field['layouts'] = array();
|
||||
|
||||
|
||||
// save sub fields
|
||||
if( !empty($layouts) ) {
|
||||
|
||||
foreach( $layouts as $layout ) {
|
||||
|
||||
// vars
|
||||
$layout_key = uniqid();
|
||||
|
||||
|
||||
// append layotu key
|
||||
$layout['key'] = $layout_key;
|
||||
|
||||
|
||||
// extract sub fields
|
||||
$sub_fields = acf_extract_var($layout, 'sub_fields');
|
||||
|
||||
|
||||
// save sub fields
|
||||
if( !empty($sub_fields) ) {
|
||||
|
||||
$keys = array_keys($sub_fields);
|
||||
|
||||
foreach( $keys as $key ) {
|
||||
|
||||
$sub_field = acf_extract_var($sub_fields, $key);
|
||||
$sub_field['parent'] = $field['ID'];
|
||||
$sub_field['parent_layout'] = $layout_key;
|
||||
|
||||
acf_update_500_field( $sub_field );
|
||||
|
||||
}
|
||||
// foreach
|
||||
|
||||
}
|
||||
// if
|
||||
|
||||
|
||||
// append layout
|
||||
$field['layouts'][] = $layout;
|
||||
|
||||
}
|
||||
// foreach
|
||||
|
||||
}
|
||||
// if
|
||||
|
||||
|
||||
// save field again with less sub field data
|
||||
$field = acf_update_field( $field );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/update_500_field', $field);
|
||||
|
||||
|
||||
// return
|
||||
return $field;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_update_550
|
||||
*
|
||||
* These functions will update the DB for ACF v5.5.0
|
||||
*
|
||||
* @type function
|
||||
* @date 10/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_update_550() { //acf_log('acf_update_550');
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/update_550');
|
||||
|
||||
|
||||
// termmeta
|
||||
acf_update_550_termmeta();
|
||||
|
||||
|
||||
// version
|
||||
acf_update_db_version('5.5.0');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_update_550_termmeta
|
||||
*
|
||||
* This function will migrate all term meta
|
||||
*
|
||||
* @type function
|
||||
* @date 3/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
|
||||
function acf_update_550_termmeta() { //acf_log('acf_update_550_termmeta');
|
||||
|
||||
// bail early if no table
|
||||
if( !acf_isset_termmeta() ) {
|
||||
|
||||
update_option('acf_update_550_termmeta', 1); // no longer used
|
||||
//echo __('Term meta upgrade not possible (termmeta table does not exist)', 'acf');
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// vars
|
||||
$taxonomies = get_taxonomies(false, 'objects');
|
||||
|
||||
|
||||
// bail early if no taxonomies
|
||||
if( !$taxonomies ) return;
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $taxonomies as $taxonomy ) {
|
||||
|
||||
acf_update_550_taxonomy( $taxonomy->name );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// delete trigger
|
||||
delete_option('acf_update_550_termmeta');
|
||||
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/update_550_termmeta');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_update_550_taxonomy
|
||||
*
|
||||
* This function will migrate term meta for a specific taxonomy
|
||||
*
|
||||
* @type function
|
||||
* @date 3/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param $taxonomy (string)
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_update_550_taxonomy( $taxonomy ) { //acf_log('acf_update_550_taxonomy', $taxonomy);
|
||||
|
||||
// global
|
||||
global $wpdb;
|
||||
|
||||
|
||||
// vars
|
||||
$search = $taxonomy . '_%';
|
||||
$_search = '_' . $search;
|
||||
|
||||
|
||||
// escape '_'
|
||||
// http://stackoverflow.com/questions/2300285/how-do-i-escape-in-sql-server
|
||||
$search = str_replace('_', '\_', $search);
|
||||
$_search = str_replace('_', '\_', $_search);
|
||||
|
||||
|
||||
// search
|
||||
// results show faster query times using 2 LIKE vs 2 wildcards
|
||||
$rows = $wpdb->get_results($wpdb->prepare(
|
||||
"SELECT *
|
||||
FROM $wpdb->options
|
||||
WHERE option_name LIKE %s
|
||||
OR option_name LIKE %s",
|
||||
$search,
|
||||
$_search
|
||||
), ARRAY_A);
|
||||
|
||||
|
||||
// bail early if no rows
|
||||
if( empty($rows) ) return;
|
||||
|
||||
|
||||
// vars
|
||||
$search = $taxonomy . '_';
|
||||
$_search = '_' . $search;
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $rows as $row ) {
|
||||
|
||||
// use regex to find (_)taxonomy_(term_id)_(field_name)
|
||||
$matches = null;
|
||||
$regexp = '/^(_?)' . $taxonomy . '_(\d+)_(.+)/';
|
||||
|
||||
|
||||
// bail early if no match
|
||||
if( !preg_match($regexp, $row['option_name'], $matches) ) continue;
|
||||
|
||||
|
||||
/*
|
||||
Array
|
||||
(
|
||||
[0] => category_3_color
|
||||
[1] =>
|
||||
[2] => 3
|
||||
[3] => color
|
||||
)
|
||||
*/
|
||||
|
||||
|
||||
// vars
|
||||
$term_id = $matches[2];
|
||||
$name = $matches[1] . $matches[3];
|
||||
$value = $row['option_value'];
|
||||
|
||||
|
||||
// update
|
||||
update_metadata( 'term', $term_id, $name, $value );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// action for 3rd party
|
||||
do_action('acf/update_550_taxonomy', $taxonomy);
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -1,431 +0,0 @@
|
|||
<?php
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
if( ! class_exists('acf_admin_install') ) :
|
||||
|
||||
class acf_admin_install {
|
||||
|
||||
// vars
|
||||
var $db_updates = array(
|
||||
'5.0.0' => 'acf_update_500',
|
||||
'5.5.0' => 'acf_update_550'
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
* This function will setup the class functionality
|
||||
*
|
||||
* @type function
|
||||
* @date 5/03/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
// actions
|
||||
add_action('admin_menu', array($this,'admin_menu'), 20);
|
||||
add_action('wp_upgrade', array($this,'wp_upgrade'), 10, 2);
|
||||
|
||||
|
||||
// ajax
|
||||
add_action('wp_ajax_acf/admin/db_update', array($this, 'ajax_db_update'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_menu
|
||||
*
|
||||
* This function will chck for available updates and add actions if needed
|
||||
*
|
||||
* @type function
|
||||
* @date 19/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_menu() {
|
||||
|
||||
// vars
|
||||
$updates = acf_get_db_updates();
|
||||
|
||||
|
||||
// bail early if no updates available
|
||||
if( !$updates ) return;
|
||||
|
||||
|
||||
// actions
|
||||
add_action('admin_notices', array($this, 'admin_notices'), 1);
|
||||
|
||||
|
||||
// add page
|
||||
$page = add_submenu_page('index.php', __('Upgrade Database','acf'), __('Upgrade Database','acf'), acf_get_setting('capability'), 'acf-upgrade', array($this,'html') );
|
||||
|
||||
|
||||
// actions
|
||||
add_action('load-' . $page, array($this,'load'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* load
|
||||
*
|
||||
* This function will look at the $_POST data and run any functions if needed
|
||||
*
|
||||
* @type function
|
||||
* @date 7/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function load() {
|
||||
|
||||
// hide upgrade
|
||||
remove_action('admin_notices', array($this, 'admin_notices'), 1);
|
||||
|
||||
|
||||
// load acf scripts
|
||||
acf_enqueue_scripts();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_notices
|
||||
*
|
||||
* This function will render the DB Upgrade notice
|
||||
*
|
||||
* @type function
|
||||
* @date 17/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_notices() {
|
||||
|
||||
// view
|
||||
$view = array(
|
||||
'button_text' => __("Upgrade Database", 'acf'),
|
||||
'button_url' => admin_url('index.php?page=acf-upgrade'),
|
||||
'confirm' => true
|
||||
);
|
||||
|
||||
|
||||
// load view
|
||||
acf_get_view('install-notice', $view);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 19/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function html() {
|
||||
|
||||
// view
|
||||
$view = array(
|
||||
'updates' => acf_get_db_updates(),
|
||||
'plugin_version' => acf_get_setting('version')
|
||||
);
|
||||
|
||||
|
||||
// load view
|
||||
acf_get_view('install', $view);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* ajax_db_update
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 24/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function ajax_db_update() {
|
||||
|
||||
// options
|
||||
$options = wp_parse_args( $_POST, array(
|
||||
'nonce' => '',
|
||||
'blog_id' => '',
|
||||
));
|
||||
|
||||
|
||||
// validate
|
||||
if( !wp_verify_nonce($options['nonce'], 'acf_db_update') ) {
|
||||
|
||||
wp_send_json_error(array(
|
||||
'message' => __('Error validating request', 'acf')
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// switch blog
|
||||
if( $options['blog_id'] ) {
|
||||
|
||||
switch_to_blog( $options['blog_id'] );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// vars
|
||||
$updates = acf_get_db_updates();
|
||||
$message = '';
|
||||
|
||||
|
||||
// bail early if no updates
|
||||
if( empty($updates) ) {
|
||||
|
||||
wp_send_json_error(array(
|
||||
'message' => __('No updates available.', 'acf')
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
// install updates
|
||||
foreach( $updates as $version => $callback ) {
|
||||
|
||||
$message .= $this->run_update( $callback );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// updates complete
|
||||
acf_update_db_version();
|
||||
|
||||
|
||||
// return
|
||||
wp_send_json_success(array(
|
||||
'message' => $message
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* run_db_update
|
||||
*
|
||||
* This function will perform a db upgrade
|
||||
*
|
||||
* @type function
|
||||
* @date 10/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function run_update( $callback = '' ) {
|
||||
|
||||
// include update functions
|
||||
acf_include('includes/admin/install-updates.php');
|
||||
|
||||
|
||||
// bail early if not found
|
||||
if( !function_exists($callback) ) return false;
|
||||
|
||||
|
||||
// load any errors / feedback from update
|
||||
ob_start();
|
||||
|
||||
|
||||
// include
|
||||
call_user_func($callback);
|
||||
|
||||
|
||||
// get feedback
|
||||
$message = ob_get_clean();
|
||||
|
||||
|
||||
// return
|
||||
return $message;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* wp_upgrade
|
||||
*
|
||||
* This function will run when the WP database is updated
|
||||
*
|
||||
* @type function
|
||||
* @date 10/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param $wp_db_version (string) The new $wp_db_version
|
||||
* @return $wp_current_db_version (string) The old (current) $wp_db_version
|
||||
*/
|
||||
|
||||
function wp_upgrade( $wp_db_version, $wp_current_db_version ) {
|
||||
|
||||
// vars
|
||||
$acf_db_version = acf_get_db_version();
|
||||
|
||||
|
||||
// termmeta was added in WP 4.4 (34370)
|
||||
// if website has already updated to ACF 5.5.0, termmeta will not have yet been migrated
|
||||
if( $wp_db_version >= 34370 && $wp_current_db_version < 34370 && acf_version_compare($acf_db_version, '>=', '5.5.0') ) {
|
||||
|
||||
$this->run_update('acf_update_550_termmeta');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// initialize
|
||||
acf()->admin->install = new acf_admin_install();
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_db_version
|
||||
*
|
||||
* This function will return the current ACF DB version
|
||||
*
|
||||
* @type function
|
||||
* @date 10/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function acf_get_db_version() {
|
||||
|
||||
return get_option('acf_version');
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_update_db_version
|
||||
*
|
||||
* This function will update the current ACF DB version
|
||||
*
|
||||
* @type function
|
||||
* @date 10/09/2016
|
||||
* @since 5.4.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function acf_update_db_version( $version = '' ) {
|
||||
|
||||
// default to latest
|
||||
if( !$version ) {
|
||||
|
||||
$version = acf_get_setting('version');
|
||||
|
||||
}
|
||||
|
||||
|
||||
// update
|
||||
update_option('acf_version', $version );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_db_updates
|
||||
*
|
||||
* This function will return available db updates
|
||||
*
|
||||
* @type function
|
||||
* @date 12/05/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function acf_get_db_updates() {
|
||||
|
||||
// vars
|
||||
$available = array();
|
||||
$db_updates = acf()->admin->install->db_updates;
|
||||
$acf_version = acf_get_setting('version');
|
||||
$db_version = acf_get_db_version();
|
||||
|
||||
|
||||
// bail early if is fresh install
|
||||
if( !$db_version ) {
|
||||
|
||||
acf_update_db_version($acf_version);
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// bail early if is up to date
|
||||
if( acf_version_compare($db_version, '>=', $acf_version)) return false;
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $db_updates as $version => $callback ) {
|
||||
|
||||
// ignore if update is for a future version (may exist for testing)
|
||||
if( acf_version_compare( $version, '>', $acf_version ) ) continue;
|
||||
|
||||
|
||||
// ignore if update has already been run
|
||||
if( acf_version_compare( $version, '<=', $db_version ) ) continue;
|
||||
|
||||
|
||||
// append
|
||||
$available[ $version ] = $callback;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// bail early if no updates available
|
||||
// - also update DB to current version
|
||||
if( empty($available) ) {
|
||||
|
||||
acf_update_db_version($acf_version);
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $available;
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -1,123 +0,0 @@
|
|||
<?php
|
||||
|
||||
class acf_settings_addons {
|
||||
|
||||
var $view;
|
||||
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
* Initialize filters, action, variables and includes
|
||||
*
|
||||
* @type function
|
||||
* @date 23/06/12
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
// actions
|
||||
add_action( 'admin_menu', array( $this, 'admin_menu' ) );
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_menu
|
||||
*
|
||||
* This function will add the ACF menu item to the WP admin
|
||||
*
|
||||
* @type action (admin_menu)
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_menu() {
|
||||
|
||||
// bail early if no show_admin
|
||||
if( !acf_get_setting('show_admin') )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// add page
|
||||
$page = add_submenu_page('edit.php?post_type=acf-field-group', __('Add-ons','acf'), __('Add-ons','acf'), acf_get_setting('capability'),'acf-settings-addons', array($this,'html') );
|
||||
|
||||
|
||||
// actions
|
||||
add_action('load-' . $page, array($this,'load'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* load
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 7/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function load() {
|
||||
|
||||
// vars
|
||||
$this->view = array(
|
||||
'json' => array(),
|
||||
);
|
||||
|
||||
|
||||
// load json
|
||||
$request = wp_remote_post( 'https://assets.advancedcustomfields.com/add-ons/add-ons.json' );
|
||||
|
||||
// validate
|
||||
if( is_wp_error($request) || wp_remote_retrieve_response_code($request) != 200)
|
||||
{
|
||||
acf_add_admin_notice(__('<b>Error</b>. Could not load add-ons list', 'acf'), 'error');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->view['json'] = json_decode( $request['body'], true );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 7/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function html() {
|
||||
|
||||
// load view
|
||||
acf_get_view('settings-addons', $this->view);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// initialize
|
||||
new acf_settings_addons();
|
||||
|
||||
?>
|
||||
|
|
@ -1,102 +0,0 @@
|
|||
<?php
|
||||
|
||||
class acf_settings_info {
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
* Initialize filters, action, variables and includes
|
||||
*
|
||||
* @type function
|
||||
* @date 23/06/12
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
// actions
|
||||
add_action('admin_menu', array($this, 'admin_menu'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* admin_menu
|
||||
*
|
||||
* This function will add the ACF menu item to the WP admin
|
||||
*
|
||||
* @type action (admin_menu)
|
||||
* @date 28/09/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function admin_menu() {
|
||||
|
||||
// bail early if no show_admin
|
||||
if( !acf_get_setting('show_admin') ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// add page
|
||||
add_submenu_page('edit.php?post_type=acf-field-group', __('Info','acf'), __('Info','acf'), acf_get_setting('capability'),'acf-settings-info', array($this,'html'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* html
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @type function
|
||||
* @date 7/01/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function html() {
|
||||
|
||||
// vars
|
||||
$view = array(
|
||||
'version' => acf_get_setting('version'),
|
||||
'have_pro' => acf_get_setting('pro'),
|
||||
'tabs' => array(
|
||||
'new' => __("What's New", 'acf'),
|
||||
'changelog' => __("Changelog", 'acf')
|
||||
),
|
||||
'active' => 'new'
|
||||
);
|
||||
|
||||
|
||||
// set active tab
|
||||
$tab = acf_maybe_get_GET('tab');
|
||||
if( $tab && isset($view['tabs'][ $tab ]) ) {
|
||||
|
||||
$view['active'] = $tab;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// load view
|
||||
acf_get_view('settings-info', $view);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// initialize
|
||||
new acf_settings_info();
|
||||
|
||||
?>
|
||||
|
|
@ -1,592 +0,0 @@
|
|||
<?php
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
if( ! class_exists('ACF_Admin_Tool_Export') ) :
|
||||
|
||||
class ACF_Admin_Tool_Export extends ACF_Admin_Tool {
|
||||
|
||||
/** @var string View context */
|
||||
var $view = '';
|
||||
|
||||
|
||||
/** @var array Export data */
|
||||
var $json = '';
|
||||
|
||||
|
||||
/**
|
||||
* initialize
|
||||
*
|
||||
* This function will initialize the admin tool
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function initialize() {
|
||||
|
||||
// vars
|
||||
$this->name = 'export';
|
||||
$this->title = __("Export Field Groups", 'acf');
|
||||
|
||||
|
||||
// active
|
||||
if( $this->is_active() ) {
|
||||
$this->title .= ' - ' . __('Generate PHP', 'acf');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* submit
|
||||
*
|
||||
* This function will run when the tool's form has been submit
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function submit() {
|
||||
|
||||
// vars
|
||||
$action = acf_maybe_get_POST('action');
|
||||
|
||||
|
||||
// download
|
||||
if( $action === 'download' ) {
|
||||
|
||||
$this->submit_download();
|
||||
|
||||
// generate
|
||||
} elseif( $action === 'generate' ) {
|
||||
|
||||
$this->submit_generate();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* submit_download
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 17/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function submit_download() {
|
||||
|
||||
// vars
|
||||
$json = $this->get_selected();
|
||||
|
||||
|
||||
// validate
|
||||
if( $json === false ) {
|
||||
return acf_add_admin_notice( __("No field groups selected", 'acf') , 'error');
|
||||
}
|
||||
|
||||
|
||||
// headers
|
||||
$file_name = 'acf-export-' . date('Y-m-d') . '.json';
|
||||
header( "Content-Description: File Transfer" );
|
||||
header( "Content-Disposition: attachment; filename={$file_name}" );
|
||||
header( "Content-Type: application/json; charset=utf-8" );
|
||||
|
||||
|
||||
// return
|
||||
echo acf_json_encode( $json );
|
||||
die;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* submit_generate
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 17/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function submit_generate() {
|
||||
|
||||
// vars
|
||||
$keys = $this->get_selected_keys();
|
||||
|
||||
|
||||
// validate
|
||||
if( !$keys ) {
|
||||
return acf_add_admin_notice( __("No field groups selected", 'acf') , 'error');
|
||||
}
|
||||
|
||||
|
||||
// url
|
||||
$url = add_query_arg( 'keys', implode('+', $keys), $this->get_url() );
|
||||
|
||||
|
||||
// redirect
|
||||
wp_redirect( $url );
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* load
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 21/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function load() {
|
||||
|
||||
// active
|
||||
if( $this->is_active() ) {
|
||||
|
||||
// get selected keys
|
||||
$selected = $this->get_selected_keys();
|
||||
|
||||
|
||||
// add notice
|
||||
if( $selected ) {
|
||||
$count = count($selected);
|
||||
$message = sprintf( _n( 'Exported 1 field group.', 'Exported %s field groups.', $count, 'acf' ), $count );
|
||||
acf_add_admin_notice( $message );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* html
|
||||
*
|
||||
* This function will output the metabox HTML
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function html() {
|
||||
|
||||
// single (generate PHP)
|
||||
if( $this->is_active() ) {
|
||||
|
||||
$this->html_single();
|
||||
|
||||
// archive
|
||||
} else {
|
||||
|
||||
$this->html_archive();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* html_field_selection
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 24/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function html_field_selection() {
|
||||
|
||||
// vars
|
||||
$choices = array();
|
||||
$selected = $this->get_selected_keys();
|
||||
$field_groups = acf_get_field_groups();
|
||||
|
||||
|
||||
// loop
|
||||
if( $field_groups ) {
|
||||
foreach( $field_groups as $field_group ) {
|
||||
$choices[ $field_group['key'] ] = esc_html( $field_group['title'] );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// render
|
||||
acf_render_field_wrap(array(
|
||||
'label' => __('Select Field Groups', 'acf'),
|
||||
'type' => 'checkbox',
|
||||
'name' => 'keys',
|
||||
'prefix' => false,
|
||||
'value' => $selected,
|
||||
'toggle' => true,
|
||||
'choices' => $choices,
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* html_panel_selection
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 21/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function html_panel_selection() {
|
||||
|
||||
?>
|
||||
<div class="acf-panel acf-panel-selection">
|
||||
<h3 class="acf-panel-title"><?php _e('Select Field Groups', 'acf') ?> <i class="dashicons dashicons-arrow-right"></i></h3>
|
||||
<div class="acf-panel-inside">
|
||||
<?php $this->html_field_selection(); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* html_panel_settings
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 21/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function html_panel_settings() {
|
||||
|
||||
?>
|
||||
<div class="acf-panel acf-panel-settings">
|
||||
<h3 class="acf-panel-title"><?php _e('Settings', 'acf') ?> <i class="dashicons dashicons-arrow-right"></i></h3>
|
||||
<div class="acf-panel-inside">
|
||||
<?php
|
||||
|
||||
/*
|
||||
acf_render_field_wrap(array(
|
||||
'label' => __('Empty settings', 'acf'),
|
||||
'type' => 'select',
|
||||
'name' => 'minimal',
|
||||
'prefix' => false,
|
||||
'value' => '',
|
||||
'choices' => array(
|
||||
'all' => 'Include all settings',
|
||||
'minimal' => 'Ignore empty settings'
|
||||
)
|
||||
));
|
||||
*/
|
||||
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* html_archive
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 20/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function html_archive() {
|
||||
|
||||
?>
|
||||
<p><?php _e('Select the field groups you would like to export and then select your export method. Use the download button to export to a .json file which you can then import to another ACF installation. Use the generate button to export to PHP code which you can place in your theme.', 'acf'); ?></p>
|
||||
<div class="acf-fields">
|
||||
<?php $this->html_field_selection(); ?>
|
||||
</div>
|
||||
<p class="acf-submit">
|
||||
<button type="submit" name="action" class="button button-primary" value="download"><?php _e('Export File', 'acf'); ?></button>
|
||||
<button type="submit" name="action" class="button" value="generate"><?php _e('Generate PHP', 'acf'); ?></button>
|
||||
</p>
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* html_single
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 20/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function html_single() {
|
||||
|
||||
?>
|
||||
<div class="acf-postbox-columns">
|
||||
<div class="acf-postbox-main">
|
||||
<?php $this->html_generate(); ?>
|
||||
</div>
|
||||
<div class="acf-postbox-side">
|
||||
<?php $this->html_panel_selection(); ?>
|
||||
<p class="acf-submit">
|
||||
<button type="submit" name="action" class="button button-primary" value="generate"><?php _e('Generate PHP', 'acf'); ?></button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* html_generate
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 17/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function html_generate() {
|
||||
|
||||
// prevent default translation and fake __() within string
|
||||
acf_update_setting('l10n_var_export', true);
|
||||
|
||||
|
||||
// vars
|
||||
$json = $this->get_selected();
|
||||
$str_replace = array(
|
||||
" " => "\t",
|
||||
"'!!__(!!\'" => "__('",
|
||||
"!!\', !!\'" => "', '",
|
||||
"!!\')!!'" => "')",
|
||||
"array (" => "array("
|
||||
);
|
||||
$preg_replace = array(
|
||||
'/([\t\r\n]+?)array/' => 'array',
|
||||
'/[0-9]+ => array/' => 'array'
|
||||
);
|
||||
|
||||
|
||||
?>
|
||||
<p><?php _e("The following code can be used to register a local version of the selected field group(s). A local field group can provide many benefits such as faster load times, version control & dynamic fields/settings. Simply copy and paste the following code to your theme's functions.php file or include it within an external file.", 'acf'); ?></p>
|
||||
<textarea id="acf-export-textarea" readonly="true"><?php
|
||||
|
||||
echo "if( function_exists('acf_add_local_field_group') ):" . "\r\n" . "\r\n";
|
||||
|
||||
foreach( $json as $field_group ) {
|
||||
|
||||
// code
|
||||
$code = var_export($field_group, true);
|
||||
|
||||
|
||||
// change double spaces to tabs
|
||||
$code = str_replace( array_keys($str_replace), array_values($str_replace), $code );
|
||||
|
||||
|
||||
// correctly formats "=> array("
|
||||
$code = preg_replace( array_keys($preg_replace), array_values($preg_replace), $code );
|
||||
|
||||
|
||||
// esc_textarea
|
||||
$code = esc_textarea( $code );
|
||||
|
||||
|
||||
// echo
|
||||
echo "acf_add_local_field_group({$code});" . "\r\n" . "\r\n";
|
||||
|
||||
}
|
||||
|
||||
echo "endif;";
|
||||
|
||||
?></textarea>
|
||||
<p class="acf-submit">
|
||||
<a class="button" id="acf-export-copy"><?php _e( 'Copy to clipboard', 'acf' ); ?></a>
|
||||
</p>
|
||||
<script type="text/javascript">
|
||||
(function($){
|
||||
|
||||
// vars
|
||||
var $a = $('#acf-export-copy');
|
||||
var $textarea = $('#acf-export-textarea');
|
||||
|
||||
|
||||
// remove $a if 'copy' is not supported
|
||||
if( !document.queryCommandSupported('copy') ) {
|
||||
return $a.remove();
|
||||
}
|
||||
|
||||
|
||||
// event
|
||||
$a.on('click', function( e ){
|
||||
|
||||
// prevent default
|
||||
e.preventDefault();
|
||||
|
||||
|
||||
// select
|
||||
$textarea.get(0).select();
|
||||
|
||||
|
||||
// try
|
||||
try {
|
||||
|
||||
// copy
|
||||
var copy = document.execCommand('copy');
|
||||
if( !copy ) return;
|
||||
|
||||
|
||||
// tooltip
|
||||
acf.tooltip.temp('Copied', $a);
|
||||
|
||||
} catch (err) {
|
||||
|
||||
// do nothing
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
</script>
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* get_selected_keys
|
||||
*
|
||||
* This function will return an array of field group keys that have been selected
|
||||
*
|
||||
* @date 20/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function get_selected_keys() {
|
||||
|
||||
// check $_POST
|
||||
if( $keys = acf_maybe_get_POST('keys') ) {
|
||||
return (array) $keys;
|
||||
}
|
||||
|
||||
|
||||
// check $_GET
|
||||
if( $keys = acf_maybe_get_GET('keys') ) {
|
||||
$keys = str_replace(' ', '+', $keys);
|
||||
return explode('+', $keys);
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get_selected
|
||||
*
|
||||
* This function will return the JSON data for given $_POST args
|
||||
*
|
||||
* @date 17/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return array
|
||||
*/
|
||||
|
||||
function get_selected() {
|
||||
|
||||
// vars
|
||||
$selected = $this->get_selected_keys();
|
||||
$json = array();
|
||||
|
||||
|
||||
// bail early if no keys
|
||||
if( !$selected ) return false;
|
||||
|
||||
|
||||
// construct JSON
|
||||
foreach( $selected as $key ) {
|
||||
|
||||
// load field group
|
||||
$field_group = acf_get_field_group( $key );
|
||||
|
||||
|
||||
// validate field group
|
||||
if( empty($field_group) ) continue;
|
||||
|
||||
|
||||
// load fields
|
||||
$field_group['fields'] = acf_get_fields( $field_group );
|
||||
|
||||
|
||||
// prepare for export
|
||||
$field_group = acf_prepare_field_group_for_export( $field_group );
|
||||
|
||||
|
||||
// add to json array
|
||||
$json[] = $field_group;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $json;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// initialize
|
||||
acf_register_admin_tool( 'ACF_Admin_Tool_Export' );
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
?>
|
||||
|
|
@ -1,277 +0,0 @@
|
|||
<?php
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
if( ! class_exists('ACF_Admin_Tool_Import') ) :
|
||||
|
||||
class ACF_Admin_Tool_Import extends ACF_Admin_Tool {
|
||||
|
||||
|
||||
/**
|
||||
* initialize
|
||||
*
|
||||
* This function will initialize the admin tool
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function initialize() {
|
||||
|
||||
// vars
|
||||
$this->name = 'import';
|
||||
$this->title = __("Import Field Groups", 'acf');
|
||||
$this->icon = 'dashicons-upload';
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* html
|
||||
*
|
||||
* This function will output the metabox HTML
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function html() {
|
||||
|
||||
// vars
|
||||
$choices = array();
|
||||
$field_groups = acf_get_field_groups();
|
||||
|
||||
|
||||
// loop
|
||||
if( $field_groups ) {
|
||||
foreach( $field_groups as $field_group ) {
|
||||
$choices[ $field_group['key'] ] = esc_html( $field_group['title'] );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// html
|
||||
?>
|
||||
<p><?php _e('Select the Advanced Custom Fields JSON file you would like to import. When you click the import button below, ACF will import the field groups.', 'acf'); ?></p>
|
||||
<div class="acf-fields">
|
||||
<?php
|
||||
|
||||
acf_render_field_wrap(array(
|
||||
'label' => __('Select File', 'acf'),
|
||||
'type' => 'file',
|
||||
'name' => 'acf_import_file',
|
||||
'value' => false,
|
||||
'uploader' => 'basic',
|
||||
));
|
||||
|
||||
?>
|
||||
</div>
|
||||
<p class="acf-submit">
|
||||
<input type="submit" class="button button-primary" value="<?php _e('Import File', 'acf'); ?>" />
|
||||
</p>
|
||||
<?php
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* submit
|
||||
*
|
||||
* This function will run when the tool's form has been submit
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function submit() {
|
||||
|
||||
// validate
|
||||
if( empty($_FILES['acf_import_file']['size']) ) {
|
||||
|
||||
acf_add_admin_notice( __("No file selected", 'acf') , 'error');
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// vars
|
||||
$file = $_FILES['acf_import_file'];
|
||||
|
||||
|
||||
// validate error
|
||||
if( $file['error'] ) {
|
||||
|
||||
acf_add_admin_notice(__('Error uploading file. Please try again', 'acf'), 'error');
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// validate type
|
||||
if( pathinfo($file['name'], PATHINFO_EXTENSION) !== 'json' ) {
|
||||
|
||||
acf_add_admin_notice(__('Incorrect file type', 'acf'), 'error');
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// read file
|
||||
$json = file_get_contents( $file['tmp_name'] );
|
||||
|
||||
|
||||
// decode json
|
||||
$json = json_decode($json, true);
|
||||
|
||||
|
||||
// validate json
|
||||
if( empty($json) ) {
|
||||
|
||||
acf_add_admin_notice(__('Import file empty', 'acf'), 'error');
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// if importing an auto-json, wrap field group in array
|
||||
if( isset($json['key']) ) {
|
||||
|
||||
$json = array( $json );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// vars
|
||||
$ids = array();
|
||||
$keys = array();
|
||||
$imported = array();
|
||||
|
||||
|
||||
// populate keys
|
||||
foreach( $json as $field_group ) {
|
||||
|
||||
// append key
|
||||
$keys[] = $field_group['key'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
// look for existing ids
|
||||
foreach( $keys as $key ) {
|
||||
|
||||
// attempt find ID
|
||||
$field_group = _acf_get_field_group_by_key( $key );
|
||||
|
||||
|
||||
// bail early if no field group
|
||||
if( !$field_group ) continue;
|
||||
|
||||
|
||||
// append
|
||||
$ids[ $key ] = $field_group['ID'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
// enable local
|
||||
acf_enable_local();
|
||||
|
||||
|
||||
// reset local (JSON class has already included .json field groups which may conflict)
|
||||
acf_reset_local();
|
||||
|
||||
|
||||
// add local field groups
|
||||
foreach( $json as $field_group ) {
|
||||
|
||||
// add field group
|
||||
acf_add_local_field_group( $field_group );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// loop over keys
|
||||
foreach( $keys as $key ) {
|
||||
|
||||
// vars
|
||||
$field_group = acf_get_local_field_group( $key );
|
||||
|
||||
|
||||
// attempt get id
|
||||
$id = acf_maybe_get( $ids, $key );
|
||||
|
||||
if( $id ) {
|
||||
|
||||
$field_group['ID'] = $id;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// append fields
|
||||
if( acf_have_local_fields($key) ) {
|
||||
|
||||
$field_group['fields'] = acf_get_local_fields( $key );
|
||||
|
||||
}
|
||||
|
||||
|
||||
// import
|
||||
$field_group = acf_import_field_group( $field_group );
|
||||
|
||||
|
||||
// append message
|
||||
$imported[] = array(
|
||||
'ID' => $field_group['ID'],
|
||||
'title' => $field_group['title'],
|
||||
'updated' => $id ? 1 : 0
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// messages
|
||||
if( !empty($imported) ) {
|
||||
|
||||
// vars
|
||||
$links = array();
|
||||
$count = count($imported);
|
||||
$message = sprintf(_n( 'Imported 1 field group', 'Imported %s field groups', $count, 'acf' ), $count) . '.';
|
||||
|
||||
|
||||
// populate links
|
||||
foreach( $imported as $import ) {
|
||||
|
||||
$links[] = '<a href="' . admin_url("post.php?post={$import['ID']}&action=edit") . '" target="_blank">' . $import['title'] . '</a>';
|
||||
|
||||
}
|
||||
|
||||
|
||||
// append links
|
||||
$message .= ' ' . implode(', ', $links);
|
||||
|
||||
|
||||
// add notice
|
||||
acf_add_admin_notice( $message );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// initialize
|
||||
acf_register_admin_tool( 'ACF_Admin_Tool_Import' );
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
?>
|
||||
|
|
@ -1,195 +0,0 @@
|
|||
<?php
|
||||
|
||||
if( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
||||
|
||||
if( ! class_exists('ACF_Admin_Tool') ) :
|
||||
|
||||
class ACF_Admin_Tool {
|
||||
|
||||
|
||||
/** @var string Tool name */
|
||||
var $name = '';
|
||||
|
||||
|
||||
/** @var string Tool title */
|
||||
var $title = '';
|
||||
|
||||
|
||||
/** @var string Dashicon slug */
|
||||
//var $icon = '';
|
||||
|
||||
|
||||
/** @var boolean Redirect form to single */
|
||||
//var $redirect = false;
|
||||
|
||||
|
||||
/**
|
||||
* get_name
|
||||
*
|
||||
* This function will return the Tool's name
|
||||
*
|
||||
* @date 19/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function get_name() {
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get_title
|
||||
*
|
||||
* This function will return the Tool's title
|
||||
*
|
||||
* @date 19/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function get_title() {
|
||||
return $this->title;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get_url
|
||||
*
|
||||
* This function will return the Tool's title
|
||||
*
|
||||
* @date 19/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function get_url() {
|
||||
return acf_get_admin_tool_url( $this->name );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* is_active
|
||||
*
|
||||
* This function will return true if the tool is active
|
||||
*
|
||||
* @date 19/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return bool
|
||||
*/
|
||||
|
||||
function is_active() {
|
||||
return acf_maybe_get_GET('tool') === $this->name;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
* This function will setup the class functionality
|
||||
*
|
||||
* @type function
|
||||
* @date 27/6/17
|
||||
* @since 5.6.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
// initialize
|
||||
$this->initialize();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* initialize
|
||||
*
|
||||
* This function will initialize the admin tool
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function initialize() {
|
||||
|
||||
/* do nothing */
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* load
|
||||
*
|
||||
* This function is called during the admin page load
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function load() {
|
||||
|
||||
/* do nothing */
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* html
|
||||
*
|
||||
* This function will output the metabox HTML
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function html() {
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* submit
|
||||
*
|
||||
* This function will run when the tool's form has been submit
|
||||
*
|
||||
* @date 10/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function submit() {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
endif; // class_exists check
|
||||
|
||||
?>
|
||||
|
|
@ -1,161 +0,0 @@
|
|||
<?php
|
||||
|
||||
// vars
|
||||
$disabled = false;
|
||||
|
||||
|
||||
// empty
|
||||
if( empty($field['conditional_logic']) ) {
|
||||
|
||||
$disabled = true;
|
||||
$field['conditional_logic'] = array(
|
||||
|
||||
// group 0
|
||||
array(
|
||||
|
||||
// rule 0
|
||||
array()
|
||||
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
<tr class="acf-field acf-field-true-false acf-field-setting-conditional_logic" data_type="true_false" data-name="conditional_logic">
|
||||
<td class="acf-label">
|
||||
<label><?php _e("Conditional Logic",'acf'); ?></label>
|
||||
</td>
|
||||
<td class="acf-input">
|
||||
<?php
|
||||
|
||||
acf_render_field(array(
|
||||
'type' => 'true_false',
|
||||
'name' => 'conditional_logic',
|
||||
'prefix' => $field['prefix'],
|
||||
'value' => $disabled ? 0 : 1,
|
||||
'ui' => 1,
|
||||
'class' => 'conditional-toggle',
|
||||
));
|
||||
|
||||
?>
|
||||
<div class="rule-groups" <?php if($disabled): ?>style="display:none;"<?php endif; ?>>
|
||||
|
||||
<?php foreach( $field['conditional_logic'] as $group_id => $group ):
|
||||
|
||||
// validate
|
||||
if( empty($group) ) continue;
|
||||
|
||||
|
||||
// vars
|
||||
// $group_id must be completely different to $rule_id to avoid JS issues
|
||||
$group_id = "group_{$group_id}";
|
||||
$h4 = ($group_id == "group_0") ? __("Show this field if",'acf') : __("or",'acf');
|
||||
|
||||
?>
|
||||
<div class="rule-group" data-id="<?php echo $group_id; ?>">
|
||||
|
||||
<h4><?php echo $h4; ?></h4>
|
||||
|
||||
<table class="acf-table -clear">
|
||||
<tbody>
|
||||
<?php foreach( $group as $rule_id => $rule ):
|
||||
|
||||
// valid rule
|
||||
$rule = wp_parse_args( $rule, array(
|
||||
'field' => '',
|
||||
'operator' => '==',
|
||||
'value' => '',
|
||||
));
|
||||
|
||||
|
||||
// vars
|
||||
// $group_id must be completely different to $rule_id to avoid JS issues
|
||||
$rule_id = "rule_{$rule_id}";
|
||||
$prefix = "{$field['prefix']}[conditional_logic][{$group_id}][{$rule_id}]";
|
||||
|
||||
?>
|
||||
<tr class="rule" data-id="<?php echo $rule_id; ?>">
|
||||
<td class="param">
|
||||
<?php
|
||||
|
||||
$choices = array();
|
||||
$choices[ $rule['field'] ] = $rule['field'];
|
||||
|
||||
// create field
|
||||
acf_render_field(array(
|
||||
'type' => 'select',
|
||||
'prefix' => $prefix,
|
||||
'name' => 'field',
|
||||
'value' => $rule['field'],
|
||||
'choices' => $choices,
|
||||
'class' => 'conditional-rule-param',
|
||||
'disabled' => $disabled,
|
||||
));
|
||||
|
||||
?>
|
||||
</td>
|
||||
<td class="operator">
|
||||
<?php
|
||||
|
||||
$choices = array(
|
||||
'==' => __("is equal to",'acf'),
|
||||
'!=' => __("is not equal to",'acf'),
|
||||
);
|
||||
|
||||
|
||||
// create field
|
||||
acf_render_field(array(
|
||||
'type' => 'select',
|
||||
'prefix' => $prefix,
|
||||
'name' => 'operator',
|
||||
'value' => $rule['operator'],
|
||||
'choices' => $choices,
|
||||
'class' => 'conditional-rule-operator',
|
||||
'disabled' => $disabled,
|
||||
));
|
||||
|
||||
?>
|
||||
</td>
|
||||
<td class="value">
|
||||
<?php
|
||||
|
||||
$choices = array();
|
||||
$choices[ $rule['value'] ] = $rule['value'];
|
||||
|
||||
// create field
|
||||
acf_render_field(array(
|
||||
'type' => 'select',
|
||||
'prefix' => $prefix,
|
||||
'name' => 'value',
|
||||
'value' => $rule['value'],
|
||||
'choices' => $choices,
|
||||
'class' => 'conditional-rule-value',
|
||||
'disabled' => $disabled,
|
||||
));
|
||||
|
||||
?>
|
||||
</td>
|
||||
<td class="add">
|
||||
<a href="#" class="button add-conditional-rule"><?php _e("and",'acf'); ?></a>
|
||||
</td>
|
||||
<td class="remove">
|
||||
<a href="#" class="acf-icon -minus remove-conditional-rule"></a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
|
||||
<h4><?php _e("or",'acf'); ?></h4>
|
||||
|
||||
<a href="#" class="button add-conditional-group"><?php _e("Add rule group",'acf'); ?></a>
|
||||
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -1,187 +0,0 @@
|
|||
<?php
|
||||
|
||||
// add prefix
|
||||
$field['prefix'] = "acf_fields[{$field['ID']}]";
|
||||
|
||||
|
||||
// vars
|
||||
$atts = array(
|
||||
'class' => "acf-field-object acf-field-object-{$field['type']}",
|
||||
'data-id' => $field['ID'],
|
||||
'data-key' => $field['key'],
|
||||
'data-type' => $field['type'],
|
||||
);
|
||||
|
||||
$meta = array(
|
||||
'ID' => $field['ID'],
|
||||
'key' => $field['key'],
|
||||
'parent' => $field['parent'],
|
||||
'menu_order' => $field['menu_order'],
|
||||
'save' => '',
|
||||
);
|
||||
|
||||
|
||||
// class
|
||||
$atts['class'] = str_replace('_', '-', $atts['class']);
|
||||
|
||||
?>
|
||||
<div <?php echo acf_esc_attr( $atts ); ?>>
|
||||
|
||||
<div class="meta">
|
||||
<?php foreach( $meta as $k => $v ):
|
||||
|
||||
acf_hidden_input(array( 'class' => "input-{$k}", 'name' => "{$field['prefix']}[{$k}]", 'value' => $v ));
|
||||
|
||||
endforeach; ?>
|
||||
</div>
|
||||
|
||||
<div class="handle">
|
||||
<ul class="acf-hl acf-tbody">
|
||||
<li class="li-field-order">
|
||||
<span class="acf-icon acf-sortable-handle" title="<?php _e('Drag to reorder','acf'); ?>"><?php echo ($i + 1); ?></span>
|
||||
</li>
|
||||
<li class="li-field-label">
|
||||
<strong>
|
||||
<a class="edit-field" title="<?php _e("Edit field",'acf'); ?>" href="#"><?php echo acf_get_field_label($field); ?></a>
|
||||
</strong>
|
||||
<div class="row-options">
|
||||
<a class="edit-field" title="<?php _e("Edit field",'acf'); ?>" href="#"><?php _e("Edit",'acf'); ?></a>
|
||||
<a class="duplicate-field" title="<?php _e("Duplicate field",'acf'); ?>" href="#"><?php _e("Duplicate",'acf'); ?></a>
|
||||
<a class="move-field" title="<?php _e("Move field to another group",'acf'); ?>" href="#"><?php _e("Move",'acf'); ?></a>
|
||||
<a class="delete-field" title="<?php _e("Delete field",'acf'); ?>" href="#"><?php _e("Delete",'acf'); ?></a>
|
||||
</div>
|
||||
</li>
|
||||
<?php // whitespace before field name looks odd but fixes chrome bug selecting all text in row ?>
|
||||
<li class="li-field-name"> <?php echo $field['name']; ?></li>
|
||||
<li class="li-field-key"> <?php echo $field['key']; ?></li>
|
||||
<li class="li-field-type"> <?php echo acf_get_field_type_label($field['type']); ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="settings">
|
||||
<table class="acf-table">
|
||||
<tbody>
|
||||
<?php
|
||||
|
||||
// label
|
||||
acf_render_field_setting($field, array(
|
||||
'label' => __('Field Label','acf'),
|
||||
'instructions' => __('This is the name which will appear on the EDIT page','acf'),
|
||||
'name' => 'label',
|
||||
'type' => 'text',
|
||||
'class' => 'field-label'
|
||||
), true);
|
||||
|
||||
|
||||
// name
|
||||
acf_render_field_setting($field, array(
|
||||
'label' => __('Field Name','acf'),
|
||||
'instructions' => __('Single word, no spaces. Underscores and dashes allowed','acf'),
|
||||
'name' => 'name',
|
||||
'type' => 'text',
|
||||
'class' => 'field-name'
|
||||
), true);
|
||||
|
||||
|
||||
// type
|
||||
acf_render_field_setting($field, array(
|
||||
'label' => __('Field Type','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'select',
|
||||
'name' => 'type',
|
||||
'choices' => acf_get_field_types(),
|
||||
'class' => 'field-type'
|
||||
), true);
|
||||
|
||||
|
||||
// instructions
|
||||
acf_render_field_setting($field, array(
|
||||
'label' => __('Instructions','acf'),
|
||||
'instructions' => __('Instructions for authors. Shown when submitting data','acf'),
|
||||
'type' => 'textarea',
|
||||
'name' => 'instructions',
|
||||
'rows' => 5
|
||||
), true);
|
||||
|
||||
|
||||
// required
|
||||
acf_render_field_setting($field, array(
|
||||
'label' => __('Required?','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'true_false',
|
||||
'name' => 'required',
|
||||
'ui' => 1,
|
||||
'class' => 'field-required'
|
||||
), true);
|
||||
|
||||
|
||||
// 3rd party settings
|
||||
do_action('acf/render_field_settings', $field);
|
||||
|
||||
|
||||
// type specific settings
|
||||
do_action("acf/render_field_settings/type={$field['type']}", $field);
|
||||
|
||||
|
||||
// conditional logic
|
||||
acf_get_view('field-group-field-conditional-logic', array( 'field' => $field ));
|
||||
|
||||
|
||||
// wrapper
|
||||
acf_render_field_wrap(array(
|
||||
'label' => __('Wrapper Attributes','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'number',
|
||||
'name' => 'width',
|
||||
'prefix' => $field['prefix'] . '[wrapper]',
|
||||
'value' => $field['wrapper']['width'],
|
||||
'prepend' => __('width', 'acf'),
|
||||
'append' => '%',
|
||||
'wrapper' => array(
|
||||
'data-name' => 'wrapper',
|
||||
'class' => 'acf-field-setting-wrapper'
|
||||
)
|
||||
), 'tr');
|
||||
|
||||
acf_render_field_wrap(array(
|
||||
'label' => '',
|
||||
'instructions' => '',
|
||||
'type' => 'text',
|
||||
'name' => 'class',
|
||||
'prefix' => $field['prefix'] . '[wrapper]',
|
||||
'value' => $field['wrapper']['class'],
|
||||
'prepend' => __('class', 'acf'),
|
||||
'wrapper' => array(
|
||||
'data-append' => 'wrapper'
|
||||
)
|
||||
), 'tr');
|
||||
|
||||
acf_render_field_wrap(array(
|
||||
'label' => '',
|
||||
'instructions' => '',
|
||||
'type' => 'text',
|
||||
'name' => 'id',
|
||||
'prefix' => $field['prefix'] . '[wrapper]',
|
||||
'value' => $field['wrapper']['id'],
|
||||
'prepend' => __('id', 'acf'),
|
||||
'wrapper' => array(
|
||||
'data-append' => 'wrapper'
|
||||
)
|
||||
), 'tr');
|
||||
|
||||
?>
|
||||
<tr class="acf-field acf-field-save">
|
||||
<td class="acf-label"></td>
|
||||
<td class="acf-input">
|
||||
<ul class="acf-hl">
|
||||
<li>
|
||||
<a class="button edit-field" title="<?php _e("Close Field",'acf'); ?>" href="#"><?php _e("Close Field",'acf'); ?></a>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
<div class="acf-field-list-wrap">
|
||||
|
||||
<ul class="acf-hl acf-thead">
|
||||
<li class="li-field-order"><?php _e('Order','acf'); ?></li>
|
||||
<li class="li-field-label"><?php _e('Label','acf'); ?></li>
|
||||
<li class="li-field-name"><?php _e('Name','acf'); ?></li>
|
||||
<li class="li-field-key"><?php _e('Key','acf'); ?></li>
|
||||
<li class="li-field-type"><?php _e('Type','acf'); ?></li>
|
||||
</ul>
|
||||
|
||||
<div class="acf-field-list">
|
||||
|
||||
<div class="no-fields-message" <?php if( $fields ){ echo 'style="display:none;"'; } ?>>
|
||||
<?php _e("No fields. Click the <strong>+ Add Field</strong> button to create your first field.",'acf'); ?>
|
||||
</div>
|
||||
|
||||
<?php if( $fields ):
|
||||
|
||||
foreach( $fields as $i => $field ):
|
||||
|
||||
acf_get_view('field-group-field', array( 'field' => $field, 'i' => $i ));
|
||||
|
||||
endforeach;
|
||||
|
||||
endif; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<ul class="acf-hl acf-tfoot">
|
||||
<li class="acf-fr">
|
||||
<a href="#" class="button button-primary button-large add-field"><?php _e('+ Add Field','acf'); ?></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<?php if( !$parent ):
|
||||
|
||||
// get clone
|
||||
$clone = acf_get_valid_field(array(
|
||||
'ID' => 'acfcloneindex',
|
||||
'key' => 'acfcloneindex',
|
||||
'label' => __('New Field','acf'),
|
||||
'name' => 'new_field',
|
||||
'type' => 'text'
|
||||
));
|
||||
|
||||
?>
|
||||
<script type="text/html" id="tmpl-acf-field">
|
||||
<?php acf_get_view('field-group-field', array( 'field' => $clone, 'i' => 0 )); ?>
|
||||
</script>
|
||||
<?php endif;?>
|
||||
|
||||
</div>
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
<?php
|
||||
|
||||
// global
|
||||
global $field_group;
|
||||
|
||||
?>
|
||||
<div class="acf-field">
|
||||
<div class="acf-label">
|
||||
<label><?php _e("Rules",'acf'); ?></label>
|
||||
<p class="description"><?php _e("Create a set of rules to determine which edit screens will use these advanced custom fields",'acf'); ?></p>
|
||||
</div>
|
||||
<div class="acf-input">
|
||||
<div class="rule-groups">
|
||||
|
||||
<?php foreach( $field_group['location'] as $i => $group ):
|
||||
|
||||
// bail ealry if no group
|
||||
if( empty($group) ) return;
|
||||
|
||||
|
||||
// view
|
||||
acf_get_view('html-location-group', array(
|
||||
'group' => $group,
|
||||
'group_id' => "group_{$i}"
|
||||
));
|
||||
|
||||
endforeach; ?>
|
||||
|
||||
<h4><?php _e("or",'acf'); ?></h4>
|
||||
|
||||
<a href="#" class="button add-location-group"><?php _e("Add rule group",'acf'); ?></a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
if( typeof acf !== 'undefined' ) {
|
||||
|
||||
acf.postbox.render({
|
||||
'id': 'acf-field-group-locations',
|
||||
'label': 'left'
|
||||
});
|
||||
|
||||
}
|
||||
</script>
|
||||
|
|
@ -1,150 +0,0 @@
|
|||
<?php
|
||||
|
||||
// global
|
||||
global $field_group;
|
||||
|
||||
|
||||
// active
|
||||
acf_render_field_wrap(array(
|
||||
'label' => __('Active','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'true_false',
|
||||
'name' => 'active',
|
||||
'prefix' => 'acf_field_group',
|
||||
'value' => $field_group['active'],
|
||||
'ui' => 1,
|
||||
//'ui_on_text' => __('Active', 'acf'),
|
||||
//'ui_off_text' => __('Inactive', 'acf'),
|
||||
));
|
||||
|
||||
|
||||
// style
|
||||
acf_render_field_wrap(array(
|
||||
'label' => __('Style','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'select',
|
||||
'name' => 'style',
|
||||
'prefix' => 'acf_field_group',
|
||||
'value' => $field_group['style'],
|
||||
'choices' => array(
|
||||
'default' => __("Standard (WP metabox)",'acf'),
|
||||
'seamless' => __("Seamless (no metabox)",'acf'),
|
||||
)
|
||||
));
|
||||
|
||||
|
||||
// position
|
||||
acf_render_field_wrap(array(
|
||||
'label' => __('Position','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'select',
|
||||
'name' => 'position',
|
||||
'prefix' => 'acf_field_group',
|
||||
'value' => $field_group['position'],
|
||||
'choices' => array(
|
||||
'acf_after_title' => __("High (after title)",'acf'),
|
||||
'normal' => __("Normal (after content)",'acf'),
|
||||
'side' => __("Side",'acf'),
|
||||
),
|
||||
'default_value' => 'normal'
|
||||
));
|
||||
|
||||
|
||||
// label_placement
|
||||
acf_render_field_wrap(array(
|
||||
'label' => __('Label placement','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'select',
|
||||
'name' => 'label_placement',
|
||||
'prefix' => 'acf_field_group',
|
||||
'value' => $field_group['label_placement'],
|
||||
'choices' => array(
|
||||
'top' => __("Top aligned",'acf'),
|
||||
'left' => __("Left aligned",'acf'),
|
||||
)
|
||||
));
|
||||
|
||||
|
||||
// instruction_placement
|
||||
acf_render_field_wrap(array(
|
||||
'label' => __('Instruction placement','acf'),
|
||||
'instructions' => '',
|
||||
'type' => 'select',
|
||||
'name' => 'instruction_placement',
|
||||
'prefix' => 'acf_field_group',
|
||||
'value' => $field_group['instruction_placement'],
|
||||
'choices' => array(
|
||||
'label' => __("Below labels",'acf'),
|
||||
'field' => __("Below fields",'acf'),
|
||||
)
|
||||
));
|
||||
|
||||
|
||||
// menu_order
|
||||
acf_render_field_wrap(array(
|
||||
'label' => __('Order No.','acf'),
|
||||
'instructions' => __('Field groups with a lower order will appear first','acf'),
|
||||
'type' => 'number',
|
||||
'name' => 'menu_order',
|
||||
'prefix' => 'acf_field_group',
|
||||
'value' => $field_group['menu_order'],
|
||||
));
|
||||
|
||||
|
||||
// description
|
||||
acf_render_field_wrap(array(
|
||||
'label' => __('Description','acf'),
|
||||
'instructions' => __('Shown in field group list','acf'),
|
||||
'type' => 'text',
|
||||
'name' => 'description',
|
||||
'prefix' => 'acf_field_group',
|
||||
'value' => $field_group['description'],
|
||||
));
|
||||
|
||||
|
||||
// hide on screen
|
||||
acf_render_field_wrap(array(
|
||||
'label' => __('Hide on screen','acf'),
|
||||
'instructions' => __('<b>Select</b> items to <b>hide</b> them from the edit screen.','acf') . '<br /><br />' . __("If multiple field groups appear on an edit screen, the first field group's options will be used (the one with the lowest order number)",'acf'),
|
||||
'type' => 'checkbox',
|
||||
'name' => 'hide_on_screen',
|
||||
'prefix' => 'acf_field_group',
|
||||
'value' => $field_group['hide_on_screen'],
|
||||
'toggle' => true,
|
||||
'choices' => array(
|
||||
'permalink' => __("Permalink", 'acf'),
|
||||
'the_content' => __("Content Editor",'acf'),
|
||||
'excerpt' => __("Excerpt", 'acf'),
|
||||
'custom_fields' => __("Custom Fields", 'acf'),
|
||||
'discussion' => __("Discussion", 'acf'),
|
||||
'comments' => __("Comments", 'acf'),
|
||||
'revisions' => __("Revisions", 'acf'),
|
||||
'slug' => __("Slug", 'acf'),
|
||||
'author' => __("Author", 'acf'),
|
||||
'format' => __("Format", 'acf'),
|
||||
'page_attributes' => __("Page Attributes", 'acf'),
|
||||
'featured_image' => __("Featured Image", 'acf'),
|
||||
'categories' => __("Categories", 'acf'),
|
||||
'tags' => __("Tags", 'acf'),
|
||||
'send-trackbacks' => __("Send Trackbacks", 'acf'),
|
||||
)
|
||||
));
|
||||
|
||||
|
||||
// 3rd party settings
|
||||
do_action('acf/render_field_group_settings', $field_group);
|
||||
|
||||
?>
|
||||
<div class="acf-hidden">
|
||||
<input type="hidden" name="acf_field_group[key]" value="<?php echo $field_group['key']; ?>" />
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
if( typeof acf !== 'undefined' ) {
|
||||
|
||||
acf.postbox.render({
|
||||
'id': 'acf-field-group-options',
|
||||
'label': 'left'
|
||||
});
|
||||
|
||||
}
|
||||
</script>
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* html-admin-tools
|
||||
*
|
||||
* View to output admin tools for both archive and single
|
||||
*
|
||||
* @date 20/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param string $screen_id The screen ID used to display metaboxes
|
||||
* @param string $active The active Tool
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
$class = $active ? 'single' : 'grid';
|
||||
|
||||
?>
|
||||
<div class="wrap" id="acf-admin-tools">
|
||||
|
||||
<h1><?php _e('Tools', 'acf'); ?> <?php if( $active ): ?><a class="page-title-action" href="<?php echo acf_get_admin_tools_url(); ?>">Back to all tools</a><?php endif; ?></h1>
|
||||
|
||||
<div class="acf-meta-box-wrap -<?php echo $class; ?>">
|
||||
<?php do_meta_boxes( $screen_id, 'normal', '' ); ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
<div class="rule-group" data-id="<?php echo $group_id; ?>">
|
||||
|
||||
<h4><?php echo ($group_id == 'group_0') ? __("Show this field group if",'acf') : __("or",'acf'); ?></h4>
|
||||
|
||||
<table class="acf-table -clear">
|
||||
<tbody>
|
||||
<?php foreach( $group as $i => $rule ):
|
||||
|
||||
// append id
|
||||
$rule['id'] = "rule_{$i}";
|
||||
$rule['group'] = $group_id;
|
||||
|
||||
|
||||
// valid rule
|
||||
$rule = acf_get_valid_location_rule($rule);
|
||||
|
||||
|
||||
// view
|
||||
acf_get_view('html-location-rule', array(
|
||||
'rule' => $rule
|
||||
));
|
||||
|
||||
endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
<tr data-id="<?php echo $rule['id']; ?>">
|
||||
<td class="param">
|
||||
<?php
|
||||
|
||||
// vars
|
||||
$choices = acf_get_location_rule_types();
|
||||
|
||||
|
||||
// array
|
||||
if( is_array($choices) ) {
|
||||
|
||||
acf_render_field(array(
|
||||
'type' => 'select',
|
||||
'name' => 'param',
|
||||
'prefix' => $rule['prefix'],
|
||||
'value' => $rule['param'],
|
||||
'choices' => $choices,
|
||||
'class' => 'refresh-location-rule'
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
</td>
|
||||
<td class="operator">
|
||||
<?php
|
||||
|
||||
// vars
|
||||
$choices = acf_get_location_rule_operators( $rule );
|
||||
|
||||
|
||||
// array
|
||||
if( is_array($choices) ) {
|
||||
|
||||
acf_render_field(array(
|
||||
'type' => 'select',
|
||||
'name' => 'operator',
|
||||
'prefix' => $rule['prefix'],
|
||||
'value' => $rule['operator'],
|
||||
'choices' => $choices
|
||||
));
|
||||
|
||||
// custom
|
||||
} else {
|
||||
|
||||
echo $choices;
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
</td>
|
||||
<td class="value">
|
||||
<?php
|
||||
|
||||
// vars
|
||||
$choices = acf_get_location_rule_values( $rule );
|
||||
|
||||
|
||||
// array
|
||||
if( is_array($choices) ) {
|
||||
|
||||
acf_render_field(array(
|
||||
'type' => 'select',
|
||||
'name' => 'value',
|
||||
'prefix' => $rule['prefix'],
|
||||
'value' => $rule['value'],
|
||||
'choices' => $choices
|
||||
));
|
||||
|
||||
// custom
|
||||
} else {
|
||||
|
||||
echo $choices;
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
</td>
|
||||
<td class="add">
|
||||
<a href="#" class="button add-location-rule"><?php _e("and",'acf'); ?></a>
|
||||
</td>
|
||||
<td class="remove">
|
||||
<a href="#" class="acf-icon -minus remove-location-rule"></a>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -1,235 +0,0 @@
|
|||
<?php
|
||||
|
||||
// vars
|
||||
$button = __('Upgrade Sites');
|
||||
|
||||
?>
|
||||
<div id="acf-upgrade-wrap" class="wrap">
|
||||
|
||||
<h1><?php _e("Advanced Custom Fields Database Upgrade",'acf'); ?></h1>
|
||||
|
||||
<p><?php echo sprintf( __("The following sites require a DB upgrade. Check the ones you want to update and then click %s.", 'acf'), '"' . $button . '"'); ?></p>
|
||||
|
||||
<p><input type="submit" name="upgrade" value="<?php echo $button; ?>" class="button" id="upgrade-sites"></p>
|
||||
|
||||
<table class="wp-list-table widefat">
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<td class="manage-column check-column" scope="col"><input type="checkbox" id="sites-select-all"></td>
|
||||
<th class="manage-column" scope="col" style="width:33%;"><label for="sites-select-all"><?php _e("Site", 'acf'); ?></label></th>
|
||||
<th><?php _e("Description", 'acf'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td class="manage-column check-column" scope="col"><input type="checkbox" id="sites-select-all-2"></td>
|
||||
<th class="manage-column" scope="col"><label for="sites-select-all-2"><?php _e("Site", 'acf'); ?></label></th>
|
||||
<th><?php _e("Description", 'acf'); ?></th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
<tbody id="the-list">
|
||||
|
||||
<?php foreach( $sites as $i => $site ): ?>
|
||||
|
||||
<tr<?php if( $i % 2 == 0 ): ?> class="alternate"<?php endif; ?>>
|
||||
<th class="check-column" scope="row">
|
||||
<?php if( $site['updates'] ): ?>
|
||||
<input type="checkbox" value="<?php echo $site['blog_id']; ?>" name="checked[]">
|
||||
<?php endif; ?>
|
||||
</th>
|
||||
<td>
|
||||
<strong><?php echo $site['name']; ?></strong><br /><?php echo $site['url']; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php if( $site['updates'] ): ?>
|
||||
<span class="response"><?php printf(__('Site requires database upgrade from %s to %s', 'acf'), $site['acf_version'], $plugin_version); ?></span>
|
||||
<?php else: ?>
|
||||
<?php _e("Site is up to date", 'acf'); ?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php endforeach; ?>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
|
||||
<p><input type="submit" name="upgrade" value="<?php echo $button; ?>" class="button" id="upgrade-sites-2"></p>
|
||||
|
||||
<p class="show-on-complete"><?php echo sprintf( __('Database Upgrade complete. <a href="%s">Return to network dashboard</a>', 'acf'), network_admin_url() ); ?></p>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
/* hide show */
|
||||
.show-on-complete {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
(function($) {
|
||||
|
||||
var upgrader = {
|
||||
|
||||
$buttons: null,
|
||||
|
||||
$inputs: null,
|
||||
i: 0,
|
||||
|
||||
init : function(){
|
||||
|
||||
// reference
|
||||
var self = this;
|
||||
|
||||
|
||||
// vars
|
||||
this.$buttons = $('#upgrade-sites, #upgrade-sites-2');
|
||||
|
||||
|
||||
// events
|
||||
this.$buttons.on('click', function( e ){
|
||||
|
||||
// prevent default
|
||||
e.preventDefault();
|
||||
|
||||
|
||||
// confirm
|
||||
var answer = confirm("<?php _e('It is strongly recommended that you backup your database before proceeding. Are you sure you wish to run the updater now?', 'acf'); ?>");
|
||||
|
||||
|
||||
// bail early if no confirm
|
||||
if( !answer ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// populate inputs
|
||||
self.$inputs = $('#the-list input:checked');
|
||||
|
||||
|
||||
// upgrade
|
||||
self.upgrade();
|
||||
|
||||
});
|
||||
|
||||
|
||||
// return
|
||||
return this;
|
||||
|
||||
},
|
||||
|
||||
upgrade: function(){
|
||||
|
||||
// reference
|
||||
var self = this;
|
||||
|
||||
|
||||
// bail early if no sites
|
||||
if( !this.$inputs.length ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// complete
|
||||
if( this.i >= this.$inputs.length ) {
|
||||
|
||||
this.complete();
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// disable buttons
|
||||
this.$buttons.attr('disabled', 'disabled');
|
||||
|
||||
|
||||
// vars
|
||||
var $input = this.$inputs.eq( this.i ),
|
||||
$tr = $input.closest('tr'),
|
||||
text = '<?php _e('Upgrade complete', 'acf'); ?>';
|
||||
|
||||
|
||||
// add loading
|
||||
$tr.find('.response').html('<i class="acf-loading"></i></span> <?php printf(__('Upgrading data to version %s', 'acf'), $plugin_version); ?>');
|
||||
|
||||
|
||||
// get results
|
||||
var xhr = $.ajax({
|
||||
url: '<?php echo admin_url('admin-ajax.php'); ?>',
|
||||
dataType: 'json',
|
||||
type: 'post',
|
||||
data: {
|
||||
action: 'acf/admin/db_update',
|
||||
nonce: '<?php echo wp_create_nonce('acf_db_update'); ?>',
|
||||
blog_id: $input.val(),
|
||||
},
|
||||
success: function( json ){
|
||||
|
||||
// remove input
|
||||
$input.prop('checked', false);
|
||||
$input.remove();
|
||||
|
||||
|
||||
// vars
|
||||
var message = acf.get_ajax_message(json);
|
||||
|
||||
|
||||
// bail early if no message text
|
||||
if( !message.text ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// update text
|
||||
text = '<pre>' + message.text + '</pre>';
|
||||
|
||||
},
|
||||
complete: function(){
|
||||
|
||||
$tr.find('.response').html( text );
|
||||
|
||||
|
||||
// upgrade next site
|
||||
self.next();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
next: function(){
|
||||
|
||||
this.i++;
|
||||
|
||||
this.upgrade();
|
||||
|
||||
},
|
||||
|
||||
complete: function(){
|
||||
|
||||
// enable buttons
|
||||
this.$buttons.removeAttr('disabled');
|
||||
|
||||
|
||||
// show message
|
||||
$('.show-on-complete').show();
|
||||
|
||||
}
|
||||
|
||||
}.init();
|
||||
|
||||
})(jQuery);
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
<?php
|
||||
|
||||
// calculate add-ons (non pro only)
|
||||
$plugins = array();
|
||||
|
||||
if( !acf_get_setting('pro') ) {
|
||||
|
||||
if( is_plugin_active('acf-repeater/acf-repeater.php') ) $plugins[] = __("Repeater",'acf');
|
||||
if( is_plugin_active('acf-flexible-content/acf-flexible-content.php') ) $plugins[] = __("Flexible Content",'acf');
|
||||
if( is_plugin_active('acf-gallery/acf-gallery.php') ) $plugins[] = __("Gallery",'acf');
|
||||
if( is_plugin_active('acf-options-page/acf-options-page.php') ) $plugins[] = __("Options Page",'acf');
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
<div id="acf-upgrade-notice">
|
||||
|
||||
<div class="inner">
|
||||
|
||||
<div class="acf-icon logo">
|
||||
<i class="acf-sprite-logo"></i>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
|
||||
<h2><?php _e("Database Upgrade Required",'acf'); ?></h2>
|
||||
|
||||
<p><?php printf(__("Thank you for updating to %s v%s!", 'acf'), acf_get_setting('name'), acf_get_setting('version') ); ?><br /><?php _e("Before you start using the new awesome features, please update your database to the newest version.", 'acf'); ?></p>
|
||||
|
||||
<?php if( !empty($plugins) ): ?>
|
||||
<p><?php printf(__("Please also ensure any premium add-ons (%s) have first been updated to the latest version.", 'acf'), implode(', ', $plugins) ); ?></p>
|
||||
<?php endif; ?>
|
||||
|
||||
<p><a id="acf-notice-action" href="<?php echo $button_url; ?>" class="button button-primary"><?php echo $button_text; ?></a></p>
|
||||
|
||||
<?php if( $confirm ): ?>
|
||||
<script type="text/javascript">
|
||||
(function($) {
|
||||
|
||||
$("#acf-notice-action").on("click", function(){
|
||||
|
||||
var answer = confirm("<?php _e( 'It is strongly recommended that you backup your database before proceeding. Are you sure you wish to run the updater now?', 'acf' ); ?>");
|
||||
return answer;
|
||||
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
</script>
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="clear"></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
@ -1,109 +0,0 @@
|
|||
<div id="acf-upgrade-wrap" class="wrap">
|
||||
|
||||
<h1><?php _e("Advanced Custom Fields Database Upgrade",'acf'); ?></h1>
|
||||
|
||||
<?php if( $updates ): ?>
|
||||
|
||||
<p><?php _e('Reading upgrade tasks...', 'acf'); ?></p>
|
||||
|
||||
<p class="show-on-ajax"><i class="acf-loading"></i> <?php printf(__('Upgrading data to version %s', 'acf'), $plugin_version); ?></p>
|
||||
|
||||
<p class="show-on-complete"><?php echo sprintf( __('Database Upgrade complete. <a href="%s">See what\'s new</a>', 'acf' ), admin_url('edit.php?post_type=acf-field-group&page=acf-settings-info') ); ?></p>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
/* hide show */
|
||||
.show-on-ajax,
|
||||
.show-on-complete {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
(function($) {
|
||||
|
||||
var upgrader = {
|
||||
|
||||
init: function(){
|
||||
|
||||
// reference
|
||||
var self = this;
|
||||
|
||||
|
||||
// allow user to read message for 1 second
|
||||
setTimeout(function(){
|
||||
|
||||
self.upgrade();
|
||||
|
||||
}, 1000);
|
||||
|
||||
|
||||
// return
|
||||
return this;
|
||||
},
|
||||
|
||||
upgrade: function(){
|
||||
|
||||
// reference
|
||||
var self = this;
|
||||
|
||||
|
||||
// show message
|
||||
$('.show-on-ajax').show();
|
||||
|
||||
|
||||
// get results
|
||||
var xhr = $.ajax({
|
||||
url: '<?php echo admin_url('admin-ajax.php'); ?>',
|
||||
dataType: 'json',
|
||||
type: 'post',
|
||||
data: {
|
||||
action: 'acf/admin/db_update',
|
||||
nonce: '<?php echo wp_create_nonce('acf_db_update'); ?>'
|
||||
},
|
||||
success: function( json ){
|
||||
|
||||
// vars
|
||||
var message = acf.get_ajax_message(json);
|
||||
|
||||
|
||||
// bail early if no message text
|
||||
if( !message.text ) {
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// show message
|
||||
$('.show-on-ajax').html( message.text );
|
||||
|
||||
},
|
||||
complete: function( json ){
|
||||
|
||||
// remove spinner
|
||||
$('.acf-loading').hide();
|
||||
|
||||
|
||||
// show complete
|
||||
$('.show-on-complete').show();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
}.init();
|
||||
|
||||
})(jQuery);
|
||||
</script>
|
||||
|
||||
<?php else: ?>
|
||||
|
||||
<p><?php _e('No updates available.', 'acf'); ?></p>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
<div class="wrap acf-settings-wrap">
|
||||
|
||||
<h1><?php _e("Add-ons",'acf'); ?></h1>
|
||||
|
||||
<div class="add-ons-list">
|
||||
|
||||
<?php if( !empty($json) ): ?>
|
||||
|
||||
<?php foreach( $json as $addon ):
|
||||
|
||||
$addon = wp_parse_args($addon, array(
|
||||
"title" => "",
|
||||
"slug" => "",
|
||||
"description" => "",
|
||||
"thumbnail" => "",
|
||||
"url" => "",
|
||||
"btn" => __("Download & Install",'acf'),
|
||||
"btn_color" => ""
|
||||
));
|
||||
|
||||
?>
|
||||
|
||||
<div class="acf-box add-on add-on-<?php echo $addon['slug']; ?>">
|
||||
|
||||
<div class="thumbnail">
|
||||
<a target="_blank" href="<?php echo $addon['url']; ?>">
|
||||
<img src="<?php echo $addon['thumbnail']; ?>" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="inner">
|
||||
<h3><a target="_blank" href="<?php echo $addon['url']; ?>"><?php echo $addon['title']; ?></a></h3>
|
||||
<p><?php echo $addon['description']; ?></p>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<?php if( apply_filters("acf/is_add_on_active/slug={$addon['slug']}", false ) ): ?>
|
||||
<a class="button" disabled="disabled"><?php _e("Installed",'acf'); ?></a>
|
||||
<?php else: ?>
|
||||
<a class="button <?php echo $addon['btn_color']; ?>" target="_blank" href="<?php echo $addon['url']; ?>" ><?php _e($addon['btn']); ?></a>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if( !empty($addon['footer']) ): ?>
|
||||
<p><?php echo $addon['footer']; ?></p>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<?php endforeach; ?>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
@ -1,183 +0,0 @@
|
|||
<div class="wrap about-wrap acf-wrap">
|
||||
|
||||
<h1><?php _e("Welcome to Advanced Custom Fields",'acf'); ?> <?php echo $version; ?></h1>
|
||||
<div class="about-text"><?php printf(__("Thank you for updating! ACF %s is bigger and better than ever before. We hope you like it.", 'acf'), $version); ?></div>
|
||||
<div class="acf-icon logo">
|
||||
<i class="acf-sprite-logo"></i>
|
||||
</div>
|
||||
|
||||
<h2 class="nav-tab-wrapper">
|
||||
<?php foreach( $tabs as $tab_slug => $tab_title ): ?>
|
||||
<a class="nav-tab<?php if( $active == $tab_slug ): ?> nav-tab-active<?php endif; ?>" href="<?php echo admin_url("edit.php?post_type=acf-field-group&page=acf-settings-info&tab={$tab_slug}"); ?>"><?php echo $tab_title; ?></a>
|
||||
<?php endforeach; ?>
|
||||
</h2>
|
||||
|
||||
<?php if( $active == 'new' ): ?>
|
||||
|
||||
<h2 class="about-headline-callout"><?php _e("A smoother custom field experience", 'acf'); ?></h2>
|
||||
|
||||
<div class="feature-section acf-three-col">
|
||||
<div>
|
||||
<img src="https://assets.advancedcustomfields.com/info/5.0.0/select2.png">
|
||||
<h3><?php _e("Improved Usability", 'acf'); ?></h3>
|
||||
<p><?php _e("Including the popular Select2 library has improved both usability and speed across a number of field types including post object, page link, taxonomy and select.", 'acf'); ?></p>
|
||||
</div>
|
||||
<div>
|
||||
<img src="https://assets.advancedcustomfields.com/info/5.0.0/design.png">
|
||||
<h3><?php _e("Improved Design", 'acf'); ?></h3>
|
||||
<p><?php _e("Many fields have undergone a visual refresh to make ACF look better than ever! Noticeable changes are seen on the gallery, relationship and oEmbed (new) fields!", 'acf'); ?></p>
|
||||
</div>
|
||||
<div>
|
||||
<img src="https://assets.advancedcustomfields.com/info/5.0.0/sub-fields.png">
|
||||
<h3><?php _e("Improved Data", 'acf'); ?></h3>
|
||||
<p><?php _e("Redesigning the data architecture has allowed sub fields to live independently from their parents. This allows you to drag and drop fields in and out of parent fields!", 'acf'); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<h2 class="about-headline-callout"><?php _e("Goodbye Add-ons. Hello PRO", 'acf'); ?></h2>
|
||||
|
||||
<div class="feature-section acf-three-col">
|
||||
|
||||
<div>
|
||||
<h3><?php _e("Introducing ACF PRO", 'acf'); ?></h3>
|
||||
<p><?php _e("We're changing the way premium functionality is delivered in an exciting way!", 'acf'); ?></p>
|
||||
<p><?php printf(__('All 4 premium add-ons have been combined into a new <a href="%s">Pro version of ACF</a>. With both personal and developer licenses available, premium functionality is more affordable and accessible than ever before!', 'acf'), esc_url('https://www.advancedcustomfields.com/pro')); ?></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3><?php _e("Powerful Features", 'acf'); ?></h3>
|
||||
<p><?php _e("ACF PRO contains powerful features such as repeatable data, flexible content layouts, a beautiful gallery field and the ability to create extra admin options pages!", 'acf'); ?></p>
|
||||
<p><?php printf(__('Read more about <a href="%s">ACF PRO features</a>.', 'acf'), esc_url('https://www.advancedcustomfields.com/pro')); ?></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3><?php _e("Easy Upgrading", 'acf'); ?></h3>
|
||||
<p><?php printf(__('To help make upgrading easy, <a href="%s">login to your store account</a> and claim a free copy of ACF PRO!', 'acf'), esc_url('https://www.advancedcustomfields.com/my-account/')); ?></p>
|
||||
<p><?php printf(__('We also wrote an <a href="%s">upgrade guide</a> to answer any questions, but if you do have one, please contact our support team via the <a href="%s">help desk</a>', 'acf'), esc_url('https://www.advancedcustomfields.com/resources/updates/upgrading-v4-v5/'), esc_url('https://support.advancedcustomfields.com')); ?>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
<h2 class="about-headline-callout"><?php _e("Under the Hood", 'acf'); ?></h2>
|
||||
|
||||
<div class="feature-section acf-three-col">
|
||||
|
||||
<div>
|
||||
<h4><?php _e("Smarter field settings", 'acf'); ?></h4>
|
||||
<p><?php _e("ACF now saves its field settings as individual post objects", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4><?php _e("More AJAX", 'acf'); ?></h4>
|
||||
<p><?php _e("More fields use AJAX powered search to speed up page loading", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4><?php _e("Local JSON", 'acf'); ?></h4>
|
||||
<p><?php _e("New auto export to JSON feature improves speed", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
<div>
|
||||
<h4><?php _e("Better version control", 'acf'); ?></h4>
|
||||
<p><?php _e("New auto export to JSON feature allows field settings to be version controlled", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4><?php _e("Swapped XML for JSON", 'acf'); ?></h4>
|
||||
<p><?php _e("Import / Export now uses JSON in favour of XML", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4><?php _e("New Forms", 'acf'); ?></h4>
|
||||
<p><?php _e("Fields can now be mapped to comments, widgets and all user forms!", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
<div>
|
||||
<h4><?php _e("New Field", 'acf'); ?></h4>
|
||||
<p><?php _e("A new field for embedding content has been added", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4><?php _e("New Gallery", 'acf'); ?></h4>
|
||||
<p><?php _e("The gallery field has undergone a much needed facelift", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4><?php _e("New Settings", 'acf'); ?></h4>
|
||||
<p><?php _e("Field group settings have been added for label placement and instruction placement", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
<div>
|
||||
<h4><?php _e("Better Front End Forms", 'acf'); ?></h4>
|
||||
<p><?php _e("acf_form() can now create a new post on submission", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4><?php _e("Better Validation", 'acf'); ?></h4>
|
||||
<p><?php _e("Form validation is now done via PHP + AJAX in favour of only JS", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4><?php _e("Relationship Field", 'acf'); ?></h4>
|
||||
<p><?php _e("New Relationship field setting for 'Filters' (Search, Post Type, Taxonomy)", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
|
||||
<div>
|
||||
<h4><?php _e("Moving Fields", 'acf'); ?></h4>
|
||||
<p><?php _e("New field group functionality allows you to move a field between groups & parents", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4><?php _e("Page Link", 'acf'); ?></h4>
|
||||
<p><?php _e("New archives group in page_link field selection", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4><?php _e("Better Options Pages", 'acf'); ?></h4>
|
||||
<p><?php _e("New functions for options page allow creation of both parent and child menu pages", 'acf'); ?></p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<?php elseif( $active == 'changelog' ): ?>
|
||||
|
||||
<p class="about-description"><?php printf(__("We think you'll love the changes in %s.", 'acf'), $version); ?></p>
|
||||
|
||||
<?php
|
||||
|
||||
$items = file_get_contents( acf_get_path('readme.txt') );
|
||||
$items = explode('= ' . $version . ' =', $items);
|
||||
|
||||
$items = end( $items );
|
||||
$items = current( explode("\n\n", $items) );
|
||||
$items = array_filter( array_map('trim', explode("*", $items)) );
|
||||
|
||||
?>
|
||||
<ul class="changelog">
|
||||
<?php foreach( $items as $item ):
|
||||
|
||||
$item = explode('http', $item);
|
||||
|
||||
?>
|
||||
<li><?php echo $item[0]; ?><?php if( isset($item[1]) ): ?><a href="http<?php echo $item[1]; ?>" target="_blank">[...]</a><?php endif; ?></li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
|
|
@ -1,86 +0,0 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* ACF AJAX Class
|
||||
*
|
||||
* All the logic for misc AJAX functionality
|
||||
*
|
||||
* @class acf_ajax
|
||||
* @package ACF
|
||||
* @subpackage Core
|
||||
*/
|
||||
|
||||
if( ! class_exists('acf_ajax') ) :
|
||||
|
||||
class acf_ajax {
|
||||
|
||||
|
||||
/*
|
||||
* __construct
|
||||
*
|
||||
* This function will setup the class functionality
|
||||
*
|
||||
* @type function
|
||||
* @date 5/03/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function __construct() {
|
||||
|
||||
// acf/update_user_setting
|
||||
add_action( 'wp_ajax_acf/update_user_setting', array($this, 'update_user_setting') );
|
||||
add_action( 'wp_ajax_nopriv_acf/update_user_setting', array($this, 'update_user_setting') );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* update_user_setting
|
||||
*
|
||||
* This function will update a user setting
|
||||
*
|
||||
* @type function
|
||||
* @date 15/07/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function update_user_setting() {
|
||||
|
||||
// options
|
||||
$options = wp_parse_args( $_POST, array(
|
||||
'name' => '',
|
||||
'value' => '',
|
||||
'nonce' => '',
|
||||
));
|
||||
|
||||
|
||||
// validate
|
||||
if( ! wp_verify_nonce($options['nonce'], 'acf_nonce') || empty($options['name']) ) {
|
||||
|
||||
die('0');
|
||||
|
||||
}
|
||||
|
||||
|
||||
// upadte setting
|
||||
acf_update_user_setting( $options['name'], $options['value'] );
|
||||
|
||||
|
||||
// return
|
||||
die('1');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
new acf_ajax();
|
||||
|
||||
endif;
|
||||
|
||||
?>
|
||||
|
|
@ -1,615 +0,0 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* acf_esc_html
|
||||
*
|
||||
* This function will encode <script> tags for safe output
|
||||
*
|
||||
* @type function
|
||||
* @date 25/6/17
|
||||
* @since 5.6.0
|
||||
*
|
||||
* @param string (string)
|
||||
* @return (string)
|
||||
*/
|
||||
|
||||
function acf_esc_html( $string = '' ) {
|
||||
|
||||
// cast
|
||||
$string = (string) $string;
|
||||
|
||||
|
||||
// replace
|
||||
$string = str_replace('<script', htmlspecialchars('<script'), $string);
|
||||
$string = str_replace('</script', htmlspecialchars('</script'), $string);
|
||||
|
||||
|
||||
// return
|
||||
return $string;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* acf_clean_atts
|
||||
*
|
||||
* This function will remove empty attributes
|
||||
*
|
||||
* @date 3/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param array $atts
|
||||
* @return array
|
||||
*/
|
||||
|
||||
function acf_clean_atts( $atts = array() ) {
|
||||
|
||||
// loop
|
||||
foreach( $atts as $k => $v ) {
|
||||
if( $v === '' ) unset( $atts[ $k ] );
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $atts;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* acf_get_atts
|
||||
*
|
||||
* This function will return an array of HTML attributes
|
||||
*
|
||||
* @date 2/10/17
|
||||
* @since 5.6.3
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
/*
|
||||
function acf_get_atts( $array, $keys ) {
|
||||
|
||||
// vars
|
||||
$atts = array();
|
||||
|
||||
|
||||
// append attributes
|
||||
foreach( $keys as $k ) {
|
||||
if( isset($array[ $k ]) ) $atts[ $k ] = $array[ $k ];
|
||||
}
|
||||
|
||||
|
||||
// modify special attributes
|
||||
foreach( array('readonly', 'disabled', 'required') as $k ) {
|
||||
$atts[ $k ] = $atts[ $k ] ? $k : '';
|
||||
}
|
||||
|
||||
|
||||
// clean up blank attributes
|
||||
foreach( $atts as $k => $v ) {
|
||||
if( $v === '' ) unset( $atts[ $k ] );
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $atts;
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* acf_esc_atts
|
||||
*
|
||||
* This function will escape an array of attributes and return as HTML
|
||||
*
|
||||
* @type function
|
||||
* @date 27/6/17
|
||||
* @since 5.6.0
|
||||
*
|
||||
* @param $atts (array)
|
||||
* @return (string)
|
||||
*/
|
||||
|
||||
function acf_esc_atts( $atts = array() ) {
|
||||
|
||||
// vars
|
||||
$html = '';
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $atts as $k => $v ) {
|
||||
|
||||
// string
|
||||
if( is_string($v) ) {
|
||||
|
||||
// don't trim value
|
||||
if( $k !== 'value') $v = trim($v);
|
||||
|
||||
// boolean
|
||||
} elseif( is_bool($v) ) {
|
||||
|
||||
$v = $v ? 1 : 0;
|
||||
|
||||
// object
|
||||
} elseif( is_array($v) || is_object($v) ) {
|
||||
|
||||
$v = json_encode($v);
|
||||
|
||||
}
|
||||
|
||||
|
||||
// append
|
||||
$html .= esc_attr( $k ) . '="' . esc_attr( $v ) . '" ';
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return trim( $html );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_esc_atts_e
|
||||
*
|
||||
* This function will echo acf_esc_atts
|
||||
*
|
||||
* @type function
|
||||
* @date 27/6/17
|
||||
* @since 5.6.0
|
||||
*
|
||||
* @param $atts (array)
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_esc_atts_e( $atts = array() ) {
|
||||
|
||||
echo acf_esc_atts( $atts );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_text_input
|
||||
*
|
||||
* This function will return HTML for a text input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return (string)
|
||||
*/
|
||||
|
||||
function acf_get_text_input( $atts = array() ) {
|
||||
|
||||
$atts['type'] = isset($atts['type']) ? $atts['type'] : 'text';
|
||||
return '<input ' . acf_esc_atts( $atts ) . ' />';
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_text_input
|
||||
*
|
||||
* This function will output HTML for a text input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_text_input( $atts = array() ) {
|
||||
|
||||
echo acf_get_text_input( $atts );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_hidden_input
|
||||
*
|
||||
* This function will return HTML for a hidden input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return (string)
|
||||
*/
|
||||
|
||||
function acf_get_hidden_input( $atts = array() ) {
|
||||
|
||||
$atts['type'] = 'hidden';
|
||||
return acf_get_text_input( $atts );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_hidden_input
|
||||
*
|
||||
* This function will output HTML for a generic input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_hidden_input( $atts = array() ) {
|
||||
|
||||
echo acf_get_hidden_input( $atts ) . "\n";
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_textarea_input
|
||||
*
|
||||
* This function will return HTML for a textarea input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return (string)
|
||||
*/
|
||||
|
||||
function acf_get_textarea_input( $atts = array() ) {
|
||||
|
||||
$value = acf_extract_var( $atts, 'value', '' );
|
||||
return '<textarea ' . acf_esc_atts( $atts ) . '>' . esc_textarea( $value ) . '</textarea>';
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_textarea_input
|
||||
*
|
||||
* This function will output HTML for a textarea input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_textarea_input( $atts = array() ) {
|
||||
|
||||
echo acf_get_textarea_input( $atts );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_checkbox_input
|
||||
*
|
||||
* This function will return HTML for a checkbox input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return (string)
|
||||
*/
|
||||
|
||||
function acf_get_checkbox_input( $atts = array() ) {
|
||||
|
||||
$label = acf_extract_var( $atts, 'label', '' );
|
||||
$checked = acf_maybe_get( $atts, 'checked', '' );
|
||||
$atts['type'] = acf_maybe_get( $atts, 'type', 'checkbox' );
|
||||
return '<label' . ($checked ? ' class="selected"' : '') . '><input ' . acf_esc_attr( $atts ) . '/>' . acf_esc_html( $label ) . '</label>';
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_checkbox_input
|
||||
*
|
||||
* This function will output HTML for a checkbox input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_checkbox_input( $atts = array() ) {
|
||||
|
||||
echo acf_get_checkbox_input( $atts );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_radio_input
|
||||
*
|
||||
* This function will return HTML for a radio input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return (string)
|
||||
*/
|
||||
|
||||
function acf_get_radio_input( $atts = array() ) {
|
||||
|
||||
$atts['type'] = 'radio';
|
||||
return acf_get_checkbox_input( $atts );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_radio_input
|
||||
*
|
||||
* This function will output HTML for a radio input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_radio_input( $atts = array() ) {
|
||||
|
||||
echo acf_get_radio_input( $atts );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_select_input
|
||||
*
|
||||
* This function will return HTML for a select input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return (string)
|
||||
*/
|
||||
|
||||
function acf_get_select_input( $atts = array() ) {
|
||||
|
||||
// vars
|
||||
$value = (array) acf_extract_var( $atts, 'value' );
|
||||
$choices = (array) acf_extract_var( $atts, 'choices' );
|
||||
|
||||
|
||||
// html
|
||||
$html = '';
|
||||
$html .= '<select ' . acf_esc_atts( $atts ) . '>' . "\n";
|
||||
$html .= acf_walk_select_input( $choices, $value );
|
||||
$html .= '</select>' . "\n";
|
||||
|
||||
|
||||
// return
|
||||
return $html;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_walk_select_input
|
||||
*
|
||||
* This function will return the HTML for a select input's choices
|
||||
*
|
||||
* @type function
|
||||
* @date 27/6/17
|
||||
* @since 5.6.0
|
||||
*
|
||||
* @param $post_id (int)
|
||||
* @return $post_id (int)
|
||||
*/
|
||||
|
||||
function acf_walk_select_input( $choices = array(), $values = array(), $depth = 0 ) {
|
||||
|
||||
// bail ealry if no choices
|
||||
if( empty($choices) ) return '';
|
||||
|
||||
|
||||
// vars
|
||||
$html = '';
|
||||
|
||||
|
||||
// sanitize values for 'selected' matching
|
||||
if( $depth == 0 ) {
|
||||
$values = array_map('esc_attr', $values);
|
||||
}
|
||||
|
||||
|
||||
// loop
|
||||
foreach( $choices as $value => $label ) {
|
||||
|
||||
// optgroup
|
||||
if( is_array($label) ){
|
||||
|
||||
$html .= '<optgroup label="' . esc_attr($value) . '">' . "\n";
|
||||
$html .= acf_walk_select_input( $label, $values, $depth+1 );
|
||||
$html .= '</optgroup>';
|
||||
|
||||
// option
|
||||
} else {
|
||||
|
||||
// vars
|
||||
$atts = array( 'value' => $value );
|
||||
$pos = array_search( esc_attr($value), $values );
|
||||
|
||||
|
||||
// selected
|
||||
if( $pos !== false ) {
|
||||
$atts['selected'] = 'selected';
|
||||
$atts['data-i'] = $pos;
|
||||
}
|
||||
|
||||
|
||||
// append
|
||||
$html .= '<option ' . acf_esc_attr($atts) . '>' . esc_html($label) . '</option>' . "\n";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// return
|
||||
return $html;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_select_input
|
||||
*
|
||||
* This function will output HTML for a select input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_select_input( $atts = array() ) {
|
||||
|
||||
echo acf_get_select_input( $atts );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
function acf_test_esc_html( $string = '' ) {
|
||||
|
||||
$s = '';
|
||||
|
||||
|
||||
$time_start = microtime(true);
|
||||
$s .= wp_kses_post( $string );
|
||||
$s .= ' = ('. (microtime(true) - $time_start) .')';
|
||||
|
||||
$s .= '-----';
|
||||
|
||||
|
||||
$time_start = microtime(true);
|
||||
$s .= str_replace(array('<script', '</script'), array(htmlspecialchars('<script'), htmlspecialchars('</script')), $string);
|
||||
$s .= ' = ('. (microtime(true) - $time_start) .')';
|
||||
|
||||
|
||||
$time_start = microtime(true);
|
||||
if( strpos($string, '<script') ) {
|
||||
$s .= str_replace(array('<script', '</script'), array(htmlspecialchars('<script'), htmlspecialchars('</script')), $string);
|
||||
}
|
||||
$s .= ' = ('. (microtime(true) - $time_start) .')';
|
||||
|
||||
return $s;
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* acf_get_file_input
|
||||
*
|
||||
* This function will return HTML for a file input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return (string)
|
||||
*/
|
||||
|
||||
function acf_get_file_input( $atts = array() ) {
|
||||
|
||||
$atts['type'] = 'file';
|
||||
return acf_get_text_input( $atts );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_file_input
|
||||
*
|
||||
* This function will output HTML for a file input
|
||||
*
|
||||
* @type function
|
||||
* @date 3/02/2014
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_file_input( $atts = array() ) {
|
||||
|
||||
echo acf_get_file_input( $atts );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_esc_attr
|
||||
*
|
||||
* Deprecated since 5.6.0
|
||||
*
|
||||
* @type function
|
||||
* @date 1/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts (array)
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_esc_attr( $atts ) {
|
||||
|
||||
return acf_esc_atts( $atts );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* acf_esc_attr_e
|
||||
*
|
||||
* Deprecated since 5.6.0
|
||||
*
|
||||
* @type function
|
||||
* @date 1/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param $atts (array)
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
function acf_esc_attr_e( $atts ) {
|
||||
|
||||
acf_esc_atts_e( $atts );
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||