Vous n'êtes pas identifié(e).
Maintenant comment puis-je faire pour insérer le mail du futur membre dans mon autre table "ntux2_users " champ " mail " ?
Svp
Hors ligne
Cela avance mais tu es encore loin du bout de tes peines...
Il te faut trouver maintenant les fonctions :
setVars($attributes);
et
setNew();
Qui doivent se trouver dans une classe (ce sont des méthodes).
Peut être une classe user ?
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Snif moi qui pensais avoir fait le plus gros
Effectivement dans le script il y a pas mal de class.atom.php , class.sitemap.php etc...
Je rgarde ça Merci bcp de m'aider en tout cas !
Hors ligne
Euh j'ai trouvé...
if(!defined("SCRIPT_ROOT_PATH"))
{
echo 'SCRIPT_ROOT_PATH not defined in class.config.php';
exit();
}
/*
* Configuration file manager
* @class ConfigManager
* @package Kernel
*/
class ConfigManager
{
// Config file by absolut path
var $file = "";
// config values loaded into class member
var $config = array();
// Has anyone of the config values been modified ?
var $is_dirty = false;
// has the config file been loaded successfully
var $loaded = false;
/*
* Constructor with 1 parameter
* @param string file : config file indicated by absolut path
*/
function ConfigManager($file = "")
{
if (!empty($file) && file_exists($file))
{
$this->file = $file;
}
$this->loadConfig();
}
/*
* Loads the config file after it has been specified
* @param void
* @return bool : TRUE if success
*/
function loadConfig()
{
if(!$this->loaded)
{
include_once($this->file);
if(isset($CONFIG))
{
$this->config =& $CONFIG;
$this->loaded = true;
return true;
}
else
{
include_once(SCRIPT_ROOT_PATH.'/conf/default.php');
$this->config =& $default;
return false;
}
}
else if($this->loaded)
{
return true;
}
else
{
include_once(SCRIPT_ROOT_PATH.'/conf/default.php');
$this->config =& $default;
return false;
}
}
/*
* Method allowing to modify a specific config value, if it exists
* @param string key
* @param string value
* @return bool : TRUE if success
*/
function setVar($key, $value)
{
if(!empty($key) && isset($this->config[$key]))
{
if(!$this->isDirty())
{
$this->setDirty();
}
$this->config[$key] = $value;
return true;
}
return false;
}
/*
* Method allowing to modify a couple of config values
* @param array : key is name of the config item, value is the new value
* @return bool : TRUE if success
*/
function setVars($array)
{
if(isset($array) && count($array) > 0)
{
foreach($array as $key => $value)
{
$this->setVar($key,$value);
}
return true;
}
return false;
}
/*
* Method allowing to modify a couple of config values
* @param array : key is name of the config item, value is the new value
* @return bool : the requested value, else FALSE
*/
function getVar($key)
{
if(isset($this->config[$key]))
{
return $this->config[$key];
}
return false;
}
/*
* Returns the config array
* @param void
* @return &array : associative array defined in config file
*/
function &getConfig()
{
return $this->config;
}
/*
* Sets the config file as dirty
* @param void
* @return void
*/
function setDirty()
{
$this->is_dirty = true;
}
/*
* Checks if the config file is dirty
* @param void
* @return bool : true if dirty
*/
function isDirty()
{
return $this->is_dirty;
}
/*
* Returns the config file absolut path
* @param void
* @return string file
*/
function getFile()
{
return $this->file;
}
/*
* Updates the config file if it's dirty and writeable
* @param void
* @return bool : true if success
*/
function updateConfig()
{
if($this->isDirty())
{
$file_string = "<"."?php\n\n";
foreach ($this->config as $cle => $valeur)
{
$file_string .= '$CONFIG['."'".$cle."'".']'."\t=\t\"".$valeur."\";\n";
}
$file_string .= "\n".'?'.'>';
$fh = fopen( $this->file,'w');
if ($fh)
{
fputs($fh, $file_string, strlen($file_string) );
fclose($fh);
return true;
}
else
{
return false;
}
}
else
{
return true;
}
}
}
/*
* Singleton class used to instanciate a config Manager
* @class MyConfigManager
* @package Kernel
*/
class MyConfigManager
{
/*
* reference on a static instance
* @function getInstance
* @return void
*/
function &getInstance()
{
static $config_manager;
if(!isset($config_manager))
{
$config_manager = new ConfigManager(SCRIPT_ROOT_PATH.'/conf/config.php');
}
return $config_manager;
}
}
?>
Hors ligne
ARf maintenant je suis bloqué, plus personne..;:(
Hors ligne
Je ne pense pas que ce soit cela non.
Pense que tu fait là un exercice assez complexe, j'espère que tu comprends le cheminement...
(sinon, je m'use pour rien)
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
oui oui, je comprends le principe, mais c'est vrai que ce n'est pas un petit script...
Hors ligne
c'est bien par rapport à ce morceau de script ?
$user->setVars($attributes);
$user->setNew();
?
Hors ligne
Oui tout à fait.
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Ligne 160 ?
/*
* Displays either Add link or edit link form
* @param string url
* @param int id : default value is 0 (new site); id of the site to edit (editing a website)
* @return void
*/
function getLinkForm($url, $id = 0)
{
global $CONFIG, $lang;
if(@ini_get('allow_url_fopen') == 1) {
$isSpam = file_get_contents('http://www.freeglobes.net/antispam/isspam.php?ip='.$_SERVER['REMOTE_ADDR'].'&email='.$email.'&url='.$url);
if($isSpam == 'yes') {
exit();
}
}
$smarty =& TemplateEngine::getInstance();
$lm =& get_manager("link");
$cm =& get_manager("category");
$um =& get_manager('user');
$login = isset($_COOKIE['login']) ? $_COOKIE['login'] : '';
$pass = isset($_COOKIE['pass']) ? $_COOKIE['pass'] : '';
if(!empty($login) && !empty($pass))
{
$criteria = new CriteriaCompo(new Criteria('login',$login,'='),'AND');
$criteria = new CriteriaCompo(new Criteria('pass',$pass,'='),'AND');
$criteria->setLimit(1);
$user =& $um->getObjects($criteria);
$name = isset($_POST['name']) ? $_POST['name'] : "";
$url_posted = isset($_POST['url']) ? $_POST['url'] : "ed2k://";
$description = isset($_POST['description']) ? $_POST['description'] : "";
$category = isset($_POST['category']) ? $_POST['category'] : 0;
$url_image = isset($_POST['url_image']) ? $_POST['url_image'] : "";
$email = $user[0]->getVar('email');
$mail = '';
if(isset($_POST['Metas']) && $url_posted != '' && $url_posted != 'ed2k://')
{
list($url_posted,$url_image,$nom_proprio,$mail,$name,$description) = preremplir_formulaire($url_posted,true);
}
$smarty->assign("form_action",$url);
$smarty->assign("bouton",$lang['submit']);
$smarty->assign('title',$lang['yessubmit']);
$allow = $CONFIG['get_meta_tags'] == 1 ? true : false;
$smarty->assign('allow_metadetection',$allow);
$smarty->assign('name',$name);
$smarty->assign('url_posted',$url_posted);
$smarty->assign('description',$description);
$smarty->assign('image',$url_image);
$smarty->assign('email',$email);
$categories =& $cm->getObjects(new Criteria('usable',1,'='),array('id'));
if($categories && count($categories) > 0)
{
foreach($categories as $category)
{
$id = $category->getVar('id');
$name = show_me_the_way($id);
if ($id==$category)
{
$smarty->append("categories", array('name' => $name, 'id' => $id, 'selected' => 'selected="selected"'));
}
else
{
$smarty->append("categories", array('name' => $name, 'id' => $id, 'selected' => ''));
}
}
}
if($url_image != '' && $url_image != 'http://')
{
$image = $url_image;
}
else
{
$image = $CONFIG['site_url']."/themes/admin/images/nothumb.gif";
}
displayFckEditor($description);
$smarty->assign("site_image", $image);
}
}
/*
* Checks if all the fields submited were filled in correctly; then adds the website to database
* @param string url : useful for setting form action url
* @return void
*/
function addSite($url)
{
global $CONFIG, $lang;
$smarty =& TemplateEngine::getInstance();
$lm =& get_manager("link");
$um =& get_manager('user');
$name = isset($_POST['name']) ? strip_tags($_POST['name']) : "";
$url_posted = isset($_POST['url']) ? strip_tags($_POST['url']) : "ed2k://";
$description = isset($_POST['description']) ? strip_tags($_POST['description']) : "";
$category = isset($_POST['category']) ? strip_tags($_POST['category']) : 0;
$url_image = isset($_POST['url_image']) ? strip_tags($_POST['url_image']) : "";
$hits = 0;
$prio = 0;
$vote = 0;
$uid = isset($_COOKIE['uid']) ? intval($_COOKIE['uid']) : 0;
$login = isset($_COOKIE['login']) ? $_COOKIE['login'] : '';
$pass = isset($_COOKIE['pass']) ? $_COOKIE['pass'] : '';
$criteria = new CriteriaCompo(new Criteria('login',$login,'='),'AND');
$criteria = new CriteriaCompo(new Criteria('pass',$pass,'='),'AND');
$criteria->setLimit(1);
$user =& $um->getObjects($criteria);
$email = $user[0]->getVar('email');
if ((!empty($name)) and (!empty($description)))
{
if($CONFIG['check_url'])
{
$test_url = checkurl($url_posted);
}
else
{
$test_url = true;
}
if ($test_url)
{
$parsed_url = parse_url($url_posted);
$host_with_www = $parsed_url['host'];
$host_without_www = str_replace('www','',$parsed_url['host']);
$criteria = new CriteriaCompo(new Criteria('url','%'.$host_with_www.'%','LIKE'),'OR');
$criteria->add(new Criteria('url','%'.$host_without_www.'%','LIKE'),'OR');
$criteria->setLimit(1);
$already_existing = $lm->getCount($criteria);
if($already_existing == 0)
{
$link = $lm->create(true);
$attributes = array('id' => '',
'uid' => $uid,
'name' => $name,
'url' => $url_posted,
'description' => $description,
'state' => 1,
'category' => intval($category),
'pr' => 0,
'image' => $url_image,
'hits' => 0,
'prio' => 0,
'vote' => 0,
'email' => $email);
$link->setVars($attributes);
$lm->insert($link);
$feed_name = isset($_POST['feed_name']) ? $_POST['feed_name'] : "";
$feed_url = isset($_POST['feed_url']) ? $_POST['feed_url'] : "";
if(!empty($feed_name) && !empty($feed_url))
{
$fm =& get_manager('feed');
$attributes = array('name' => strip_tags($feed_name),
'linkid' => intval($link->getVar('id')),
'feed' => strip_tags($feed_url));
$feed = $fm->create(true);
$feed->setVars($attributes);
$fm->insert($feed);
}
if($CONFIG['inform_admin_about_submission'])
{
$chemin = show_me_the_way($category);
$mailm = new MailManager();
$mailm->setTemplate('subject','admin_inform_subject.html');
$mailm->setTemplate('body','admin_inform_basic_body.html');
$mailm->assignArray(array('link_name' => $name,
'link_url' => $url_posted,
'link_description' => $description,
'link_category' => $chemin,
'link_pack' => 'MEMBER'));
$mailm->setFrom($CONFIG['site_mail']);
$mailm->setTo($CONFIG['site_mail']);
$mailm->sendMail();
}
foreach($_POST as $key => $value)
{
unset($_POST[$key]);
}
}
else
{
// Website already submitted
$smarty->assign("link_warning",$lang['already_existing_link']);
}
}
else
{
$smarty->assign("link_warning",$lang['url_notresponding']);
}
}
else if (empty($name) xor empty($description))
{
$smarty->assign("link_warning",$lang['fill_allfields']);
}
}
?>
Hors ligne
Non toujours pas.
Je pense que tu ne saisie pas bien ce que tu dois chercher.
Sachant qu'après avoir trouvé la fonction qui insère en BDD il va falloir l'adapter à tes besoins et peut-être modifier d'autres scripts...
(Je parle en connaissance de causes puisque je fait le même genre de chose sur une autre appli)
Tu vas avoir beaucoup de mal.
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
je dois laisser tomber ?
Hors ligne
On peux peut-être faire autrement,
Si ton but n'est que d'enserrer l'email dans ta table, tu peux éventuellement le faire dans la fonction qui appelle
$user->setVars($attributes);
$user->setNew();
en ajoutant tes lignes un peu avant.
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Pourquoi..aiguille moi stp
Hors ligne
oups pourquoi pas pardon...
sinon ce ne serait pas ça ?
/*
* Generates a random password if password is lost
* @param int length : length of the password to generate
* @return string : generated password
*/
function generatePassword ($length = 8)
{
// start with a blank password
$password = "";
// define possible characters
$possible = "0123456789bcdfghjkmnpqrstvwxyz";
// set up a counter
$i = 0;
// add random characters to $password until $length is reached
while ($i < $length)
{
// pick a random character from the possible ones
$char = substr($possible, mt_rand(0, strlen($possible)-1), 1);
// we don't want this character if it's already in the password
if (!strstr($password, $char))
{
$password .= $char;
$i++;
}
}
// done!
return $password;
}
/*
* Sending the new password generated by mail
* @param void
* @return void
*/
function sendPassword()
{
global $lang, $CONFIG;
$email = isset($_POST['email']) ? $_POST['email'] : '';
$smarty =& TemplateEngine::getInstance();
if(!empty($email))
{
$um =& get_manager('user');
$criteria = new CriteriaCompo(new Criteria('email',$email,'='),'AND');
$criteria->add(new Criteria('isadmin',0,'='),'AND');
$criteria->setLimit(1);
$users =& $um->getObjects($criteria);
if(count($users) == 1)
{
// User found
foreach($users as $user)
{
if(function_exists("mail"))
{
$new_password = generatePassword();
$user->setVar('pass',md5($new_password));
$um->insert($user);
$mailm = new MailManager();
$mailm->setTemplate('subject','lostpwd_mail_subject.html');
$mailm->setTemplate('body','lostpwd_mail_body.html');
$mail_infos = array('user_login' => $user->getVar('login'),
'user_password' => $new_password);
$mailm->assignArray($mail_infos);
$mailm->setFrom($CONFIG['site_mail']);
$mailm->setTo($user->getVar('email'));
$mailm->sendMail();
$smarty->append('warning',sprintf($lang['email_sent'],$user->getVar('email')));
}
else
{
$smarty->append('warning',$lang['mail_notpossible']);
}
}
}
else
{
// User not existing
$smarty->append('warning',$lang['invalid_email']);
}
}
}
?>
Hors ligne
Non,
Mais essaie de faire ce que je t'ai dit précédemment.
Insère ton bout de code de mise à jour de ta table dans la fonction subscribe après la ligne 40.
(je vais devoir décrocher là)
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Bonjour,
Alors j'ai procédé autrement...bcp plus simple ! lors de l'inscription du membre, il y a un menu pour proposer un lien, etc. etc ....et j'ai rajouté un petit formulaire que se valide par le biais d'un pop up et bien entendu cela s'incrémente dans ma bdd.
Je tiens à remercier les personnes ayant pu m'aider.
@ très bientôt
Anthony
Hors ligne