Les fonctions d'aide (upAction.php)

UP propose des fonctions d'aide pour alléger la saisie des actions, les contrôler et gérer la documentation automatique.
Cette page est un aide-mémoire. Référez-vous au code pour avoir plus d'infos.

télécharger ce mémo

FONCTIONS SUR FICHIERS ET FLUX

load_file($ficname, $ficpath='')

charge un fichier CSS ou JS avec gestion dossier custom

load_js_code($code, $in_head=true)

ajoute ou retourne du code JS en l'encapsulant

load_jquery_code($code, $in_head=true)

ajoute ou retourne du code jQuery en l'encapsulant

load_js_file_body($ficname, $ficpath='')

charge un fichier JS à la fin du contenu de l'article

load_css_head($code)

Ajoute du code CSS dans le head

load_custom_code_head($code)

ajoute du code libre dans head

get_custom_path($file, $path = null)

ajoute custom à $path si le $file existe dans ce dossier

get_html_contents($url, $timeout=5)

Charge un flux HTML avec timeout pour éviter blocage si site indisponible

get_url($url, $urlencode = false)

retourne URL sous forme relative

get_full_url($url, $urlencode = false)

retourne URL sous forme absolue

on_server($url)

True si l'URL est sur le serveur

load_upcss()

interne - force chargement feuille de style de UP

Mise en forme HTML

get_attr_tag($tag, $force='id,class,style')

retour array ses attributs de la balise HTML $tag.
$force est la liste des attributs toujours crées

get_attr_style(&$arr, ...$args)

analyse et ventile les chaines $args dans $arr['class'] et $arr['style']
$this->get_attr_style($attr,'bg-bleu;color:#fff','span2')

set_attr_tag($tag, $attr, $close=false)

retourne balise HTML avec attributs non vides. $close peut être le contenu.

get_attr_tag('a',['href'=>'#'],texte) -> <a href="#">Texte</a>
get_bbcode($arg, $tags="br|p|h3|h4|h5|h6|div|span |b|i|u|img|small|sup|sub|quote|ul|ol|li|code|tt")
conversion up-bbcode en HTML. ex: [b class="foo"]gras\[1\][/b]

CHAINES DE CARACTERES

str = str_append($str, $add, $sep=' ', $prefix='', $suffix='')

retourne $str complété par la chaîne $add (si non vide) en ajoutant le separateur $sep si nécessaire ainsi que $prefix et $suffix

str_append('titre','soustitre',' ','<small>','</small>')
retourne: titre <small>soustitre</small>

décliné en 3 versions rapides :

  • str = add_str(&$str, $add, $sep=' ', $prefix='', $suffix='')
  • str = add_class(&$str, $newclass, $prefix='')
  • str = add_style(&$str, $property, $val)
preg_string($regex, $source)

preg_string('#alt="(.*)"#i', '<img alt="label">');-> label

strtoarray($str, $row=',', $col=':')

un:1,2:deux -> ['un']=>1 [2]=>'deux' (avec guillemets si texte)

ctrl_unit($size, $unit='px,%,em,rem')

Retourne $size complété par $unit[0]. auto et inherit non géré.

convert_size($size, $unit_target='px')

conversion rem-px, retour array [1]=unité cible [0]=valeur

link_humanize($unc, $capitalize = true)

Retourne l'UNC nettoyé des chemins, extensions, underscore, tiret unique.

sreplace($old, $new, $src, $nb = 1)

remplace les nb occurrences de $old par $new dans $src

Dico & traduction

lang($str)

retourne texte pour langue en cours, sinon en ou 1er.
$str = "en=apple;fr=pomme"

trad_keyword($arg)

Traduction motclé des fichiers up/actions/action/up/xx-XX.ini & up/language/xx-XX/xx-XX.ini

MESSAGES

msg_error($msg)

ajoute un message d'erreur dans la file des messages de Joomla

msg_info($msg, $title='informations')

ajoute un message d'information dans la file des messages de Joomla

info_debug($txt, $infoUP=true)

retourne texte avec mise en forme très visible (texte rouge sur fond jaune)

CONTROLE DES OPTIONS UP

ctrl_options($options_def, $js_options_def=[])

Gére surcharges script (base et JS) - prefs.ini - saisie shortcode, retourne un array avec toutes les options gérées par l'action, gère l'affectation case-insensitive des options, crée la déclinaison de 1 à 6 pour les classes se terminant par -*, alerte si option inconnue, gère traduction, affiche aide et infos debug si demande

only_using_options($options_def)

retourne un array avec uniquement les paramètres saisi dans le shortcode.
Isoler les paramètres JS, afin de réduire la chaine json d'initialisation

ctrl_argument($arg, $autorized_list, $debug=true)

Retourne $arg si dans la liste, sinon le 1er. Corrige la case.

set_option_user_if_true($option, $val)

Si la propriété options_user[$option] a été saisi sans argument (true), on lui affecte $val. * modifie directement le contenu de la propriété options_user

get_action_pref($key)

Retourne la valeur pour une préf action (ex: apikey)

params_decode($str, $sep_param=',', $sep_key=':', $quote='"', $echap='\\')

Utile pour une liste d'options non gerées par l'action pour un script JS

JSON

json_arrtostr($array, $mode=1, $bracket = true)

Retourne une chaîne JSON à partir de $array.
$mode:1 = fct php json_encode, 2 = fct erso sans guillemets

get_jsontoarray($filename, $ficpath = '')

retourne fichier json dans un array

GESTION CONTENU

ctrl_content_exists()

teste si le shortode contient du contenu, affiche un message si besoin

ctrl_content_parts($content)

Retourne True si un séparateur de bloc { ==== } est trouvé dans $content

get_content_parts($content)

retourne un array avec les parties séparées par { ==== } de $content

get_content_shortcode($content, $keyword = '')

retourne array des shortcodes $keyword. Utilisé pour marker d'OSMap

filter_ok($conditions)

traitement option "filter". $condition est une chaine ou un tableau

get_content_csv($content, $cleanTags='', $bbcode='')

retourne chaque ligne du texte dans un tableau

clean_HTML($content, $tags=false, $forceEOL=false)

nettoyage/mise en forme contenu HTML

onAjaxUp()

appels AJAX pour toutes les actions

INTERNE UP (démo, debug et documentation)

set_demopage($webpage = '')

permet de définir l'URL complète de la page d'aide. Vide: la page est sur le site UP

up_actions_list()

Retourne un array avec la liste des actions

get_dico_synonym($keyword)

retourne une liste (sep virgule) de tous les synonymes d'un mot-clé

shortcode2code($str)

Retourne la chaine avec un shortcode UP neutralisé (mode code)

up_action_infos($action_name)

Retourne infos action par lecture de l'entête du script PHP et des fichiers langues.

up_action_options($action_name)

Retourne un tableau avec les options commentées et traduites de l'action

up_prefset_list($action_name=null, $full=true)

liste des sections du prefs.ini

up_help_txt()

interne : retourne le contenu up/actions/custom/help.txt

Les propriétés disponibles

actionPath chemin du dossier de l'action en cours
upPath le chemin du plugin. plugins/content/up
name le nom de l'action pour les scripts (utilisé pour son dossier, son script principal et le nom de la classe)
actionUserName le nom de l'action tel que saisi dans le shortcode
options_user un tableau avec toutes les options saisies dans le shortcode.
Contient un élément id qui sert d'identificateur unique pour l'instance d'une action
content le contenu HTML entre le shortcode ouvrant et le shortcode fermant
article toutes les données sur l'article ou le module contenant les shortcodes actions
actionprefs les infos saisies dans les préférences du plugin. Chaque action définit son utilisation. Ex: gmap l'utilise pour mémoriser l'APIKEY
demopage URL vers la page de démo de l'action. Egalement défini : usehelpsite & urlhelpsite (paramètres de UP)
dico table de correspondance des noms

 

D'autres infos

188 Utiliser la feuille de style UP
informations sur l'utilisation de la feuille de style UP dans les actions
173 Prefset : les jeux d'options
Comment programmer les jeux d'options
37 Les règles
Les règles à respecter pour programmer une action
46 Créer une action
Les grands principes et les règles à respecter
67 Organisation des fichiers de UP
Comment s'y retrouver dans les 1000 fichiers et 350 dossiers de UP
63 Site de démonstration des actions
comment faire le lien entre votre action et le site de démonstration