Location: PHPKode > projects > PHP News Reader > pnews265/post.php
<?

# PHP News Reader
# 
# 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.
# 
# 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.
# 
# 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.

include('utils.inc.php');

$title .= " - $pnews_msg[Post]";

# -------------------------------------------------------------------
if( isset($_POST['content']) && $_POST['content'] != '' ) {

	$server   = $_POST['server'];
	$group    = $_POST['group'];

	$c = check_group( $server, $group );

	if( $global_readonly || $news_readonly[$c] )
		readonly_error( $server, $group );

	if( $CFG['email_editing'] )
		$email = $_POST['email'];
	else
		$email = $auth_email;

	if( $auto_slash ) {
		$nickname = stripslashes($_POST['nickname']);
		$content  = stripslashes($_POST['content']);
		$subject  = stripslashes($_POST['subject']);
	}
	else {
		$nickname = $_POST['nickname'];
		$content  = $_POST['content'];
		$subject  = $_POST['subject'];
	}
	$nickname = rtrim($nickname);

	if( ! ( $nnrp->open( $server, $news_nntps[$c] ) && nnrp_authenticate() ) )
		connect_error( $server );

	if( $article_convert['back'] ) {
		$nnrp->post_init( $article_convert['back']($nickname), $email, $article_convert['back']($subject), $group, $article_convert['back']($CFG['organization']), null, $auth_email, $news_charset[$curr_category] );
		$nnrp->post_write( $article_convert['back']($content) );
	}
	else {
		$nnrp->post_init( $nickname, $email, $subject, $group, $CFG['organization'], null, $auth_email, $news_charset[$curr_category] );
		$nnrp->post_write( $content );
	}

	$an = intval($CFG['allow_attach_file']);
	for( $i = 1 ; $i <= $an ; $i++ ) {
		if( isset( $_FILES['attach'.$i]['name'] ) ) {
			$filename = $_FILES['attach'.$i]['name'];
			uuencode_file( $filename, $_FILES['attach'.$i]['tmp_name'] );
		}
	}

	if( $CFG['post_signature'] ) {
		if( $article_convert['back'] )
			$nnrp->post_write( $article_convert['back']($CFG['post_signature']) );
		else
			$nnrp->post_write( $CFG['post_signature'] );
	}

	$nnrp->post_end();
	$nnrp->close();

	html_head( "$group - $subject" );

	$time = strftime($CFG['time_format']);
	$subject = htmlspecialchars( $subject );

	echo <<<EOT
<table width=100%>
 <tr><td class=status>$pnews_msg[ArticlePosted]</td>
     <td class=field><input class=normal type=button onClick="close_window()" value="$pnews_msg[CloseWindow]"></td>
</tr>
</table>
<hr />
<table>
 <tr><td class=field>$pnews_msg[Author]: </td><td class=value>$nickname ($email)</td></tr>
 <tr><td class=field>$pnews_msg[Time]: </td><td class=value>$time</td></tr>
 <tr><td class=field>$pnews_msg[Subject]: </td><td class=value>$subject</font></td></tr>
 <tr><td class=field>$pnews_msg[Group]: </td><td class=value>$group</td></tr>
</table>
<hr />

EOT;
	echo '<pre class=content>' . htmlspecialchars($content, ENT_NOQUOTES ) . "</div>\n";
	html_delay_close( 2000 );
	echo "<hr />\n";
	html_tail();
}
else {

#	$server = $_GET['server'];
#	$group  = $_GET['group'];

	$c = check_group( $server, $group );

	if( $global_readonly || $news_readonly[$c] )
		readonly_error( $server, $group );

	html_head( $title );

?>
<script type="text/javascript">
	function really() {
		if( document.post.content.value == "" ) {
			window.close();
			return(true);
		}
		if( confirm('<? echo addslashes($pnews_msg['ReallyQuit']); ?>') ) {
			window.close();
			return(true);
		}
		return(false);
	}
	function verify() {
		if( document.post.nickname.value == "" ) {
			alert('<? echo addslashes($pnews_msg['PleaseEnterName']); ?>');
			document.post.nickname.focus();
			return(false);
		}
		if( document.post.email.value == "" || ! /^[_.\d\w-]+@([\d\w][\d\w-]+\.)+[\w]{2,3}$/.test(document.post.email.value) ) {
			alert('<? echo addslashes($pnews_msg['PleaseEnterEmail']); ?>');
			document.post.email.focus();
			return(false);
		}
		if( document.post.subject.value == "" ) {
			alert('<? echo addslashes($pnews_msg['PleaseEnterSubject']); ?>');
			document.post.subject.focus();
			return(false);
		}
		if( document.post.content.value == "" ) {
			alert('<? echo addslashes($pnews_msg['PleaseEnterContent']); ?>');
			document.post.content.focus();
			return(false);
		}
<?
		if( $CFG['confirm_post'] ) {
			echo <<<CONFIRM
		if( !confirm( '$CFG[confirm_post]' ) ) {
			return(false);
		}

CONFIRM;
		}
?>
		document.post.submit();
		return(true);
	}
</script>
<?
$mail_disable = $CFG['email_editing'] ? '' : ' disabled';
echo <<<EOF
<form name=post action="$self" method=post enctype="multipart/form-data">
<center>
<table cellpadding=0 cellspacing=0 width=100%>
 <tr><td class=field width=12%>$pnews_msg[Name]:</td><td><input class=input name=nickname size=20 value="$auth_user "></td>
 <td class=field align=right>
  <input class=normal type=button value='$pnews_msg[FormConfirmPost]' onClick='verify()' tabindex=3>
  <input class=normal type=button value='$pnews_msg[FormCancelPost]' onClick='really()' tabindex=4>
 </td>
 </tr>
 <tr><td class=field>$pnews_msg[Email]:</td><td colspan=2><input class=input name=email size=40 value="$auth_email" $mail_disable></td></tr>
 <tr><td class=field>$pnews_msg[Group]:</td><td colspan=2><input class=input name=postgroup size=40 value="$group" disabled></td></tr>
 <tr><td class=field>$pnews_msg[Subject]:</td><td colspan=2><input class=input name=subject size=56 tabindex=1></td></tr>
 <tr><td class=field>$pnews_msg[Content]:</td>
 <td colspan=2 align=right></td></tr>
 <tr><td colspan=3>
 <input name=server value="$server" type=hidden>
 <input name=group value="$group" type=hidden>
 <textarea name=content class=content rows=12 cols=78 wrap=hard tabindex=2></textarea><br /><br />
 </td></tr>
EOF;
	$an = intval($CFG['allow_attach_file']);
	for( $i = 1; $i <= $an ; $i++ ) {
		$ti = 4+$i;
		if( $i % 2 == 1 ) {
			echo <<<EOA
 <tr><td class=field>
 $pnews_msg[Attachment] $i:</td>
 <td><input class=input name="attach$i" type="file" tabindex="$ti">
 </td>
EOA;
		}
		else {
			echo <<<EOA
 <td class=field align=right>$pnews_msg[Attachment] $i:
 <input class=input name="attach$i" type="file" tabindex="$ti">
 </td></tr>
EOA;
		}
	}

	if( $i % 2 == 0 )
		echo "</tr>\n";

	echo <<<EOF
</table>
</center>
</form>
EOF;
	html_focus( 'post', 'subject' );
	html_tail();
}

?>
Return current item: PHP News Reader