FrontPage
viewsettings.phpのソースコード
<?php
require("MySmarty.class.php");
require('Settings.class.php');
require('Categories.class.php');
$smarty = new MySmarty();
$settings = new Settings;
$categories = new Categories;
session_start();
$id = $_SESSION['id'];
$pass = $_SESSION['pass'];
// ユーザチェック
if( ( $id == '' ) || ( !$settings->isValidUser ($id,$pass) ) ){
header("Location: login.php" );
exit;
}
//設定の画面表示
if( $_SERVER['REQUEST_METHOD'] == 'GET' ){
$settings->loadSettings();
$smarty->assign('maintitle', $settings->maintitle);
$smarty->assign('subtitle', $settings->subtitle);
$smarty->assign('maxtopics', $settings->maxtopics);
$smarty->assign('username', $settings->username);
$smarty->assign('passwd', $settings->passwd);
$smarty->assign('mailaddr', $settings->mailaddr);
} else {
//設定の保存
$smarty->assign('maintitle', $_POST['maintitle']);
$smarty->assign('subtitle', $_POST['subtitle']);
$smarty->assign('maxtopics', $_POST['maxtopics']);
$smarty->assign('username', $_POST['username']);
$smarty->assign('passwd', $_POST['passwd']);
$smarty->assign('mailaddr', $_POST['mailaddr']);
// 設定変更ボタン
if( $_POST['chsetting'] != '' ){
$err_msg = check_input();
if( $err_msg == '' ){
$settings->maintitle = $_POST['maintitle'];
$settings->subtitle = $_POST['subtitle'];
$settings->maxtopics = $_POST['maxtopics'];
$settings->username = $_POST['username'];
if( $_POST['new_password1'] != '' ){
$settings->passwd = $_POST['new_password1'];
} else {
$settings->passwd = $pass;
}
$settings->mailaddr = $_POST['mailaddr'];
$settings->saveSettings();
$err_msg = $settings->errorm;
}
if( $err_msg == '' ){
$_SESSION['id'] = $_POST['username'];
$id = $_SESSION['id'];
if( $_POST['new_password1'] != '' ){
$_SESSION['pass'] = $_POST['new_password1'];
$pass = $_SESSION['pass'];
}
$gen_msg = '設定の更新完了しました。';
}
}
//カテゴリの追加ボタン
if( $_POST['addcategory'] != '' ){
$categories->addCategory( $_POST['newcategory'] );
$err_msg = $categories->errorm;
if( $err_msg == '' ){
$gen_msg = 'カテゴリの追加が完了しました。';
}
}
// カテゴリの削除ボタン
if( $_POST['delcategory'] != '' ){
$categories->deleteCategory( $_POST['category'] );
$err_msg = $categories->errorm;
if( $err_msg == '' ){
$gen_msg = 'カテゴリの削除が完了しました。';
}
}
}
$smarty->assign('categories_list', $categories->makeSelect(0));
function check_input()
{
if( $_POST['new_password1'] != $_POST['new_password2'] ){
return 'パスワードが一致しません。';
}
if( empty( $_POST['maxtopics'] ) ){
return '1ページのトピック数を入力してください。';
}
if( ereg( '[^0-9]', $_POST['maxtopics'] ) ){
return '1ページのトピック数は数字を入力してください。';
}
if( empty( $_POST['maintitle'] ) ){
return '日記のタイトルを入力してください。';
}
if( empty( $_POST['subtitle'] ) ){
return '日記のサブタイトルを入力してください。';
}
if( empty( $_POST['mailaddr'] ) ){
return 'メールアドレスを入力してください。';
}
return '';
}
$smarty->assign('error_message', $err_msg);
$smarty->assign('general_message', $gen_msg);
$smarty->display('viewsettings.html');
?>