// }}} // {{{ 初期化 $post_param_keys = array('bbs', 'key', 'time', 'FROM', 'mail', 'MESSAGE', 'subject', 'submit'); $post_internal_keys = array('host', 'sub', 'popup', 'rescount', 'ttitle_en'); foreach ($post_param_keys as $pk) { ${$pk} = isset($_POST[$pk]) ? mb_convert_encoding($_POST[$pk], 'CP932', 'UTF-8') : ''; } foreach ($post_internal_keys as $pk) { ${$pk} = isset($_POST[$pk]) ? $_POST[$pk] : ''; } // したらばのlivedoor移転に対応。post先をlivedoorとする。 $host = P2Util::adjustHostJbbs($host); // machibbs、JBBS@したらば なら if (P2Util::isHostMachiBbs($host) or P2Util::isHostJbbsShitaraba($host)) { /* compact() と array_combine() でPOSTする値の配列を作るので、 $post_param_keys と $post_send_keys の値の順序は揃える! */ //$post_param_keys = array('bbs', 'key', 'time', 'FROM', 'mail', 'MESSAGE', 'subject', 'submit'); $post_send_keys = array('BBS', 'KEY', 'TIME', 'NAME', 'MAIL', 'MESSAGE', 'SUBJECT', 'submit'); // 2ch } else { $post_send_keys = $post_param_keys; } $post = array_combine($post_send_keys, compact($post_param_keys)); unset($post['submit']); // }}} // {{{ execute $post_backup_key = PostDataStore::getKeyForBackup($host, $bbs, $key, !empty($_REQUEST['newthread'])); PostDataStore::set($post_backup_key, $post); echo '1'; exit; // }}}
} } if (!empty($_POST['newthread'])) { $ptitle = 'rep2 - 新規スレッド作成'; } else { $ptitle = 'rep2 - レス書き込み'; } $post_backup_key = PostDataStore::getKeyForBackup($host, $bbs, $key, !empty($_REQUEST['newthread'])); $post_config_key = PostDataStore::getKeyForConfig($host, $bbs); // 設定を保存 PostDataStore::set($post_config_key, array('beres' => !empty($_REQUEST['beres']), 'p2res' => !empty($_REQUEST['p2res']))); //================================================================ // 書き込み処理 //================================================================ // 書き込みを一時的に保存 PostDataStore::set($post_backup_key, $post_cache); // ポスト実行 if (!empty($_POST['p2res']) && empty($_POST['newthread'])) { // 公式p2で書き込み $posted = postIt2($host, $bbs, $key, $FROM, $mail, $MESSAGE); } else { // cookie 読み込み $cookie_key = $_login->user_u . '/' . P2Util::normalizeHostName($host); if ($p2cookies = CookieDataStore::get($cookie_key)) { if (is_array($p2cookies)) { if (array_key_exists('expires', $p2cookies)) { // 期限切れなら破棄 if (time() > strtotime($p2cookies['expires'])) { CookieDataStore::delete($cookie_key); $p2cookies = null; }