2020-11-29 01:55:31 +01:00
< ? php
2023-08-20 00:33:05 +02:00
/*
* rslight NNTP <-> HTTP Gateway
* Download : https :// news . novabbs . com / getrslight
2020-11-29 01:55:31 +01:00
*
2023-08-20 00:33:05 +02:00
* Based on Newsportal by Florian Amrhein
2020-11-29 01:55:31 +01:00
*
2023-08-20 00:33:05 +02:00
* E - Mail : retroguy @ novabbs . com
* Web : https :// news . novabbs . com
2020-11-29 01:55:31 +01:00
*
2023-08-20 00:33:05 +02:00
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 2 of the License , or
* ( at your option ) any later version .
2020-11-29 01:55:31 +01:00
*
2023-08-20 00:33:05 +02:00
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
2020-11-29 01:55:31 +01:00
*
2023-08-20 00:33:05 +02:00
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
2020-11-29 01:55:31 +01:00
*/
session_start ();
2023-12-23 21:07:03 +01:00
if ( ! isset ( $_SESSION [ 'last_access' ]) || ( time () - $_SESSION [ 'last_access' ]) > 60 ) {
$_SESSION [ 'last_access' ] = time ();
}
2020-11-29 01:55:31 +01:00
include " config.inc.php " ;
2023-08-20 00:33:05 +02:00
$CONFIG = include ( $config_file );
2023-10-04 15:26:37 +02:00
$logfile = $logdir . '/post.log' ;
2023-12-23 16:57:12 +01:00
$ip_pass = false ;
if ( ! isset ( $_SESSION [ 'remote_address' ])) {
$_SESSION [ 'remote_address' ] = $_SERVER [ 'REMOTE_ADDR' ];
$_SESSION [ 'start_address' ] = $_SESSION [ 'remote_address' ];
$ip_pass = true ;
} else {
if ( $_SERVER [ 'REMOTE_ADDR' ] != $_SESSION [ 'start_address' ]) {
$ip_pass = false ;
} else {
$ip_pass = true ;
}
}
if ( $ip_pass && $_SESSION [ 'pass' ]) {
$logged_in = true ;
} else {
$logged_in = false ;
}
2023-12-23 21:07:03 +01:00
if ( $CONFIG [ 'anonuser' ] == '1' ) {
2023-12-23 16:57:12 +01:00
$logged_in = false ;
}
2023-10-04 15:26:37 +02:00
// This will log user post info (group and username)
$enable_post_log = false ;
if ( $OVERRIDES [ 'enable_post_log' ] > 0 ) {
$enable_post_log = $OVERRIDES [ 'enable_post_log' ];
}
2023-08-20 00:33:05 +02:00
@ $fieldnamedecrypt = $_REQUEST [ 'fielddecrypt' ];
// @$newsgroups=$_REQUEST["newsgroups"];
// @$group=$_REQUEST["group"];
@ $type = $_REQUEST [ " type " ];
@ $subject = stripslashes ( $_POST [ md5 ( $fieldnamedecrypt . " subject " )]);
@ $name = $_POST [ md5 ( $fieldnamedecrypt . " name " )];
@ $email = $_POST [ md5 ( $fieldnamedecrypt . " email " )];
2024-01-05 14:58:51 +01:00
@ $body = $_POST [ md5 ( $fieldnamedecrypt . " body " )];
2023-08-20 00:33:05 +02:00
@ $abspeichern = $_REQUEST [ " abspeichern " ];
@ $references = $_REQUEST [ " references " ];
@ $id = $_REQUEST [ " id " ];
2023-09-09 14:52:18 +02:00
if ( ! isset ( $group ) && isset ( $newsgroups )) {
2023-08-20 00:33:05 +02:00
$group = $newsgroups ;
2023-09-09 14:52:18 +02:00
}
2020-11-29 01:55:31 +01:00
// Save name in cookies
2023-12-23 16:57:12 +01:00
if ( strcmp ( stripslashes ( $name ), $CONFIG [ 'anonusername' ]) !== 0 ) {
if (( $setcookies == true ) && ( isset ( $abspeichern )) && ( $abspeichern == " ja " )) {
setcookie ( " mail_name " , stripslashes ( $name ), time () + ( 3600 * 24 * 90 ), " / " );
}
2023-08-20 00:33:05 +02:00
}
if (( isset ( $post_server )) && ( $post_server != " " ))
$server = $post_server ;
if (( isset ( $post_port )) && ( $post_port != " " ))
$port = $post_port ;
2020-11-29 01:55:31 +01:00
include $file_newsportal ;
2021-04-02 08:47:24 +02:00
include " head.inc " ;
2023-09-04 15:06:43 +02:00
if ( disable_page_by_user_agent ( $client_device , " bot " , " Post " )) {
echo " <center>Page Disabled</center> " ;
include " tail.inc " ;
exit ();
}
2023-08-20 00:33:05 +02:00
global $synchro_user , $synchro_pass ;
2020-11-29 01:55:31 +01:00
// check to which groups the user is allowed to post to
2023-08-20 00:33:05 +02:00
$thisgroup = _rawurldecode ( $_REQUEST [ 'group' ]);
2024-02-29 19:37:59 +01:00
// Is this a reply to an article containing Followup-To?
if ( isset ( $_REQUEST [ 'fgroups' ])) {
$thisgroup = $_REQUEST [ 'fgroups' ];
}
2024-02-25 04:33:14 +01:00
$newsgroups = $thisgroup ;
if ( $_REQUEST [ 'returngroup' ]) {
2024-02-25 02:57:10 +01:00
$returngroup = $_REQUEST [ 'returngroup' ];
} else {
$returngroup = $thisgroup ;
}
2023-08-20 00:33:05 +02:00
echo '<h1 class="np_thread_headline">' ;
echo '<a href="' . $file_index . '" target=' . $frame [ 'menu' ] . '>' . basename ( getcwd ()) . '</a> / ' ;
2024-03-01 00:34:24 +01:00
echo '<a href="' . $file_thread . '?group=' . rawurlencode ( $returngroup ) . '" target=' . $frame [ " content " ] . '>' . htmlspecialchars ( group_display_name ( $returngroup )) . '</a>' ;
2023-08-20 00:33:05 +02:00
if ( isset ( $type ) && $type == 'post' ) {
echo ' / ' . $subject . '</h1>' ;
} else {
2021-02-24 09:52:20 +01:00
echo '</h1>' ;
2023-08-20 00:33:05 +02:00
}
2023-04-22 20:29:58 +02:00
2020-11-29 01:55:31 +01:00
// has the user write-rights on the newsgroups?
2023-08-20 00:33:05 +02:00
if (( function_exists ( " npreg_group_has_read_access " ) && ! npreg_group_has_read_access ( $newsgroups )) || ( function_exists ( " npreg_group_has_write_access " ) && ! npreg_group_has_write_access ( $newsgroups ))) {
die ( " access denied " );
2020-11-29 01:55:31 +01:00
}
// Load name from cookies
if ( $setcookies ) {
2023-12-23 16:57:12 +01:00
if (( isset ( $_COOKIE [ " mail_name " ])) && ( ! isset ( $name )))
$name = $_COOKIE [ " mail_name " ];
2023-08-20 00:33:05 +02:00
// if ((isset($_COOKIE["cookie_email"])) && (!isset($email)))
// $email=$_COOKIE["cookie_email"];
2020-11-29 01:55:31 +01:00
}
// Load name and email from the registration system, if available
2023-08-20 00:33:05 +02:00
if ( function_exists ( " npreg_get_name " )) {
$name = npreg_get_name ();
2020-11-29 01:55:31 +01:00
}
2023-08-20 00:33:05 +02:00
if ( function_exists ( " npreg_get_email " )) {
$email = npreg_get_email ();
$form_noemail = true ;
2020-11-29 01:55:31 +01:00
}
2023-08-20 00:33:05 +02:00
if ( ! strcmp ( $name , $CONFIG [ 'anonusername' ]) && ( isset ( $CONFIG [ 'anonuser' ]))) {
$userpass = $CONFIG [ 'anonuserpass' ];
$email = $name . $CONFIG [ 'email_tail' ];
2023-12-23 16:57:12 +01:00
$_SESSION [ 'pass' ] = '0' ;
2020-11-29 01:55:31 +01:00
} else {
2023-08-20 00:33:05 +02:00
$userpass = $email ;
$request = " email " ;
$get_email = get_user_config ( $name , $request );
if ( $get_email === FALSE ) {
$email = $name . $CONFIG [ 'email_tail' ];
} else {
$email = trim ( $get_email );
}
2020-11-29 01:55:31 +01:00
}
if ( isset ( $CONFIG [ 'synchronet' ]) && ( $CONFIG [ 'synchronet' ] == true )) {
2023-08-20 00:33:05 +02:00
$synchro_user = $name ;
$synchro_pass = $userpass ;
}
2020-11-29 01:55:31 +01:00
2023-08-20 00:33:05 +02:00
if ( $name == " " )
$name = $_SERVER [ 'REMOTE_USER' ];
2020-11-29 01:55:31 +01:00
2023-08-20 00:33:05 +02:00
if (( ! isset ( $references )) || ( $references == " " )) {
$references = false ;
2020-11-29 01:55:31 +01:00
}
2023-08-20 00:33:05 +02:00
if ( ! isset ( $type )) {
$type = " new " ;
2020-11-29 01:55:31 +01:00
}
2023-08-20 00:33:05 +02:00
if ( $type == " new " ) {
$subject = " " ;
$bodyzeile = " " ;
$show = 1 ;
2020-11-29 01:55:31 +01:00
}
// Is there a new article to post to the newsserver?
2023-08-20 00:33:05 +02:00
if ( $type == " post " ) {
$show = 0 ;
if ( ! $CONFIG [ 'synchronet' ]) {
2023-12-23 16:57:12 +01:00
if ( ! $logged_in ) {
if ( check_bbs_auth ( trim ( $name ), $userpass ) == FALSE ) {
$type = " retry " ;
$error = $text_error [ " auth_error " ];
$_SESSION [ 'pass' ] = false ;
$logged_in = false ;
} else {
$_SESSION [ 'pass' ] = true ;
$logged_in = true ;
}
2020-12-04 07:12:04 +01:00
}
2023-04-14 03:52:30 +02:00
}
2024-01-14 14:53:33 +01:00
// Check that user has not been recently banned
2024-02-19 19:39:22 +01:00
if ( ! is_file ( $config_dir . '/users/' . strtolower ( trim ( $name )))) {
2024-01-14 14:53:33 +01:00
$type = " retry " ;
$error = $text_error [ " auth_error " ];
$_SESSION [ 'pass' ] = false ;
$logged_in = false ;
}
2023-08-20 00:33:05 +02:00
// error handling
if ( trim ( $body ) == " " ) {
$type = " retry " ;
$error = $text_post [ " missing_message " ];
}
if (( trim ( $email ) == " " ) && ( ! isset ( $anonym_address ))) {
$type = " retry " ;
$error = $text_post [ " missing_email " ];
}
if (( $email ) && ( ! validate_email ( trim ( $email )))) {
$type = " retry " ;
$error = $text_post [ " error_wrong_email " ];
}
if ( trim ( $name ) == " " ) {
$type = " retry " ;
$error = $text_post [ " missing_name " ];
}
if ( trim ( $subject ) == " " ) {
$type = " retry " ;
$error = $text_post [ " missing_subject " ];
}
// captcha-check
if (( $post_captcha ) && ( captcha :: check () == false )) {
$type = " retry " ;
$error = $text_post [ " captchafail " ];
}
if ( $type == " post " ) {
$name = trim ( $name );
if ( ! $CONFIG [ 'readonly' ]) {
// post article to the newsserver
if ( $references )
$references_array = explode ( " " , $references );
else
$references_array = false ;
if (( $email == " " ) && ( isset ( $anonym_address )))
$nemail = $anonym_address ;
else
$nemail = $email ;
$rate_limit = get_user_config ( $name , 'rate_limit' );
if (( $rate_limit !== FALSE ) && ( $rate_limit > 0 )) {
$CONFIG [ 'rate_limit' ] = $rate_limit ;
}
if ( $CONFIG [ 'rate_limit' ] == true ) {
$postsremaining = check_rate_limit ( $name );
if ( $postsremaining < 1 ) {
$wait = check_rate_limit ( $name , 0 , 1 );
echo 'You have reached the limit of ' . $CONFIG [ 'rate_limit' ] . ' posts per hour.<br />Please wait ' . round ( $wait ) . ' minutes before posting again.' ;
2024-01-11 15:48:20 +01:00
echo '<p><a href="' . $file_thread . '?group=' . urlencode ( $returngroup ) . '">' . $text_post [ " button_back " ] . '</a> ' . $text_post [ " button_back2 " ] . ' ' . group_display_name ( $returngroup ) . '</p>' ;
2023-08-20 00:33:05 +02:00
return ;
}
}
if ( isset ( $_FILES [ " photo " ]) && $_FILES [ " photo " ][ " error " ] == 0 ) {
$_FILES [ 'photo' ][ 'name' ] = preg_replace ( '/[^a-zA-Z0-9\.]/' , '_' , $_FILES [ 'photo' ][ 'name' ]);
// There is an attachment to handle
2024-02-09 18:39:09 +01:00
$message = message_post ( quoted_printable_encode ( $subject ), $nemail . " ( " . quoted_printable_encode ( $name ) . " ) " , $newsgroups , $references_array , addslashes ( $body ), $_POST [ 'encryptthis' ], $_POST [ 'encryptto' ], strtolower ( $name ), $_POST [ 'fromname' ], null , true );
2023-08-20 00:33:05 +02:00
} else {
2024-02-09 18:39:09 +01:00
$message = message_post ( quoted_printable_encode ( $subject ), $nemail . " ( " . quoted_printable_encode ( $name ) . " ) " , $newsgroups , $references_array , addslashes ( $body ), $_POST [ 'encryptthis' ], $_POST [ 'encryptto' ], strtolower ( $name ), $_POST [ 'fromname' ]);
2023-08-20 00:33:05 +02:00
}
// Article sent without errors, or duplicate?
if (( substr ( $message , 0 , 3 ) == " 240 " ) || ( substr ( $message , 0 , 7 ) == " 441 435 " )) {
echo '<h1 class="np_post_headline"><' . $text_post [ " message_posted " ] . '></h1>' ;
echo '<p>' . $text_post [ " message_posted2 " ] . '</p>' ;
if ( isset ( $CONFIG [ 'auto_return' ]) && ( $CONFIG [ 'auto_return' ] == true )) {
2024-01-11 15:48:20 +01:00
echo '<meta http-equiv="refresh" content="0;url=' . $file_thread . '?group=' . urlencode ( $returngroup ) . '"' ;
2023-08-20 00:33:05 +02:00
}
if ( $CONFIG [ 'rate_limit' ] == true ) {
$postsremaining = check_rate_limit ( $name , 1 );
echo 'You have ' . $postsremaining . ' posts remaining of ' . $CONFIG [ 'rate_limit' ] . ' posts per hour.<br />' ;
if ( $postsremaining < 1 ) {
$wait = check_rate_limit ( $name , 0 , 1 );
echo 'Please wait ' . round ( $wait ) . ' minutes before posting again.<br />' ;
}
}
2023-10-04 15:26:37 +02:00
// Post logging
if ( $enable_post_log ) {
2024-01-11 15:48:20 +01:00
file_put_contents ( $logfile , " \n " . format_log_date () . " Post in: " . $returngroup . " by " . $name , FILE_APPEND );
2023-10-04 15:26:37 +02:00
}
2024-01-11 15:48:20 +01:00
echo '<p><a href="' . $file_thread . '?group=' . $returngroup . '">Back</a></p>' ;
/*
2024-02-19 19:39:22 +01:00
* if ( isset ( $_REQUEST [ 'returngroup' ]) && $_REQUEST [ 'returngroup' ] !== '' ) {
* echo '<p><a href="' . $file_thread . '?group=' . $_REQUEST [ 'returngroup' ] . '">Your post will appear in ' . group_display_name ( $_REQUEST [ 'returngroup' ]) . '</a></p>' ;
* }
* if ( isset ( $_SESSION [ 'return_page' ])) {
* echo '<p><a href="' . $file_thread . '?group=' . $returngroup . '">Back</a></p>' ;
* //echo '<p><a href="' . $_SESSION['return_page'] . '">Back to Previous Page</a></p>';
* } else {
* echo '<p><a href="' . $file_thread . '?group=' . $returngroup . '">Back</a></p>' ;
* }
*/
2023-08-20 00:33:05 +02:00
} else {
// article not accepted by the newsserver
$type = " retry " ;
$error = $text_post [ " error_newsserver " ] . " <br><pre> $message </pre> " ;
}
} else {
echo $text_post [ " error_readonly " ];
}
2020-11-29 01:55:31 +01:00
}
}
// A reply of an other article.
2023-08-20 00:33:05 +02:00
if ( $type == " reply " ) {
$message = message_read ( $id , 0 , $newsgroups );
$head = $message -> header ;
$body = explode ( " \n " , $message -> body [ 0 ]);
nntp_close ( $ns );
if ( $head -> name != " " ) {
$bodyzeile = $head -> name ;
2020-11-29 01:55:31 +01:00
} else {
2023-08-20 00:33:05 +02:00
$bodyzeile = $head -> from ;
2020-11-29 01:55:31 +01:00
}
2023-08-20 00:33:05 +02:00
// For Synchronet use
$fromname = $bodyzeile ;
$bodyzeile = $text_post [ " wrote_prefix " ] . $bodyzeile . $text_post [ " wrote_suffix " ] . " \n \n " ;
for ( $i = 0 ; $i <= count ( $body ) - 1 ; $i ++ ) {
if (( isset ( $cutsignature )) && ( $cutsignature == true ) && ( $body [ $i ] == '-- ' ))
break ;
if ( trim ( $body [ $i ]) != " " ) {
if ( $body [ $i ][ 0 ] == '>' )
$bodyzeile .= " > " . $body [ $i ] . " \n " ;
else
$bodyzeile .= " > " . $body [ $i ] . " \n " ;
} else {
$bodyzeile .= " \n " ;
}
}
$subject = $head -> subject ;
2024-02-29 19:37:59 +01:00
// Offer choice of whether to use Followup-To
$has_followup = false ;
2023-08-20 00:33:05 +02:00
if ( isset ( $head -> followup ) && ( $head -> followup != " " )) {
$newsgroups = $head -> followup ;
2024-02-29 19:37:59 +01:00
$has_followup = $head -> newsgroups ;
2020-11-29 01:55:31 +01:00
} else {
2024-02-25 04:33:14 +01:00
$newsgroups = $head -> newsgroups ;
2020-11-29 01:55:31 +01:00
}
2023-08-20 00:33:05 +02:00
splitSubject ( $subject );
$subject = " Re: " . $subject ;
// Cut off old parts of a subject
// for example: 'foo (was: bar)' becomes 'foo'.
$subject = preg_replace ( '/(\(wa[sr]: .*\))$/i' , '' , $subject );
$show = 1 ;
$references = false ;
if ( isset ( $head -> references [ 0 ])) {
for ( $i = 0 ; $i <= count ( $head -> references ) - 1 ; $i ++ ) {
$references .= $head -> references [ $i ] . " " ;
}
2020-11-29 01:55:31 +01:00
}
2023-08-20 00:33:05 +02:00
$references .= $head -> id ;
2020-11-29 01:55:31 +01:00
}
2023-08-20 00:33:05 +02:00
if ( $type == " retry " ) {
$show = 1 ;
$bodyzeile = $body ;
2020-11-29 01:55:31 +01:00
}
2023-08-20 00:33:05 +02:00
if ( $show == 1 ) {
2020-11-29 01:55:31 +01:00
2023-08-20 00:33:05 +02:00
if ( $newsgroups == " " ) {
echo $text_post [ " followup_not_allowed " ];
echo " " . $newsgroups ;
} else {
// show post form
$fieldencrypt = md5 ( rand ( 1 , 10000000 ));
echo '<h1 class="np_post_headline">' . $text_post [ " group_head " ] . group_display_name ( $newsgroups ) . $text_post [ " group_tail " ] . '</h1>' ;
if ( isset ( $error ))
echo " <p> $error </p> " ;
2024-01-07 23:52:50 +01:00
echo '<form action="' . $file_post . '" method="post" name="postform"' ;
echo 'enctype="multipart/form-data">' ;
echo '<div class="np_post_header">' ;
echo '<table><tr>' ;
echo '<td align="right"><b>' . $text_header [ " subject " ] . '</b></td>' ;
echo '<td><input class="post" type="text" ' ;
echo 'name="' . md5 ( $fieldencrypt . " subject " ) . '" ' ;
echo 'value="' . htmlspecialchars ( $subject ) . '" ' ;
echo 'size="40" maxlength="' . $thread_maxSubject . '"></td>' ;
echo '</tr><tr>' ;
2024-02-29 19:37:59 +01:00
if ( $has_followup ) {
echo '<td align="right">' ;
echo '<input type="radio" id="hasfollowup" name="fgroups" value="' . $head -> followup . '" checked>' ;
echo '</td><td>' ;
echo '<label for="followup">' . $head -> followup . ' (followup-to is set)</label></td>' ;
echo '</tr><tr>' ;
echo '<tr><td align="right">' ;
echo '<input type="radio" id="nofollowup" name="fgroups" value="' . $head -> newsgroups . '">' ;
echo '</td><td>' ;
echo '<label for="newsgroups">' . $head -> newsgroups . '</label>' ;
echo '</tr><tr>' ;
}
2024-01-07 23:52:50 +01:00
echo '<td align="right"><b>' . $text_post [ " name " ] . '</b></td>' ;
echo '<td align="left">' ;
2023-08-20 00:33:05 +02:00
if ( ! isset ( $name ) && $CONFIG [ 'anonuser' ])
$name = $CONFIG [ 'anonusername' ];
2023-09-09 14:52:18 +02:00
if ( isset ( $form_noname ) && $form_noname === true ) {
2023-08-20 00:33:05 +02:00
echo htmlspecialchars ( $name );
} else {
echo '<input class="post" type="text" name="' . md5 ( $fieldencrypt . " name " ) . '"' ;
if ( isset ( $name ))
2024-01-05 14:58:51 +01:00
echo 'value="' . htmlspecialchars ( $name ) . '"' ;
2023-12-23 16:57:12 +01:00
if ( $logged_in ) {
echo 'size="40" maxlength="40" readonly>' ;
} else {
echo 'size="40" maxlength="40">' ;
}
2023-08-20 00:33:05 +02:00
if ( $CONFIG [ 'anonuser' ])
echo ' or "' . $CONFIG [ 'anonusername' ] . '" with no password' ;
}
2024-01-07 23:52:50 +01:00
echo '</td></tr><tr>' ;
2024-02-19 19:39:22 +01:00
echo '<td align="right"><b>' . $text_post [ " password " ] . '</b></td>' ;
2024-01-07 23:52:50 +01:00
echo '<td align="left">' ;
2023-12-23 21:07:03 +01:00
// if (strcmp($user, $CONFIG['anonusername']) === 0) {
// $logged_in = false;
// }
2023-12-23 16:57:12 +01:00
if ( $logged_in ) {
echo '<input class="post" type="password" name="' . md5 ( $fieldencrypt . " email " ) . '"value="**********"' ;
echo 'size="40" maxlength="40" readonly>' ;
} else {
echo '<input class="post" type="password" name="' . md5 ( $fieldencrypt . " email " ) . '"' ;
echo 'size="40" maxlength="40">' ;
}
2024-02-20 00:33:44 +01:00
// Check for custom name/email from user configuration
if ( $OVERRIDES [ 'disable_change_name' ] != true ) {
$user_config = unserialize ( file_get_contents ( $config_dir . '/userconfig/' . strtolower ( $name ) . '.config' ));
if ( isset ( $user_config [ 'display_name' ]) && trim ( $user_config [ 'display_name' ]) != '' ) {
if ( isset ( $user_config [ 'display_email' ]) && trim ( $user_config [ 'display_email' ]) != '' ) {
echo '<tr><td align="right">' ;
echo '<b>From: </b></td>' ;
$showemail = '<' . $user_config [ 'display_email' ] . '>' ;
echo '<td align="left">' ;
echo '<input class="post" type="text" value="' . $user_config [ 'display_name' ] . ' ' . htmlspecialchars ( $showemail ) . '" size="40" maxlength="40" readonly>' ;
// echo $user_config['display_name'] . ' ' . htmlspecialchars($showemail);
echo '</td></tr>' ;
}
2024-02-19 19:39:22 +01:00
}
}
echo '<input class="post" type="hidden" name="fromname" value="' . $fromname . '">' ;
2024-01-07 23:52:50 +01:00
echo '</td></tr>' ;
2023-08-20 00:33:05 +02:00
// May we post encrypted messages to this group?
if ( check_encryption_groups ( $newsgroups )) {
2024-01-07 23:52:50 +01:00
echo '<tr>' ;
echo '<td align="left"><input type="checkbox" name="encryptthis"' ;
echo 'value="encrypt"> <b>Encrypt to:</b></td>' ;
2024-02-19 19:39:22 +01:00
echo '<td><input type="text" name="encryptto" value="' . $fromname . '"></td>' ;
2024-01-07 23:52:50 +01:00
echo '</tr>' ;
2023-08-20 00:33:05 +02:00
}
2024-01-07 23:52:50 +01:00
echo '</table></div>' ;
echo '<div class="np_post_body">' ;
echo '<table><tr>' ;
2024-02-19 19:39:22 +01:00
echo '<td><b>' . $text_post [ " message " ] . '</b><br> <textarea ' ;
2024-01-07 23:52:50 +01:00
echo 'class="postbody" id="postbody" ' ;
echo 'name="' . md5 ( $fieldencrypt . " body " ) . '" wrap="soft">' ;
2023-08-20 00:33:05 +02:00
if (( isset ( $bodyzeile )) && ( $post_autoquote ))
echo htmlspecialchars ( $bodyzeile );
if ( is_string ( $body ))
echo htmlspecialchars ( $body );
2024-01-07 23:52:50 +01:00
echo '</textarea></td></tr><tr><td>' ;
if ( ! $post_autoquote ) {
echo '<input type="hidden" id="hidebody"' ;
echo 'value="' ;
2023-08-20 00:33:05 +02:00
if ( isset ( $bodyzeile ))
2024-01-05 14:58:51 +01:00
echo htmlspecialchars ( $bodyzeile );
2024-01-07 23:52:50 +01:00
echo '">' ;
2024-02-19 19:39:22 +01:00
2024-01-07 23:52:50 +01:00
?>
< script language = " JavaScript " >
2020-11-29 01:55:31 +01:00
<!--
function quoten () {
document . getElementById ( " postbody " ) . value = document . getElementById ( " hidebody " ) . value ;
document . getElementById ( " hidebody " ) . value = " " ;
}
//-->
</ script >
< ? php } ?>
2023-08-20 00:33:05 +02:00
< input type = " submit " value = " <?php echo $text_post["button_post"] ;?> " >
2020-11-29 01:55:31 +01:00
< ? php if ( $setcookies == true ) { ?>
2024-01-07 23:52:50 +01:00
& nbsp ;
< input tabindex = " 100 " type = " Button " name = " quote "
value = " <?php echo $text_post["quote"] ?> "
onclick = " quoten(); this.style.visibility= 'hidden'; " >
& nbsp ;
< input type = " checkbox " name = " abspeichern " value = " ja " checked >
2020-11-29 01:55:31 +01:00
< ? php echo $text_post [ " remember " ]; ?>
< ? php } ?>
2024-01-07 23:52:50 +01:00
& nbsp ;
< input type = " file " name = " photo " id = " fileSelect " value = " fileSelect "
accept = " image/*,audio/*,text/*,application/pdf " >
</ td >
</ tr >
2023-08-20 00:33:05 +02:00
< ? php
2023-09-09 14:52:18 +02:00
if ( $post_captcha ) {
2023-08-20 00:33:05 +02:00
echo '<tr><td>' ;
echo captcha :: form ( $text_post [ " captchainfo1 " ], $text_post [ " captchainfo2 " ]);
echo '</td></tr>' ;
}
?>
2024-01-07 23:52:50 +01:00
2020-11-29 01:55:31 +01:00
</ table >
2024-01-07 23:52:50 +01:00
</ div >
< input type = " hidden " name = " type " value = " post " >
< input type = " hidden " name = " newsgroups "
value = " <?php echo htmlspecialchars( $newsgroups ); ?> " >
< input type = " hidden " name = " references "
value = " <?php echo htmlentities( $references ); ?> " >
< input type = " hidden " name = " group "
value = " <?php echo htmlspecialchars( $newsgroups ); ?> " >
< input type = " hidden " name = " returngroup "
2024-02-25 02:57:10 +01:00
value = " <?php echo htmlspecialchars( $thisgroup ); ?> " >
2024-01-07 23:52:50 +01:00
< input type = " hidden " name = " fielddecrypt "
value = " <?php echo htmlspecialchars( $fieldencrypt );?> " >
2020-11-29 01:55:31 +01:00
</ form >
< ? php } } ?>