• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP creer_uniqid函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中creer_uniqid函数的典型用法代码示例。如果您正苦于以下问题:PHP creer_uniqid函数的具体用法?PHP creer_uniqid怎么用?PHP creer_uniqid使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了creer_uniqid函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: message_oubli

function message_oubli($email, $param)
{
	$r = formulaires_oubli_mail($email);
	if (is_array($r) AND $r[1]) {
		include_spip('inc/acces'); # pour creer_uniqid
		include_spip('inc/texte'); # pour corriger_typo
		$cookie = creer_uniqid();
		sql_updateq("spip_auteurs", array("cookie_oubli" => $cookie), "id_auteur=" . $r[1]['id_auteur']);

		$nom = textebrut(corriger_typo($GLOBALS['meta']["nom_site"]));
		$envoyer_mail = charger_fonction('envoyer_mail','inc');

		if ($envoyer_mail($email,
				  ("[$nom] " .  _T('pass_oubli_mot')),
				  _T('pass_mail_passcookie',
				     array('nom_site_spip' => $nom,
					   'adresse_site' => url_de_base(),
					   'sendcookie' => generer_url_public('spip_pass',
					   "$param=$cookie", true)))) )
		  return _T('pass_recevoir_mail');
		else
		  return  _T('pass_erreur_probleme_technique');
	}
	return  _T('pass_erreur_probleme_technique');
}
开发者ID:rhertzog,项目名称:lcs,代码行数:25,代码来源:oubli.php


示例2: formulaires_editer_profil_traiter_dist

function formulaires_editer_profil_traiter_dist($id_auteur, $retour = '')
{
    $res = array();
    $res['nom'] = _request('nom');
    $res['prenom'] = _request('prenom');
    $res['activite'] = _request('activite');
    $res['email'] = _request('email');
    $pass = _request('new_pass');
    $pass2 = _request('new_pass2');
    if ($pass) {
        if ($pass == $pass2) {
            include_spip('inc/acces');
            $htpass = generer_htpass($pass);
            $alea_actuel = creer_uniqid();
            $alea_futur = creer_uniqid();
            $new_pass = md5($alea_actuel . $pass);
            $res['pass'] = $new_pass;
            $res['htpass'] = $htpass;
            $res['alea_actuel'] = $alea_actuel;
            $res['alea_futur'] = $alea_futur;
            $res['low_sec'] = '';
        }
    }
    if ($id_auteur = intval($id_auteur)) {
        sql_updateq('spip_auteurs', $res, "id_auteur={$id_auteur}");
        $res['message_ok'] = _T('fraap_candidatures:form_profil_modifie');
    } else {
        $res['message_erreur'] = _T('fraap_candidatures:form_probleme');
    }
    return $res;
}
开发者ID:rougerose,项目名称:fraap_candidatures,代码行数:31,代码来源:editer_profil.php


示例3: cache_signature

function cache_signature(&$page)
{
    if (!isset($GLOBALS['meta']['cache_signature'])) {
        include_spip('inc/acces');
        include_spip('auth/sha256.inc');
        ecrire_meta('cache_signature', _nano_sha256($_SERVER["DOCUMENT_ROOT"] . $_SERVER["SERVER_SIGNATURE"] . creer_uniqid()), 'non');
    }
    return crc32($GLOBALS['meta']['cache_signature'] . $page['texte']);
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:9,代码来源:cacher.php


示例4: copie_locale

/**
 * Cree au besoin la copie locale d'un fichier distant
 *
 *
 * Prend en argument un chemin relatif au rep racine, ou une URL
 * Renvoie un chemin relatif au rep racine, ou false
 *
 * http://doc.spip.org/@copie_locale
 *
 * @param $source
 * @param string $mode
 *   'test' - ne faire que tester
 *   'auto' - charger au besoin
 *   'modif' - Si deja present, ne charger que si If-Modified-Since
 *   'force' - charger toujours (mettre a jour)
 * @param string $local
 *   permet de specifier le nom du fichier local (stockage d'un cache par exemple, et non document IMG)
 * @return bool|string
 */
function copie_locale($source, $mode='auto') {

	// si c'est la protection de soi-meme, retourner le path
	if ($mode !== 'force' AND preg_match(_REGEXP_COPIE_LOCALE, $source, $local)) {
		$source = substr(_DIR_IMG,strlen(_DIR_RACINE)) . urldecode($local[1]);
		return @file_exists($source) ? $source : false;
	}
	$local = fichier_copie_locale($source);
	$localrac = _DIR_RACINE.$local;
	$t = ($mode=='force') ? false  : @file_exists($localrac);

	// test d'existence du fichier
	if ($mode=='test') return $t ? $local : '';

	// si $local = '' c'est un fichier refuse par fichier_copie_locale(),
	// par exemple un fichier qui ne figure pas dans nos documents ;
	// dans ce cas on n'essaie pas de le telecharger pour ensuite echouer
	if (!$local) return false;

	// sinon voir si on doit/peut le telecharger
	if ($local==$source OR !preg_match(',^\w+://,', $source))
		return $local;

	if ($mode=='modif' OR !$t){
		// passer par un fichier temporaire unique pour gerer les echecs en cours de recuperation
		// et des eventuelles recuperations concurantes
		include_spip("inc/acces");
		$localractmp = "$localrac.".creer_uniqid().".tmp";
		$res = recuperer_page($source, $localractmp, false, _COPIE_LOCALE_MAX_SIZE, '', '', false, $t ? filemtime($localrac) : '');
		if ($res) {
			// si OK on supprime l'ancien fichier et on renomme
			spip_log("copie_locale : recuperation $source sur $localractmp taille $res OK, renommage en $localrac");
			spip_unlink($localrac);
			@rename($localractmp, $localrac);
		} else {
			// sinon on supprime le fichier temporaire qui a echoue et qui est sans doute corrompu...
			spip_log("copie_locale : Echec recuperation $source sur $localractmp, fichier supprime",_LOG_INFO_IMPORTANTE);
			spip_unlink($localractmp);
		}
		if (!$res) return $t ? $local : false;

		// pour une eventuelle indexation
		pipeline('post_edition',
			array(
				'args' => array(
					'operation' => 'copie_locale',
					'source' => $source,
					'fichier' => $local
				),
				'data' => null
			)
		);
	}

	return $local;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:75,代码来源:distant.php


示例5: copie_locale

/**
 * Cree au besoin la copie locale d'un fichier distant
 *
 *
 * Prend en argument un chemin relatif au rep racine, ou une URL
 * Renvoie un chemin relatif au rep racine, ou false
 *
 * http://doc.spip.org/@copie_locale
 *
 * @param $source
 * @param string $mode
 *   'test' - ne faire que tester
 *   'auto' - charger au besoin
 *   'modif' - Si deja present, ne charger que si If-Modified-Since
 *   'force' - charger toujours (mettre a jour)
 * @param string $local
 *   permet de specifier le nom du fichier local (stockage d'un cache par exemple, et non document IMG)
 * @return bool|string
 */
function copie_locale($source, $mode = 'auto', $local = null)
{
    // si c'est la protection de soi-meme
    $reg = ',' . $GLOBALS['meta']['adresse_site'] . "/?spip.php[?]action=acceder_document.*file=(.*)\$,";
    if (preg_match($reg, $source, $m)) {
        return substr(_DIR_IMG, strlen(_DIR_RACINE)) . urldecode($m[1]);
    }
    if (is_null($local)) {
        $local = fichier_copie_locale($source);
    } else {
        if (_DIR_RACINE and strncmp(_DIR_RACINE, $local, strlen(_DIR_RACINE)) == 0) {
            $local = substr($local, strlen(_DIR_RACINE));
        }
    }
    $localrac = _DIR_RACINE . $local;
    $t = $mode == 'force' ? false : @file_exists($localrac);
    // test d'existence du fichier
    if ($mode == 'test') {
        return $t ? $local : '';
    }
    // si $local = '' c'est un fichier refuse par fichier_copie_locale(),
    // par exemple un fichier qui ne figure pas dans nos documents ;
    // dans ce cas on n'essaie pas de le telecharger pour ensuite echouer
    if (!$local) {
        return false;
    }
    // sinon voir si on doit/peut le telecharger
    if ($local == $source or !preg_match(',^\\w+://,', $source)) {
        return $local;
    }
    if ($mode == 'modif' or !$t) {
        // passer par un fichier temporaire unique pour gerer les echecs en cours de recuperation
        // et des eventuelles recuperations concurantes
        include_spip("inc/acces");
        $localractmp = "{$localrac}." . creer_uniqid() . ".tmp";
        $res = recuperer_page($source, $localractmp, false, _COPIE_LOCALE_MAX_SIZE, '', '', false, $t ? filemtime($localrac) : '');
        if ($res) {
            // si OK on supprime l'ancien fichier et on renomme
            spip_log("copie_locale : recuperation {$source} sur {$localractmp} taille {$res} OK, renommage en {$localrac}");
            spip_unlink($localrac);
            @rename($localractmp, $localrac);
        } else {
            // sinon on supprime le fichier temporaire qui a echoue et qui est sans doute corrompu...
            spip_log("copie_locale : Echec recuperation {$source} sur {$localractmp}, fichier supprime", _LOG_INFO_IMPORTANTE);
            spip_unlink($localractmp);
        }
        if (!$res) {
            return $t ? $local : false;
        }
        // pour une eventuelle indexation
        pipeline('post_edition', array('args' => array('operation' => 'copie_locale', 'source' => $source, 'fichier' => $local), 'data' => null));
    }
    return $local;
}
开发者ID:nursit,项目名称:SPIP,代码行数:73,代码来源:distant.php


示例6: renouvelle_alea

function renouvelle_alea() {
	if (!isset($GLOBALS['meta']['alea_ephemere'])){
		include_spip('base/abstract_sql');
		$GLOBALS['meta']['alea_ephemere'] = sql_getfetsel('valeur', 'spip_meta', "nom='alea_ephemere'");
	}
	ecrire_meta('alea_ephemere_ancien', @$GLOBALS['meta']['alea_ephemere'], 'non');
	$GLOBALS['meta']['alea_ephemere'] = md5(creer_uniqid());
	ecrire_meta('alea_ephemere', $GLOBALS['meta']['alea_ephemere'], 'non');
	ecrire_meta('alea_ephemere_date', time(), 'non');
	spip_log("renouvellement de l'alea_ephemere");
}
开发者ID:rhertzog,项目名称:lcs,代码行数:11,代码来源:acces.php


示例7: formulaires_register_traiter_dist

function formulaires_register_traiter_dist()
{
    $login = _request('login');
    $name = _request('name');
    $password = _request('password');
    $re_password = _request('re_password');
    $email = _request('email');
    include_spip('inc/acces');
    include_spip('auth/sha256.inc');
    $alea_actuel = creer_uniqid();
    $alea_futur = creer_uniqid();
    $pass = _nano_sha256($alea_actuel . $password);
    $sql = 'Insert into spip_auteurs (nom,email,login,pass,htpass,statut,alea_actuel,alea_futur)values("' . $name . '","' . $email . '","' . $login . '","' . $pass . '","' . generer_htpass($password) . '","6forum","' . $alea_actuel . '","' . $alea_futur . '")';
    sql_query($sql);
    $id_user = mysql_insert_id();
    ppr('Новый пользователь с номером : ' . $id_user);
}
开发者ID:foobar64,项目名称:spip-ecatalogue,代码行数:17,代码来源:register.php


示例8: ecrire_migration_status

/**
 * Ecrire le status de migration
 * @param string $direction
 * @param bool|array $raz
 * @return array
 */
function ecrire_migration_status($direction, $raz = false){
	if (!in_array($direction,array('depuis','vers')))
		return false;
	$meta = 'migration_'.$direction.'_status';
	$file = _DIR_TMP.$meta.".txt";
	if ($raz===true) {
		spip_unlink($file);
		return false;
	}
	elseif(is_array($raz)){
		$s = $raz;
		ecrire_fichier($file,serialize($s));
	}
	elseif (!$s = lire_migration_status($direction)){
		include_spip('inc/acces');
		$s = array(
			'status'=>'init',
			'timestamp'=>time(),
			'key'=> substr(md5(creer_uniqid()),0,8),
		);
		ecrire_fichier($file,serialize($s));
	}
	return $s;
}
开发者ID:nursit,项目名称:Migration,代码行数:30,代码来源:migration.php


示例9: auteur_attribuer_jeton

/**
 * Attribuer un jeton temporaire pour un auteur
 * en assurant l'unicite du jeton
 * @param int $id_auteur
 * @return string
 */
function auteur_attribuer_jeton($id_auteur)
{
    include_spip('inc/acces');
    // s'assurer de l'unicite du jeton pour le couple (email,cookie)
    do {
        $jeton = creer_uniqid();
        sql_updateq("spip_auteurs", array("cookie_oubli" => $jeton), "id_auteur=" . intval($id_auteur));
    } while (sql_countsel("spip_auteurs", "cookie_oubli=" . sql_quote($jeton)) > 1);
    return $jeton;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:16,代码来源:inscrire_auteur.php


示例10: recuperer_body

function recuperer_body($f, $taille_max = _INC_DISTANT_MAX_SIZE, $fichier = '')
{
    $taille = 0;
    $result = '';
    $fp = false;
    if ($fichier) {
        include_spip("inc/acces");
        $tmpfile = "{$fichier}." . creer_uniqid() . ".tmp";
        $fp = spip_fopen_lock($tmpfile, 'w', LOCK_EX);
        if (!$fp and file_exists($fichier)) {
            return filesize($fichier);
        }
        if (!$fp) {
            return false;
        }
        $result = 0;
        // on renvoie la taille du fichier
    }
    while (!feof($f) and $taille < $taille_max) {
        $res = fread($f, 16384);
        $taille += strlen($res);
        if ($fp) {
            fwrite($fp, $res);
            $result = $taille;
        } else {
            $result .= $res;
        }
    }
    if ($fp) {
        spip_fclose_unlock($fp);
        spip_unlink($fichier);
        @rename($tmpfile, $fichier);
        if (!file_exists($fichier)) {
            return false;
        }
    }
    return $result;
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:38,代码来源:distant.php


示例11: exec_spiplistes_courrier_edit

function exec_spiplistes_courrier_edit(){

	include_spip('inc/barre');
	include_spip('inc/documents');
	include_spip('base/spiplistes_tables');
	include_spip('inc/spiplistes_api');
	include_spip('inc/spiplistes_api_presentation');
	include_spip('inc/spiplistes_dater_envoi');
	include_spip('inc/spiplistes_api_courrier');
	include_spip('public/assembler');
	include_spip('inc/spiplistes_naviguer_paniers');

	global $connect_statut
		, $connect_toutes_rubriques
		, $connect_id_auteur
		, $spip_ecran
		, $compteur_block
		;
	
	$eol = "\n";
	$id_temp = false;
	
	$type = _request('type');
	$id_courrier = intval(_request('id_courrier'));

	foreach(array('btn_courrier_apercu') as $key) {
		$$key = _request($key);
	}

	if($id_courrier > 0) {
	///////////////////////////
	// Edition /modification d'un courrier
		$sql_select_array = array('titre','texte','message_texte','type','statut','id_auteur');
		if($row = spiplistes_courriers_premier($id_courrier, $sql_select_array)) {
			foreach($sql_select_array as $key) {
				$$key = $row[$key];
			}
			$titre = entites_html($titre);
			$texte = entites_html($texte);
		}
		else {
			$id_courrier = false;
		}
	}
	// n'existe pas encore ?
	// placer un marqueur pour les documents joints
	else {
		$id_temp = 0-intval(substr(creer_uniqid(),0,5));
	}

	// l'edition du courrier est reservee aux super-admins 
	// ou aux admin createur du courrier
	$flag_editable = (($connect_statut == "0minirezo") 
		&& ($connect_toutes_rubriques || ($connect_id_auteur == $id_auteur) || !$id_courrier));

	if($flag_editable) {
		if(!$id_courrier) {
		// si pas de ID courrier, c'est une creation
			$statut = _SPIPLISTES_COURRIER_STATUT_REDAC; 
			$type = _SPIPLISTES_COURRIER_TYPE_NEWSLETTER;
			$new = 'oui';
			$titre = _T('spiplistes:Nouveau_courrier');
			$clearonfocus = " onfocus=\"if(!antifocus){this.value='';antifocus=true;}\"";
		}
		else {
			$clearonfocus = "";
		}
	
		$gros_bouton_retour =
			($id_courrier)
			? icone(
				_T('spiplistes:retour_link')
				, generer_url_ecrire(_SPIPLISTES_EXEC_COURRIER_GERER, "id_courrier=$id_courrier")
				, spiplistes_items_get_item('icon', $statut)
				, "rien.gif"
				, ""
				, false
				)
			: ""
			;
		$boite_documents = afficher_documents_colonne(
							  ($id_courrier ? $id_courrier : $id_temp )
							  , 'courrier');
	}
	
////////////////////////////////////
// PAGE CONTENU
////////////////////////////////////

	$titre_page = _T('spiplistes:edition_du_courrier');
	// Permet entre autres d'ajouter les classes a' la page : <body class='$rubrique $sous_rubrique'>
	$rubrique = _SPIPLISTES_PREFIX;
	$sous_rubrique = "courrier_edit";

	$commencer_page = charger_fonction('commencer_page', 'inc');
	echo($commencer_page(_T('spiplistes:spiplistes') . " - " . $titre_page, $rubrique, $sous_rubrique));

	if(!$flag_editable) {
		die (spiplistes_terminer_page_non_autorisee() . fin_page());
	}
//.........这里部分代码省略.........
开发者ID:rhertzog,项目名称:lcs,代码行数:101,代码来源:spiplistes_courrier_edit.php


示例12: auth_spip_modifier_pass

/**
 * Modifier le mot de passe de l'auteur sur le serveur concerne
 * en s'occupant du hash et companie
 * @param string $login
 * @param string $new_pass
 * @param int $id_auteur
 * @param string $serveur
 * @return bool
 */
function auth_spip_modifier_pass($login, $new_pass, $id_auteur, $serveur = '')
{
    if (is_null($new_pass) or auth_spip_verifier_pass($login, $new_pass, $id_auteur, $serveur) != '') {
        return false;
    }
    if (!($id_auteur = intval($id_auteur)) or !sql_fetsel('login', 'spip_auteurs', 'id_auteur=' . intval($id_auteur), '', '', '', '', $serveur)) {
        return false;
    }
    $c = array();
    include_spip('inc/acces');
    include_spip('auth/sha256.inc');
    $htpass = generer_htpass($new_pass);
    $alea_actuel = creer_uniqid();
    $alea_futur = creer_uniqid();
    $pass = _nano_sha256($alea_actuel . $new_pass);
    $c['pass'] = $pass;
    $c['htpass'] = $htpass;
    $c['alea_actuel'] = $alea_actuel;
    $c['alea_futur'] = $alea_futur;
    $c['low_sec'] = '';
    include_spip('action/editer_auteur');
    auteur_modifier($id_auteur, $c, true);
    // manque la gestion de $serveur
    return true;
    // on a bien modifie le pass
}
开发者ID:nursit,项目名称:SPIP,代码行数:35,代码来源:spip.php


示例13: install_etape_3b_dist

function install_etape_3b_dist()
{
    $login = _request('login');
    $email = _request('email');
    $nom = _request('nom');
    $pass = _request('pass');
    $pass_verif = _request('pass_verif');
    $server_db = defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : _request('server_db');
    if (!defined('_PASS_LONGUEUR_MINI')) {
        define('_PASS_LONGUEUR_MINI', 6);
    }
    if (!defined('_LOGIN_TROP_COURT')) {
        define('_LOGIN_TROP_COURT', 4);
    }
    if ($login) {
        $echec = $pass != $pass_verif ? _T('info_passes_identiques') : (strlen($pass) < _PASS_LONGUEUR_MINI ? _T('info_passe_trop_court_car_pluriel', array('nb' => _PASS_LONGUEUR_MINI)) : (strlen($login) < _LOGIN_TROP_COURT ? _T('info_login_trop_court') : ''));
        include_spip('inc/filtres');
        if (!$echec and $email and !email_valide($email)) {
            $echec = _T('form_email_non_valide');
        }
        if ($echec) {
            echo minipres('AUTO', info_progression_etape(3, 'etape_', 'install/', true) . "<div class='error'><h3>{$echec}</h3>\n" . "<p>" . _T('avis_connexion_echec_2') . "</p>" . "</div>");
            exit;
        }
    }
    if (@file_exists(_FILE_CHMOD_TMP)) {
        include _FILE_CHMOD_TMP;
    } else {
        redirige_url_ecrire('install');
    }
    if (!@file_exists(_FILE_CONNECT_TMP)) {
        redirige_url_ecrire('install');
    }
    # maintenant on connait le vrai charset du site s'il est deja configure
    # sinon par defaut lire_meta reglera _DEFAULT_CHARSET
    # (les donnees arrivent de toute facon postees en _DEFAULT_CHARSET)
    lire_metas();
    if ($login) {
        include_spip('inc/charsets');
        $nom = importer_charset($nom, _DEFAULT_CHARSET);
        $login = importer_charset($login, _DEFAULT_CHARSET);
        $email = importer_charset($email, _DEFAULT_CHARSET);
        # pour le passwd, bizarrement il faut le convertir comme s'il avait
        # ete tape en iso-8859-1 ; car c'est en fait ce que voit md5.js
        $pass = unicode2charset(utf_8_to_unicode($pass), 'iso-8859-1');
        include_spip('auth/sha256.inc');
        include_spip('inc/acces');
        $htpass = generer_htpass($pass);
        $alea_actuel = creer_uniqid();
        $alea_futur = creer_uniqid();
        $shapass = _nano_sha256($alea_actuel . $pass);
        // prelablement, creer le champ webmestre si il n'existe pas (install neuve
        // sur une vieille base
        $t = sql_showtable("spip_auteurs", true);
        if (!isset($t['field']['webmestre'])) {
            @sql_alter("TABLE spip_auteurs ADD webmestre varchar(3)  DEFAULT 'non' NOT NULL");
        }
        $id_auteur = sql_getfetsel("id_auteur", "spip_auteurs", "login=" . sql_quote($login));
        if ($id_auteur !== null) {
            sql_updateq('spip_auteurs', array("nom" => $nom, 'email' => $email, 'login' => $login, 'pass' => $shapass, 'alea_actuel' => $alea_actuel, 'alea_futur' => $alea_futur, 'htpass' => $htpass, 'statut' => '0minirezo'), "id_auteur={$id_auteur}");
        } else {
            $id_auteur = sql_insertq('spip_auteurs', array('nom' => $nom, 'email' => $email, 'login' => $login, 'pass' => $shapass, 'htpass' => $htpass, 'alea_actuel' => $alea_actuel, 'alea_futur' => $alea_futur, 'statut' => '0minirezo'));
        }
        // le passer webmestre separrement du reste, au cas ou l'alter n'aurait pas fonctionne
        @sql_updateq('spip_auteurs', array('webmestre' => 'oui'), "id_auteur={$id_auteur}");
        // inserer email comme email webmaster principal
        // (sauf s'il est vide: cas de la re-installation)
        if ($email) {
            ecrire_meta('email_webmaster', $email);
        }
        // Connecter directement celui qui vient de (re)donner son login
        // mais sans cookie d'admin ni connexion longue
        include_spip('inc/auth');
        if (!($auteur = auth_identifier_login($login, $pass)) or !auth_loger($auteur, true)) {
            spip_log("login automatique impossible {$auth_spip} {$session}" . count($row));
        }
    }
    // installer les metas
    $config = charger_fonction('config', 'inc');
    $config();
    // activer les plugins
    // leur installation ne peut pas se faire sur le meme hit, il faudra donc
    // poursuivre au hit suivant
    include_spip('inc/plugin');
    actualise_plugins_actifs();
    include_spip('inc/distant');
    redirige_par_entete(parametre_url(self(), 'etape', '4', '&'));
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:88,代码来源:etape_3b.php


示例14: protege_js_modeles

function protege_js_modeles($t)
{
    if (isset($GLOBALS['visiteur_session'])) {
        if (preg_match_all(',<script.*?($|</script.),isS', $t, $r, PREG_SET_ORDER)) {
            if (!defined('_PROTEGE_JS_MODELES')) {
                include_spip('inc/acces');
                define('_PROTEGE_JS_MODELES', creer_uniqid());
            }
            foreach ($r as $regs) {
                $t = str_replace($regs[0], code_echappement($regs[0], 'javascript' . _PROTEGE_JS_MODELES), $t);
            }
        }
        if (preg_match_all(',<\\?php.*?($|\\?' . '>),isS', $t, $r, PREG_SET_ORDER)) {
            if (!defined('_PROTEGE_PHP_MODELES')) {
                include_spip('inc/acces');
                define('_PROTEGE_PHP_MODELES', creer_uniqid());
            }
            foreach ($r as $regs) {
                $t = str_replace($regs[0], code_echappement($regs[0], 'php' . _PROTEGE_PHP_MODELES), $t);
            }
        }
    }
    return $t;
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:24,代码来源:texte_mini.php


示例15: auth_spip_modifier_pass

function auth_spip_modifier_pass($login, $new_pass, $id_auteur, $serveur=''){
	if (is_null($new_pass) OR auth_spip_verifier_pass($login, $new_pass,$id_auteur,$serveur)!='')
		return false;

	if (!$id_auteur = intval($id_auteur)
		OR !$auteur = sql_fetsel('login','spip_auteurs','id_auteur='.intval($id_auteur),'','','','',$serveur))
		return false;

	$c = array();
	include_spip('inc/acces');
	include_spip('auth/sha256.inc');
	$htpass = generer_htpass($new_pass);
	$alea_actuel = creer_uniqid();
	$alea_futur = creer_uniqid();
	$pass = _nano_sha256($alea_actuel.$new_pass);
	$c['pass'] = $pass;
	$c['htpass'] = $htpass;
	$c['alea_actuel'] = $alea_actuel;
	$c['alea_futur'] = $alea_futur;
	$c['low_sec'] = '';

	include_spip('inc/modifier');
	revision_auteur($id_auteur, $c); // manque la gestion de $serveur

}
开发者ID:rhertzog,项目名称:lcs,代码行数:25,代码来源:spip.php


示例16: secret_du_site

/**
 * Renvoyer le secret du site, et le generer si il n'existe pas encore
 * Le secret du site doit rester aussi secret que possible, et est eternel
 * On ne doit pas l'exporter
 *
 * http://doc.spip.org/@secret_du_site
 *
 * @return string
 */
function secret_du_site()
{
    if (!isset($GLOBALS['meta']['secret_du_site'])) {
        include_spip('base/abstract_sql');
        $GLOBALS['meta']['secret_du_site'] = sql_getfetsel('valeur', 'spip_meta', "nom='secret_du_site'");
    }
    if (!isset($GLOBALS['meta']['secret_du_site']) or strlen($GLOBALS['meta']['secret_du_site']) < 64) {
        include_spip('inc/acces');
        include_spip('auth/sha256.inc');
        ecrire_meta('secret_du_site', _nano_sha256($_SERVER["DOCUMENT_ROOT"] . $_SERVER["SERVER_SIGNATURE"] . creer_uniqid()), 'non');
        lire_metas();
        // au cas ou ecrire_meta() ne fonctionne pas
    }
    return $GLOBALS['meta']['secret_du_site'];
}
开发者ID:nursit,项目名称:SPIP,代码行数:24,代码来源:securiser_action.php


示例17: ecrire_fichier

/**
 * Écrit un fichier de manière un peu sûre
 *
 * Cette écriture s’exécute de façon sécurisée en posant un verrou sur
 * le fichier avant sa modification. Les fichiers .gz sont compressés.
 *
 * @uses raler_fichier() Si le fichier n'a pu peut être écrit
 * @see  lire_fichier()
 * @see  supprimer_fichier()
 *
 * @param string $fichier
 *     Chemin du fichier
 * @param string $contenu
 *     Contenu à écrire
 * @param bool $ignorer_echec
 *     - true pour ne pas raler en cas d'erreur
 *     - false affichera un message si on est webmestre
 * @param bool $truncate
 *     Écriture avec troncation ?
 * @return bool
 *     - true si l’écriture s’est déroulée sans problème.
 **/
function ecrire_fichier($fichier, $contenu, $ignorer_echec = false, $truncate = true)
{
    #spip_timer('ecrire_fichier');
    // verrouiller le fichier destination
    if ($fp = spip_fopen_lock($fichier, 'a', LOCK_EX)) {
        // ecrire les donnees, compressees le cas echeant
        // (on ouvre un nouveau pointeur sur le fichier, ce qui a l'avantage
        // de le recreer si le locker qui nous precede l'avait supprime...)
        if (substr($fichier, -3) == '.gz') {
            $contenu = gzencode($contenu);
        }
        // si c'est une ecriture avec troncation , on fait plutot une ecriture complete a cote suivie unlink+rename
        // pour etre sur d'avoir une operation atomique
        // y compris en NFS : http://www.ietf.org/rfc/rfc1094.txt
        // sauf sous wintruc ou ca ne marche pas
        $ok = false;
        if ($truncate and _OS_SERVEUR != 'windows') {
            if (!function_exists('creer_uniqid')) {
                include_spip('inc/acces');
            }
            $id = creer_uniqid();
            // on ouvre un pointeur sur un fichier temporaire en ecriture +raz
            if ($fp2 = spip_fopen_lock("{$fichier}.{$id}", 'w', LOCK_EX)) {
                $s = @fputs($fp2, $contenu, $a = strlen($contenu));
                $ok = $s == $a;
                spip_fclose_unlock($fp2);
                spip_fclose_unlock($fp);
                // unlink direct et pas spip_unlink car on avait deja le verrou
                // a priori pas besoin car rename ecrase la cible
                // @unlink($fichier);
                // le rename aussitot, atomique quand on est pas sous windows
                // au pire on arrive en second en cas de concourance, et le rename echoue
                // --> on a la version de l'autre process qui doit etre identique
                @rename("{$fichier}.{$id}", $fichier);
                // precaution en cas d'echec du rename
                if (!_TEST_FILE_EXISTS or @file_exists("{$fichier}.{$id}")) {
                    @unlink("{$fichier}.{$id}");
                }
                if ($ok) {
                    $ok = file_exists($fichier);
                }
            } else {
                spip_fclose_unlock($fp);
            }
        }
        // sinon ou si methode precedente a echoueee
        // on se rabat sur la methode ancienne
        if (!$ok) {
            // ici on est en ajout ou sous windows, cas desespere
            if ($truncate) {
                @ftruncate($fp, 0);
            }
            $s = @fputs($fp, $contenu, $a = strlen($contenu));
            $ok = $s == $a;
            spip_fclose_unlock($fp);
        }
        // liberer le verrou et fermer le fichier
        @chmod($fichier, _SPIP_CHMOD & 0666);
        if ($ok) {
            if (strpos($fichier, ".php") !== false) {
                spip_clear_opcode_cache(realpath($fichier));
            }
            return $ok;
        }
    }
    if (!$ignorer_echec) {
        include_spip('inc/autoriser');
        if (autoriser('chargerftp')) {
            raler_fichier($fichier);
        }
        spip_unlink($fichier);
    }
    spip_log("Ecriture fichier {$fichier} impossible", _LOG_INFO_IMPORTANTE);
    return false;
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:97,代码来源:flock.php


示例18: galettonuts_synchroniser

/**
 * Synchroniser les utilisateurs Galette vers Spip.
 * 
 * @param  boolean $forcer Forcer la synchronisation.
 * @return int     Retourne en cas de réussite le nombre de fiches mis à jour ;
 *  _ 0 lorsqu'une erreur inconnue est survenue ;
 *  _ -1 si la synchronisation a échouée ;
 *  _ -2 lorsque des erreurs sont survenues lors de la connexion à la BDD ;
 *  _ -10 si la synchronisation est inutile.
 **/
function galettonuts_synchroniser($forcer = false)
{
    // Lecture de la configuration
    if (!class_exists('L2_Spip_Plugin_Metas')) {
        include_spip('lib/L2/Spip/Plugin/Metas.class');
    }
    $config = new L2_Spip_Plugin_Metas('galettonuts_config');
    // Connexion à la base Galette
    $link = galettonuts_galette_db($config->lire('adresse_db'), $config->lire('login_db'), $config->lire('pass_db'), $config->lire('choix_db'));
    if (!$link) {
        spip_log('cron: Galettonuts, echec de connexion a la bdd de galette');
        return -2;
    }
    $synchro = new L2_Spip_Plugin_Metas('galettonuts_synchro');
    // La synchronisation est inutile.
    if (!$forcer && !is_null($synchro->lire('maj')) && galettonuts_a_jour($synchro->lire('maj'), $config->lire('prefix_db'), $link)) {
        return -10;
    } else {
        // Compteur d'utilisateurs traités
        $compteur = 0;
        // Tableau associatif zones/auteurs
        $ids = array();
        $maintenant = time();
        // Récupération des adhérents Galette
        $req = "SELECT `id_adh` AS `id`, `nom_adh` AS `nom`, `prenom_adh` AS `prenom`, `activite_adh` AS `actif`, " . "`login_adh` AS `login`, `mdp_adh` AS `pass`, `email_adh` AS `email` " . "FROM `" . $config->lire('prefix_db') . "adherents` WHERE 1;";
        $res = @mysql_query($req, $link);
        // Pour chaque adhérent de galette
        while ($adh = @mysql_fetch_assoc($res)) {
            include_spip('inc/acces');
            include_spip('inc/charsets');
            // Formatage des informations de l'auteur à destination de Spip
            $login = unicode2charset(charset2unicode($adh['login'], 'iso-8859-15', 'forcer'));
            $email = unicode2charset(charset2unicode($adh['email'], 'iso-8859-15', 'forcer'));
            $nom = unicode2charset(charset2unicode(ucfirst($adh['prenom']) . ' ' . ucfirst($adh['nom']), 'iso-8859-15', 'forcer'));
            $alea_actuel = creer_uniqid();
            $alea_futur = creer_uniqid();
            $pass = $adh['pass'];
            $htpass = generer_htpass($pass);
            $mdpass = md5($alea_actuel . $pass);
            // Récupération de l'identifiant de l'auteur Spip, s'il existe
            $res2 = spip_query("SELECT `id_auteur` FROM `spip_galettonuts` WHERE `id_adh` = '{$adh['id']}';");
            if (spip_mysql_count($res2)) {
                $id_auteur = (int) @mysql_result($res2, 0);
            } else {
                $id_auteur = null;
            }
            // Mise à jour de l'auteur Spip
            if ($id_auteur) {
                $req = "UPDATE `spip_auteurs` SET " . "`nom` = " . _q($nom) . ", `email` = " . _q($email) . ", `login` = " . _q($login) . ", `pass` = " . _q($mdpass) . ", `htpass` = " . _q($htpass) . ", `alea_actuel` = " . _q($alea_actuel) . ", `alea_futur` = " . _q($alea_futur);
                if (1 != $adh['actif']) {
                    $req .= ", `statut` = " . _q('5poubelle');
                }
                $req .= ", `maj` = NOW()" . " WHERE `id_auteur` = " . _q($id_auteur);
                spip_query($req);
            } else {
                $statut = 1 == $adh['actif'] ? '6forum' : '5poubelle';
                $req = "INSERT INTO `spip_auteurs` (`nom`, `email`, `login`, `pass`, `htpass`, `alea_actuel`, `alea_futur`, `statut`) " . "VALUES (" . _q($nom) . ', ' . _q($email) . ', ' . _q($login) . ', ' . _q($mdpass) . ', ' . _q($htpass) . ', ' . _q($alea_actuel) . ', ' . _q($alea_futur) . ', ' . _q($statut) . ");";
                spip_query($req);
                unset($req);
                // Puisque la colonne id_auteur de la table spip_auteurs est
                // de type BIGINT, on ne peut utiliser mysql_insert_id() de PHP.
                $id_auteur = @mysql_result(spip_query("SELECT LAST_INSERT_ID();"), 0);
                $req = "INSERT INTO `spip_galettonuts` (`id_auteur`, `id_adh`) VALUES (" . _q($id_auteur) . ', ' . _q($adh['id']) . ');';
                spip_query($req);
            }
            spip_free_result($res2);
            // Hop, un utilisateur de synchronisé en plus
            ++$compteur;
            // Dans le cas où le plugin Accès Restreint est présent, on stocke
            // les identifiants des auteurs fraichement synchronisés associés
            // à une/des zone(s) définie lors de la configuration de Galettonuts
            if ($zones = $config->lire('zones')) {
                $ids[$id_auteur] = $zones;
                unset($zones);
            }
        }
        // while
        // La synchronisation est complète, on le sauvegarde
        $synchro->ajouter(array('maj' => $maintenant), true);
        // Association de zones aux auteurs synchronisés
        if (0 < count($ids)) {
            galettonuts_associer_zones($ids);
        }
        return $compteur;
    }
}
开发者ID:piouPiouM,项目名称:galettonuts,代码行数:96,代码来源:galettonuts_fonctions.php


示例19: spiplistes_formulaire_abonnement


//.........这里部分代码省略.........
		{
			// si l'abonne existe deja mais pas d'action demandee,
			// affiche formulaire complet
			//if($row = sql_fetch(
			if ($row = 
				spiplistes_auteurs_auteur_select ('id_auteur,login,nom,statut,lang', 'email='.sql_quote($abonne['email']))
				
			) {
				
				$abonne['id_auteur'] = intval($row['id_auteur']);
				$abonne['statut'] = $row['statut'];
				$abonne['login'] = $row['login'];
				$abonne['nom'] = $row['nom'];
				$abonne['lang'] = $row['lang'];
				$abonne['format'] =
					($f = spiplistes_format_abo_demande($abonne['id_auteur']))
					? $f
					: 'texte'
					;
	
				if($abonne['statut'] == '5poubelle')
				{
					$reponse_formulaire = _T('form_forum_access_refuse');
				}
				// si encore nouveau, c'est qu'il ne s'est jamais identifie'
				else if($abonne['statut'] == 'nouveau')
				{
					// le supprimer. Il sera re-cree plus loin
					spiplistes_auteurs_auteur_delete('id_auteur='.sql_quote($abonne['id_auteur']));
					$abonne['id_auteur'] = false;
				}
				else {
					// demande de modifier l'abonnement ? envoie le cookie de relance par mail
					spiplistes_auteurs_cookie_oubli_updateq($abonne['cookie_oubli'] = creer_uniqid(), $abonne['email']);
					
					$objet_email = _T('spiplistes:abonnement_titre_mail');
					$texte_email = spiplistes_texte_inventaire_abos($abonne['id_auteur'], $type_abo, $nom_site_spip);
					
					
					$contexte = array('titre' => $objet_email);
					$id_abonne = $abonne['id_auteur'];
				}
				
			}
			// l'adresse mail n'existe pas dans la base.
			else 
			{
				
				$abonne['login'] = spiplistes_login_from_email($abonne['email']);
				$abonne['nom'] =
					(($acces_membres == 'non') || empty($nom_inscription_))
					? ucfirst($abonne['login'])
					: $nom_inscription_
					;
				
				// ajouter l'abonne
				$pass = creer_pass_aleatoire(8, $abonne['email']);
				$abonne['zepass'] = $pass;
				$abonne['mdpass'] = md5($pass);
				$abonne['htpass'] = generer_htpass($pass);
				
				$abonne['cookie_oubli'] = creer_uniqid();
				
				$abonne['statut'] = ($inscription_redacteur == 'oui') ? 'nouveau' : '6forum';
	
				// format d'envoi par defaut pour le premier envoi de confirmation
开发者ID:rhertzog,项目名称:lcs,代码行数:67,代码来源:formulaire_abonnement.php


示例20: spip_nfsunlock

/**
 * Unlock an nfslock()ed file
 *
 * This can get tricky because the lock may have expired (perhaps even
 * during a process that should be "atomic"). We have to make sure we don't
 * unlock some other process' lock, and return a panic code if we think our
 * lock file has been broken illegally. What's done in reaction to that panic
 * (of anything) is up to the caller. See the comments on nfslock()!
 *
 * args: path = path to directory of lock file (/net/u/1/a/alexis/.mailspool)
 *       namelock = file name of lock file (alexis.lock)
 *       max_age = age of lockfile, in seconds, after which the lock is stale.
 *    stale locks are always broken. Defaults to DEFAULT_LOCKTIME
 *    if zero. Panix mail locks go stale at 300 seconds, the default.
 *   birth = time the lock was created (as returned by nfslock()).
 *
 * Returns NFSL_OK if successful, NFSL_LOST if the lock has been lost
 * legitimately (because more than max_age has passed since the lock was
 * created), and NFSL_STOLEN if it's been tampered with illegally (i.e.
 * while this program is within the expiry period). Returns NFSL_SYSF if
 * another system failure prevents it from even trying to unlock the file.
 *
 * Note that for many programs, a return code of NFSL_LOST or NFSL_STOLEN is
 * equal 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP cron_log函数代码示例发布时间:2022-05-24
下一篇:
PHP create_tables函数代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap