template_dir = $HOME_DIR.'/templates/'; $smarty->compile_dir = $HOME_DIR.'/templates_c/'; $smarty->config_dir = $HOME_DIR.'/configs/'; $smarty->cache_dir = $HOME_DIR.'/cache/'; $smarty->security = TRUE; $smarty->left_delimiter = '({'; $smarty->right_delimiter= '})'; $smarty->debugging_ctrl = 'URL'; $URL['site'] = 'http://'.$SITE_DOMAIN.'/'; $URL['blog'] = $BLOG_URL; $URL['friends'] = $PROFILE_URL; $URL['rss'] = $RSS_URL; $FLAG['rss'] = $RSS_FLAG; $FLAG['blog'] = $BLOG_FLAG; $FLAG['profile'] = $PROFILE_FLAG; $NAME['site'] = $SITE_NAME; $NAME['blog'] = $BLOG_TITLE; $NAME['copy_right'] = $COPY_RIGHT_NAME; if( isset($_SESSION['account']) ){ $loginFlg = true; $loginAccount = $_SESSION['account']; }else{ $loginFlg = false; $loginAccount = ''; } $profileFlg = false; $loginPermission = ''; $USER_BASE_DATA = array(); $TARGET_DATA = array(); $USER_BASE_DATA = setUserBaseData($loginAccount); $TARGET_DESIGN = setUserDesigns('sane'); if( $TARGET_DESIGN['template'] == 'tmp_no999' ){ $TARGET_DESIGN['template'] = './custom.css'; }else{ $TARGET_DESIGN['template'] = '../tmp/'.$TARGET_DESIGN['template'].'/blog.css'; } if( $TARGET_DESIGN['site_bg_img'] != '' ){ $TARGET_DESIGN['site_bg_img'] = "background-image: url(".$TARGET_DESIGN['site_bg_img'].");"; } if( $TARGET_DESIGN['site_bg_color'] != '' ){ $TARGET_DESIGN['site_bg_color'] = "background-color: ".$TARGET_DESIGN['site_bg_color'].";"; } if( $TARGET_DESIGN['title_bg_img'] != '' ){ $TARGET_DESIGN['title_bg_img'] = "background-image: url(".$TARGET_DESIGN['title_bg_img'].");"; } if( $TARGET_DESIGN['title_bg_color'] != '' ){ $TARGET_DESIGN['title_bg_color'] = "background-color: ".$TARGET_DESIGN['title_bg_color'].";"; } if( $TARGET_DESIGN['title_color'] != '' ){ $TARGET_DESIGN['title_color'] = 'color: '.$TARGET_DESIGN['title_color'].';'; } if( $TARGET_DESIGN['sub_title_color'] != '' ){ $TARGET_DESIGN['sub_title_color'] = 'color: '.$TARGET_DESIGN['sub_title_color'].';'; } $TARGET_DATA = setUserBaseData('sane'); if( !function_exists('file_put_contents') ){ function file_put_contents($filename, $content, $flags = 0) { if (!($file = fopen($filename, ($flags & 1) ? 'a' : 'w'))) { return false; } $n = fwrite($file, $content); fclose($file); return $n ? $n : false; } } $form = new MyForm('mail_form','post','','',array('class'=>'cssTableGreen')); // $form->addElement('text', 'from_name', '', array("id" => "from_name", "style" => "width:200px;")); $form->addRule('from_name', 'お名前が必要です', 'required', '', 'client'); $form->addElement('text', 'from_mail', '', array("id" => "from_mail", "style" => "width:200px;ime-mode:disabled;")); $form->addRule('from_mail', 'メールアドレスが必要です', 'required', '', 'client'); $form->addRule('from_mail', 'メールアドレスを確認して下さい', 'email', '', 'client'); $form->addElement('text', 'subject', '', array("id" => "subject", "style" => "width:200px")); $form->addRule('subject', '件名が必要です', 'required', '', 'client'); $form->addElement('textarea', 'message', '', array("id" => "message", "style" => "width:400px;", "rows" => "10")); $form->addRule('message', 'メッセージが必要です', 'required', '', 'client'); $form->addElement('text', 'img', '', array("style" => "width:350px;ime-mode:disabled;")); $form->addElement('submit', 'submit', 'メールを送信'); // Text_CAPTCHA if( file_exists('../../../public_html/captcha/'.session_id().'.png') ){ unlink('../../../public_html/captcha/'.session_id().'.png'); } $form->addElement('text', 'phrase', '', array("style"=>"width:80px;ime-mode:disabled;")); $form->addRule('phrase', 'セキュリティーコードが必要です!', 'required', '', 'client'); $form->addFormRule('check_captcha'); if( $USER_BASE_DATA['nickname'] ){ $def_nickname = $USER_BASE_DATA['nickname'].' ('.$USER_BASE_DATA['account'].')'; } $form->setDefaults(array( 'from_mail' => $USER_BASE_DATA['mail'], 'from_name' => $def_nickname, )); $smarty->assign('USER_BASE_DATA', $USER_BASE_DATA); $smarty->assign('TARGET_DESIGN', $TARGET_DESIGN); $smarty->assign('TARGET_DATA', $TARGET_DATA); $smarty->assign('URL', $URL); $smarty->assign('FLAG', $FLAG); $smarty->assign('NAME', $NAME); if ($form->validate()) { $form->freeze(); $form->process('mail_formProcess', false); }else{ // Generate a new Text_CAPTCHA object, Image driver $c = Text_CAPTCHA::factory('Image'); $c->init(100, 50, NULL, array("font_path"=>"/usr/X11R6/lib/X11/fonts/truetype/", "font_file"=>"sazanami-gothic.ttf")); // Get CAPTCHA secret passphrase $_SESSION['phrase'] = $c->getPhrase(); // Get CAPTCHA image (as PNG) file_put_contents('../../../public_html/captcha/'.session_id().'.png', $c->getCAPTCHAAsPNG()); $img_src = 'http://'.$SITE_DOMAIN.'/captcha/'.session_id().".png?".time(); $smarty->assign('captcha_img',$img_src); // $renderer =& new HTML_QuickForm_Renderer_ArraySmarty($smarty); $form->accept($renderer); $smarty->assign('form',$renderer->toArray()); $smarty->display('mail_form.tpl'); } function check_captcha( $fields ){ global $model; if( isset($fields['phrase']) && isset($_SESSION['phrase'] ) && strlen($fields['phrase']) > 0 && strlen($_SESSION['phrase']) > 0 && $fields['phrase'] == $_SESSION['phrase']) { return true; }else{ return array('phrase' => 'Error! 一致しません!'); } } function mail_formProcess( $values ){ global $loginFlg; global $loginAccount; global $TARGET_DATA; global $SITE_FROM_MAIL; global $BLOG_TITLE; global $BLOG_URL; $now = date('Y-m-d H:i:s'); $host = gethostbyaddr($_SERVER['REMOTE_ADDR']); $MAIL_MESSAGE = <<< EEOF {$BLOG_TITLE}転送メールサービスによるメールです。 送り主:{$values['from_name']} {$values['from_mail']} {$values['message']} {$BLOG_URL} EEOF; sendmail( $TARGET_DATA['mail'],$values['subject'],$MAIL_MESSAGE,'From: '.$SITE_FROM_MAIL ); if( $loginFlg ){ $loginAccountBLog = "$BLOG_URL/$loginAccount/"; } $MAIL_MESSAGE = <<< EEOF 保存メール -------------------------------------------------- REMOTE_ADDR : {$_SERVER['REMOTE_ADDR']} HTTP_REFERER : {$_SERVER['HTTP_REFERER']} HTTP_USER_AGENT : {$_SERVER['HTTP_USER_AGENT']} REMOTE_HOST : {$host} -------------------------------------------------- From : {$values['from_name']} {$values['from_mail']} $loginAccount $loginAccountBLog To : {$TARGET_DATA['nickname']} {$TARGET_DATA['mail']} $BLOG_URL/sane/ subject : {$values['subject']} < message > {$values['message']} EEOF; sendmail( $SITE_FROM_MAIL,"保存メール {$values['from_mail']} to sane",$MAIL_MESSAGE,'From: '.$SITE_FROM_MAIL ); pageJumper('メールを送信しました','BLOGトップページ',"$BLOG_URL/sane/"); } ?>