ajout autorisation dans les actions

This commit is contained in:
Christophe 2019-08-20 17:45:22 +02:00
parent 7e597c0ddb
commit 320c3b63e8
3 changed files with 166 additions and 152 deletions

View file

@ -307,3 +307,6 @@ var url_${1:nom} = "[(#VAL{$1}|generer_url_action{"", 1})]";
${0} ${0}
endsnippet endsnippet
snippet ifa "<i class'fa '</i>" w
<i class="fa $1"></i>$0
endsnippet

View file

@ -5,6 +5,12 @@ snippet action "SPIP action declenchee dans un lien"
if (!defined('_ECRIRE_INC_VERSION')) return; if (!defined('_ECRIRE_INC_VERSION')) return;
function action_`!v vim_snippets#Filename()`_dist(){ function action_`!v vim_snippets#Filename()`_dist(){
include_spip('inc/autoriser');
if (! autoriser("etre","connecte")) {
return false;
}
$securiser_action = charger_fonction('securiser_action', 'inc'); $securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action(); $arg = $securiser_action();
$$1 = $arg; $$1 = $arg;
@ -29,6 +35,11 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
function action_`!v vim_snippets#Filename()`_dist($arg=null){ function action_`!v vim_snippets#Filename()`_dist($arg=null){
include_spip('inc/autoriser');
if (! autoriser("etre","connecte")) {
return false;
}
if (is_null($arg)) { if (is_null($arg)) {
// DEMI sécurité : s'il y a un hash, on teste la sécurité // DEMI sécurité : s'il y a un hash, on teste la sécurité
if (_request('hash')) { if (_request('hash')) {
@ -194,7 +205,7 @@ suivre_invalideur("id='${1:id_objet}/1'");
${0} ${0}
endsnippet endsnippet
snippet req "SPIP _request()" snippet req "SPIP _request()" w
_request('${1}')${0} _request('${1}')${0}
endsnippet endsnippet

302
php.json
View file

@ -1,153 +1,153 @@
{ {
"action": { "action": {
"prefix": "action", "prefix": "action",
"body": "<?php\nif (!defined('_ECRIRE_INC_VERSION')) return;\n\nfunction action_${TM_FILENAME_BASE}_dist(){\n\t$securiser_action = charger_fonction('securiser_action', 'inc');\n\t$arg = $securiser_action();\n\t$$1 = $arg;\n\tlist($${1:var1},$${2:var2}) = preg_split(',[^0-9],',$arg);\n\t${0}\n\n\t// Cache\n\tinclude_spip('inc/invalideur');\n\tsuivre_invalideur(\"id='$1/$$1'\");\n\n\t// redirection sur la création d'un rapport\n\t//$retour = \"spip.php?page=\";\n\t//include_spip('inc/headers');\n\t//redirige_par_entete($retour);\n}", "body": "<?php\nif (!defined('_ECRIRE_INC_VERSION')) return;\n\nfunction action_${TM_FILENAME_BASE}_dist(){\n\t\tinclude_spip('inc/autoriser'); if (! autoriser('etre','connecte')) { return false; }\n\t\t$securiser_action = charger_fonction('securiser_action', 'inc');\n\t$arg = $securiser_action();\n\t$$1 = $arg;\n\tlist($${1:var1},$${2:var2}) = preg_split(',[^0-9],',$arg);\n\t${0}\n\n\t// Cache\n\tinclude_spip('inc/invalideur');\n\tsuivre_invalideur(\"id='$1/$$1'\");\n\n\t// redirection sur la création d'un rapport\n\t//$retour = \"spip.php?page=\";\n\t//include_spip('inc/headers');\n\t//redirige_par_entete($retour);\n}",
"description": "SPIP action declenchee dans un lien" "description": "SPIP action declenchee dans un lien"
}, },
"action2": { "action2": {
"prefix": "action2", "prefix": "action2",
"body": "<?php\nif (!defined('_ECRIRE_INC_VERSION')) return;\n\nfunction action_${TM_FILENAME_BASE}_dist($arg=null){\n\n\tif (is_null($arg)) {\n\t\t// DEMI sécurité : s'il y a un hash, on teste la sécurité\n\t\tif (_request('hash')) {\n\t\t\t$securiser_action = charger_fonction('securiser_action', 'inc');\n\t\t\t$arg = $securiser_action();\n\t\t}\n\t\t// Sinon, on prend l'arg direct\n\t\telse {\n\t\t\t$arg = _request('arg');\n\t\t}\n\t}\n\t$${1:var} = $arg;\n\t${0}\n\n\t// on renvoit le test en variable js\n\t$js = \"var $1=$$1;\";\n\theader('Content-Type: text/javascript; charset=' . $GLOBALS['meta']['charset']);\n\techo $js;\n}", "body": "<?php\nif (!defined('_ECRIRE_INC_VERSION')) return;\n\nfunction action_${TM_FILENAME_BASE}_dist($arg=null){\n\n\tinclude_spip('inc/autoriser'); if (! autoriser('etre','connecte')) { return false; }\n\t\tif (is_null($arg)) {\n\t\t// DEMI sécurité : s'il y a un hash, on teste la sécurité\n\t\tif (_request('hash')) {\n\t\t\t$securiser_action = charger_fonction('securiser_action', 'inc');\n\t\t\t$arg = $securiser_action();\n\t\t}\n\t\t// Sinon, on prend l'arg direct\n\t\telse {\n\t\t\t$arg = _request('arg');\n\t\t}\n\t}\n\t$${1:var} = $arg;\n\t${0}\n\n\t// on renvoit le test en variable js\n\t$js = \"var $1=$$1;\";\n\theader('Content-Type: text/javascript; charset=' . $GLOBALS['meta']['charset']);\n\techo $js;\n}",
"description": "SPIP action ajax à la mano" "description": "SPIP action ajax à la mano"
}, },
"cvt": { "cvt": {
"prefix": "cvt", "prefix": "cvt",
"body": "<?php\nif (!defined('_ECRIRE_INC_VERSION')) return;\n\nfunction formulaires_${TM_FILENAME_BASE}_charger_dist($${1:variables}){\n\t$valeurs = array(\n\t\t\"${2:nom_du_champ}\" => ${3:\"\"},\n\t);\n\t${0}\n\treturn $valeurs;\n}\n\nfunction formulaires_${TM_FILENAME_BASE}_verifier_dist($$1){\n\t$$2 = _request('$2');\n\n\t$erreurs = array();\n\t//champs obligatoire\n\tforeach (array ('$2') as $obligatoire) {\n\t\tif (!_request($obligatoire)) $erreurs[$obligatoire] = 'Ce champs est obligatoire';\n\t}\n\n\t//autres erreurs\n\t$erreurs['$2'] = \"Ce champ ne convient pas.\";\n\n\t//Il y a des erreurs\n\tif (count($erreurs)) {\n\t\t$erreurs['message_erreur'] = 'Votre saisie contient des erreurs !';\n\t}\n\n\treturn $erreurs;\n}\n\nfunction formulaires_${TM_FILENAME_BASE}_traiter_dist($$1){\n\t$$2 = _request('$2');\n\n\t$retour = array();\n\t$retour['message_ok'] = \"bravo\";\n\t$retour['redirect'] = \"spip.php?page=perdu\";\n\t$retour['editable'] = true;\n\n\treturn $retour;\n}", "body": "<?php\nif (!defined('_ECRIRE_INC_VERSION')) return;\n\nfunction formulaires_${TM_FILENAME_BASE}_charger_dist($${1:variables}){\n\t$valeurs = array(\n\t\t\"${2:nom_du_champ}\" => ${3:\"\"},\n\t);\n\t${0}\n\treturn $valeurs;\n}\n\nfunction formulaires_${TM_FILENAME_BASE}_verifier_dist($$1){\n\t$$2 = _request('$2');\n\n\t$erreurs = array();\n\t//champs obligatoire\n\tforeach (array ('$2') as $obligatoire) {\n\t\tif (!_request($obligatoire)) $erreurs[$obligatoire] = 'Ce champs est obligatoire';\n\t}\n\n\t//autres erreurs\n\t$erreurs['$2'] = \"Ce champ ne convient pas.\";\n\n\t//Il y a des erreurs\n\tif (count($erreurs)) {\n\t\t$erreurs['message_erreur'] = 'Votre saisie contient des erreurs !';\n\t}\n\n\treturn $erreurs;\n}\n\nfunction formulaires_${TM_FILENAME_BASE}_traiter_dist($$1){\n\t$$2 = _request('$2');\n\n\t$retour = array();\n\t$retour['message_ok'] = \"bravo\";\n\t$retour['redirect'] = \"spip.php?page=perdu\";\n\t$retour['editable'] = true;\n\n\treturn $retour;\n}",
"description": "SPIP" "description": "SPIP"
}, },
"bigint": { "bigint": {
"prefix": "bigint", "prefix": "bigint",
"body": "'bigint(${1:21}) NOT NULL',${0}", "body": "'bigint(${1:21}) NOT NULL',${0}",
"description": "SQL bigint(21)" "description": "SQL bigint(21)"
}, },
"float": { "float": {
"prefix": "float", "prefix": "float",
"body": "'float NOT NULL',${0}", "body": "'float NOT NULL',${0}",
"description": "SQL float" "description": "SQL float"
}, },
"tinyint": { "tinyint": {
"prefix": "tinyint", "prefix": "tinyint",
"body": "'tinyint(4) NOT NULL',${0}", "body": "'tinyint(4) NOT NULL',${0}",
"description": "SQL tinyint(4)" "description": "SQL tinyint(4)"
}, },
"decimal": { "decimal": {
"prefix": "decimal", "prefix": "decimal",
"body": "'decimal(10,2) DEFAULT \"0\" NOT NULL',${0}", "body": "'decimal(10,2) DEFAULT \"0\" NOT NULL',${0}",
"description": "SQL decimal(10,2)" "description": "SQL decimal(10,2)"
}, },
"text": { "text": {
"prefix": "text", "prefix": "text",
"body": "'text NOT NULL DEFAULT \"\"',${0}", "body": "'text NOT NULL DEFAULT \"\"',${0}",
"description": "SQL text NOT NULL" "description": "SQL text NOT NULL"
}, },
"varchar": { "varchar": {
"prefix": "varchar", "prefix": "varchar",
"body": "'varchar(${1:255}) NOT NULL DEFAULT \"\"',${0}", "body": "'varchar(${1:255}) NOT NULL DEFAULT \"\"',${0}",
"description": "SQL varchar(25)" "description": "SQL varchar(25)"
}, },
"datetime": { "datetime": {
"prefix": "datetime", "prefix": "datetime",
"body": "'datetime NOT NULL DEFAULT \"0000-00-00 00:00:00\"',${0}", "body": "'datetime NOT NULL DEFAULT \"0000-00-00 00:00:00\"',${0}",
"description": "SQL datetime" "description": "SQL datetime"
}, },
"php": { "php": {
"prefix": "php", "prefix": "php",
"body": "<?php\n\n${0}" "body": "<?php\n\n${0}"
}, },
"php2": { "php2": {
"prefix": "php2", "prefix": "php2",
"body": "<?php\nif (!defined('_ECRIRE_INC_VERSION')) return;\n\n\n${0}", "body": "<?php\nif (!defined('_ECRIRE_INC_VERSION')) return;\n\n\n${0}",
"description": "SPIP php" "description": "SPIP php"
}, },
"testauto": { "testauto": {
"prefix": "testauto", "prefix": "testauto",
"body": "include_spip('inc/autoriser');\nif (! autoriser(\"${1:action}\",\"${2:objet}\")) {\n\treturn false;\n}\n${0}", "body": "include_spip('inc/autoriser');\nif (! autoriser(\"${1:action}\",\"${2:objet}\")) {\n\treturn false;\n}\n${0}",
"description": "SPIP" "description": "SPIP"
}, },
"id_auteur_session": { "id_auteur_session": {
"prefix": "id_auteur_session", "prefix": "id_auteur_session",
"body": "$GLOBALS['visiteur_session']['id_auteur']${0}", "body": "$GLOBALS['visiteur_session']['id_auteur']${0}",
"description": "$GLOBALS['visiteur_session']['id_auteur']" "description": "$GLOBALS['visiteur_session']['id_auteur']"
}, },
"date_php": { "date_php": {
"prefix": "date_php", "prefix": "date_php",
"body": "date(\"Y-m-d H:i:s\")${0}", "body": "date(\"Y-m-d H:i:s\")${0}",
"description": "SPIP date('Y-m-d H:i:s')" "description": "SPIP date('Y-m-d H:i:s')"
}, },
"api_objet": { "api_objet": {
"prefix": "api_objet", "prefix": "api_objet",
"body": "// utilisation API editer_objet pour l'insertion en BDD'\n// http://www.spip.net/fr_article5526.html\ninclude_spip('action/editer_objet');\n$objet = \"${1:article}\";\n\n$set = array (\n\t'${1:champs1}' => $${2:valeur_champs1},\n\t'${3:champs2}' => $${4:valeur_champs2},\n);\n$id_objet = objet_inserer($objet, $id_parent);\n//ou $id_objet=$ma_variable;\n\nobjet_modifier($objet, $id_objet, $set);", "body": "// utilisation API editer_objet pour l'insertion en BDD'\n// http://www.spip.net/fr_article5526.html\ninclude_spip('action/editer_objet');\n$objet = \"${1:article}\";\n\n$set = array (\n\t'${1:champs1}' => $${2:valeur_champs1},\n\t'${3:champs2}' => $${4:valeur_champs2},\n);\n$id_objet = objet_inserer($objet, $id_parent);\n//ou $id_objet=$ma_variable;\n\nobjet_modifier($objet, $id_objet, $set);",
"description": "SPIP API Objet" "description": "SPIP API Objet"
}, },
"api_lien": { "api_lien": {
"prefix": "api_lien", "prefix": "api_lien",
"body": "// utilisation API editier_liens\n// http://www.spip.net/fr_article5477.html\ninclude_spip('action/editer_liens');\n\n$objets_source = array(\"${1:auteur}\"=>${2:id_auteur ou array});\n$objets_lies = array(\"${3:article}\"=>${:id_article ou array});\n${0}\n\nobjet_associer($objets_source, $objets_lies);", "body": "// utilisation API editier_liens\n// http://www.spip.net/fr_article5477.html\ninclude_spip('action/editer_liens');\n\n$objets_source = array(\"${1:auteur}\"=>${2:id_auteur ou array});\n$objets_lies = array(\"${3:article}\"=>${:id_article ou array});\n${0}\n\nobjet_associer($objets_source, $objets_lies);",
"description": "SPIP API Lien" "description": "SPIP API Lien"
}, },
"cache": { "cache": {
"prefix": "cache", "prefix": "cache",
"body": "include_spip('inc/invalideur');\nsuivre_invalideur(\"id='${1:id_objet}/1'\");\n${0}", "body": "include_spip('inc/invalideur');\nsuivre_invalideur(\"id='${1:id_objet}/1'\");\n${0}",
"description": "SPIP invalide cache" "description": "SPIP invalide cache"
}, },
"req": { "req": {
"prefix": "req", "prefix": "req",
"body": "_request('${1}')${0}", "body": "_request('${1}')${0}",
"description": "SPIP _request()" "description": "SPIP _request()"
}, },
"array": { "array": {
"prefix": "array", "prefix": "array",
"body": "array(\n\t'${1}' => ${2},${0}\n\t);", "body": "array(\n\t'${1}' => ${2},${0}\n\t);",
"description": "SPIP Array( X lignes)" "description": "SPIP Array( X lignes)"
}, },
"array_ligne": { "array_ligne": {
"prefix": "array_ligne", "prefix": "array_ligne",
"body": "'${1:var}' => $$1,${0}", "body": "'${1:var}' => $$1,${0}",
"description": "SPIP Une ligne d'array" "description": "SPIP Une ligne d'array"
}, },
"vd": { "vd": {
"prefix": "vd", "prefix": "vd",
"body": "var_dump($${1:var});\n${0}", "body": "var_dump($${1:var});\n${0}",
"description": "var_dump()" "description": "var_dump()"
}, },
"ec": { "ec": {
"prefix": "ec", "prefix": "ec",
"body": "echo ${1};\n${0}", "body": "echo ${1};\n${0}",
"description": "Echo" "description": "Echo"
}, },
"pre": { "pre": {
"prefix": "pre", "prefix": "pre",
"body": "echo \"<pre>\";\n\tprint_r($${1});\necho \"</pre>\";\n${0}", "body": "echo \"<pre>\";\n\tprint_r($${1});\necho \"</pre>\";\n${0}",
"description": "<pre> print_r" "description": "<pre> print_r"
}, },
"include": { "include": {
"prefix": "include", "prefix": "include",
"body": "include_spip('${1:fichier}');\n${0}", "body": "include_spip('${1:fichier}');\n${0}",
"description": "SPIP include_spip" "description": "SPIP include_spip"
}, },
"pipeline": { "pipeline": {
"prefix": "pipeline", "prefix": "pipeline",
"body": "/**\n * Charger des styles CSS\n *\n * @pipeline insert_head_css\n * @param string $flux Code html des styles CSS à charger\n * @return string Code html complété\n **/\nfunction ${1:prefix}_insert_head_css($flux){\n\t$flux .= '<link rel=\"stylesheet\" href=\"' . produire_fond_statique('css/vignettes.css') . '\" type=\"text/css\" />' . \"\\n\";\n\t$flux .= '<link rel=\"stylesheet\" href=\"' . timestamp(find_in_path('css/bigup.css')) . '\" type=\"text/css\" />' . \"\\n\";\n\treturn $flux;\n}\n${0}\n/**\n * Charger des scripts jquery\n *\n * @pipeline jqueryui_plugins\n * @param array $scripts Liste à charger\n * @return array Liste complétée\n **/\nfunction $1_jquery_plugins($scripts){\n\t$scripts[] = \"aa\";\n\t$scripts[] = produire_fond_statique('javascript/bigup.js');\n\treturn $scripts;\n}\n\n/**\n * Charger des scripts jquery ui\n *\n * @pipeline jqueryui_plugins\n * @param array $scripts Liste à charger\n * @return array Liste complétée\n **/\nfunction $1_jqueryui_plugins($scripts){\n\t$scripts[] = \"aa\";\n\treturn $scripts;\n}", "body": "/**\n * Charger des styles CSS\n *\n * @pipeline insert_head_css\n * @param string $flux Code html des styles CSS à charger\n * @return string Code html complété\n **/\nfunction ${1:prefix}_insert_head_css($flux){\n\t$flux .= '<link rel=\"stylesheet\" href=\"' . produire_fond_statique('css/vignettes.css') . '\" type=\"text/css\" />' . \"\\n\";\n\t$flux .= '<link rel=\"stylesheet\" href=\"' . timestamp(find_in_path('css/bigup.css')) . '\" type=\"text/css\" />' . \"\\n\";\n\treturn $flux;\n}\n${0}\n/**\n * Charger des scripts jquery\n *\n * @pipeline jqueryui_plugins\n * @param array $scripts Liste à charger\n * @return array Liste complétée\n **/\nfunction $1_jquery_plugins($scripts){\n\t$scripts[] = \"aa\";\n\t$scripts[] = produire_fond_statique('javascript/bigup.js');\n\treturn $scripts;\n}\n\n/**\n * Charger des scripts jquery ui\n *\n * @pipeline jqueryui_plugins\n * @param array $scripts Liste à charger\n * @return array Liste complétée\n **/\nfunction $1_jqueryui_plugins($scripts){\n\t$scripts[] = \"aa\";\n\treturn $scripts;\n}",
"description": "SPIP Les pipelines de base" "description": "SPIP Les pipelines de base"
}, },
"debugspip": { "debugspip": {
"prefix": "debugspip", "prefix": "debugspip",
"body": "function debug_spip(){\n\tdefine('_DEBUG_SLOW_QUERIES', true);\n\tdefine('_BOUCLE_PROFILER', 5000);\n\tdefine('_LOG_FILTRE_GRAVITE', 8);\n\tdefine('_LOG_FILELINE',true);\n\tdefine('_DEBUG_AUTORISER', true);\n\tdefine('_MAX_LOG', 500000);\n\n\terror_reporting(E_ALL^E_NOTICE);\n\tini_set (\"display_errors\", \"On\");\n\tini_set(\"html_errors\", \"On\");\n\tini_set(\"allow_url_fopen\", \"On\");\n\tdefine('SPIP_ERREUR_REPORT',E_ALL^E_NOTICE);\n\tdefine('SPIP_ERREUR_REPORT_INCLUDE_PLUGINS',E_ALL^E_NOTICE);\n\n\n\tdefine('_NO_CACHE', -1);\n\tdefine('_INTERDIRE_COMPACTE_HEAD_ECRIRE', true);\n}\n\nif ( $_SERVER['SERVER_ADDR'] === \"127.0.0.1\") {\n\tdebug_spip();\n}\n\nif ( substr($_SERVER['SERVER_ADDR'],0,7) === \"192.168\") {\n\tdebug_spip();\n}", "body": "function debug_spip(){\n\tdefine('_DEBUG_SLOW_QUERIES', true);\n\tdefine('_BOUCLE_PROFILER', 5000);\n\tdefine('_LOG_FILTRE_GRAVITE', 8);\n\tdefine('_LOG_FILELINE',true);\n\tdefine('_DEBUG_AUTORISER', true);\n\tdefine('_MAX_LOG', 500000);\n\n\terror_reporting(E_ALL^E_NOTICE);\n\tini_set (\"display_errors\", \"On\");\n\tini_set(\"html_errors\", \"On\");\n\tini_set(\"allow_url_fopen\", \"On\");\n\tdefine('SPIP_ERREUR_REPORT',E_ALL^E_NOTICE);\n\tdefine('SPIP_ERREUR_REPORT_INCLUDE_PLUGINS',E_ALL^E_NOTICE);\n\n\n\tdefine('_NO_CACHE', -1);\n\tdefine('_INTERDIRE_COMPACTE_HEAD_ECRIRE', true);\n}\n\nif ( $_SERVER['SERVER_ADDR'] === \"127.0.0.1\") {\n\tdebug_spip();\n}\n\nif ( substr($_SERVER['SERVER_ADDR'],0,7) === \"192.168\") {\n\tdebug_spip();\n}",
"description": "SPIP define de debug" "description": "SPIP define de debug"
}, },
"/*": { "/*": {
"prefix": "/*", "prefix": "/*",
"body": "/**\n * ${0}\n **/" "body": "/**\n * ${0}\n **/"
}, },
"doc": { "doc": {
"prefix": "doc", "prefix": "doc",
"body": "/**\n * ${1:function non documente}\n *\n * @param ${2}\n * @return ${0}\n * @author tofulm\n **/" "body": "/**\n * ${1:function non documente}\n *\n * @param ${2}\n * @return ${0}\n * @author tofulm\n **/"
}, },
"fdoc": { "fdoc": {
"prefix": "fdoc", "prefix": "fdoc",
"body": "/**\n * ${4:fonction non documente}\n *\n * @param ${5}\n * @return ${3}\n * @author tofulm\n **/\nfunction ${1}(${2}){\n\t${6}\n }" "body": "/**\n * ${4:fonction non documente}\n *\n * @param ${5}\n * @return ${3}\n * @author tofulm\n **/\nfunction ${1}(${2}){\n\t${6}\n }"
}, },
"spip_log": { "spip_log": {
"prefix": "spip_log", "prefix": "spip_log",
"body": "spip_log(${1},${2:\"gamuza\"});\n${0}", "body": "spip_log(${1},${2:\"gamuza\"});\n${0}",
"description": "SPIP fctn spip_log()" "description": "SPIP fctn spip_log()"
} }
} }