Changeset 1904
- Timestamp:
- Mar 14, 2007, 12:01:16 AM (17 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/admin/cat_modify.php
r1900 r1904 530 530 if (isset($_POST['submitEmail'])) 531 531 { 532 $query = ' 533 SELECT 534 user_id, 535 '.$conf['user_fields']['email'].' AS email 536 FROM '.USER_GROUP_TABLE.' 537 INNER JOIN '.USERS_TABLE.' ON '.$conf['user_fields']['id'].' = user_id 538 WHERE '.$conf['user_fields']['email'].' IS NOT NULL 539 AND group_id = '.$_POST['group'].' 540 ;'; 541 $result = pwg_query($query); 542 543 while ($row = mysql_fetch_array($result)) 544 { 545 pwg_mail( 546 $row['email'], 547 array( 548 'content' => get_absolute_root_url().make_index_url( 532 set_make_full_url(); 533 534 /* TODO: if $category['representative_picture_id'] 535 is empty find child representative_picture_id */ 536 if (!empty($category['representative_picture_id'])) 537 { 538 $query = ' 539 SELECT id, file, path, tn_ext 540 FROM '.IMAGES_TABLE.' 541 WHERE id = '.$category['representative_picture_id'].' 542 ;'; 543 544 $result = pwg_query($query); 545 if (mysql_num_rows($result) > 0) 546 { 547 $element = mysql_fetch_assoc($result); 548 549 $img_url = '<a href="'. 550 make_picture_url(array( 551 'image_id' => $element['id'], 552 'image_file' => $element['file'], 553 'category' => $category 554 )) 555 .'"><img src="'.get_thumbnail_url($element).'"/></a>'; 556 } 557 } 558 559 if (!isset($img_url)) 560 { 561 $img_url = ''; 562 } 563 564 // TODO Mettre un array pour traduction subjet 565 pwg_mail_group( 566 $_POST['group'], 567 get_str_email_format(true), /* TODO add a checkbox in order to choose format*/ 568 $category['name'], 569 'cat_group_info', 570 array 571 ( 572 'IMG_URL' => $img_url, 573 'LINK' => make_index_url( 549 574 array( 550 575 'category' => array( 551 576 'id' => $category['id'], 552 577 'name' => $category['name'], 553 'permalink' => $category['permalink'], 554 ) 555 ) 556 ), 557 'subject' => $category['name'] 558 ) 559 ); 560 } 578 'permalink' => $category['permalink'] 579 ))), 580 'CPL_CONTENT' => '' /* TODO Add text area to add complementary content */ 581 ), 582 '' /* TODO Add listbox in order to choose Language selected */); 583 584 unset_make_full_url(); 561 585 562 586 $query = ' -
trunk/admin/include/functions_notification_by_mail.inc.php
r1900 r1904 193 193 // Save $user, $lang_info and $lang arrays (include/user.inc.php has been executed) 194 194 $env_nbm['save_user'] = $user; 195 $env_nbm['save_lang_info'] = $lang_info; 196 $env_nbm['save_lang'] = $lang; 197 // Last Language 198 $env_nbm['last_language'] = $user['language']; 195 // Save current language to stack, necessary because $user change during NBM 196 switch_lang_to($user['language']); 199 197 200 198 $env_nbm['is_to_send_mail'] = $is_to_send_mail; … … 228 226 // Restore $user, $lang_info and $lang arrays (include/user.inc.php has been executed) 229 227 $user = $env_nbm['save_user']; 230 $lang_info = $env_nbm['save_lang_info'];231 $lang = $env_nbm['save_lang'];228 // Restore current language to stack, necessary because $user change during NBM 229 switch_lang_back(); 232 230 233 231 if ($env_nbm['is_to_send_mail']) … … 245 243 246 244 unset($env_nbm['save_user']); 247 unset($env_nbm['save_lang_info']);248 unset($env_nbm['save_lang']);249 unset($env_nbm['last_language']);250 245 unset($env_nbm['is_to_send_mail']); 251 252 246 } 253 247 … … 263 257 $user = build_user( $nbm_user['user_id'], true ); 264 258 265 if ($env_nbm['last_language'] != $user['language']) 266 { 267 $env_nbm['last_language'] = $user['language']; 268 269 // Re-Init language arrays 270 $lang_info = array(); 271 $lang = array(); 272 273 // language files 274 include(get_language_filepath('common.lang.php')); 275 // No test admin because script is checked admin (user selected no) 276 // Translations are in admin file too 277 include(get_language_filepath('admin.lang.php')); 278 trigger_action('loading_lang'); 279 @include(get_language_filepath('local.lang.php')); 280 } 281 259 switch_lang_to($user['language']); 260 282 261 if ($is_action_send) 283 262 { … … 300 279 global $env_nbm; 301 280 281 switch_lang_back(); 302 282 unset($env_nbm['mail_template']); 303 283 } -
trunk/include/functions_mail.inc.php
r1901 r1904 210 210 } 211 211 212 /** 212 /* 213 * Switch language to param language 214 * All entries are push on language stack 215 * 216 * @param string language 217 */ 218 function switch_lang_to($language) 219 { 220 global $switch_lang, $user, $lang, $lang_info; 221 222 if (count($switch_lang['stack']) == 0) 223 { 224 $prev_language = $user['language']; 225 } 226 else 227 { 228 $prev_language = end($switch_lang['stack']); 229 } 230 231 $switch_lang['stack'][] = $language; 232 233 if ($prev_language != $language) 234 { 235 if (!isset($switch_lang['language'][$prev_language])) 236 { 237 $switch_lang[$prev_language]['lang_info'] = $lang_info; 238 $switch_lang[$prev_language]['lang'] = $lang; 239 } 240 241 if (!isset($switch_lang['language'][$language])) 242 { 243 // Re-Init language arrays 244 $lang_info = array(); 245 $lang = array(); 246 247 // language files 248 include(get_language_filepath('common.lang.php', '', $language)); 249 // No test admin because script is checked admin (user selected no) 250 // Translations are in admin file too 251 include(get_language_filepath('admin.lang.php', '', $language)); 252 trigger_action('loading_lang'); 253 @include(get_language_filepath('local.lang.php', '', $language)); 254 255 $switch_lang[$language]['lang_info'] = $lang_info; 256 $switch_lang[$language]['lang'] = $lang; 257 } 258 else 259 { 260 $lang_info = $switch_lang[$language]['lang_info']; 261 $lang = $switch_lang[$language]['lang']; 262 } 263 } 264 } 265 266 /* 267 * Switch back language pushed with switch_lang_to function 268 * 269 * @param: none 270 */ 271 function switch_lang_back() 272 { 273 global $switch_lang, $user, $lang, $lang_info; 274 275 $last_language = array_pop($switch_lang['stack']); 276 277 if (count($switch_lang['stack']) > 0) 278 { 279 $language = end($switch_lang['stack']); 280 } 281 else 282 { 283 $language = $user['language']; 284 } 285 286 if ($last_language != $language) 287 { 288 if (!isset($switch_lang['language'][$language])) 289 { 290 $lang_info = $switch_lang[$language]['lang_info']; 291 $lang = $switch_lang[$language]['lang']; 292 } 293 } 294 } 295 296 /* 297 * send en email to user's group 298 * 299 * @param: 300 * - group_id: mail are sent to group with this Id 301 * - email_format: mail format 302 * - key_subject: TODO Include translations 303 * - tpl_shortname: short template name without extension 304 * - assign_vars: array used to assign_vars to mail template 305 * - language_selected: send mail only to user with this selected language 306 */ 307 function pwg_mail_group( 308 $group_id, $email_format, $key_subject, 309 $tpl_shortname, $assign_vars = array(), $language_selected = '') 310 { 311 global $conf; 312 313 $query = ' 314 SELECT 315 distinct language, template 316 FROM 317 '.USER_GROUP_TABLE.' as ug 318 INNER JOIN '.USERS_TABLE.' as u ON '.$conf['user_fields']['id'].' = ug.user_id 319 INNER JOIN '.USER_INFOS_TABLE.' as ui ON ui.user_id = ug.user_id 320 WHERE 321 '.$conf['user_fields']['email'].' IS NOT NULL 322 AND group_id = '.$group_id; 323 324 if (!empty($language_selected)) 325 { 326 $query .= ' 327 AND language = \''.$language_selected.'\''; 328 } 329 330 $query .= ' 331 ;'; 332 333 $result = pwg_query($query); 334 335 if (mysql_num_rows($result) > 0) 336 { 337 $list = array(); 338 while ($row = mysql_fetch_array($result)) 339 { 340 list($row['template'], $row['theme']) = explode('/', $row['template']); 341 $list[] = $row; 342 } 343 } 344 345 346 foreach ($list as $elem) 347 { 348 $query = ' 349 SELECT 350 u.'.$conf['user_fields']['username'].' as username, 351 u.'.$conf['user_fields']['email'].' as mail_address 352 FROM 353 '.USER_GROUP_TABLE.' as ug 354 INNER JOIN '.USERS_TABLE.' as u ON '.$conf['user_fields']['id'].' = ug.user_id 355 INNER JOIN '.USER_INFOS_TABLE.' as ui ON ui.user_id = ug.user_id 356 WHERE 357 '.$conf['user_fields']['email'].' IS NOT NULL 358 AND group_id = '.$group_id.' 359 AND language = \''.$elem['language'].'\' 360 ;'; 361 362 $result = pwg_query($query); 363 364 if (mysql_num_rows($result) > 0) 365 { 366 $Bcc = array(); 367 while ($row = mysql_fetch_array($result)) 368 { 369 if (!empty($row['mail_address'])) 370 { 371 array_push($Bcc, format_email($row['username'], $row['mail_address'])); 372 } 373 } 374 375 switch_lang_to($elem['language']); 376 377 $mail_template = get_mail_template($email_format, $elem); 378 $mail_template->set_filename($tpl_shortname, $tpl_shortname.'.tpl'); 379 $mail_template->assign_vars($assign_vars); 380 381 pwg_mail 382 ( 383 '', 384 array 385 ( 386 'subject' => $key_subject, 387 'email_format' => $email_format, 388 'content' => $mail_template->parse($tpl_shortname, true), 389 'content_format' => $email_format, 390 'template' => $elem['template'], 391 'theme' => $elem['theme'] 392 ) 393 ); 394 395 switch_lang_back(); 396 } 397 } 398 } 399 400 401 /* 213 402 * sends an email, using PhpWebGallery specific informations 214 403 * … … 246 435 } 247 436 248 $to = format_email('', $to); 437 if (!empty($to)) 438 { 439 $to = format_email('', $to); 440 } 249 441 250 442 if (empty($args['from'])) … … 288 480 $headers = 'From: '.$args['from']."\n"; 289 481 $headers.= 'Reply-To: '.$args['from']."\n"; 482 if (empty($to)) 483 { 484 $headers.= 'To: undisclosed-recipients: ;'."\n"; 485 } 290 486 291 487 if (!empty($args['Cc'])) -
trunk/include/functions_user.inc.php
r1900 r1904 805 805 * availability of the file 806 806 * 807 * in descending order of preference: user language, default language, 807 * in descending order of preference: 808 * param language, user language, default language 808 809 * PhpWebGallery default language. 809 810 * 810 811 * @param string filename 811 812 * @param string dirname 813 * @param string language 812 814 * @return string filepath 813 815 */ 814 function get_language_filepath($filename, $dirname = '' )816 function get_language_filepath($filename, $dirname = '', $language = '') 815 817 { 816 818 global $user, $conf; … … 823 825 824 826 $directories = array(); 825 if ( isset($user['language']) ) 827 if ( !empty($language) ) 828 { 829 $directories[] = $dirname.$language; 830 } 831 826 832 { 827 833 $directories[] = $dirname.$user['language']; -
trunk/install/phpwebgallery_structure.sql
r1900 r1904 379 379 `status` enum('webmaster','admin','normal','generic','guest') NOT NULL default 'guest', 380 380 `adviser` enum('true','false') NOT NULL default 'false', 381 `language` varchar(50) NOT NULL default 'en glish',381 `language` varchar(50) NOT NULL default 'en_UK.iso-8859-1', 382 382 `maxwidth` smallint(6) default NULL, 383 383 `maxheight` smallint(6) default NULL,
Note: See TracChangeset
for help on using the changeset viewer.