Просмотр файла library/add.php

Размер файла: 6.99Kb
<?php

require_once ( "../includes/start.php" );
require_once ( "../includes/functions.php" );
require_once ( "../includes/header.php" );
include_once ( "../themes/" . $config['themes'] . "/index.php" );

show_title( 'partners.gif', 'Добавление статьи' );

if ( is_user() )
{

		if ( isset( $_GET['action'] ) )
				$action = check( $_GET['action'] );

		if ( $config['libadd'] == "1" )
		{
				if ( !isset( $action ) )
				{
						$lib_array = array();
						$dir = opendir( "." );
						while ( $file = readdir( $dir ) )
						{
								if ( is_dir( $file ) )
								{
										if ( $file == "." || $file == ".." )
												continue;
										$lib_array[] = $file;
								}
						}
						closedir( $dir );
						sort( $lib_array );
						$total = count( $lib_array );

						if ( $config['themes'] != "wml" )
						{
								echo '<br><form action="add.php?action=add&amp;' . SID . '" method="post">';
								echo 'Выберите категорию:<br>';

								echo '<select name="kategory">';
								echo '<option value=""></option>';

								for ( $i = 0; $i < $total; $i++ )
								{
										$lib_name = file_get_contents( "$lib_array[$i]/name.dat" );
										if ( $lib_name == "" )
										{
												$lib_name = $lib_array[$i];
										}

										echo '<option value="' . $lib_array[$i] . '">' . $lib_name . '</option>';
								}
								echo '</select><br>';

								echo 'Название:<br>';
								echo '<input name="zag" type="text" /><br>';

								echo 'Статья:<br>';
								echo '<textarea cols="25" rows="5" name="msg"></textarea><br>';

								echo '<input type="submit" value="Добавить"></form><hr>';
						}
						else
						{
								echo 'Выберите категорию:<br>';
								echo '<select name="kategory">';
								echo '<option value=""></option>';

								for ( $i = 0; $i < $total; $i++ )
								{
										$lib_name = file_get_contents( "$lib_array[$i]/name.dat" );
										if ( $lib_name == "" )
										{
												$lib_name = $lib_array[$i];
										}

										echo '<option value="' . $lib_array[$i] . '">' . $lib_name . '</option>';
								}
								echo '</select><br>';


								echo 'Название:<br>';
								echo '<input name="zag"/><br>';

								echo 'Статья:<br>';
								echo '<input name="msg"/><br>';

								echo '<anchor>Добавить';
								echo '<go href="add.php?action=add&amp;' . SID . '" method="post">';
								echo '<postfield name="kategory" value="$(kategory)"/>';
								echo '<postfield name="zag" value="$(zag)"/>';
								echo '<postfield name="msg" value="$(msg)"/>';
								echo '</go></anchor><br>--------------------<br>';

						}
						echo '<br>Всего категорий: ' . ( int )$total . '<br>';
				}
				if ( $action == "add" )
				{
						if ( $_POST['kategory'] != "" )
						{
								$kategory = check( $_POST['kategory'] );
								$zag = check( $_POST['zag'] );
								$msg = check( $_POST['msg'] );

								if ( is_dir( $kategory ) && file_exists( $kategory ) )
								{
										if ( is_writeable( $kategory ) )
										{
												if ( strlen( utf_to_win( trim( $zag ) ) ) > 5 && strlen( utf_to_win( $zag ) ) < 50 )
												{
														if ( strlen( utf_to_win( trim( $msg ) ) ) > 100 && strlen( utf_to_win( $msg ) ) < $config['libstring'] )
														{
																//--------------------- Новый антифлуд -----------------------------//
																if ( $con_data[29] > 0 )
																{
																		if ( flooder( $ip, $php_self ) == true )
																		{
																				header( "Location: add.php?isset=antiflood&" . SID );
																				exit;
																		}
																		write_files( DATADIR . "flood.dat", "$sitetime|$ip|$php_self|\r\n" );
																}

																//--------------------- Карантин -----------------------------//
																if ( $con_data[3] > 0 )
																{
																		if ( $udata[6] + $con_data[3] > $sitetime )
																		{
																				header( "Location: add.php?isset=karantin&" . SID );
																				exit;
																		}
																}

																$msg = antimat( $msg );
																$msg = smiles( $msg );
																$log = check( $log );
																$tt = explode( ' ', microtime() );
																$ttt = $tt[1] + $tt[0];
																$id = str_replace( ".", "", $ttt );

																$name_file = $kategory . '_' . $id . '.txt';

																$text = $zag . "\r\n" . $msg;
																write_files( "$kategory/$name_file", "$text\r\n", 0, 0666 );


																//---------------------------------------------------//
																$f = file( DATADIR . "datalib/$name_file.dat" );
																$u = explode( "|", $f[0] );

																$t = '1|0|0|' . $sitetime . '|' . $kategory . '|' . $log . '|';
																$t = no_br( $t );
																write_files( DATADIR . "datalib/$name_file.dat", "$t\r\n", 0, 0777 );


																header( "Location: lib.php?action=ob&did=$kategory&fid=$name_file&isset=addlibrary&" . SID );

														}
														else
														{
																show_error( 'Ошибка! Слишком длинная или короткая статья (от 100 до ' . $config['libstring'] .
																		' символов)!' );
														}
												}
												else
												{
														show_error( 'Ошибка! Слишком длинное или короткое название (от 5 до 50 символов)!' );
												}
										}
										else
										{
												show_error( 'Ошибка! Невозможно добавить статью! Запрещена запись в папку ' . check( $kategory ) .
														'!' );
										}
								}
								else
								{
										show_error( 'Ошибка! Недопустимое название категории или такой категории не существует!' );
								}
						}
						else
						{
								show_error( 'Ошибка! Вы не выбрали категорию для добавления!' );
						}

						echo '<br><img src="../images/img/reload.gif" alt=""> <a href="add.php?' . SID .
								'">Вернуться</a>';
				}
		}
		else
		{
				show_error( 'Ошибка! Возможность добавление статей запрещена администрацией!' );
		}
}
else
{
		show_login( 'Вы не авторизованы, чтобы добавить новую статью необходимо' );
}
echo '<br><img src="../images/img/back.gif" alt=""> <a href="index.php?' . SID .
		'">В библиотеку</a><br>';
echo '<img src="../images/img/homepage.gif" alt=""> <a href="../index.php?' . SID .
		'">На главную</a>';
include_once ( "../themes/" . $config['themes'] . "/foot.php" );

?>