本文整理汇总了PHP中creer_uniqid函数的典型用法代码示例。如果您正苦于以下问题:PHP creer_uniqid函数的具体用法?PHP creer_uniqid怎么用?PHP creer_uniqid使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了creer_uniqid函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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');
}
示例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;
}
示例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']);
}
示例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;
}
示例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;
}
示例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");
}
示例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);
}
示例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;
}
示例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;
}
示例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;
}
示例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());
}
//.........这里部分代码省略.........
示例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
}
示例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', '&'));
}
示例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;
}
示例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
}