Example #1
0
         $sql_data['admin_dateformat'] = $nl_config['date_format'];
         $sql_data['admin_level'] = USER;
         if (!$db->build(SQL_INSERT, ADMIN_TABLE, $sql_data)) {
             trigger_error('Impossible d\'ajouter le nouvel administrateur', ERROR);
         }
         $mailer = new Mailer(WA_ROOTDIR . '/language/email_' . $nl_config['language'] . '/');
         if ($nl_config['use_smtp']) {
             $mailer->smtp_path = WAMAILER_DIR . '/';
             $mailer->use_smtp($nl_config['smtp_host'], $nl_config['smtp_port'], $nl_config['smtp_user'], $nl_config['smtp_pass']);
         }
         $mailer->set_charset($lang['CHARSET']);
         $mailer->set_format(FORMAT_TEXTE);
         $mailer->set_from($admindata['admin_email'], $admindata['admin_login']);
         $mailer->set_address($new_email);
         $mailer->set_subject(sprintf($lang['Subject_email']['New_admin'], $nl_config['sitename']));
         $mailer->use_template('new_admin', array('PSEUDO' => $new_login, 'SITENAME' => $nl_config['sitename'], 'PASSWORD' => $new_pass, 'LINK_ADMIN' => make_script_url('admin/index.php')));
         if (!$mailer->send()) {
             trigger_error(sprintf($lang['Message']['Failed_sending2'], $mailer->msg_error), ERROR);
         }
         $output->redirect('./admin.php', 6);
         $message = $lang['Message']['Admin_added'];
         $message .= '<br /><br />' . sprintf($lang['Click_return_profile'], '<a href="' . sessid('./admin.php') . '">', '</a>');
         $message .= '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . sessid('./index.php') . '">', '</a>');
         $output->message($message);
     }
 }
 $output->addHiddenField('mode', 'adduser');
 $output->addHiddenField('sessid', $session->session_id);
 $output->page_header();
 $output->set_filenames(array('body' => 'add_admin_body.tpl'));
 $output->assign_vars(array('L_TITLE' => $lang['Add_user'], 'L_EXPLAIN' => nl2br($lang['Explain']['admin']), 'L_LOGIN' => $lang['Login_new_user'], 'L_EMAIL' => $lang['Email_new_user'], 'L_EMAIL_NOTE' => nl2br($lang['Email_note']), 'L_VALID_BUTTON' => $lang['Button']['valid'], 'L_CANCEL_BUTTON' => $lang['Button']['cancel'], 'LOGIN' => htmlspecialchars($new_login), 'EMAIL' => htmlspecialchars($new_email), 'S_HIDDEN_FIELDS' => $output->getHiddenFields()));
Example #2
0
 function subscribe()
 {
     global $db, $nl_config, $lang;
     $db->beginTransaction();
     if (!$this->hasAccount) {
         $sql_data = array('abo_email' => $this->account['email'], 'abo_pseudo' => $this->account['pseudo'], 'abo_pwd' => md5($this->account['code']), 'abo_status' => $this->account['status']);
         @(include WA_ROOTDIR . '/includes/tags.inc.php');
         foreach ($other_tags as $tag) {
             if (!empty($tag['field_name']) && !empty($_REQUEST[$tag['field_name']])) {
                 $this->account['tags'][$tag['column_name']] = $_REQUEST[$tag['field_name']];
             } else {
                 if (!empty($_REQUEST[$tag['column_name']])) {
                     $this->account['tags'][$tag['column_name']] = $_REQUEST[$tag['column_name']];
                 }
             }
         }
         if (!$db->build(SQL_INSERT, ABONNES_TABLE, $sql_data)) {
             trigger_error('Impossible d\'insérer une nouvelle entrée dans la table des abonnés', ERROR);
             return false;
         }
         $this->account['abo_id'] = $db->lastInsertId();
     }
     if (!$this->isRegistered) {
         $confirmed = SUBSCRIBE_NOT_CONFIRMED;
         if (!$this->hasAccount && $this->listdata['confirm_subscribe'] == CONFIRM_NONE) {
             $confirmed = SUBSCRIBE_CONFIRMED;
         }
         if ($this->hasAccount && $this->account['status'] == ABO_ACTIF && $this->listdata['confirm_subscribe'] != CONFIRM_ALWAYS) {
             $confirmed = SUBSCRIBE_CONFIRMED;
         }
         $sql = "INSERT INTO " . ABO_LISTE_TABLE . " (abo_id, liste_id, format, register_key, register_date, confirmed) \n\t\t\t\tVALUES({$this->account['abo_id']}, {$this->listdata['liste_id']}, {$this->format}, '{$this->account['code']}', {$this->account['date']}, {$confirmed})";
         if (!$db->query($sql)) {
             trigger_error('Impossible d\'insérer une nouvelle entrée dans la table des abonnés[2]', ERROR);
             return false;
         }
     }
     $db->commit();
     if (!$this->hasAccount) {
         //
         // Une confirmation est envoyée si la liste le demande
         //
         $confirm = !($this->listdata['confirm_subscribe'] == CONFIRM_NONE);
     } else {
         //
         // Une confirmation est envoyée si la liste demande une confirmation même
         // si l'email a été validé dans une précédente inscription à une autre liste,
         // et également si l'inscription est faite mais n'a pas encore été confirmée.
         //
         $confirm = $this->isRegistered || $this->listdata['confirm_subscribe'] == CONFIRM_ALWAYS;
     }
     if (!$confirm) {
         $this->update_stats();
         $this->alert_admin(true);
         $message = $lang['Message']['Subscribe_2'];
         $email_tpl = $this->listdata['use_cron'] ? 'welcome_cron1' : 'welcome_form1';
     } else {
         $name = $this->hasAccount && $this->isRegistered ? 'Reg_not_confirmed' : 'Subscribe_1';
         $message = sprintf($lang['Message'][$name], $this->listdata['limitevalidate']);
         $email_tpl = $this->listdata['use_cron'] ? 'welcome_cron2' : 'welcome_form2';
     }
     $this->mailer->clear_all();
     $this->mailer->set_from($this->listdata['sender_email'], unhtmlspecialchars($this->listdata['liste_name']));
     $this->mailer->set_address($this->account['email']);
     $this->mailer->set_subject(sprintf($lang['Subject_email']['Subscribe'], $nl_config['sitename']));
     $this->mailer->set_priority(1);
     $this->mailer->set_return_path($this->listdata['return_email']);
     $this->mailer->use_template($email_tpl, array('LISTE' => unhtmlspecialchars($this->listdata['liste_name']), 'SITENAME' => $nl_config['sitename'], 'URLSITE' => $nl_config['urlsite'], 'SIG' => $this->listdata['liste_sig']));
     if ($this->listdata['use_cron']) {
         $this->mailer->assign_tags(array('EMAIL_NEWSLETTER' => $this->liste_email));
     } else {
         $this->mailer->assign_tags(array('LINK' => $this->make_link()));
     }
     if (!$this->hasAccount || $this->isRegistered) {
         $this->mailer->assign_block_tags('password', array('CODE' => $this->account['code']));
     }
     if ($nl_config['enable_profil_cp']) {
         $this->mailer->assign_block_tags('enable_profil_cp', array('LINK_PROFIL_CP' => make_script_url('profil_cp.php')));
     }
     if (!$this->mailer->send()) {
         $this->message = $lang['Message']['Failed_sending'];
         return false;
     }
     $this->message = $message;
 }
Example #3
0
 /**
  * Location()
  * 
  * Fonction de redirection du script avec url absolue, d'apr�s les 
  * sp�cifications HTTP/1.1
  * 
  * @param string $url    Url relative de redirection
  * 
  * @return void
  */
 function Location($url)
 {
     global $db, $output;
     if (function_exists('sessid') && defined('IN_ADMIN')) {
         $url = sessid($url);
     }
     //
     // On ferme la connexion � la base de donn�es, si elle existe
     //
     if (isset($db) && is_object($db)) {
         $db->close();
     }
     $use_refresh = preg_match("#Microsoft|WebSTAR|Xitami#i", server_info('SERVER_SOFTWARE'));
     $absolute_url = make_script_url() . (defined('IN_ADMIN') ? 'admin/' : '');
     $absolute_url .= unhtmlspecialchars($url);
     header(($use_refresh ? 'Refresh: 0; URL=' : 'Location: ') . $absolute_url);
     //
     // Si la fonction header() ne donne rien, on affiche une page de redirection
     //
     $message = '<p>If your browser doesn\'t support meta redirect, click <a href="' . $url . '">here</a> to go on next page.</p>';
     $output->redirect($url, 0);
     $output->basic($message, 'Redirection');
 }