本文整理汇总了PHP中autoriser函数的典型用法代码示例。如果您正苦于以下问题:PHP autoriser函数的具体用法?PHP autoriser怎么用?PHP autoriser使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了autoriser函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: action_skeleditor_ul_dist
/**
* Plugin SkelEditor
* Editeur de squelette en ligne
* (c) 2007-2010 erational
* Licence GPL-v3
*
*/
function action_skeleditor_ul_dist(){
$securiser_action = charger_fonction('securiser_action','inc');
$file_name = $securiser_action();
if (autoriser('upload','squelette',$file_name)){
// FILES request ?
if (isset($_FILES['upf'])) { // upload file ?
$tmp_name = $_FILES['upf']['tmp_name'];
if (isset($_POST['target'])) {
$target = ($_POST['target'])."/".$_FILES['upf']['name']; // security
if (check_file_allowed($target,$files_editable,true)) { // security
$_GET['f'] = $target;
$_GET['operation'] = 'preview';
if (file_exists($target)) {
$log = "<span style='color:red'>"._T('skeleditor:erreur_overwrite')."</span>";
} else {
$ok = @copy($tmp_name, $target);
if (!$ok) $ok = @move_uploaded_file($tmp_name, $target);
if (!$ok) $log = "<span style='color:red'>"._T('skeleditor:erreur_droits')."</span>";
else $log = "<span style='color:green'>"._T('skeleditor:fichier_upload_ok')."</span>";
}
} else {
$log = "<span style='color:red'>"._T('skeleditor:erreur_sansgene')."</span>";
}
}
}
}
}
示例2: action_iextras_dist
function action_iextras_dist()
{
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
// droits
include_spip('inc/autoriser');
if (!autoriser('configurer', 'iextra')) {
include_spip('inc/minipres');
echo minipres();
exit;
}
@(list($arg, $id_extra_ou_table, $champ) = explode('/', $arg));
// actions possibles
if (!in_array($arg, array('associer_champ', 'supprimer_champ'))) {
include_spip('inc/minipres');
echo minipres(_T('iextras:erreur_action', array("action" => $arg)));
exit;
}
// cas de l'association d'un champ existant
if ($arg == 'associer_champ' and $table = $id_extra_ou_table and $champ) {
$extra_id = action_associer_champ_sql_comme_champ_extra($table, $champ);
}
// cas de la suppression d'un champ existant
if ($arg == 'supprimer_champ' and $table = $id_extra_ou_table and $champ) {
action_supprimer_champ_sql($table, $champ);
}
}
示例3: formulaires_importer_sites_charger_dist
function formulaires_importer_sites_charger_dist()
{
if (!autoriser('importer', '_sites')) {
return false;
}
return array('fichier_import' => 0, 'id_parent' => 0, 'importer_statut_publie' => 0, 'importer_les_tags' => 1);
}
示例4: inc_preselectionner_parent_nouvel_objet_dist
/**
* Preselectionner la rubrique lors de la creation
* desactive par defaut suite a remontee utilisateur mais activable par define
* ou surchargeable
*
* @param string $objet
* @param array $row
* @return string
*/
function inc_preselectionner_parent_nouvel_objet_dist($objet, $row)
{
if (!_AUTO_SELECTION_RUBRIQUE) {
return '';
}
if (!isset($row['id_rubrique'])) {
return '';
}
$id_rubrique = '';
if ($GLOBALS['connect_id_rubrique']) {
// si admin restreint : sa rubrique
$id_rubrique = $GLOBALS['connect_id_rubrique'][0];
} else {
// sinon la derniere rubrique cree
$row_rub = sql_fetsel("id_rubrique", "spip_rubriques", "", "", "id_rubrique DESC", "0,1");
$id_rubrique = $row_rub['id_rubrique'];
}
// si le choix ne convient pas, on cherche dans un secteur
if (!autoriser('creer' . $objet . 'dans', 'rubrique', $id_rubrique)) {
$id_rubrique = '';
// manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
$res = sql_select("id_rubrique", "spip_rubriques", "id_parent=0");
while (!$id_rubrique and $row_rub = sql_fetch($res)) {
if (autoriser('creer' . $objet . 'dans', 'rubrique', $row_rub['id_rubrique'])) {
$id_rubrique = $row_rub['id_rubrique'];
}
}
}
return $id_rubrique;
}
示例5: exec_base_delete_all_dist
/**
* Exec de la page de destruction des tables de SPIP
**/
function exec_base_delete_all_dist()
{
include_spip('inc/autoriser');
if (!autoriser('detruire')) {
include_spip('inc/minipres');
echo minipres();
} else {
include_spip('base/dump');
$res = base_lister_toutes_tables('', array(), array(), true);
if (!$res) {
include_spip('inc/minipres');
spip_log("Erreur base de donnees");
echo minipres(_T('info_travaux_titre'), _T('titre_probleme_technique') . "<p><tt>" . sql_errno() . " " . sql_error() . "</tt></p>");
} else {
$res = base_saisie_tables('delete', $res);
include_spip('inc/headers');
$res = "\n<ol style='text-align:left'><li>\n" . join("</li>\n<li>", $res) . '</li></ol>';
$admin = charger_fonction('admin', 'inc');
$res = $admin('delete_all', _T('titre_page_delete_all'), $res);
if (!$res) {
redirige_url_ecrire('install', '');
} else {
echo $res;
}
}
}
}
示例6: champs_extras_autorisation
/**
* Filtrer par autorisation les saisies transmises
*
* Chacune des saisies est parcourue et si le visiteur n'a pas l'autorisation
* de la voir, elle est enlevée de la liste.
* La fonction ne retourne donc que la liste des saisies que peut voir
* la personne.
*
* @param string $faire
* Type d'autorisation testée : 'voir', 'modifier'
* @param string $quoi
* Type d'objet tel que 'article'
* @param array $saisies
* Liste des saisies à filtrer
* @param array $args
* Arguments pouvant être utiles à l'autorisation
* @return array
* Liste des saisies filtrées
**/
function champs_extras_autorisation($faire, $quoi='', $saisies=array(), $args=array()) {
if (!$saisies) return array();
include_spip('inc/autoriser');
foreach ($saisies as $cle=>$saisie) {
$id = isset($args['id']) ? $args['id'] : $args['id_objet'];
if (!autoriser($faire . 'extra', $quoi, $id, '', array(
'type' => $quoi,
'id_objet' => $id,
'contexte' => isset($args['contexte']) ? $args['contexte'] : array(),
'table' => table_objet_sql($quoi),
'saisie' => $saisie,
'champ' => $saisie['options']['nom'],
))) {
// on n'est pas autorise
unset($saisies[$cle]);
}
else
{
// on est autorise
// on teste les sous-elements
if (isset($saisie['saisies']) and $saisie['saisies']) {
$saisies['saisies'] = champs_extras_autorisation($faire, $quoi, $saisie['saisies'], $args);
}
}
}
return $saisies;
}
示例7: action_spiplistes_journal
function action_spiplistes_journal () {
global $connect_toutes_rubriques, $connect_login, $connect_statut, $spip_lang_rtl;
// spiplistes_log("controle appel action");
if (!$connect_statut) {
$auth = charger_fonction('auth', 'inc');
$auth = $auth();
}
$securiser_action = charger_fonction('securiser_action', 'inc');
$args = $securiser_action();
$autoriser_lire = (autoriser('webmestre','','',$connect_id_auteur));
if($autoriser_lire) {
$result = spiplistes_journal_lire(_SPIPLISTES_PREFIX);
echo($result);
exit(0);
}
}
示例8: exec_import_all_args
function exec_import_all_args($archive)
{
if ($archive) {
// On arrive ici en debut d'operation
// Est-ce une fusion ou un ecrasement ?
$insert = _request('insertion');
if (!$insert AND !autoriser('detruire'))
export_all_abort();
$dir = import_queldir();
$_POST['dir'] = $dir;
// voir si un message d'avertissement est necessaire
$commentaire = verifier_sauvegarde($dir . $archive);
} else {
// sinon, si on a bien la meta qui donne l'etat d'avancement
// on est en cours d'operation
// Tester si l'archive est toujous la:
// ca sert pour forcer a sortir d'une restauration inachevee
if (!isset($GLOBALS['meta']['import_all'])
OR (!$request = @unserialize($GLOBALS['meta']['import_all']))
OR (!is_readable($request['dir'] . $request['archive']))) {
// on ne sait pas quoi importer, il faut sortir de la
export_all_abort();
}
$archive = $request['archive'];
$insert = $request['insertion'];
$commentaire = '';
}
$action = _T($insert
? 'info_restauration_sauvegarde_insert'
: 'info_restauration_sauvegarde',
array('archive' => $archive));
$admin = charger_fonction('admin', 'inc');
echo $admin('import_all', $action, $commentaire, !$insert);
}
示例9: action_editer_depot_dist
/**
* Action de mise à jour des descriptions d'un dépot
*
* @return array
* Liste identifiant du dépot, texte d'erreur éventuel
**/
function action_editer_depot_dist()
{
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
// Verification des autorisations
if (!autoriser('webmestre')) {
include_spip('inc/minipres');
echo minipres();
exit;
}
// Le depot n'est jamais cree par une edition mais via le formulaire ajouter_depot
// On est toujours en presence d'une mise a jour pour cette action, l'id_depot
// doit donc etre renseigne sinon c'est une erreur
if ($id_depot = intval($arg)) {
// On teste si l'auteur est connecte. Si non on renvoie sur le formulaire login
$id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
if (!$id_auteur) {
include_spip('inc/headers');
redirige_url_ecrire();
}
// On met a jour le depot avec les saisies
if (sql_updateq('spip_depots', array('titre' => _request('titre'), 'descriptif' => _request('descriptif'), 'type' => _request('type')), 'id_depot=' . sql_quote($id_depot))) {
}
// Enregistre l'envoi dans la BD
// Dans le cas du depot rien n'est fait actuellement, on garde cette fonction
// par souci de coherence avec les autres editions d'objet et pour usage futur
$err = depots_set($id_depot);
if (!$err) {
spip_log("ACTION MODIFIER DEPOT (manuel) : id_depot = " . $id_depot, 'svp_actions.' . _LOG_INFO);
}
}
return array($id_depot, $err);
}
示例10: definir_barre_boutons
/**
* definir la liste des boutons du haut et de ses sous-menus
* On defini les boutons a metrtre selon les droits de l'utilisateur
* puis on balance le tout au pipeline "ajouter_menus" pour que des plugins
* puissent y mettre leur grain de sel
*
* @param array $contexte
* @param bool $icones // rechercher les icones
* @param bool $autorise // ne renvoyer que les boutons autorises
* @return array
*/
function definir_barre_boutons($contexte = array(), $icones = true, $autorise = true)
{
include_spip('inc/autoriser');
$boutons_admin = array();
// les boutons du core, issus de prive/navigation.xml
$liste_boutons = array();
// ajouter les boutons issus des plugin via plugin.xml
if (function_exists('boutons_plugins') and is_array($liste_boutons_plugins = boutons_plugins())) {
$liste_boutons =& $liste_boutons_plugins;
}
foreach ($liste_boutons as $id => $infos) {
$parent = "";
// les boutons principaux ne sont pas soumis a autorisation
if (!isset($infos['parent']) or !($parent = $infos['parent']) or !$autorise or autoriser('menu', "_{$id}", 0, NULL, array('contexte' => $contexte))) {
if ($parent and $parent = preg_replace(',^bando_,', 'menu_', $parent) and isset($boutons_admin[$parent])) {
if (!is_array($boutons_admin[$parent]->sousmenu)) {
$boutons_admin[$parent]->sousmenu = array();
}
$position = (isset($infos['position']) and strlen($infos['position'])) ? intval($infos['position']) : count($boutons_admin[$parent]->sousmenu);
if ($position < 0) {
$position = count($boutons_admin[$parent]->sousmenu) + 1 + $position;
}
$boutons_admin[$parent]->sousmenu = array_slice($boutons_admin[$parent]->sousmenu, 0, $position) + array($id => new Bouton(($icones and $infos['icone']) ? find_in_theme($infos['icone']) : '', $infos['titre'], (isset($infos['action']) and $infos['action']) ? $infos['action'] : null, (isset($infos['parametres']) and $infos['parametres']) ? $infos['parametres'] : null)) + array_slice($boutons_admin[$parent]->sousmenu, $position, 100);
}
if (!$parent and !in_array($id, array('forum', 'statistiques_visites'))) {
$position = (isset($infos['position']) and $infos['position']) ? $infos['position'] : count($boutons_admin);
$boutons_admin = array_slice($boutons_admin, 0, $position) + array($id => new Bouton(($icones and isset($infos['icone']) and $infos['icone']) ? find_in_theme($infos['icone']) : '', $infos['titre'], (isset($infos['action']) and $infos['action']) ? $infos['action'] : null, (isset($infos['parametres']) and $infos['parametres']) ? $infos['parametres'] : null)) + array_slice($boutons_admin, $position, 100);
}
}
}
return pipeline('ajouter_menus', $boutons_admin);
}
示例11: affiche_controleur
function affiche_controleur($class, $c=null) {
$return = array('$erreur'=>'');
if (preg_match(_PREG_CRAYON, $class, $regs)) {
list(,$nomcrayon,$type,$champ,$id) = $regs;
$regs[] = $class;
// A-t-on le droit de crayonner ?
spip_log("autoriser('crayonner', $type, $id, NULL, array('modele'=>$champ)","crayons_distant");
if (!autoriser('crayonner',$type, $id, NULL, array('modele'=>$champ))) {
$return['$erreur'] = "$type $id: " . _U('crayons:non_autorise');
} else {
$f = charger_fonction($type.'_'.$champ, 'controleurs', true)
OR $f = charger_fonction($champ, 'controleurs', true)
OR $f = charger_fonction($type, 'controleurs', true)
OR $f = 'controleur_dist';
list($html,$status) = $f($regs, $c);
if ($status) {
$return['$erreur'] = $html;
} else {
$return['$html'] = $html;
}
}
} else {
$return['$erreur'] = _U('crayons:donnees_mal_formatees');
}
return $return;
}
示例12: action_supprimer_url_dist
function action_supprimer_url_dist($arg = null)
{
if (is_null($arg)) {
// Rien a faire ici pour le moment
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
}
if (strncmp($arg, "-1-", 3) == 0) {
$id_parent = -1;
$url = substr($arg, 3);
} else {
$arg = explode('-', $arg);
$id_parent = array_shift($arg);
$url = implode('-', $arg);
}
$where = 'id_parent=' . intval($id_parent) . " AND url=" . sql_quote($url);
if ($row = sql_fetsel('*', 'spip_urls', $where)) {
if (autoriser('modifierurl', $row['type'], $row['id_objet'])) {
sql_delete('spip_urls', $where);
} else {
spip_log('supprimer sans autorisation l\'URL ' . $id_parent . "://" . $url, "urls." . _LOG_ERREUR);
}
} else {
spip_log('Impossible de supprimer une URL inconnue ' . $id_parent . "://" . $url, "urls." . _LOG_INFO_IMPORTANTE);
}
}
示例13: presta_cheque_call_response_dist
/**
* il faut avoir un id_transaction et un transaction_hash coherents
* pour se premunir d'une tentative d'appel exterieur
*
*
* @return array
*/
function presta_cheque_call_response_dist()
{
// recuperer la reponse en post et la decoder
$id_transaction = _request('id_transaction');
$transaction_hash = _request('hash');
if (!($row = sql_fetsel('*', 'spip_transactions', 'id_transaction=' . intval($id_transaction)))) {
spip_log("id_transaction {$id_transaction} non trouve", 'gratuit.' . _LOG_ERREUR);
return array($id_transaction, false);
}
if ($transaction_hash != $row['transaction_hash']) {
spip_log("id_transaction {$id_transaction}, hash {$transaction_hash} non conforme", 'gratuit.' . _LOG_ERREUR);
return array($id_transaction, false);
}
// l'autorisation refere l'id_auteur et le nom de celui qui accepte le cheque
$autorisation = $GLOBALS['visiteur_session']['id_auteur'] . "/" . $GLOBALS['visiteur_session']['nom'];
include_spip("inc/autoriser");
if (!autoriser('encaissercheque', 'transaction', $id_transaction)) {
spip_log("id_transaction {$id_transaction}, tentative d'encaisser un cheque par auteur #{$autorisation} pas autorise", 'cheque.' . _LOG_CRITIQUE);
return array($id_transaction, false);
}
// OK, on peut accepter le reglement
sql_update("spip_transactions", array("mode" => sql_quote('cheque'), "autorisation_id" => sql_quote($autorisation), "montant_regle" => 'montant', "date_paiement" => sql_quote(date('Y-m-d H:i:s')), "statut" => sql_quote('ok'), "reglee" => sql_quote('oui')), "id_transaction=" . intval($id_transaction));
spip_log("cheque_response : id_transaction {$id_transaction}, reglee", 'cheque');
$regler_transaction = charger_fonction('regler_transaction', 'bank');
$regler_transaction($id_transaction, "", $row);
return array($id_transaction, true);
}
示例14: action_telecharger_dump_dist
/**
* Telecharger un dump quand on est webmestre
*
* @param string $arg
*/
function action_telecharger_dump_dist($arg = null)
{
if (!$arg) {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
}
$file = dump_repertoire() . basename($arg, '.sqlite') . '.sqlite';
if (file_exists($file) and autoriser('webmestre')) {
$f = basename($file);
// ce content-type est necessaire pour eviter des corruptions de zip dans ie6
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=\"{$f}\";");
header("Content-Transfer-Encoding: binary");
// fix for IE catching or PHP bug issue
header("Pragma: public");
header("Expires: 0");
// set expiration time
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
if ($cl = filesize($file)) {
header("Content-Length: " . $cl);
}
readfile($file);
} else {
http_status(404);
include_spip('inc/minipres');
echo minipres(_T('erreur') . ' 404', _T('info_acces_interdit'));
}
// et on finit comme ca d'un coup
exit;
}
示例15: formulaires_editer_message_charger_dist
function formulaires_editer_message_charger_dist($id_message = 'new', $type = 'message', $retour = '', $accepter_email = 'oui', $destinataires = '', $titre = '', $texte = '')
{
include_spip('inc/autoriser');
if (!intval($id_message) and !autoriser('envoyermessage', $type) or intval($id_message) and !autoriser('modifier', 'message', $id_message)) {
return false;
}
$valeurs = formulaires_editer_objet_charger('message', $id_message, 0, 0, $retour, '');
// les destinataires sont stockes en chaine separe par une virgule dans la base
if (strlen($valeurs['destinataires'])) {
$valeurs['destinataires'] = explode(",", $valeurs['destinataires']);
}
if (!intval($id_message)) {
$valeurs['type'] = $type;
$valeurs['destinataires'] = $destinataires ? explode(",", $destinataires) : array();
$valeurs['titre'] = $titre;
$valeurs['texte'] = $texte;
$t = time();
$valeurs["date_heure"] = date('Y-m-d H:i:00', $t);
$valeurs["date_fin"] = date('Y-m-d H:i:00', $t + 3600);
$valeurs["rv"] = "";
}
// dispatcher date et heure
list($valeurs["date_debut"], $valeurs["heure_debut"]) = explode(' ', date('d/m/Y H:i', strtotime($valeurs["date_heure"])));
list($valeurs["date_fin"], $valeurs["heure_fin"]) = explode(' ', date('d/m/Y H:i', strtotime($valeurs["date_fin"])));
if (in_array($valeurs['type'], array('pb', 'affich'))) {
$valeurs['_destiner'] = '';
} else {
$valeurs['_destiner'] = ' ';
}
return $valeurs;
}