当前位置: 首页>>代码示例>>PHP>>正文


PHP autoriser函数代码示例

本文整理汇总了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>";
					 }


				}
		}
	}
}
开发者ID:samszo,项目名称:open-edition,代码行数:38,代码来源:skeleditor_ul.php

示例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);
    }
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:27,代码来源:iextras.php

示例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);
}
开发者ID:genma,项目名称:spip_ynh,代码行数:7,代码来源:importer_sites.php

示例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;
}
开发者ID:nursit,项目名称:SPIP,代码行数:39,代码来源:preselectionner_parent_nouvel_objet.php

示例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;
            }
        }
    }
}
开发者ID:JLuc,项目名称:SPIP,代码行数:30,代码来源:base_delete_all.php

示例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;
}
开发者ID:samszo,项目名称:open-edition,代码行数:47,代码来源:cextras_pipelines.php

示例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);
	}
}
开发者ID:rhertzog,项目名称:lcs,代码行数:25,代码来源:spiplistes_journal.php

示例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);
}
开发者ID:rhertzog,项目名称:lcs,代码行数:35,代码来源:import_all.php

示例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);
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:39,代码来源:editer_depot.php

示例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);
}
开发者ID:genma,项目名称:spip_ynh,代码行数:43,代码来源:bandeau.php

示例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;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:28,代码来源:crayons_html.php

示例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);
    }
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:26,代码来源:supprimer_url.php

示例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);
}
开发者ID:rougerose,项目名称:bank,代码行数:34,代码来源:response.php

示例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;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:35,代码来源:telecharger_dump.php

示例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;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:31,代码来源:editer_message.php


注:本文中的autoriser函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。