Ejemplo n.º 1
0
         foreach ($queries as $query) {
             $db->query($query) || trigger_error('Erreur sql lors de la restauration', ERROR);
             fake_header(true);
         }
         $db->commit();
         $output->message('Success_restore');
     }
     $output->addHiddenField('sessid', $session->session_id);
     $output->set_filenames(array('tool_body' => 'restore_body.tpl'));
     $output->assign_vars(array('L_TITLE_RESTORE' => $lang['Title']['restore'], 'L_EXPLAIN_RESTORE' => nl2br($lang['Explain']['restore']), 'L_FILE_LOCAL' => $lang['File_local'], 'L_VALID_BUTTON' => $lang['Button']['valid'], 'L_RESET_BUTTON' => $lang['Button']['reset'], 'S_HIDDEN_FIELDS' => $output->getHiddenFields(), 'S_ENCTYPE' => FILE_UPLOADS_ON ? 'multipart/form-data' : 'application/x-www-form-urlencoded'));
     if (FILE_UPLOADS_ON) {
         //
         // L'upload est disponible sur le serveur
         // Affichage du champ file pour importation
         //
         $output->assign_block_vars('upload_file', array('L_FILE_UPLOAD' => $lang['File_upload_restore'], 'L_MAXIMUM_SIZE' => sprintf($lang['Maximum_size'], formateSize(MAX_FILE_SIZE)), 'MAX_FILE_SIZE' => MAX_FILE_SIZE));
     }
     $output->assign_var_from_handle('TOOL_BODY', 'tool_body');
     break;
 case 'generator':
     if (isset($_POST['generate'])) {
         $url_form = !empty($_POST['url_form']) ? trim($_POST['url_form']) : '';
         $code_html = "<form method=\"post\" action=\"" . htmlspecialchars($url_form) . "\">\n";
         $code_html .= $lang['Email_address'] . " : <input type=\"text\" name=\"email\" maxlength=\"100\" /> &nbsp; \n";
         if ($listdata['liste_format'] == FORMAT_MULTIPLE) {
             $code_html .= $lang['Format'] . " : <select name=\"format\">\n";
             $code_html .= "<option value=\"" . FORMAT_TEXTE . "\">TXT</option>\n";
             $code_html .= "<option value=\"" . FORMAT_HTML . "\">HTML</option>\n";
             $code_html .= "</select>\n";
         } else {
             $code_html .= "<input type=\"hidden\" name=\"format\" value=\"{$listdata['liste_format']}\" />\n";
Ejemplo n.º 2
0
    if ($num_inscrits == 1) {
        $l_num_inscrits = sprintf($lang['Registered_subscriber'], wa_number_format($num_inscrits / $days));
    } else {
        $l_num_inscrits = $lang['No_registered_subscriber'];
    }
}
if ($num_temp > 1) {
    $l_num_temp = sprintf($lang['Tmp_subscribers'], $num_temp);
} else {
    if ($num_temp == 1) {
        $l_num_temp = $lang['Tmp_subscriber'];
    } else {
        $l_num_temp = $lang['No_tmp_subscriber'];
    }
}
$output->build_listbox(AUTH_VIEW, false, './view.php?mode=liste');
$output->page_header();
$output->set_filenames(array('body' => 'index_body.tpl'));
if ($num_logs > 0) {
    if ($num_logs > 1) {
        $l_num_logs = sprintf($lang['Total_newsletters'], $num_logs, wa_number_format($num_logs / $month));
    } else {
        $l_num_logs = sprintf($lang['Total_newsletter'], wa_number_format($num_logs / $month));
    }
    $output->assign_block_vars('switch_last_newsletter', array('DATE_LAST_NEWSLETTER' => sprintf($lang['Last_newsletter'], convert_time($nl_config['date_format'], $last_log))));
} else {
    $l_num_logs = $lang['No_newsletter_sended'];
}
$output->assign_vars(array('TITLE_HOME' => $lang['Title']['accueil'], 'L_EXPLAIN' => nl2br($lang['Explain']['accueil']), 'L_DBSIZE' => $lang['Dbsize'], 'L_FILESIZE' => $lang['Total_Filesize'], 'REGISTERED_SUBSCRIBERS' => $l_num_inscrits, 'TEMP_SUBSCRIBERS' => $l_num_temp, 'NEWSLETTERS_SENDED' => $l_num_logs, 'DBSIZE' => is_numeric($dbsize) ? formateSize($dbsize) : $dbsize, 'FILESIZE' => formateSize($filesize)));
$output->pparse('body');
$output->page_footer();
Ejemplo n.º 3
0
if ($listdata['liste_format'] != FORMAT_HTML) {
    $output->assign_block_vars('formulaire', array('L_TITLE' => $lang['Log_in_text'], 'L_EXPLAIN_BODY' => nl2br($lang['Explain']['text']), 'S_TEXTAREA_NAME' => 'body_text', 'S_BODY' => $body_text, 'S_FORMAT' => FORMAT_TEXTE));
}
if ($listdata['liste_format'] != FORMAT_TEXTE) {
    $output->assign_block_vars('formulaire', array('L_TITLE' => $lang['Log_in_html'], 'L_EXPLAIN_BODY' => nl2br($lang['Explain']['html']), 'S_TEXTAREA_NAME' => 'body_html', 'S_BODY' => $body_html, 'S_FORMAT' => FORMAT_HTML));
}
if ($auth->check_auth(AUTH_ATTACH, $listdata['liste_id'])) {
    $rowspan = 2;
    if (FILE_UPLOADS_ON) {
        $rowspan++;
    }
    if ($file_box != '') {
        $rowspan++;
    }
    $output->assign_block_vars('joined_files', array('L_TITLE_ADD_FILE' => $lang['Title']['join'], 'L_EXPLAIN_ADD_FILE' => nl2br($lang['Explain']['join']), 'L_ADD_FILE' => $lang['Join_file_to_log'], 'L_ADD_FILE_BUTTON' => $lang['Button']['add_file'], 'S_ROWSPAN' => $rowspan));
    //
    // Si l'upload est autorisé, on affiche le champs type file
    //
    if (FILE_UPLOADS_ON) {
        $output->assign_block_vars('joined_files.upload_input', array('L_MAXIMUM_SIZE' => sprintf($lang['Maximum_size'], formateSize(MAX_FILE_SIZE)), 'MAX_FILE_SIZE' => MAX_FILE_SIZE));
    }
    //
    // Box de sélection de fichiers existants
    //
    if ($file_box != '') {
        $output->assign_block_vars('joined_files.select_box', array('SELECT_BOX' => $file_box));
    }
    $output->files_list($logdata);
}
$output->pparse('body');
$output->page_footer();
Ejemplo n.º 4
0
 /**
  * Affichage des fichiers joints 
  * 
  * @param array   $logdata    Données du log concerné
  * @param integer $format     Format du log visualisé (si dans view.php)
  * 
  * @access public
  * @return boolean
  */
 function files_list($logdata, $format = 0)
 {
     global $lang;
     $page_envoi = strstr(server_info('PHP_SELF'), 'envoi.php') ? true : false;
     $body_size = strlen($logdata['log_body_text']) + strlen($logdata['log_body_html']);
     $total_size = 1024;
     // ~ 1024 correspond au poids de base d'un email (en-têtes)
     $total_size += $body_size > 0 ? $body_size / 2 : 0;
     $num_files = count($logdata['joined_files']);
     if ($num_files == 0) {
         return false;
     }
     $test_ary = array();
     for ($i = 0; $i < $num_files; $i++) {
         $total_size += $logdata['joined_files'][$i]['file_size'];
         $test_files[] = $logdata['joined_files'][$i]['file_real_name'];
     }
     if ($format == FORMAT_HTML && hasCidReferences($logdata['log_body_html'], $refs) > 0) {
         $embed_files = array_intersect($test_files, $refs);
         if ($num_files - count($embed_files) == 0) {
             return false;
         }
     } else {
         $embed_files = array();
     }
     $this->set_filenames(array('files_box_body' => 'files_box.tpl'));
     $this->assign_vars(array('L_FILENAME' => $lang['Filename'], 'L_FILESIZE' => $lang['Filesize'], 'L_TOTAL_LOG_SIZE' => $lang['Total_log_size'], 'TOTAL_LOG_SIZE' => formateSize($total_size), 'S_ROWSPAN' => $page_envoi ? '4' : '3'));
     if ($page_envoi == true) {
         $this->assign_block_vars('del_column', array());
         $this->assign_block_vars('joined_files.files_box', array('L_TITLE_JOINED_FILES' => $lang['Title']['joined_files'], 'L_DEL_FILE_BUTTON' => $lang['Button']['del_file']));
         $u_download = './envoi.php?mode=download&amp;fid=%d';
     } else {
         $this->assign_block_vars('files_box', array('L_TITLE_JOINED_FILES' => $lang['Title']['joined_files']));
         $u_download = './view.php?mode=download&amp;fid=%d';
     }
     $u_show = '../options/show.php?fid=%d';
     for ($i = 0; $i < $num_files; $i++) {
         $filesize = $logdata['joined_files'][$i]['file_size'];
         $filename = $logdata['joined_files'][$i]['file_real_name'];
         $file_id = $logdata['joined_files'][$i]['file_id'];
         $mime_type = $logdata['joined_files'][$i]['file_mimetype'];
         //
         // On affiche pas dans la liste les fichiers incorporés dans
         // une newsletter au format HTML.
         //
         if ($format == FORMAT_HTML && in_array($filename, $embed_files)) {
             continue;
         }
         if (strpos($mime_type, 'image') === 0) {
             $s_show = '<a rel="show" href="' . sessid(sprintf($u_show, $file_id)) . '">';
             $s_show .= '<img src="../templates/images/icon_loupe.png" width="14" height="14" alt="voir" title="' . $lang['Show'] . '" />';
             $s_show .= '</a>';
         } else {
             $s_show = '';
         }
         $this->assign_block_vars('file_info', array('OFFSET' => $i + 1, 'FILENAME' => htmlspecialchars($filename), 'FILESIZE' => formateSize($filesize), 'S_SHOW' => $s_show, 'U_DOWNLOAD' => sessid(sprintf($u_download, $file_id))));
         if ($page_envoi) {
             $this->assign_block_vars('file_info.delete_options', array('FILE_ID' => $file_id));
         }
     }
     $this->assign_var_from_handle('JOINED_FILES_BOX', 'files_box_body');
     return true;
 }
Ejemplo n.º 5
0
 /**
  * Ajoute une entrée pour le log courant avec l'identifiant d'un fichier existant
  * 
  * @param integer $file_id    Identifiant du fichier
  * @param integer $log_id     Identifiant du log
  * @param boolean $error      True si erreur
  * @param array	  $msg_error  Tableau des messages d'erreur
  * 
  * @access public
  * 
  * @return void
  * @access public
  */
 function use_file_exists($file_id, $log_id, &$error, &$msg_error)
 {
     global $db, $nl_config, $lang, $listdata;
     $sql = "SELECT jf.file_physical_name\n\t\t\tFROM " . JOINED_FILES_TABLE . " AS jf\n\t\t\t\tINNER JOIN " . LOG_TABLE . " AS l ON l.liste_id = {$listdata['liste_id']}\n\t\t\t\tINNER JOIN " . LOG_FILES_TABLE . " AS lf ON lf.file_id = jf.file_id\n\t\t\t\t\tAND lf.log_id = l.log_id\n\t\t\tWHERE jf.file_id = " . $file_id;
     if (!($result = $db->query($sql))) {
         trigger_error('Impossible de récupérer les données sur ce fichier', ERROR);
     }
     $physical_name = $result->column('file_physical_name');
     if (!$physical_name) {
         $error = TRUE;
         $msg_error[] = sprintf($lang['Message']['File_not_exists'], '');
     }
     if (!$error) {
         //
         // On verifie si le fichier est bien présent sur le serveur
         //
         $filesize = $this->joined_file_exists($physical_name, $error, $msg_error);
     }
     $total_size = 0;
     if (!$error && !$this->check_maxsize($log_id, $filesize, $total_size)) {
         $error = TRUE;
         $msg_error[] = sprintf($lang['Message']['weight_too_big'], formateSize($nl_config['max_filesize'] - $total_size));
     }
     //
     // Insertion des données
     //
     if (!$error) {
         $sql = "INSERT INTO " . LOG_FILES_TABLE . " (log_id, file_id) \n\t\t\t\tVALUES({$log_id}, {$file_id})";
         if (!$db->query($sql)) {
             trigger_error('Impossible d\'insérer la jointure dans la table log_files', ERROR);
         }
     }
     $this->quit();
 }