//定数
define("SYS_MAIL","nagadou@remar.co.jp");
define("ENCODE","UTF-8");
$seturl="old.okipachi-slot.com/";
define("HOST","mysql76.conoha.ne.jp");
define("USER","ogpxy_develop");
define("PASS","5u3YJTR|v_");
define("DB","ogpxy_okipachi");
define("SSL_URL","https://".$seturl);
define("BASE_URL","http://".$seturl);
define("MOB_URL","http://".$seturl."m/");
define("SP_URL","http://".$seturl."sp/");
define("CLIENT_URL","http://".$seturl."cl/");
define("ADMIN_URL","http://".$seturl."ad/");
$url="http://".$seturl;
//SSLチェック
if($_SERVER['SERVER_PORT']!="80")
{
$url=SSL_URL;
}else{
$url="http://".$seturl;
}
$url=SSL_URL;
define("URL",$url);
//ルートパス
$root_path=dirname(__FILE__) . DIRECTORY_SEPARATOR;
define("SNAME","okiyukyo");//セッション名
define("SAVE_SESSION_SPACE",$root_path."session");//セッションデータ置き場
//define("GAPI","ABQIAAAAcQSbBWgBLGjTK1Seb6UDKhTFWpvL7B7aaY6Py-n4zLxbVgCEwxRGDI1kuJ2e_pHNIgKKhLn-vbup2w");
//データベース作成チェック
//define("DB_ONOFF","ON");//OFFでDBを使わない設定
define("DB_ONOFF","OFF");//OFFでDBを使わない設定
//基本カウント
define("CNT","10");
define("ADMIN_NAME","沖縄県パチンコ・スロット協同組合");
//define("ADMIN_MAIL","nagadou@remar.co.jp");
define("ADMIN_MAIL","tu-mo3@okiyukyo.com");
define("Author","REMAR PRO");
define("AID","ok1yk9i!d");
define("APW","18osvmzlb");
define("ADPOST","900-0029");
define("ADDRESS","沖縄県浦添市牧港1丁目56番14号(沖游連会館2F)");
define("TEL","098-874-6445");
define("FAX","098-942-1177");
define("CLIENT_NAME","");
?>
//クラスファイル一覧
class COMMON
{
var $errsendquerys;
var $agent;
var $terminal;
var $menu_type;
var $insert;
//初期に動かすデータ
function COMMON()
{
$this->CNN = mysql_connect(HOST,USER,PASS); //MySQLに接続
mysql_set_charset('utf8');
if(!$this->CNN)
{ print"ホストに接続失敗"; exit; }
if(!mysql_select_db(DB)) //データベースに接続
{ print"データベースに接続失敗"; exit; }
//クエリミス時メールは送らない設定 送る場合はtrue
$this->errsendquerys=false;
//セッション開始
$this->SESSION();
//端末チェック
$this->TERMINAL_CHK();
//メニューデータ
$this->menu_data=array("innerpage"=>"内部ページ","outerpage"=>"外部ページ","htmlpage"=>"バナー等のHTML入力");
//インサートデータ これはあくまでメニューデータ用・・・実際にファイルを作るのはログインで。
$this->insert=array("index"=>"トップページ","notice"=>"お知らせ","access"=>"アクセス","inquiry"=>"お問合せ","photo"=>"フォトギャラリー");
}
//セッション開始
function SESSION()
{
//session有効期限解除 //これあるとブラウザバックが出来ないな・・・でもこいつがあるとキャッシュされてしまうみたいだ。
//session_cache_limiter("private_no_expire");
//セッション保存場所指定
session_save_path(SAVE_SESSION_SPACE);
//セッション時間
session_set_cookie_params(0);
//セッションネーム指定
session_name(SNAME);
//セッションスタート
session_start();
}
//MYSQL接続
function SQL($sql,$type="")
{
if(!mysql_query("begin")){print"トランザクション開始失敗";exit;} //ロック開始
$RESULT = mysql_query($sql);//SQLコマンド実行・判定 ※select以外はここで処理が終わっている。
if(!mysql_query("commit")){print"トランザクション終了失敗";exit;} //ロック終了
if(!$RESULT)//SQL失敗時
{
//メールで送りたい場合は上sendqueryをtrueへ
if($this->errsendquerys){
mb_language("Ja");
mb_internal_encoding("EUC-JP");
$send=$sql."\n".$_SERVER['PHP_SELF'];
if($_SERVER['QUERY_STRING']){$send.="?".$_SERVER['QUERY_STRING'];}
mb_send_mail("uchima@remar.co.jp",$_SERVER['SERVER_NAME']." query",$send,"from:".ADMIN_MAIL);
exit;
}else{
die($msg." query ".$sql);
}
}
//■■■■■■■■■■■■■■■■ここからselect実行処理■■■■■■■■■■■■■■■■//
elseif($RESULT && ereg("^select|^show",$sql)) //$RESULTがTrueで、$SQLに"select"が入ってる場合。
{
$NUM = 0; //変数の初期化
while ($DATA = mysql_fetch_array($RESULT,MYSQL_ASSOC)) //TBLデータの格納
{
if(count($DATA))
{
foreach($DATA as $key=>$value)
{$DATA[$key]=$value;}
}
$ARRA[$NUM] = $DATA;
$NUM++;
}//$ARRA[$NUM]に列毎格納
if(ereg("^select count\(\*\)",$sql))
{
$ARRA = $ARRA[0]['count(*)']; //列数の格納
}
//最初の1個しか取得したくない場合
if($type=="1"){
$dt=$ARRA[0];
$ARRA=$dt;
}
return $ARRA; //selectの場合必ず返値があるので。
}
}
//MYSQL接続 ID取得用
function SQL_STR($SQL,$set_key=",",$set_key2=".")
{
if(!mysql_query("begin")){print"トランザクション開始失敗";exit;} //ロック開始
$RESULT = mysql_query($SQL);//SQLコマンド実行・判定 ※select以外はここで処理が終わっている。
if(!mysql_query("commit")){print"トランザクション終了失敗";exit;} //ロック終了
if(!$RESULT) //SQL失敗時
{
//メールで送りたい場合は上sendqueryをtrueへ
if($this->errsendquerys){
mb_language("Ja");
mb_internal_encoding("EUC-JP");
$send=$sql."\n".$_SERVER['PHP_SELF'];
if($_SERVER['QUERY_STRING']){$send.="?".$_SERVER['QUERY_STRING'];}
mb_send_mail("uchima@remar.co.jp",$_SERVER['SERVER_NAME']." query",$send,"from:".ADMIN_MAIL);
exit;
}else{
die($msg." query ".$sql);
}
}
//■■■■■■■■■■■■■■■■ここからselect実行処理■■■■■■■■■■■■■■■■//
elseif($RESULT && ereg("^select",$SQL)) //$RESULTがTrueで、$SQLに"select"が入ってる場合。
{
$NUM = 0; //変数の初期化
while ($DATA = mysql_fetch_array($RESULT,MYSQL_ASSOC)) //TBLデータの格納
{
if(count($DATA))
{
$strs[]=implode($set_key,$DATA);
}
$ARRA[$NUM] = $DATA;
$NUM++;
}//$ARRA[$NUM]に列毎格納
if(count($strs)){
$ARRA=implode($set_key2,$strs);
}
return $ARRA; //selectの場合必ず返値があるので。
}
}
//アップデートSQL文を作成(keyをフィールド名にすることが条件)
function MAKE_UP_SQL($NAME,$DATA,$CNG_KEY,$limit="")//(KEY必須)
{
//dataがそろっているかチェック
if(!$NAME || !is_array($DATA) || !$CNG_KEY){print "
アップデートデータが足りません。 ";return;}
$SQL="update ".$NAME." set ";
//$CNN = mysql_connect($this->HOST,$this->USER,$this->PATH); //MySQLに接続
foreach($DATA as $key=>$value)
{
$chk=strtoupper($value);
if($chk=="NULL")
{
$UPDATA[]=$key."=NULL";
}else
{
$UPDATA[]=$key."='".$this->quote($value)."'";
}
}
$UPS=implode(",",$UPDATA);
$SQL.=$UPS." where ".$CNG_KEY."='".$DATA[$CNG_KEY]."'";
if($limit){$SQL.=" limit ".$limit;}
return $SQL;
}
//アップデートSQL文を作成(keyをフィールド名にすることが条件)
function MAKE_UP_SQL2($NAME,$DATA,$CNG_KEY,$limit="")//(KEY必須)
{
//dataがそろっているかチェック
if(!$NAME || !is_array($DATA) || !is_array($CNG_KEY)){print "
アップデートデータが足りません。 ";return;}
$SQL="update ".$NAME." set ";
//$CNN = mysql_connect($this->HOST,$this->USER,$this->PATH); //MySQLに接続
foreach($DATA as $key=>$value)
{
$chk=strtoupper($value);
if($chk=="NULL")
{
$UPDATA[]=$key."=NULL";
}else
{
$UPDATA[]=$key."='".$this->quote($value)."'";
}
}
$UPS=implode(",",$UPDATA);
$SQL.=$UPS." where ";
foreach($CNG_KEY as $key=>$value){
$CHK_KEY[]=$value."='".$DATA[$value]."'";
}
$CHK_KEYS=implode(" and ",$CHK_KEY);
$SQL.=$CHK_KEYS;
if($limit){$SQL.=" limit ".$limit;}
return $SQL;
}
//インサートSQL作成(keyをフィールド名にすることが条件)
function MAKE_INS_SQL($NAME,$DATA)
{
//dataがそろっているかチェック
if(!$NAME || !is_array($DATA)){print "
インサートデータが足りません。 ";return;}
//$CNN = mysql_connect($this->HOST,$this->USER,$this->PATH); //MySQLに接続
foreach($DATA as $key=>$value)
{
$KEYS[]=$key;
$chk=strtoupper($value);
if($chk=="NULL")
{
$DATA[]=$key."=NULL";
}else
{
$DATAS[]="'".$this->quote($value)."'";
}
}
$KEYSS=implode(",",$KEYS);
$DATASS=implode(",",$DATAS);
$SQL="insert into ".$NAME."(".$KEYSS.")values(".$DATASS.");";
return $SQL;
}
//インサートSQL作成(keyをフィールド名にすることが条件)
function MAKE_INS_SQL_SET($NAME,$DATA,$MODE="NOT NULL")
{
//dataがそろっているかチェック
if(!$NAME || !is_array($DATA)){print "
インサートデータが足りません。 ";return;}
//$CNN = mysql_connect($this->HOST,$this->USER,$this->PATH); //MySQLに接続
foreach($DATA[0] as $key=>$value)
{
$KEYS[]=$key;
}
$KEYSS=implode(",",$KEYS);
$SQL="insert into ".$NAME."(".$KEYSS.")values ";
//データを補正
foreach($DATA as $key=>$value){
foreach($value as $k=>$v){
if($MODE=="NULL"){
if($v!=""){
$DATAS[$key][$k]="'".$this->quote($v)."'";
}else{
$DATAS[$key][$k]="NULL";
}
}else{
$DATAS[$key][$k]="'".$this->quote($v)."'";
}
}
}
//一つ一つを文に
foreach($DATAS as $key=>$value){
$SQLSS[]="(".implode(",",$value).")";
}
$SQL.=implode(",",$SQLSS).";";
return $SQL;
}
//データのXSSとインジェクション対策
function quote($str){
$str=mysql_real_escape_string(htmlspecialchars($str,ENT_QUOTES,ENCODE));
return $str;
}
//\r\nを戻す・・・
function rncng($str){
return $str;
//return htmlspecialchars($str,ENT_QUOTES,ENCODE);
}
//CSVをちゃんと登録できるように変更
function CSV_DATA_CNG($PARAM,$SPACE=""){
if($SPACE){$PARAM=" ".$PARAM;}//住所変換がちゃんと行くように最初に空白入れる
$PARAM=ereg_replace(",",",",$PARAM);
$PARAM=$this->NG_DATA_CNG($PARAM);
return $PARAM;
}
//データベースの文字数取得
function DB_CNT_CHK($DB_TABLE)
{
if(!trim($DB_TABLE)){return;}
$SQL="show fields from ".$DB_TABLE;
$CHK_DATA=$this->SQL($SQL);
if(count($CHK_DATA))
{
foreach($CHK_DATA as $key=>$value)
{
$TMP="";
if(ereg("[0-9]{1}",$value['Type']))
{
list($types,$num_tmp)=split("\(",$value['Type']);
list($num,$num_end)=split("\)",$num_tmp);
$CHK[$value['Field']]=$num;
}
}
}
return $CHK;
}
//パスワード作成
function MAKE_PASSWORD($keta=8){
mt_srand(microtime()*100000);
$ps=md5(uniqid(mt_rand(),1));
$ps=substr($ps,0,$keta);
$mbs="";
for($cnt=0;$cnt
quote(htmlentities($str,ENT_QUOTES,ENCODE));
return $str;
}
//タグ内の改行を消すのと,'を"に変更する
function CNG_TAG($STR)
{
//タグの終わりを調べる
if(ereg(">",$STR))
{
$STRS=split(">",$STR);
}
//もしタグがあれば
if(count($STRS))
{
foreach($STRS as $key=>$value)
{
//タグの始まりを調べる
if(ereg("<",$value))
{
list($str_mae,$cng)=split("<",$value);
$cng=ereg_replace("\r\n|\r|\n","",$cng);
$cng=ereg_replace("'","\"",$cng);
$STRS[$key]=$str_mae."<".$cng;
}
}
$STR=implode(">",$STRS);
}
return $STR;
}
//画像のサイズを置き換え $filename,$new_filenameはパス込みのファイルネーム
function RESIZE_IMG($X,$Y,$filename,$new_filename=""){
//エラーチェック
if(!$X or !$Y){return false;}
//新しいファイル名がなければ、今の画像を小さくする
if(!$new_filename){$new_filename=$filename;}
//画像サイズ入手 新規画像の時は必ず新しいのを作る
$size=getImageSize($filename);
if($X>$size[0]){
$X=$size[0];
}
$command="/usr/bin/convert -geometry ".$X."x";
if($this->IS_STR($Y) and $this->IS_NUM($Y)){$command.=$Y;}
$command.=" \"{$filename}\" ".$new_filename;
exec($command);
//縦画像の時・・・今はいらんか
//exec("/usr/bin/convert -geometry ".$X."x \"{$filename}\" \" $new_filename");
}
//画像のサイズを置き換え $filename,$new_filenameはパス込みのファイルネーム
function RESIZE_IMG_LOLI($X,$Y,$filename,$new_filename=""){
//エラーチェック
if(!$X or !$Y){return false;}
//新しいファイル名がなければ、今の画像を小さくする
if(!$new_filename){$new_filename=$filename;}
//画像サイズ入手 新規画像の時は必ず新しいのを作る
$size=getImageSize($filename);
if($X>$size[0]){
$X=$size[0];
}
$command="/usr/bin -geometry ".$X."x";
if($this->IS_STR($Y) and $this->IS_NUM($Y)){$command.=$Y;}
$command.=" \"{$filename}\" ".$new_filename;
print $command;
exec($command);
//縦画像の時・・・今はいらんか
//exec("/usr/bin/convert -geometry ".$X."x \"{$filename}\" \" $new_filename");
}
//中心とり
function CROP_IMG($px="200",$filename,$new_filename=""){
//新しいファイル名がなければ、今の画像を小さくする
if(!$new_filename){$new_filename=$filename;}
//画像サイズ入手 新規画像の時は必ず新しいのを作る
$size=getImageSize($filename);
$command="/usr/bin/convert -gravity center -crop ".$px."x".$px."+0+0";
$command.=" \"{$filename}\" ".$new_filename;
exec($command);
}
//画像のサイズを置き換え $filename,$new_filenameはパス込みのファイルネーム
function CNG_IMGSIZE($X,$Y,$filename,$new_filename=""){
//エラーチェック
if(!$X or !$Y){return false;}
//新しいファイル名がなければ、今の画像を小さくする
if(!$new_filename){$new_filename=$filename;}
//小さい画像作成
$size=getImageSize($filename);
//画像作成
$type=$size[2];
//list(,,$type,)=getimagesize($filename);
switch($type){
case 1:
$ext = 'gif';
//もしgifだった場合
$img_in=imagecreatefromgif($filename);
break;
case 2:
$ext = 'jpg';
//JPEG画像の作成
$img_in=ImageCreateFromJPEG($filename);
break;
case 3:
$ext = 'png';
$img_in=imagecreatefrompng($filename);
break;
}
//新規空画像作成
//$img_out=ImageCreate($X,$Y);
//GD2.01以上の場合はこれ使うと綺麗っぽ
$img_out=ImageCreateTruecolor($X,$Y);
//透過設定
imagealphablending($img_out,false);
imageSaveAlpha($img_out,true);
$fillcolor = imagecolorallocatealpha($img_out, 0, 0, 0, 127);
imagecolortransparent($img_out,$fillcolor);
//imagefill($img_out, 0, 0, $fillcolor);
//リサイズ
ImageCopyResampled($img_out,$img_in,0,0,0,0,$X,$Y,$size[0],$size[1]);
//リサイズの画像を保存
//署名
#$black = imagecolorallocate($img_out, 0, 0, 0);
//ImageTTFText ($img_out, 15, 0, 5, 20, $black,"HGRSGU.TTC","QNAVI");
//ImageTTFText ($img_out, 15, 0, 5, $Y-10, $black,"HGRSGU.TTC","QNAVI 2011");
//ファイル名指定
switch($ext){
case "png":ImagePNG($img_out,$new_filename);break;
case "gif":ImageGIF($img_out,$new_filename,90);break;
default:ImageJPEG($img_out,$new_filename,90);break;
}
ImageDestroy($img_in);
return true;
}
function DIR_COPY($srcdir, $dstdir, $verbose = false){
$num = 0;
if(!is_dir($dstdir)) mkdir($dstdir);
if($curdir = opendir($srcdir)) {
while($file = readdir($curdir)) {
if($file != '.' && $file != '..') {
$srcfile = $srcdir . '/' . $file;
$dstfile = $dstdir . '/' . $file;
if(is_file($srcfile)) {
// if(is_file($dstfile)) $ow = filemtime($srcfile) - filemtime($dstfile); else $ow = 1;
// if($ow > 0) {
if($verbose) echo "Copying '$srcfile' to '$dstfile'...";
if(copy($srcfile, $dstfile)) {
touch($dstfile, filemtime($srcfile)); $num++;
if($verbose) echo "OK\n";
}
else echo "Error: File '$srcfile' could not be copied!\n";
}
//}
else if(is_dir($srcfile)) {
$num += $this->DIR_COPY($srcfile, $dstfile, $verbose);
}
}
}
closedir($curdir);
}
return $num;
}
function DIR_DELETE($ddir, $verbose = false){
$num = 0;
//if(!is_dir($dstdir)) mkdir($dstdir);
if($curdir = opendir($ddir)) {
while($file = readdir($curdir)) {
if($file != '.' && $file != '..') {
$dfile = $ddir . '/' . $file;
//$dstfile = $dstdir . '/' . $file;
if(is_file($dfile)) {
if($verbose) echo "delete '$srcfile' ...";
if(unlink($dfile)) {
$num++;
if($verbose) echo "OK\n";
}
else echo "Error: File '$srcfile' could not be deleted!\n";
}
else if(is_dir($dfile)) {
$num += $this->DIR_DELETE($dfile, $verbose);
}
}
}
closedir($curdir);
}
return $num;
}
//テキストチェッカー
function TXT_CHK($str)
{
$PARAM=ereg_replace("'","’",$PARAM); //『'』を全角に置き換える。
$PARAM=ereg_replace(",",",",$PARAM); //『,』を全角に置き換える。
}
//テキストカット
function TXT_CUT($str,$size=30,$chk='on')
{
if($chk=='on'){$str=mb_convert_kana($this->OK_DATA_CNG($str),"ASKV",ENCODE);}
if((strlen($str)/2)>$size)
{
$str=mb_substr($str,0,$size,ENCODE)."…";
}
return $str;
}
//文字列をSQL登録できるよう変更
function OK_DATA_CNG($PARAM)
{
$PARAM=ereg_replace(" ","\n",$PARAM); //改行を に置き換える。
// $PARAM=stripslashes($PARAM);
return $PARAM;
}
//文字列をSQL登録できるよう変更
function NG_DATA_CNG($PARAM,$HTML="ent")
{
//タグがあれば分ける
$PARAM=ereg_replace("\r\n|\r|\n"," ",$PARAM); //改行を に置き換える。
$PARAM=stripslashes($PARAM);
if($HTML=="ent"){$PARAM=htmlentities($PARAM,ENT_QUOTES,ENCODE);}
$PARAM=ereg_replace(htmlentities(" ",ENT_QUOTES,ENCODE)," ",$PARAM);
//$PARAM=htmlentities($PARAM);
return $PARAM;
}
//メールアドレスチェッカー
function IS_MAIL($str)
{
if(!trim($str)){return FALSE;}
if (preg_match('/^[a-zA-Z0-9_\.\-]+?@[A-Za-z0-9_\.\-]+$/',$str))
{return TRUE;}
else
{return FALSE;}
}
//IE6調べ
function IE6_CHK(){
$ua = $_SERVER['HTTP_USER_AGENT'];
if (ereg("MSIE 6",$ua)) {
return true;
}else{
return false;
}
}
//テキスト調べ
function IS_STR($str)
{
if(trim(mb_convert_kana($str,"s",ENCODE))==""){return FALSE;}
else{return TRUE;}
}
//日付調べ1 ただスラッシュ分けで確認するならこちら
function IS_DATE($date){
//dateが日付パターン(//)かチェック
if(!ereg("^([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})$",$date)){return false;}
list($year,$month,$day)=split("/",$date);
return checkdate($month,$day,$year);
}
//日付調べ2 strtotimeの特性上 2/23であれば今年の2/23扱いで日付になります。
function IS_DATE2($date){
//日付を変換 日付でなければfalse
$chks=strtotime($date);
if($chks=="-1"){return false;}else{return true;}
}
//メールアドレススパム止め
function CNG_MAIL($str)
{
$str=ereg_replace("@","@",$str);
return $str;
}
//半角アルファベットチェッカー(全て半角英字か調べる)
function IS_ALPHA($str)
{
if(!trim($str)){return FALSE;}
if (preg_match("/^[a-zA-Z]+$/",$str))
{return TRUE;}
else
{return FALSE;}
}
//半角数字チェッカー(全て半角数字か調べる)
function IS_NUM($str)
{
if(!trim($str)){return FALSE;}
if (preg_match("/^[0-9\.]+$/",$str))
{return TRUE;}
else
{return FALSE;}
}
//半角記号英数字チェッカー(全て半角記号英数字か調べる)
function IS_ALNUM($str)
{
if(!trim($str)){return FALSE;}
if (preg_match("/^[a-zA-Z0-9!-\/]+$/",$str))
{return TRUE;}
else
{return FALSE;}
}
//日本語チェッカー(日本語か調べる)
function IS_KANA($str)
{
if(!trim($str)){return FALSE;}
if (preg_match("/[ぁ-んァ-ヶ亜-瑤]{5}/", $str))
{return TRUE;}
else
{return FALSE;}
}
//数字チェック(-)は強制で抜く
function NUM_CHK($STR)
{
if(!trim($str)){return FALSE;}
$STR=ereg_replace("-","",$STR);
if(preg_match("/^[0-9]+$/",$STR))
{return TRUE;}
else
{return FALSE;}
}
//URLがあるか
function IS_URL($URL)
{
if(!trim($str)){return FALSE;}
if (preg_match('/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $URL))
{
return TRUE;
}else
{
return FALSE;
}
}
//画像のサイズ補正
function SIZE_HOSEI($URL,$CNG_X=BASE_X,$CNG_Y=BASE_Y)
{
//規定サイズ取得
if(!file_exists($URL)){return false;}
list($x,$y)=getimagesize($URL);
if($x<$CNG_X and $y<$CNG_Y){
$SIZE['RX']=$SIZE['X']=$x;$SIZE['RY']=$SIZE['Y']=$y;
return $SIZE;
}
$SIZE['RX']=$x;
$SIZE['RY']=$y;
$cnt=0;
$chk=true;
$wari=intval(($CNG_X/$x)*100)/100;
while($chk)
{
$x=intval($x*$wari);
$y=intval($y*$wari);
if($x<=$CNG_X and $y<=$CNG_Y)
{
$chk=false;
}else
{
$CNG_X=$x;
$wari=0.9;
}
}
$SIZE['X']=$x;
$SIZE['Y']=$y;
return $SIZE;
}
//自動リンク
function URL_HREF($str)
{
$str = preg_replace(
"/(https?|ftp)(:\/\/)([^[:blank:]\/\?\+\$\;%,!#~*:@&=_][[:alnum:]-\.]+)([[:alnum:]\+\$\;\?\.%,!#~*\/:@&=_-]+)/",
"\\1\\2\\3\\4 ",
$str);
return $str;
}
//IPチェック
function IP_VIEW()
{
if($_GET['IP_VIEW']=="false"){return false;}
//IPチェック用
$ADMIN_IP[]="180.43.94.216";
$ADMIN_IP[]="218.40.171.51";
$ADMIN_IP[]="210.230.247.158";
$ADMIN_IP[]="203.160.28.180";
foreach($ADMIN_IP as $key=>$value)
{
if($_SERVER['REMOTE_ADDR']==$value)
{
return true;
}
}
return false;
}
//カレンダー配列取得
function CALENDER($day="")
{
//日付取得
if(!$day){$day=mktime();}
//$dayの年を取得
$THIS_YEAR=date("Y",$day);
//$dayの月を取得
$THIS_MONTH=date("m",$day);
//$dayの日を取得
$THIS_DAY=date("d",$day);
//$dayの月が何日まであるのか取得
$THIS_MONTH_DAYS=date("d",mktime(0,0,0,$THIS_MONTH+1,0,$THIS_YEAR));
//$dayの月1日目が何曜日なのか取得
$WEEK_CNT=date("w",mktime(0,0,0,$THIS_MONTH,1,$THIS_YEAR));
//カレンダー用配列作成(初期は全部0)
$cal_cnt=1;//その月の日付足してく用
for($cnt=0;$cnt<=5;$cnt++)
{
$week['CAL'][$cnt]=array("0","0","0","0","0","0","0");
}
foreach($week['CAL'] as $key=>$value)
{
foreach($value as $key2=>$value2)
{
if($WEEK_CNT>$key2 && $key==0){continue;}//初日の曜日までは入力しない。
if($cal_cnt<=$THIS_MONTH_DAYS)
{
$week['CAL'][$key][$key2]=mktime(0,0,0,$THIS_MONTH,$cal_cnt,$THIS_YEAR);
$cal_cnt++;
}
}
//配列に数字が入っていなければその配列は削除
if(array_sum($week['CAL'][$key])==0){unset($week['CAL'][$key]);}
}
$week['THIS_MONTH']=mktime(0,0,0,$THIS_MONTH,1,$THIS_YEAR);
$week['PRE_MONTH']=mktime(0,0,0,$THIS_MONTH-1,1,$THIS_YEAR);
$week['NEXT_MONTH']=mktime(0,0,0,$THIS_MONTH+1,1,$THIS_YEAR);
$week['NOW']=mktime(0,0,0,date('m'),date('d'),date('Y'));
$week['WEEK']=array("sun"=>"日","1"=>"月","2"=>"火","3"=>"水","4"=>"木","5"=>"金","sat"=>"土");
return $week;
}
//次へ・前へ
function PRE_NEXT_CNT($max,$CNT,$SET_CNT=0){
if($SET_CNT==0 or $SET_CNT==''){
$SET_CNT=CNT;
}
if($max<=0){return;}
if(!$this->IS_NUM($max)){return;}
//現在のカウントから前5個
if($CNT>0)
{
$pcnt=0;
for($cnts=($CNT-$SET_CNT);$cnts>=0;$cnts-=$SET_CNT)
{
$preset[]=$cnts;
$pcnt++;
if($pcnt>=5){break;}
}
if(is_array($preset))
{
sort($preset);
}
}
//現在のカウントから後5個
if($CNT<$max)
{
$ecnt=0;
for($cnts=($CNT+$SET_CNT);$cnts<$max;$cnts+=$SET_CNT)
{
$endset[]=$cnts;
$ecnt++;
if($ecnt>=5){break;}
}
if(is_array($endset))
{
sort($endset);
}
}
//最後
$amari=(($max+$SET_CNT)%$SET_CNT);
$C['START']=0;
$C['PRE']=$preset;
$C['NOW']=$CNT;
$C['NEXT']=$endset;
$C['SET_CNT']=$SET_CNT;
$last=$max-$amari;
if($amari)
{
$C['LAST']=$last;
}else{$C['LAST']=$max-$SET_CNT;}
return $C;
}
//次へ・前へ
function VIEW_PRE_NEXT($c,$path="?",$jmp=""){
if(!$path){$path="?";}
if(!is_array($c)){return;}
//print "最初 \n";
$pre=$c['NOW']-$c['SET_CNT'];
if($pre>=0){
print "<< \n";
}
if(count($c['PRE'])){
foreach($c['PRE'] as $key=>$value)
{
print "".(($value/$c['SET_CNT'])+1)." \n";
}
}
print "".($c['NOW']/$c['SET_CNT']+1)." \n";
if(count($c['NEXT'])){
foreach($c['NEXT'] as $key=>$value)
{
print "".(($value/$c['SET_CNT'])+1)." \n";
}
}
$next=$c['NOW']+$c['SET_CNT'];
if($next <= $c['LAST'])
{
print ">> \n";
}
//print "最後 \n";
}
//テキストを配列キーに合わせて置き換えする
function CNG_TMPL($TEXT="",$DATA="")
{
$msg=$TEXT;
if(!$TEXT or !count($DATA))
{
return false;
}
foreach($DATA as $key=>$value)
{
$msg=ereg_replace("{".$key."}",$value,$msg);
}
return $msg;
}
//年号置換
function CNG_NENGOU($nen="")
{
$HY="1989";
$SY="1926";
$nengou="";
if(!$nen){$nen=date("Y");}
//計算
//平成
if($HY<=$nen){
$chk=$nen-$HY;
$nengou="平成";
}//昭和
else{
$chk=$nen-$SY;
$nengou="昭和";
}
if($chk=="0"){$nengou.="元年";}
else{$nengou.=($chk+1)."年";}
return $nengou;
}
//CSV作成
function MAKE_CSV($name,$body){
//出力JIS
ini_set("mbstring.http_output","SHIFT-JIS");
header('Pragma: private');
header('Cache-Control: private');
header("Content-Type: application/vnd.ms-excel");
$name=mb_convert_encoding($name,"SHIFT-JIS",ENCODE);
header("Content-Disposition: attachment; filename=".$name);
print mb_convert_encoding($body,"SHIFT-JIS",ENCODE);
exit;
}
//ファイルの書き込み・読み込み
function SET_FILE($fpath,$url){
$fp=fopen($fpath,"w");
chmod($fpath,604);
//データ入れ込み
$data=file($url);
foreach($data as $key=>$value){
fputs($fp,$value);
}
fclose($fp);
}
//ファイルの書き込み データは直入れ
function MAKE_FILE($fpath,$data){
$fp=fopen($fpath,"w");
chmod($fpath,0604);
//データ入れ込み
if(count($data)){
foreach($data as $key=>$value){
fputs($fp,$value);
}
}
fclose($fp);
}
//RSSファイルの書き込み・読み込み
function SET_RSS($fpath,$url){
$fp=fopen($fpath,"w");
chmod($fpath,0604);
//データ入れ込み
$data=file($url);
$switch=false;
foreach($data as $key=>$value){
if(ereg("^- ",$value)){$switch=false;$value.="\n";}
fputs($fp,$value);
}
}
fclose($fp);
}
//RSS1.0読み込み
function READ_RSS1_0($data){
if(!count($data)){return false;}
foreach($data as $key=>$value){
//指定タグを\t化
$value=str_replace("","\t",$value);
$value=str_replace("","\t",$value);
$value=str_replace("","\t",$value);
$value=str_replace("","\t",$value);
$value=str_replace("","\t",$value);
$value=str_replace("","\t",$value);
$value=str_replace("","\t",$value);
//指定タグを\消しこみ
$value=str_replace("
","",$value);
$value=str_replace(" ","",$value);
$value=str_replace("","",$value);
$value=str_replace("","",$value);
$value=str_replace("","",$value);
$value=str_replace("","",$value);
$value=str_replace("","",$value);
$value=ereg_replace(" ","",$value);
$line[$key]=split("\t",$value);
// $line[$key]['title']=ereg_replace("(.+)(.+)<\/title>(.+)","\\2",$value);
// $line[$key]['link']=ereg_replace("(.+) (.+)<\/link>(.+)","\\2",$value);
// $line[$key]['description']=ereg_replace("(.+)(.+)<\/description>(.+)","\\2",$value);
// $line[$key]['date']=ereg_replace("(.+)(.+)<\/dc\:date>(.+)","\\2",$value);
}
return $line;
}
function FILE_BUILD($URL,$CFILE,$pid){
$toDIR = "../"; //生成先
$DIR = $toDIR."group/"; //生成先Dir;./group/
//各ファイル生成
// print $URL;
// exit;
//各ファイル生成
$files=file($URL); //絶対Pathからhtmlタグを読み込む。配列格納。
$fp=fopen($DIR.$CFILE,"w");
//XXXXXXXX書き込む前にファイルをロック
flock($fp,LOCK_EX);
foreach($files as $key=>$value)
{ fwrite($fp,$value); }
//XXXXXXXX書き込んだ後にロック解除
flock($fp,LOCK_UN);
fclose($fp);
$ret = @chmod($DIR.$CFILE, 0777); //パーミッション変更
$ret = @chown($DIR.$CFILE,"remar"); //所有者変更
}
//端末チェッカー
function TERMINAL_CHK(){
$this->agent = $_SERVER['HTTP_USER_AGENT'];
//クローラープラス
if(eregi("DoCoMo|^DoCoMo.+Googlebot-Mobile",$this->agent)){$this->terminal="docomo";}//ドコモ
elseif(eregi("UP.Browser|^.+KDDI\-Googlebot\-Mobile.+",$this->agent)){$this->terminal="au";}//アーウー
elseif(eregi("Vodafone|VodafoneKKSearch",$this->agent)){$this->terminal="vodafone";}//ボーダ
elseif(eregi("SoftBank|SoftBankMobileSearch|Y\!J\-SRD|Y\!J\-MBS",$this->agent)){$this->terminal="softbank";}//ソフトバンク
elseif(eregi("J-PHONE",$this->agent)){$this->terminal="j-phone";}//J-PHONE
elseif(eregi("WILLCOM",$this->agent)){$this->terminal="willcom";}//WILCOMはドコモ系と同じにしたい
elseif(eregi("iphone",$this->agent)){$this->terminal="iphone";}//iフォン
elseif(eregi("ipad",$this->agent)){$this->terminal="ipad";}//iパッド
elseif(eregi("ipod",$this->agent)){$this->terminal="ipod";}//iポッド
elseif(eregi("Android",$this->agent)){$this->terminal="Android";}//アンドロイド
else{$this->terminal="PC";}//PC・・・っていうか携帯3機種+WILLCOM以外
return $this->terminal;
}
//端末に合わせたエンコード
function ENCODE_AGENT($data){
switch($this->terminal){
//モバイルの場合
case "docomo":
case "au":
case "vodafone":
case "softbank":
case "j-phone":
case "willcom":
mb_convert_variables("SJIS","UTF-8",$data);
return $data;
break;
}
//何もなければそのままリターン
return $data;
}
//置き換えファンクション
function CNG_HTMLCODE($cngstr1="",$cngstr2="",$str=""){
//変換用データが無い場合
if(!$cngstr1 or !$cngstr2 or !$str){
return false;
}
$strs=str_replace($cngstr1,$cngstr2,$str);
return $strs;
}
function EXT_TYPE_IMGS($ext){
if(ereg("xls|xles",$ext)){return URL."/img/xls.png";}
if(ereg("docx|doc",$ext)){return URL."/img/word.png";}
if(ereg("pdf",$ext)){return URL."/img/pdf.png";}
if(ereg("swf",$ext)){return URL."/img/swf.png";}
}
function url_exists($url) {
// Version 4.x supported
$handle = curl_init($url);
if (false === $handle)
{
return false;
}
curl_setopt($handle, CURLOPT_HEADER, false);
curl_setopt($handle, CURLOPT_FAILONERROR, true); // this works
curl_setopt($handle, CURLOPT_HTTPHEADER, Array("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15") ); // request as if Firefox
curl_setopt($handle, CURLOPT_NOBODY, true);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, false);
$connectable = curl_exec($handle);
curl_close($handle);
return $connectable;
}
//携帯機種別のインプットスタイル決め
function MOB_TEXT_TYPE($mode="",$add_style=""){
$kt=$this->terminal;
//モード決め
switch($mode){
case "1":$mode="漢";break;
case "2":$mode="半角カナ";break;
case "3":$mode="英";break;
case "4":$mode="数";break;
default:$mode="漢";break;
}
//機種別
switch($kt){
//ドコモ
case "docomo":
if($mode=="半角カナ"){$style=" style=\"-wap-input-format:"*<ja:hk>";".$add_style."\" ";}
elseif($mode=="英"){$style=" style=\"-wap-input-format:"*<ja:en>";".$add_style."\" ";}
elseif($mode=="数"){$style=" style=\"-wap-input-format:"*<ja:n>";".$add_style."\" ";}
else{$style=" style=\"-wap-input-format:"*<ja:h>";".$add_style."\" ";}
break;
//AU
case "au":
//ソフトバンク
case "softbank":
case "j-phone":
case "vodafone":
if($mode=="半角カナ"){$style=" istyle='2' style='".$add_style."' ";}
elseif($mode=="英"){$style=" istyle='3' style='".$add_style."' ";}
elseif($mode=="数"){$style=" istyle='4' style='".$add_style."' ";}
else{$style=" istyle='1' style='".$add_style."' ";}
break;
}
return $style;
}
function PRE_NEXT($CNT,$LCNT="10",$MCNT){
print "";
if($CNT>0){
$precnt=($LCNT-$CNT);
if($precnt<0){$precnt=abs($precnt);}
print "
前へ ";
}
print "全
".$MCNT." 件";
if(($LCNT+$CNT)<$MCNT){
print "
次へ ";
}
print "
\n";
}
}
?>
Fatal error : Uncaught Error: Class "COMMON" not found in /home/c2105622/public_html/old.okipachi-slot.com/index.php:8
Stack trace:
#0 {main}
thrown in /home/c2105622/public_html/old.okipachi-slot.com/index.php on line 8