require_once("customConfig.php") ;
require_once("terranetznoveDefine.php") ;
require_once("mazenoveDefine.php") ;
require_once("usrCustomConfig.php");
// ログを出したい場合は0を設定してください
define('LOG_LEVEL' , 1 ); // ログレベル(0:デバッグモード,1:運用モード)
// メンテナンス用
define('MAINTENANCE_NONE' , 1 ); // メンテナンス用にDBを再起動しない
define('MAINTENANCE_RESTART' , 2 ); // メンテナンス用にDBを再起動する
define('RSS_FEED_NUM' , 10 ); // RSSのFEED個数
// パス群
define('DESIGN_TEMPLATE_PATH' , PATH_SYSTEM."site/templates/");
define('PATH_LIB' , PATH_SYSTEM."lib/"); // ライブラリへのパス
define('FIXED_IMG_PATH' , PATH_SYSTEM."site/images/");
define('IMG_PATH' , PATH_SYSTEM."site/resource/");
define('ATATTCH_PATH' , PATH_SYSTEM."mbtemp/");
define('SMARTY_DIR' , PATH_SYSTEM.'lib/smarty/'); // Smartyディレクトリ
define('SMARTY_TEMPLATE_DIR' , PATH_SYSTEM.'template/'); // Smartyディレクトリ
define('PATH_LOG' , PATH_SYSTEM."lib/log/"); // ログファイル用ディレクトリパス
define('PATH_MOBILE' , PATH_SYSTEM."lib/mb_lib/"); // mobile.phpへのパス
define('DESIGN_TEMPLATE_URL' , SYSTEM_URL ."templates/");
define('IMG_URL' , SYSTEM_URL ."resource/");
define('PATH_SCRIPT' , PATH_LIB ."script/"); // scriptディレクトリへのパス
define('URL_MAP_IMGE' , SYSTEM_URL ."images/gmap/"); // GoogleMaps用画像ディレクトリへの表示パス
define('PATH_MAP_IMGE' , PATH_SYSTEM."site/images/gmap"); // GoogleMaps用画像ディレクトリへのアップロードパス
define('SYS_PAGE_CNT' , 30); // システム管理サイトページング件数
define('TMP_PATH' , IMG_PATH."temp/"); // アップロードTMPパス
define('IMG_COMMUNITY_PATH' , IMG_PATH."community/"); // アップロードコミュニティー情報パス
define('IMG_MEMBER_PATH' , IMG_PATH."member/"); // アップロードユーザ情報パス
define('PATH_ADVERTISEMENT_IMG' , IMG_PATH."advertisement/"); // 広告画像ディレクトリへのアップロードパス
define('URL_ADVERTISEMENT_IMG' , IMG_URL."advertisement/"); // 広告画像ディレクトリへのURLパス
define('RESOURCE_PATH' , IMG_PATH."community/"); // リソースファイルパス
define('RESOURCE_URL' , IMG_URL."community/");
// 画面表示チェック関数のチェックレベル
define('MEMBER_LEVEL_ALL' , 0); // 制限無し
define('MEMBER_LEVEL_MEMBER' , 1); // ログインしているユーザ
define('MEMBER_LEVEL_COMJOIN' , 2); // コミュニティ会員
define('MEMBER_LEVEL_SELF' , 3); // ログインユーザ自身のみ
define('MEMBER_LEVEL_HIDDEN' , 4); // 公開レベルが非公開
// 画像ロード時のパス種別
define('TYPE_USERDIARY' , 0); // ユーザー日記
define('TYPE_TEMP' , 1); // アップロード中
define('TYPE_COMMUBBS' , 2); // コミュニティー掲示板
define('TYPE_BBS' , 2); // 掲示板
define('TYPE_USERPHOTO' , 3); // ユーザー画像
define('TYPE_COMMUPHOTO' , 4); // コミュニティー画像
define('TYPE_COMMUBBSCOM' , 6); // コミュニティー掲示板コメント
define('TYPE_USERREVIEW' , 7); // レビュー画像
define('TYPE_PHOTOITEM' , 8); // 写真
define('TYPE_PLACE' , 10); // 施設情報に紐づく写真
define('FREEMSG_TOP' , 1);
define('FREEMSG_BOTTOM' , 2);
// ユーザ公開ステータス(flgvalid_status)
define('MEMBER_STATUS_INVALID', 0); // 停止中
define('MEMBER_STATUS_VALID' , 1); // 公開中
// ユーザ登録状態(type_status)
define('MEMBER_STATUS_TEMP' , 0); // 仮登録
define('MEMBER_STATUS_REGIST' , 1); // 本登録
// ユーザメールアドレス有効・無効(flgvalid_mailaddr)
define('MEMBER_MAILADDR_INVALID', 1); // 無効
define('MEMBER_MAILADDR_VALID' , 0); // 有効
// 通報処理状態(type_status)
define('REPORT_STATUS_NONE' , 0); // 未処理
define('REPORT_STATUS_END' , 1); // 処理済
// 通報・問い合わせ種別(type_report)
define('REPORT_TYPE_NOTICE' , 0); // 通報
define('REPORT_TYPE_QUESTION' , 1); // 問い合わせ
// 日記1件ごとの公開レベル(tbl_diary.level_display)→現在使用していない
define('DIARY_DISPLAY_ALL' , 1); // 全員に公開
define('DIARY_DISPLAY_MEMBER' , 0); // ユーザのみに公開
// ユーザごとの日記公開レベル(tbl_member.level_display)
define('MEMBER_DIARY_DISPLAY_WEB' , 1); // WEBに公開
define('MEMBER_DIARY_DISPLAY_SITE' , 2); // 本システム内に公開
define('MEMBER_DIARY_DISPLAY_FRIEND', 3); // 友人のみ公開
// ユーザ情報(名前)公開レベル
define('MEMBER_NAME_DISPLAY_DENY' , 0); // 非公開
define('MEMBER_NAME_DISPLAY_WEB' , 1); // WEBに公開
define('MEMBER_NAME_DISPLAY_SITE' , 2); // 本システム内に公開
define('MEMBER_NAME_DISPLAY_FRIEND', 3); // 友人のみ公開
// ユーザ情報(生年月日)公開レベル
define('MEMBER_BIRTH_DISPLAY_DENY' , 0); // 非公開
define('MEMBER_BIRTH_DISPLAY_WEB' , 1); // WEBに公開
define('MEMBER_BIRTH_DISPLAY_SITE' , 2); // 本システム内に公開
define('MEMBER_BIRTH_DISPLAY_FRIEND', 3); // 友人のみ公開
// ユーザ情報(年齢)公開レベル
define('MEMBER_AGE_DISPLAY_DENY' , 0); // 非公開
define('MEMBER_AGE_DISPLAY_WEB' , 1); // WEBに公開
define('MEMBER_AGE_DISPLAY_SITE' , 2); // 本システム内に公開
define('MEMBER_AGE_DISPLAY_FRIEND', 3); // 友人のみ公開
// ユーザ情報(都道府県)公開レベル
define('MEMBER_ADDR_DISPLAY_DENY' , 0); // 非公開
define('MEMBER_ADDR_DISPLAY_WEB' , 1); // WEBに公開
define('MEMBER_ADDR_DISPLAY_SITE' , 2); // 本システム内に公開
define('MEMBER_ADDR_DISPLAY_FRIEND', 3); // 友人のみ公開
// BBS公開レベル(level_display)
define('BBS_DISPLAY_ALL' , 1); // 全員に公開
define('BBS_DISPLAY_MEMBER' , 0); // ユーザのみに公開
// ユーザメール受信許可・拒否(flgvalid_notify_diarycomment)
define('MAILNOTIFY_INVALID', 2); // 受信しない
define('MAILNOTIFY_VALID' , 1); // 受信する
// コミュニティステータス(type_status)
define('COMMUNITY_STATUS_MAKING' , 1); // コミュニティ作成中(使用していない)
define('COMMUNITY_STATUS_CHECK' , 2); // システム管理者による審査中(使用していない)
define('COMMUNITY_STATUS_PUBLISH', 3); // 公開
// 管理権限(flgvalid_admin)
define('COMMUNITY_ADMIN_NO' , 0); // ユーザのみに公開
define('COMMUNITY_ADMIN_YES' , 1); // 全員に公開
// 新着コミュニティーフラグ(flgallow_new)
define('COMMUNITY_NEW_NO' , 0); // 新着ではない
define('COMMUNITY_NEW_YES' , 1); // 新着
// コミュニティー参加ステータス(type_status)
define('COMMUNITY_STATUS_JOIN' , 0); // 参加
define('COMMUNITY_STATUS_NOTJOIN', 1); // 退会
// 履歴カウント対象フラグ(flgvalid_record)
define('HISTORY_RECORD_NO' , 0); // カウント対象外
define('HISTORY_RECORD_YES' , 1); // カウント対象
// メッセージ未読・既読ステータス(type_status)
define('MESSAGE_STATUS_NOTREAD', 0); // 未読
define('MESSAGE_STATUS_READ' , 1); // 既読
// アンケート公開日内・外ステータス
define('RESEARCH_LIST_NOTEND', 0); // 終了していないアンケート
define('RESEARCH_LIST_END' , 1); // 終了したアンケート
// アンケート登録ステータス(type_status)
define('RESEARCH_STATUS_TEMP', 0); // 仮登録アンケート
define('RESEARCH_STATUS_PUBLISH' , 1); // 公開アンケート
// アンケート回答方法
define('RESEARCH_ANSWER_SINGLE', 0); // 単一(ラジオまたはセレクト)
define('RESEARCH_ANSWER_MULTI' , 1); // 複数選択(チェックボックス)
define('RESEARCH_ANSWER_TEXT' , 2); // 文字列記入による回答
// 日記コメント未読・既読ステータス(type_status)
define('STATUS_NOTREAD', 0); // 未読
define('STATUS_READ' , 1); // 既読
// メッセージ種別(type_message)
define('MESSAGE_TYPE_NORMAL' , 0); // 通常
define('MESSAGE_TYPE_FRIEND' , 1); // 友人依頼
// 友人ステータス(type_status)
define('FRIEND_STATUS_ALLOW' , 0); // 友人承認
define('FRIEND_STATUS_DENY' , 1); // 友人拒否
define('FRIEND_STATUS_END' , 2); // 友人をやめる
// 公開・削除(flgvalid_display)
define('DISPSTATUS_PUBLISH' , 0); // 公開中
define('DISPSTATUS_DELETED' , 1); // 削除
// スケジュール公開レベル(level_display)
define('SCHEDULE_MEMBER' , "1");
define('SCHEDULE_ADMINONLY' , "0");
// スケジュール通知種別(tbl_master_notifytime.id)
define('SCHEDULE_NOTIFYTIME_BEFORE18' , "1"); // 前日18時に配信
define('SCHEDULE_NOTIFYTIME_BEFORE21' , "2"); // 前日21時に配信
define('SCHEDULE_NOTIFYTIME_TODAY09' , "3"); // 当日9時に配信
define('SCHEDULE_NOTIFYTIME_TODAY12' , "4"); // 当日12時に配信
define('SCHEDULE_NOTIFYTIME_TODAY15' , "5"); // 当日15時に配信
define('SCHEDULE_NOTIFYTIME_TODAY18' , "6"); // 当日18時に配信
// スタッフステータス(flgvalid_status)
define('STAFF_STATUS_INVALID' , 0); // 有効
define('STAFF_STATUS_VALID' , 1); // 無効
// コミュニティ参加承認ステータス(type_permission)
define('COMMUNITY_PERMISSION_NO' , 0); // 承認が不要
define('COMMUNITY_PERMISSION_YES' , 1); // 承認が必要
define('COMMUNITY_PERMISSION_YES_HIDDEN' , 2); // 承認が必要(非公開)
// 広告のポジション
define('ADVERTISEMENT_POSITION_TOPBANNER' , 0); // TOP画面バナー
define('ADVERTISEMENT_POSITION_LEFT_1' , 1); // 大きいバナー
define('ADVERTISEMENT_POSITION_LEFT_2' , 2); // 小さいバナー
define('ADVERTISEMENT_POSITION_LEFT_3' , 3); // 小さいバナー
define('ADVERTISEMENT_POSITION_GAME' , 4); // ゲーム下バナー
define('ADVERTISEMENT_TEXT_TOPBANNER' , "TOP画面バナー"); // TOP画面バナー
define('ADVERTISEMENT_TEXT_LEFT_1' , "左エリア(1)"); // 大きいバナー
define('ADVERTISEMENT_TEXT_LEFT_2' , "左エリア(2)"); // 小さいバナー
define('ADVERTISEMENT_TEXT_LEFT_3' , "左エリア(3)"); // 大きいバナー
define('ADVERTISEMENT_TEXT_GAME' , "ゲーム下バナー"); // ゲーム下バナー
// メール広告の種別
define('MAIL_ADVERTISEMENT_POSITION_NORMAL' , 0); // 通常
define('MAIL_ADVERTISEMENT_TEXT_NORMAL' , "通常"); // 通常
// コンテンツ検索時の検索種別
define('CONTENTTYPE_COMMUNITY', 0);
define('CONTENTTYPE_DIARY' , 3);
define('CONTENTTYPE_BBS' , 4);
define('CONTENTTYPE_SCHEDULE' , 5);
define('CONTENTTYPE_REVIEW' , 6);
define('CONTENTTYPE_PHOTO' , 7);
// ヘルプ一覧の表示位置
define('HELPPOSITIONTYPE_TOP' , 1);
define('HELPPOSITIONTYPE_SITE', 2);
define('HELPPOSITIONTYPE_ALL' , 3);
// ヘルプの表示位置
define('HELP_POSITION_OUTER' , "1");
define('HELP_POSITION_INNER' , "2");
define('HELP_POSITION_BOTH' , "3");
// トピックの種別
define('TOPIC_TYPE_TOP' , "1");
define('TOPIC_TEXT_TOP' , "トップページ");
// 管理サイトの権限
define ('STAFF_AUTH_SYSTEM' , 1);
define ('STAFF_AUTH_SITE' , 2);
define ('STAFF_AUTH_INOUT' , 3);
define ('STAFF_AUTH_DESIGN' , 4);
// 管理サイトのメニュー
define ('MENU_AUTH_STAFF' , "staff");
define ('MENU_AUTH_MEMBER' , "member");
define ('MENU_AUTH_CONTENT' , "content");
define ('MENU_AUTH_TEMPLATE' , "template");
define ('MENU_AUTH_MESSAGE' , "message");
define ('MENU_AUTH_PORTALTOP' , "portaltop");
define ('MENU_AUTH_TAGGROUP' , "taggroup");
define ('MENU_AUTH_TAG1' , "tag1");
define ('MENU_AUTH_TAG2' , "tag2");
define ('MENU_AUTH_TAG3' , "tag3");
define ('MENU_AUTH_TAG4' , "tag4");
define ('MENU_AUTH_TAG5' , "tag5");
define ('MENU_AUTH_TAG6' , "tag6");
define ('MENU_AUTH_RSSNEWSCATEGORY', "rssnewscategory");
define ('MENU_AUTH_RSSNEWS' , "rssnews");
define ('MENU_AUTH_MAPCATEGORY' , "mapcategory");
define ('MENU_AUTH_HELP' , "help");
define ('MENU_AUTH_HELPCATEGORY' , "helpcategory");
define ('MENU_AUTH_NGWORD' , "ngword");
define ('MENU_AUTH_SETTLEMENT' , "settlement");
define ('MENU_AUTH_SYSTEM' , "system");
define ('MENU_AUTH_EVALUATE' , "evaluate");
define ('MENU_AUTH_DESIGN' , "design");
define ('MENU_AUTH_PUBLICCOMMUNITY', "publiccommunity");
define ('MENU_AUTH_RESERCH' , "reserch");
define ('MENU_AUTH_REPORT' , "report");
define ('MENU_AUTH_QUESTION' , "question");
define ('MENU_AUTH_TOPIC' , "topic");
define ('MENU_AUTH_ADVERTISEMENT' , "advertisement");
define ('MENU_AUTH_ADCSVOUT' , "advertisementcsvout");
define ('MENU_AUTH_POINTMASTER' , "pointmaster");
define ('MENU_AUTH_POINTCSVIN' , "pointcsvin");
define ('MENU_AUTH_POINTCSVOUT' , "pointcsvout");
define ('MENU_AUTH_RESEARCH' , "research");
define ('MENU_AUTH_MAILSENTENCE' , "mailsentence");
define ('MENU_AUTH_FREECONTENTS' , "freecontents");
define ('MENU_AUTH_HOLIDAY' , "holiday");
define ('MENU_AUTH_CONFIGDATA' , "configdata");
define ('MENU_AUTH_MAILADVERTISEMENT' , "mailadvertisement");
define ('MENU_AUTH_CHAR_CHECK' , "charcheck");
define ('MENU_AUTH_BG_CHECK' , "bgcheck");
define ('MENU_AUTH_BGM_CHECK' , "bgmcheck");
define ('MENU_AUTH_SE_CHECK' , "secheck");
define ('MENU_AUTH_LOG_GAMEPLAY' , "log_gameplay");
define ('MENU_AUTH_CHAR_CSV' , "charcsv");
define ('MENU_AUTH_BG_CSV' , "bgcsv");
define ('MENU_AUTH_BGM_CSV' , "bgmcsv");
define ('MENU_AUTH_SE_CSV' , "secsv");
// 以下の関数は未実装時にのみ使用する。
function noFuncMsg( $mode, $msg ){
if( $mode == NULL ){
return NULL;
}
return "未実装:".$msg."
";
}
// メッセージゴミ箱ステータス(type_trash_sender,type_trash_receiver)
define('MESSAGE_TRASH_NONE', 0); // 通常
define('MESSAGE_TRASH_TRASHED', 1); // ゴミ箱
define('MESSAGE_TRASH_DELETED', 2); // 削除済み
// 現在のページより前に表示するリンクの数
define ('NUMLINK_BEFORE' , 2);
// 現在のページより後ろに表示するリンクの数
define ('NUMLINK_BACK' , 2);
define('COMMENT_LIMIT_BYTES' , 30*2 ); // コメント一覧の文字数(バイト数なので文字数は×2)
define('COMMENT_NEW_PASTDAY' , 7 ); // 新着コメントの検索範囲過去日数
define('COMMENT_HISTORY_PASTDAY' , 14 ); // コメント履歴の検索範囲過去日数
define('BLACK_LIST_MAX' , 12 ); // ブラックリストの登録数
define('BLACK_URL' ,SYSTEM_URL."error/errorAccess.php" ); // ブラックの行き先URL
define ('LEVEL_DIARY_FRIEND' , 2);
define ('LEVEL_DIARY_ALL' , 0);
// フォト公開レベル(level_display)
define('PHOTOCATEGORY_DISPLAY_DENY' , 0); // 非公開
define('PHOTOCATEGORY_DISPLAY_WEB' , 1); // WEBに公開
define('PHOTOCATEGORY_DISPLAY_SITE' , 2); // 本システム内に公開
define('PHOTOCATEGORY_DISPLAY_FRIEND', 3); // 友人のみ公開
// システムからのメール文言ID(tbl_master_mailsentence.type_sentence)
define('SYSMAIL_NORMAL_SIGNUP' , 1); // 一般ユーザ仮登録メール
define('SYSMAIL_NORMAL_REGIST' , 2); // 一般ユーザ本登録メール
define('SYSMAIL_INVITATION' , 6); // 招待メール
define('SYSMAIL_PASSWORD' , 7); // パスワード再送メール
define('SYSMAIL_COMMUNITYINTRO' , 8); // コミュニティ紹介メール
define('SYSMAIL_USERSCHEDULE' , 11); // ユーザスケジュール通知メール
define('SYSMAIL_COMMUNITYAPPLY' , 13); // コミュニティ参加申請通知メール
define('SYSMAIL_COMMUNITYPERMIT' , 14); // コミュニティ参加許可通知メール
define('SYSMAIL_DIARYCOMMENT' , 15); // 日記コメント通知メール
define('SYSMAIL_INTROCOMMENT' , 16); // 紹介文書き込み通知メール
define('SYSMAIL_COMMUNITYJOIN' , 17); // コミュニティ参加通知メール
define('SYSMAIL_USERMESSAGE' , 18); // メッセージ受信通知メール
define('SYSMAIL_FRIENDPERMIT' , 19); // 友達申請通知メール
define('SYSMAIL_HISTORYMEMORIAL' , 20); // 足あとキリバン通知メール
define('SYSMAIL_COMMUNITYTRANSFER' , 21); // コミュニティ譲渡通知メール
define('SYSMAIL_USERBIRTHDAY' , 22); // 誕生日おめでとうメール
define('SYSMAIL_FRIENDBIRTHDAY' , 23); // 友達の誕生日通知メール
define('SYSMAIL_PHOTOCOMMENT' , 24); // フォトコメント通知メール
define('SYSMAIL_CHANGE_MAILADDR' , 25); // メールアドレス変更通知メール
define('TYPE_BANNER_AMAZON' , 1);
define('TYPE_BANNER_KAKAKUCOM' , 2);
?>
//*======================================================================================//
// 画面初期チェック関数
//=======================================================================================*/
// require_once("loginManager.php");
require_once("define.php");
// require_once("db/dbCommunityManager.php");
require_once("db/dbDiaryManager.php");
require_once("db/dbLogManager.php");
// require_once("sessionParamManager.php");
require_once("httpParamManager.php");
require_once("replaceManager.php");
// require_once("db/dbBlackManager.php");
require_once(SMARTY_DIR."Smarty.class.php");
require_once("script/mail_functions.php");
require_once(PATH_MOBILE."mobile.php");
//-------------------------------------------------------------
// 関数名:
//-------------------------------------------------------------
function is_image( $str_filename ) {
if( $str_filename == NULL || $str_filename == "" ) return( false );
if( mb_eregi(SYSTEM_DOMAIN, $str_filename ) ){
$path_parts = pathinfo( $str_filename );
$dirname = $path_parts['dirname'];
$basename = $path_parts['basename'];
$extension = $path_parts['extension'];
$url_parts = explode( "/" , $dirname );
if( @file_exists(PATH_OMC.$basename) ) {
return( true );
}
if( @file_exists(IMG_UPLOAD_PATH.$url_parts[count($url_parts)-2]."/".$url_parts[count($url_parts)-1]."/".$basename) ) {
return( true );
} else {
return( false );
}
}
else {
$req = new HTTP_Request($str_filename);
$req->setMethod(HTTP_REQUEST_METHOD_HEAD);
$req->sendRequest();
$r_code = $req->getResponseCode();
if ( $r_code == 200 ) {
return( true );
} else {
return( false );
}
}
}
//-------------------------------------------------------------
// 関数名:
//-------------------------------------------------------------
function getImageZoomUrl( $type,$number,$filename,$size ) {
$imgpath = IMG_UPLOAD_PATH;
$imgurl = IMG_UPLOAD_URL;
$loadpath = $imgpath.$type.'/'.$number.'/'.$filename;
$urlpath = $imgurl.$type .'/'.$number.'/';
$path_parts = pathinfo( $loadpath );
$dirname = $path_parts['dirname'];
$basename = $path_parts['basename'];
$extension = $path_parts['extension'];
// サイズ変換した画像ファイルがあるかどうかチェックする。
$nameParts = explode( ".".$extension , $basename );
$namePartsPath = explode( ".".$extension , $loadpath );
list($hard,$ez_flag,$cac,$mheight,$mwidth,$mcolor,$mime) = hardware();
if( $hard !="pc" && $size > 240 ) $size = 230;
if( $hard !="pc" ) {
$extension = "jpg";
}
$namePath = $namePartsPath[0]."_".$size.".".$extension;
$nameUrl = $urlpath.$nameParts[0]."_".$size.".".$extension;
// 元ファイルが無きゃ無くなったよを返す
if(!@file_exists(PATH_OMC.$filename) && !@file_exists($loadpath) ) {
return($imgurl.$type.'/ng/ng'.$type.'_image_'.$size.'.png');
}
// ファイルが存在しなければ作る
if(!@file_exists($namePath) || ( @filemtime($namePath) <= @filemtime($loadpath) )){
return(PUBLIC_URL."etc/image_zoom.php?type=".$type."&im=".$number."&name=".$filename."&size=".$size);
}else{
return($nameUrl."?dummy=".filemtime($namePath));
}
}
//-------------------------------------------------------------
// 関数名:
//-------------------------------------------------------------
function explodeStream( $target ) {
$work = explode(",", $target);
if( $work[0] == "" ) {
unset($work[0]);
}
if( $work[count($work)] == "" ) {
unset($work[count($work)]);
}
if( $work[count($work)-1] == "" ) {
unset($work[count($work)-1]);
}
$work = array_values($work);
return($work);
}
//-------------------------------------------------------------
// 関数名:リダイレクト一括管理
//-------------------------------------------------------------
function headerPlus( $url ) {
$paramM = new httpParamManager();
$agent=$_SERVER['HTTP_USER_AGENT'];
if(!strstr($agent,"Mozilla") && !strstr($agent,"Opera")){
if( !mb_ereg( 'mbcheckkey', $url ) ) {
if( mb_ereg( '\?', $url ) ) $url.="&mbcheckkey=".$paramM->getHttpParam("mbcheckkey");
else $url.="?mbcheckkey=".$paramM->getHttpParam("mbcheckkey");
}
}
if( PARAM_CLYPT==1 ) {
$work = split("\?",$url);
if( $work[1] != NULL ) {
$crypt_param = bin2hex( crypt_md5($work[1],"param") );
$work[0] = mbereg_replace("\.php","",$work[0]);
setSessionData("cript_param",$crypt_param);
$url = $work[0].",".time();
// $url = $work[0].",".$crypt_param;
// $url = $work[0]."?p=".$crypt_param;
}
else {
$work[0] = mbereg_replace("\.php","",$work[0]);
$url = $work[0].",".time();
}
}
if(!strstr($agent,"Mozilla") && !strstr($agent,"Opera")){
if( !mb_ereg( 'PHPSESSID', $url ) ) {
if( mb_ereg( '\?', $url ) ) $url.="&PPP=333&PHPSESSID=".session_id();
else $url.="?PPP=333&PHPSESSID=".session_id();
}
}
header("Location:".$url);
die;
}
//-------------------------------------------------------------
// 関数名:画面表示チェック
// IN:画面表示レベル MEMBER_LEVEL_ALL :制限無し
// MEMBER_LEVEL_MEMBER :会員のみ
// MEMBER_LEVEL_COMJOIN :コミュニティ会員のみ)
// MEMBER_LEVEL_SELF :ログインユーザ自身のみ
// 履歴ログ用画面機能番号
// 訪問先ユーザID(無ければNULL)
// 訪問先コミュニティーID(無ければNULL)
// 訪問先リソースID(無ければNULL)
// ランキングタイプ(ランキング対象の画面で無ければNULL)
// OUT:ポータルログイン管理クラスのインスタンス
// 概要:今から表示したい画面について、表示可能かどうかチェックする。
//-------------------------------------------------------------
function checkDisp( $levelDisp, $numDispFunc, $idHostMember, $idHostCommunity, $idHostResource, $typeRanking, $isSSL=false){
// 携帯からのアクセスははじく
$agent=$_SERVER['HTTP_USER_AGENT'];
/*
if(!strstr($agent,"Mozilla") && !strstr($agent,"Opera")){
headerPlus(SYSTEM_URL."error/errorAgent.php");
}
*/
$memberM = new dbMemberManager();
$paramM = new httpParamManager();
$httphost=$_SERVER[HTTP_HOST];
$requesturi=$_SERVER[REQUEST_URI];
$uri=$httphost.$requesturi;
$port=$_SERVER["SERVER_PORT"];
if($idHostMember > 0){
// 存在しないユーザかどうかチェック
$memberData = $memberM->getMemberData($idHostMember, NULL);
// 存在しなければリダイレクト
if($memberData == NULL || $memberData[flgvalid_status] != MEMBER_STATUS_VALID){
headerPlus(SYSTEM_URL."error/errorNoContents.php");
}
}
if(SITE_MODE == 1){
// SSL対応
if($isSSL == false && $port!=80){ // SSL対応ページでないのに443番ポートで接続された場合httpでリダイレクト
//echo "SSL対応ページでないのに443番ポートで接続された場合httpでリダイレクト ",$requesturi,"
";
headerPlus("http://$uri");
} else if ($isSSL == true && $port==80 ){
//echo "SSL対応ページなのに80番ポートで接続された場合httpsでリダイレクト ",$requesturi,"
";
headerPlus("https://$uri");
}
}
$loginM = new loginManager();
$id_login = $loginM->getLoginUserData();
// ALLじゃないのにログインしていなければTOPにリダイレクト
if($id_login == NULL && $levelDisp != MEMBER_LEVEL_ALL){
headerPlus(SYSTEM_URL."error/errorNoLogin.php");
}
/*
if( $numDispFunc != "top" ) {
// 携帯だったら、セッションとキーが一致するかチェック
if(!strstr($agent,"Mozilla") && !strstr($agent,"Opera")){
$checkKey = $paramM->getHttpParam("mbcheckkey");
if( $id_login > 0 && $id_login != $checkKey ) {
$loginM->logout($loginM->getLoginUserData("str_mailaddr"),$loginM->getLoginUserData("str_passwd"));
headerPlus(SYSTEM_URL);
}
}
}
if( !$idHostCommunity && $id_login && $idHostMember ){
// ブラックリストのチェック
//echo "idlogin:".$id_login."/idHost:".$idHostMember."
";
if( checkBlackList($id_login, $idHostMember)==ERR_NUMBER ){
headerPlus(BLACK_URL);
}
}
$pattern = SYSTEM_MANAGE_URL;
$target = $_SERVER[HTTP_REFERER];
if(strstr( $target, $pattern ) != FALSE ){
// システム管理者の場合、今から見るコンテンツのオーナーとしてログインさせる
if($idHostMember > 0){
$memberData = $memberM->getMemberData($idHostMember);
$loginM->login($memberData[str_mailaddr], $memberData[str_passwd]);
} else if($idHostCommunity > 0){
$communityData = $communityM->getCommunityDataWithCreateMember($idHostCommunity);
$memberData = $memberM->getMemberData($communityData[id_member]);
$loginM->login($memberData[str_mailaddr], $memberData[str_passwd]);
}
setSessionData("sess_systemAdminType","systemadmin");
}
if(getSessionData("sess_systemAdminType") == "systemadmin"){
if($idHostMember > 0){
$memberData = $memberM->getMemberData($idHostMember);
$loginM->login($memberData[str_mailaddr], $memberData[str_passwd]);
if($id_login != $idHostMember){
headerPlus($_SERVER[REQUEST_URI]);
}
} else if($idHostCommunity > 0){
$communityData = $communityM->getCommunityDataWithCreateMember($idHostCommunity);
$memberData = $memberM->getMemberData($communityData[id_member]);
$loginM->login($memberData[str_mailaddr], $memberData[str_passwd]);
}
// ポータルログイン管理クラスのインスタンスを作成する
return( $loginM );
}
*/
// 【ログイン状態取得】メソッドにてログインしているかチェック
if( $typeCommunity != COMMUNITYTYPE_PUBLIC && $levelDisp != MEMBER_LEVEL_ALL ) {
// echo "ログインしているかチェック[".$loginM->isNowLogin()."]
";
if( !$loginM->isNowLogin() ){
headerPlus(SYSTEM_URL."error/errorNoLogin.php");
// echo "errorNoLogin.php
";
}
}
// 引数の画面表示レベルがMEMBER_LEVEL_SELFの場合
if( $levelDisp == MEMBER_LEVEL_SELF ){
// 訪問先がログインユーザのIDと異なる場合はエラー
if( $idHostMember != $loginM->getLoginUserData() ) {
headerPlus(SYSTEM_URL."error/errorNoContents.php");
}
}
// 【履歴ログ書き込み】メソッドを
// ログインしているユーザのID、訪問先のコミュニティーID,訪問先のユーザID、穂運先のリソースのIDを引数にコールする。
$isLoginUserNeedHistory = $loginM->getLoginUserData("flgvalid_history");
// 足あと機能を必要としている人のみ作成する
$isNeedLog = false;
if($idHostMember > 0){
// 他人のページなら両方が足あと機能を使う場合のみ履歴を残す
if($memberData[flgvalid_history] == 1 && $isLoginUserNeedHistory == 1){
$isNeedLog = true;
}
}else{
// コミュニティなどはログインユーザが足あと機能を使いたい場合のみ履歴を残す
if($isLoginUserNeedHistory == 1){
$isNeedLog = true;
}
}
if($isNeedLog){
if($id_login > 0 && $idHostMember > 0){
$logM = new dbLogManager();
$logM->createHistoryLog($idHostMember, $numDispFunc, $id_login);
}
}
// 最終ログイン時刻をtime_loginに入れる
if($id_login > 0){
$dataArray = NULL;
$dataArray[time_login] = date("Y-m-d H:i:s");
$memberM->editMember($id_login, $dataArray,NULL);
}
// ポータルログイン管理クラスのインスタンスを作成する
return( $loginM );
}
//-------------------------------------------------------------
// 関数名:管理権限チェック
// IN:訪問先ユーザID(無ければNULL)
// 訪問先コミュニティーID(無ければNULL)
// OUT:操作権限の有無(true:権限有り,false:権限無し)
// 概要:今から表示したい画面について、操作権限の有無をチェックする。
//-------------------------------------------------------------
function checkAuth( $idHostMember, $idHostCommunity ){
$admin = false;
/*
$loginM = new loginManager();
$communityM = new dbCommunityManager();
$id_login = $loginM->getLoginUserData();
// ユーザの場合
if( $idHostMember > 0 && $id_login == $idHostMember ) {
$admin = true;
}
// コミュニティーの場合
else if( $idHostCommunity > 0 ) {
if( $communityM->isMemberAuth($idHostCommunity,$id_login) ) {
$admin = true;
}
}
*/
// コミュニティーの場合
if( $idHostCommunity > 0 ) {
$communityM = new dbCommunityManager();
if( $communityM->isMemberAuth($idHostCommunity,$id_login) ) {
$admin = true;
}
} return( $admin );
}
//-------------------------------------------------------------
// 関数名:携帯固有番号取得
// IN:なし
// OUT:携帯固有
// 概要:携帯固有を取得する。
//-------------------------------------------------------------
function getMbNumber() {
// print_r($_SERVER);
//echo("HTTP_X_UP_SUBNO[". $_SERVER[HTTP_X_UP_SUBNO] ."]
");
mb_regex_encoding("EUC-JP");
// AUだったら
if( $_SERVER[HTTP_X_UP_SUBNO] != NULL ) {
$mbNumber = $_SERVER[HTTP_X_UP_SUBNO];
}
// MOVAだったら
if( $mbNumber == NULL ) {
mb_eregi("/ser.*$",$_SERVER[HTTP_USER_AGENT],$regs);
if( $regs[0] != NULL ) $mbNumber = $regs[0];
}
// MOVAだったら
if( $mbNumber == NULL ) {
mb_eregi(";ser.*;",$_SERVER[HTTP_USER_AGENT],$regs);
if( $regs[0] != NULL ) $mbNumber = $regs[0];
}
// SOFTBANKだったら
if( $mbNumber == NULL ) {
//echo "HTTP_USER_AGENT:".$_SERVER[HTTP_USER_AGENT]."
";
mb_eregi("SN[\S]*\s",$_SERVER[HTTP_USER_AGENT],$regs);
if( $regs[0] != NULL ) $mbNumber = $regs[0];
$mbNumber = trim($mbNumber);
}
// echo("mbNumber[".$mbNumber."]
");
return($mbNumber);
}
//-------------------------------------------------------------
// 関数名:携帯用絵文字変換
// IN:変換対象のSmarty変数
// 変換する実データ
// OUT:テンプレートの内容を出力
// 概要:テンプレートの内容を出力する。
//-------------------------------------------------------------
function emoji_replace_mb($smartyData) {
mb_language('ja');
mb_internal_encoding("SJIS");
mb_regex_encoding("SJIS");
$smartyData = mb_convert_encoding($smartyData, "SJIS", "EUC-JP");
require_once(PATH_SYSTEM.'lib/emj_lib/lib/mobile_class_7.php');
$emojiM = init_emj();
$emojiM->reqest_data_conv('r','','SJIS','SJIS');
$text_dec = $emojiM->emj_decode($smartyData,'', "SJIS", '');
$smartyData = mbereg_replace("\{emj.*?\}","",$text_dec[bin]);
return($smartyData);
/*
mb_language('ja');
mb_internal_encoding('EUC-JP');
require_once(PATH_SYSTEM.'lib/emj_lib/lib/mobile_class_7.php');
$emojiM = init_emj();
$emojiM->reqest_data_conv('r','','EUC-JP','EUC-JP');
$smartyData = $emojiM->emj_encode($smartyData, "EUC-JP", 1, "EUC-JP");
$split_textarea = split("");
$work="