[ Index ] |
|
Code source de Zen Cart E-Commerce Shopping Cart 1.3.7.1 |
1 <?php 2 /** 3 * @package admin 4 * @copyright Copyright 2003-2006 Zen Cart Development Team 5 * @copyright Portions Copyright 2003 osCommerce 6 * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0 7 * @version $Id: gv_mail.php 4375 2006-09-03 20:36:38Z drbyte $ 8 */ 9 10 require ('includes/application_top.php'); 11 12 require (DIR_WS_CLASSES . 'currencies.php'); 13 $currencies = new currencies(); 14 15 $_POST['amount'] = preg_replace('/[^0-9.%]/', '', $_POST['amount']); 16 $_POST['amount'] = abs($_POST['amount']); 17 18 if ($_GET['action'] == 'set_editor') { 19 // Reset will be done by init_html_editor.php. Now we simply redirect to refresh page properly. 20 $action=''; 21 zen_redirect(zen_href_link(FILENAME_GV_MAIL)); 22 } 23 24 if ( ($_GET['action'] == 'send_email_to_user') && ($_POST['customers_email_address'] || $_POST['email_to']) && (!$_POST['back_x']) ) { 25 $audience_select = get_audience_sql_query($_POST['customers_email_address'], 'email'); 26 $mail = $db->Execute($audience_select['query_string']); 27 $mail_sent_to = $audience_select['query_name']; 28 if ($_POST['email_to']) { 29 $mail_sent_to = $_POST['email_to']; 30 } 31 32 // demo active test 33 if (zen_admin_demo()) { 34 $_GET['action']= ''; 35 $messageStack->add_session(ERROR_ADMIN_DEMO, 'caution'); 36 zen_redirect(zen_href_link(FILENAME_GV_MAIL, 'mail_sent_to=' . urlencode($mail_sent_to))); 37 } 38 $from = zen_db_prepare_input($_POST['from']); 39 $subject = zen_db_prepare_input($_POST['subject']); 40 $recip_count=0; 41 42 // set time-limit for processing to 5 minutes... if allowed by PHP configuration 43 zen_set_time_limit(600); 44 45 while (!$mail->EOF) { 46 47 $id1 = create_coupon_code($mail->fields['customers_email_address']); 48 $insert_query = $db->Execute("insert into " . TABLE_COUPONS . " 49 (coupon_code, coupon_type, coupon_amount, date_created) 50 values ('" . $id1 . "', 'G', '" . $_POST['amount'] . "', now())"); 51 52 $insert_id = $db->Insert_ID(); 53 54 $db->Execute("insert into " . TABLE_COUPON_EMAIL_TRACK . " 55 (coupon_id, customer_id_sent, sent_firstname, emailed_to, date_sent) 56 values ('" . $insert_id ."', '0', 'Admin', 57 '" . $mail->fields['customers_email_address'] . "', now() )"); 58 59 $message = $_POST['message']; 60 $html_msg['EMAIL_MESSAGE_HTML'] = zen_db_prepare_input($_POST['message_html']); 61 $message .= "\n\n" . TEXT_GV_WORTH . $currencies->format($_POST['amount']) . "\n\n"; 62 $message .= TEXT_TO_REDEEM; 63 $message .= TEXT_WHICH_IS . ' ' . $id1 . ' ' . TEXT_IN_CASE . "\n\n"; 64 65 $html_msg['GV_WORTH'] = TEXT_GV_WORTH; 66 $html_msg['GV_AMOUNT'] = $currencies->format($_POST['amount']); 67 $html_msg['GV_REDEEM'] = TEXT_TO_REDEEM . TEXT_WHICH_IS . ' <strong>' . $id1 . '</strong> ' . TEXT_IN_CASE; 68 69 if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') { 70 $message .= HTTP_SERVER . DIR_WS_CATALOG . 'index.php/gv_redeem/gv_no/'.$id1 . "\n\n"; 71 $html_msg['GV_CODE_URL'] = '<a href="'.HTTP_SERVER . DIR_WS_CATALOG . 'index.php/gv_redeem/gv_no/'.$id1.'">' .TEXT_CLICK_TO_REDEEM . '</a>'. " "; 72 } else { 73 $message .= HTTP_SERVER . DIR_WS_CATALOG . 'index.php?main_page=gv_redeem&gv_no='.$id1 . "\n\n"; 74 $html_msg['GV_CODE_URL'] = '<a href="'. HTTP_SERVER . DIR_WS_CATALOG . 'index.php?main_page=gv_redeem&gv_no='.$id1 .'">' .TEXT_CLICK_TO_REDEEM . '</a>' . " "; 75 } 76 77 $message .= TEXT_OR_VISIT . HTTP_SERVER . DIR_WS_CATALOG . TEXT_ENTER_CODE . "\n\n"; 78 $html_msg['GV_CODE_URL'] .= TEXT_OR_VISIT . '<a href="'.HTTP_SERVER . DIR_WS_CATALOG.'">' . STORE_NAME . '</a>' . TEXT_ENTER_CODE; 79 $html_msg['EMAIL_FIRST_NAME'] = $mail->fields['customers_firstname']; 80 $html_msg['EMAIL_LAST_NAME'] = $mail->fields['customers_lastname']; 81 82 // disclaimer 83 $message .= "\n-----\n" . sprintf(EMAIL_DISCLAIMER, STORE_OWNER_EMAIL_ADDRESS) . "\n\n"; 84 85 zen_mail($mail->fields['customers_firstname'] . ' ' . $mail->fields['customers_lastname'], $mail->fields['customers_email_address'], $subject , $message, $from, $from, $html_msg, 'gv_mail'); 86 $recip_count++; 87 if (SEND_EXTRA_DISCOUNT_COUPON_ADMIN_EMAILS_TO_STATUS== '1' and SEND_EXTRA_DISCOUNT_COUPON_ADMIN_EMAILS_TO != '') { 88 zen_mail('', SEND_EXTRA_DISCOUNT_COUPON_ADMIN_EMAILS_TO, SEND_EXTRA_DISCOUNT_COUPON_ADMIN_EMAILS_TO_SUBJECT . ' ' . $subject, $message, $from, $from, $html_msg, 'gv_mail_extra'); 89 } 90 91 // Now create the coupon main and email entry 92 $mail->MoveNext(); 93 } 94 95 if ($_POST['email_to']) { 96 $id1 = create_coupon_code($_POST['email_to']); 97 $message = zen_db_prepare_input($_POST['message']); 98 $message .= "\n\n" . TEXT_GV_WORTH . $currencies->format($_POST['amount']) . "\n\n"; 99 $message .= TEXT_TO_REDEEM; 100 $message .= TEXT_WHICH_IS . ' ' . $id1 . ' ' . TEXT_IN_CASE . "\n\n"; 101 102 $html_msg['GV_WORTH'] = TEXT_GV_WORTH . $currencies->format($_POST['amount']) .'<br />'; 103 $html_msg['GV_REDEEM'] = TEXT_TO_REDEEM . TEXT_WHICH_IS . ' <strong>' . $id1 . '</strong> ' . TEXT_IN_CASE . "\n\n"; 104 105 if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') { 106 $message .= HTTP_SERVER . DIR_WS_CATALOG . 'index.php/gv_redeem/gv_no/'.$id1 . "\n\n"; 107 $html_msg['GV_CODE_URL'] = '<a href="'.HTTP_SERVER . DIR_WS_CATALOG . 'index.php/gv_redeem/gv_no/'.$id1.'">' .TEXT_CLICK_TO_REDEEM . '</a>'. " "; 108 } else { 109 $message .= HTTP_SERVER . DIR_WS_CATALOG . 'index.php?main_page=gv_redeem&gv_no='.$id1 . "\n\n"; 110 $html_msg['GV_CODE_URL'] = '<a href="'. HTTP_SERVER . DIR_WS_CATALOG . 'index.php?main_page=gv_redeem&gv_no='.$id1 .'">' .TEXT_CLICK_TO_REDEEM . '</a>' . " "; 111 } 112 $message .= TEXT_OR_VISIT . HTTP_SERVER . DIR_WS_CATALOG . TEXT_ENTER_CODE . "\n\n"; 113 $html_msg['GV_CODE_URL'] .= TEXT_OR_VISIT . '<a href="'.HTTP_SERVER . DIR_WS_CATALOG.'">' . STORE_NAME . '</a>' . TEXT_ENTER_CODE; 114 115 $html_msg['EMAIL_MESSAGE_HTML'] = zen_db_prepare_input($_POST['message_html']); 116 $html_msg['EMAIL_FIRST_NAME'] = ''; // unknown, since only an email address was supplied 117 $html_msg['EMAIL_LAST_NAME'] = ''; // unknown, since only an email address was supplied 118 119 // disclaimer 120 $message .= "\n-----\n" . sprintf(EMAIL_DISCLAIMER, STORE_OWNER_EMAIL_ADDRESS) . "\n\n"; 121 122 //Send the emails 123 zen_mail('Friend', $_POST['email_to'], $subject , $message, $from, $from, $html_msg, 'gv_mail'); 124 $recip_count++; 125 if (SEND_EXTRA_DISCOUNT_COUPON_ADMIN_EMAILS_TO_STATUS== '1' and SEND_EXTRA_DISCOUNT_COUPON_ADMIN_EMAILS_TO != '') { 126 zen_mail('', SEND_EXTRA_DISCOUNT_COUPON_ADMIN_EMAILS_TO, SEND_EXTRA_DISCOUNT_COUPON_ADMIN_EMAILS_TO_SUBJECT . ' ' . $subject, $message, $from, $from, $html_msg, 'gv_mail_extra'); 127 } 128 129 // Now create the coupon main entry 130 $insert_query = $db->Execute("insert into " . TABLE_COUPONS . " 131 (coupon_code, coupon_type, coupon_amount, date_created) 132 values ('" . $id1 . "', 'G', '" . $_POST['amount'] . "', now())"); 133 134 $insert_id = $db->Insert_id(); 135 136 $insert_query = $db->Execute("insert into " . TABLE_COUPON_EMAIL_TRACK . " 137 (coupon_id, customer_id_sent, sent_firstname, emailed_to, date_sent) 138 values ('" . $insert_id ."', '0', 'Admin', 139 '" . $_POST['email_to'] . "', now() )"); 140 141 } 142 zen_redirect(zen_href_link(FILENAME_GV_MAIL, 'mail_sent_to=' . urlencode($mail_sent_to) . '&recip_count='. $recip_count )); 143 } 144 145 if ( ($_GET['action'] == 'preview') && (!$_POST['customers_email_address']) && (!$_POST['email_to']) ) { 146 $messageStack->add(ERROR_NO_CUSTOMER_SELECTED, 'error'); 147 } 148 149 if ( ($_GET['action'] == 'preview') && (!$_POST['subject']) ) { 150 $messageStack->add(ERROR_NO_SUBJECT, 'error'); 151 } 152 if ( ($_GET['action'] == 'preview') && ($_POST['amount'] <= 0) ) { 153 $messageStack->add(ERROR_NO_AMOUNT_SELECTED, 'error'); 154 } 155 156 if ($_GET['mail_sent_to']) { 157 $messageStack->add(sprintf(NOTICE_EMAIL_SENT_TO, $_GET['mail_sent_to']. '(' . $_GET['recip_count'] . ')'), 'success'); 158 } 159 ?> 160 <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> 161 <html <?php echo HTML_PARAMS; ?>> 162 <head> 163 <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> 164 <title><?php echo TITLE; ?></title> 165 <link rel="stylesheet" type="text/css" href="includes/stylesheet.css"> 166 <link rel="stylesheet" type="text/css" href="includes/cssjsmenuhover.css" media="all" id="hoverJS"> 167 <script language="javascript" src="includes/menu.js"></script> 168 <script type="text/javascript"> 169 <!-- 170 function init() 171 { 172 cssjsmenu('navbar'); 173 if (document.getElementById) 174 { 175 var kill = document.getElementById('hoverJS'); 176 kill.disabled = true; 177 } 178 if (typeof _editor_url == "string") HTMLArea.replace('message_html'); 179 } 180 // --> 181 </script> 182 <script language="javascript" type="text/javascript"><!-- 183 var form = ""; 184 var submitted = false; 185 var error = false; 186 var error_message = ""; 187 188 function check_recipient(field_cust, field_input, message) { 189 // if (form.elements[field_cust] && form.elements[field_cust].type != "hidden" && form.elements[field_input] && form.elements[field_input].type != "hidden") { 190 var field_value_cust = form.elements[field_cust].value; 191 var field_value_input = form.elements[field_input].value; 192 193 if ((field_value_input == '' || field_value_input.length < 1) && field_value_cust == '') { 194 error_message = error_message + "* " + message + "\n"; 195 error = true; 196 } 197 } 198 //} 199 function check_amount(field_name, field_size, message) { 200 if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) { 201 var field_value = form.elements[field_name].value; 202 203 if (field_value == '' || field_value == 0 || field_value < 0 || field_value.length < field_size ) { 204 error_message = error_message + "* " + message + "\n"; 205 error = true; 206 } 207 } 208 } 209 function check_message(msg) { 210 if (form.elements['message'] && form.elements['message_html']) { 211 var field_value1 = form.elements['message'].value; 212 var field_value2 = form.elements['message_html'].value; 213 214 if ((field_value1 == '' || field_value1.length < 3) && (field_value2 == '' || field_value2.length < 3)) { 215 error_message = error_message + "* " + msg + "\n"; 216 error = true; 217 } 218 } 219 } 220 function check_input(field_name, field_size, message) { 221 if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) { 222 var field_value = form.elements[field_name].value; 223 224 if (field_value == '' || field_value.length < field_size) { 225 error_message = error_message + "* " + message + "\n"; 226 error = true; 227 } 228 } 229 } 230 231 function check_form(form_name) { 232 if (submitted == true) { 233 alert("<?php echo JS_ERROR_SUBMITTED; ?>"); 234 return false; 235 } 236 error = false; 237 form = form_name; 238 error_message = "<?php echo JS_ERROR; ?>"; 239 240 check_recipient('customers_email_address', 'email_to', "<?php echo ERROR_NO_CUSTOMER_SELECTED; ?>"); 241 check_message("<?php echo ENTRY_NOTHING_TO_SEND; ?>"); 242 check_amount('amount',1,"<?php echo ERROR_NO_AMOUNT_SELECTED; ?>"); 243 check_input('subject','',"<?php echo ERROR_NO_SUBJECT; ?>"); 244 245 if (error == true) { 246 alert(error_message); 247 return false; 248 } else { 249 submitted = true; 250 return true; 251 } 252 } 253 //--></script> 254 <?php if ($editor_handler != '') include ($editor_handler); ?> 255 </head> 256 <body onLoad="init()"> 257 <!-- header //--> 258 <?php require(DIR_WS_INCLUDES . 'header.php'); ?> 259 <!-- header_eof //--> 260 261 <!-- body //--> 262 <table border="0" width="100%" cellspacing="2" cellpadding="2"> 263 <tr> 264 <!-- body_text //--> 265 <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0"> 266 <tr> 267 <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> 268 <tr> 269 <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> 270 <td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td> 271 <td class="main"> 272 <?php 273 // toggle switch for editor 274 echo TEXT_EDITOR_INFO . zen_draw_form('set_editor_form', FILENAME_GV_MAIL, '', 'get') . ' ' . zen_draw_pull_down_menu('reset_editor', $editors_pulldown, $current_editor_key, 'onChange="this.form.submit();"') . 275 zen_hide_session_id() . 276 zen_draw_hidden_field('action', 'set_editor') . 277 '</form>'; 278 ?> 279 </td> 280 </tr> 281 </table></td> 282 </tr> 283 <tr> 284 <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> 285 <?php 286 if ( ($_GET['action'] == 'preview') && ($_POST['customers_email_address'] || $_POST['email_to']) ) { 287 $audience_select = get_audience_sql_query($_POST['customers_email_address']); 288 $mail_sent_to = $audience_select['query_name']; 289 if ($_POST['email_to']) { 290 $mail_sent_to = $_POST['email_to']; 291 } 292 ?> 293 <tr><?php echo zen_draw_form('mail', FILENAME_GV_MAIL, 'action=send_email_to_user'); ?> 294 <td><table border="0" width="100%" cellpadding="0" cellspacing="2"> 295 <tr> 296 <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 297 </tr> 298 <tr> 299 <td class="smallText"><b><?php echo TEXT_CUSTOMER; ?></b><br /><?php echo $mail_sent_to; ?></td> 300 </tr> 301 <tr> 302 <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 303 </tr> 304 <tr> 305 <td class="smallText"><b><?php echo TEXT_FROM; ?></b><br /><?php echo htmlspecialchars(stripslashes($_POST['from'])); ?></td> 306 </tr> 307 <tr> 308 <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 309 </tr> 310 <tr> 311 <td class="smallText"><b><?php echo TEXT_SUBJECT; ?></b><br /><?php echo htmlspecialchars(stripslashes($_POST['subject'])); ?></td> 312 </tr> 313 <tr> 314 <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 315 </tr> 316 <tr> 317 <td class="smallText"><b><?php echo TEXT_AMOUNT; ?></b><br /><?php echo nl2br(htmlspecialchars(stripslashes($_POST['amount']))) . ($_POST['amount'] <= 0 ? ' <span class="alert">' . ERROR_GV_AMOUNT . '</span>' : ''); ?></td> 318 </tr> 319 <tr> 320 <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 321 </tr> 322 <tr> 323 <td><hr /><b><?php echo TEXT_RICH_TEXT_MESSAGE; ?></b><br /><?php echo stripslashes($_POST['message_html']); ?></td> 324 </tr> 325 <tr> 326 <td><hr /><b><?php echo TEXT_MESSAGE; ?></b><br /><tt><?php echo nl2br(htmlspecialchars(stripslashes($_POST['message']))); ?></tt><hr /></td> 327 </tr> 328 <tr> 329 <td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 330 </tr> 331 <tr> 332 <td> 333 <?php 334 /* Re-Post all POST'ed variables */ 335 reset($_POST); 336 while (list($key, $value) = each($_POST)) { 337 if (!is_array($_POST[$key])) { 338 echo zen_draw_hidden_field($key, htmlspecialchars(stripslashes($value))); 339 } 340 } 341 ?> 342 <table border="0" width="100%" cellpadding="0" cellspacing="2"> 343 <tr> 344 <td><?php echo zen_image_submit('button_back.gif', IMAGE_BACK, 'name="back"'); ?></td> 345 <td align="right"><?php echo '<a href="' . zen_href_link(FILENAME_GV_MAIL) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a> ' . ($_POST['amount'] <= 0 ? '' : zen_image_submit('button_send_mail.gif', IMAGE_SEND_EMAIL)); ?></td> 346 </tr> 347 </table></td> 348 </tr> 349 </table></td> 350 </form></tr> 351 <?php 352 } else { 353 ?> 354 <tr><?php echo zen_draw_form('mail', FILENAME_GV_MAIL, 'action=preview','post', 'onsubmit="return check_form(mail);"'); ?> 355 <td><table border="0" width="100%" cellpadding="0" cellspacing="2"> 356 <tr> 357 <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 358 </tr> 359 <?php 360 $customers = get_audiences_list('email'); 361 ?> 362 <tr> 363 <td class="main"><?php echo TEXT_CUSTOMER; ?></td> 364 <td><?php echo zen_draw_pull_down_menu('customers_email_address', $customers, $_GET['customer']);?></td> 365 </tr> 366 <tr> 367 <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 368 </tr> 369 <tr> 370 <td class="main"><?php echo TEXT_TO; ?></td> 371 <td><?php echo zen_draw_input_field('email_to', '', 'size="50"'); ?><?php echo ' ' . TEXT_SINGLE_EMAIL; ?></td> 372 </tr> 373 <tr> 374 <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 375 </tr> 376 <tr> 377 <td class="main"><?php echo TEXT_FROM; ?></td> 378 <td><?php echo zen_draw_input_field('from', EMAIL_FROM, 'size="50"'); ?></td> 379 </tr> 380 <tr> 381 <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 382 </tr> 383 <tr> 384 <td class="main"><?php echo TEXT_SUBJECT; ?></td> 385 <td><?php echo zen_draw_input_field('subject', '', 'size="50"'); ?></td> 386 </tr> 387 <tr> 388 <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 389 </tr> 390 <tr> 391 <td valign="top" class="main"><?php echo TEXT_AMOUNT; ?></td> 392 <td><?php echo zen_draw_input_field('amount'); ?></td> 393 </tr> 394 <tr> 395 <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 396 </tr> 397 <tr> 398 <td valign="top" class="main"><?php echo TEXT_RICH_TEXT_MESSAGE; ?></td> 399 <td> 400 <?php if (EMAIL_USE_HTML == 'true') {?> 401 <?php if ($_SESSION['html_editor_preference_status']=="FCKEDITOR") { 402 $oFCKeditor = new FCKeditor('message_html') ; 403 $oFCKeditor->Value = ($_POST['message_html']=='') ? TEXT_GV_ANNOUNCE : stripslashes($_POST['message_html']) ; 404 $oFCKeditor->Width = '97%' ; 405 $oFCKeditor->Height = '250' ; 406 // $oFCKeditor->Create() ; 407 $output = $oFCKeditor->CreateHtml() ; echo $output; 408 } else { // using HTMLAREA or just raw "source" 409 echo zen_draw_textarea_field('message_html', 'soft', '100%', '20', ($_POST['message_html']=='') ? TEXT_GV_ANNOUNCE : stripslashes($_POST['message_html']), 'id="message_html" class="editorHook"'); 410 } 411 } ?> 412 </td> 413 </tr> 414 <tr> 415 <td valign="top" class="main"><?php echo TEXT_MESSAGE; ?></td> 416 <td><?php echo zen_draw_textarea_field('message', 'soft', '60', '15', ($_POST['message']=='') ? strip_tags(TEXT_GV_ANNOUNCE) : stripslashes($_POST['message'])); ?></td> 417 </tr> 418 <tr> 419 <td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td> 420 </tr> 421 <tr> 422 <td colspan="2" align="right"><?php echo zen_image_submit('button_send_mail.gif', IMAGE_SEND_EMAIL); ?></td> 423 </tr> 424 </table></td> 425 </form></tr> 426 <?php 427 } 428 ?> 429 <!-- body_text_eof //--> 430 </table></td> 431 </tr> 432 </table></td> 433 </tr> 434 </table> 435 <!-- body_eof //--> 436 437 <!-- footer //--> 438 <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> 439 <!-- footer_eof //--> 440 <br /> 441 </body> 442 </html> 443 <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 16:45:43 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |