############################################################################### # EditEmailTemplates.pm # # $Date: 01 Sep 2026 $ # ############################################################################### # YaBB: Yet another Bulletin Board # # Open-Source Community Software for Webmasters # # Version: YaBBForum 3.2 # # Packaged: 01 Sep 2026 # # Distributed by: https://yabbforum.nz # # =========================================================================== # # Copyright (c) 2000-2026 YaBB (yabbforum.nz) - All Rights Reserved. # # Software by: The YaBB Development Team # # with assistance from the YaBB community. # ############################################################################### use CGI::Carp qw(fatalsToBrowser); use English '-no_match_vars'; our $VERSION = '3.2'; $editemailtemplatespmver = 'YaBBForum 3.2'; if ( $action eq 'detailedversion' ) { return 1; } sub editemailtemplates { is_admin_or_gmod(); my ( $editlang, $string ); $editlang = $INFO{'lang'} || q{}; $string = $INFO{'string'} || q{}; if ( !$editlang ) { # Select language $yymain .= qq~
$admin_img{'prefimg'} $emaileditor{'1'}
~; } elsif ( !$string ) { # Select string $yymain .= qq~
$admin_img{'prefimg'} $emaileditor{'3'}
~; } else { # Show editor my $reallang = $language; $language = $editlang; LoadLanguage('Email'); $language = $reallang; my $message = ${$string}; ToHTML($message); my $comment = $emaildesc{$string}; $yymain .= qq~
$admin_img{'prefimg'} $emaileditor{'4'}
$emaileditor{'5'} $comment

$emaileditor{'6'}
$emaileditor{'7'}
  • {yabb scripturl} $yabbtagdesc{'scripturl'}
  • {yabb adminurl} $yabbtagdesc{'adminurl'}
  • {yabb mbname} $yabbtagdesc{'mbname'}
  • ~; # Find the list of usable YaBB tags foreach my $yabbtag ( split /\s+/xsm, $yabbtags{$string} ) { if ( $yabbtag !~ /\w/xsm ) { next; } $yymain .= qq~
  • {yabb $yabbtag} $yabbtagdesc{$yabbtag}
  • ~; } $yymain .= qq~
$admin_img{'prefimg'} $admin_txt{'10'}
$emaileditor{'8'}
$emaileditor{'9'} Languages/$editlang/Email.lng $emaileditor{'10'}
~; } $yytitle = $admintxt{'a4_label4'}; $action_area = 'editemailtemplates'; AdminTemplate(); return; } sub editemailtemplates2 { is_admin_or_gmod(); my $editlang = $INFO{'lang'}; my $string = $INFO{'string'}; my $message = $FORM{'message'}; $message =~ s/(\~|\\)/\\$1/gxsm; $message =~ s/\r(?=\n*)//gxsm; if ( !$message || !$string ) { fatal_error('no_info'); } # Read the current file fopen( LANG, "$langdir/$editlang/Email.lng" ) || fatal_error( 'cannot_open_language', "$langdir/$editlang/Email.lng", 1 ); my $langfile = do { local $INPUT_RECORD_SEPARATOR = undef; }; fclose(LANG); # Vague hardcoded error since it was tampered with if ( $string !~ /\Q$string\E/xsm ) { fatal_error( 'error_occurred', 'Language Error' ); } # Make the change $langfile =~ s/\$\Q$string\E = qq~.+?~;/\$$string = qq~$message~;/sm; # Write it out fopen( LANG, ">$langdir/$editlang/Email.lng" ) || fatal_error( 'cannot_open_language', "$langdir/$editlang/Email.lng", 1 ); print {LANG} $langfile or croak "$croak{'print'} LANG"; fclose(LANG); $yySetLocation = qq~$adminurl?editemailtemplates&lang=$editlang~; redirectexit(); return; } 1;