/", ">", $str); return $str; } function getYoutubeMovieLink($artist, $music, $type='web'){ $artistEx = explode('(', urldecode($artist)); $musicEx = explode('(', urldecode($music)); $keyword = (trim($artistEx[0]) == '' ? '' : trim($artistEx[0]).' ').trim($musicEx[0]); $getYoutubeUrl = file_get_contents('https://gdata.youtube.com/feeds/api/videos?q='.urlencode($keyword).'&alt=json'); $getYoutube = json_decode($getYoutubeUrl, true); $android = ''; for($i=0; $i < count($getYoutube); $i++){ $android = $getYoutube['feed']['entry'][$i]['media$group']['media$content'][1]['url']; if($android != '') break; } $web = ''; for($i=0; $i < count($getYoutube); $i++){ $web = $getYoutube['feed']['entry'][$i]['media$group']['media$content'][0]['url']; if($web != '') break; } $duration = ''; for($i=0; $i < count($getYoutube); $i++){ $duration = $getYoutube['feed']['entry'][$i]['media$group']['media$content'][0]['duration']; if($duration != '') break; } if($type == 'web') return $web; else if($type == 'android') return $android; else if($type == 'duration') return $duration; } function pSkinSet($kind, $file, $layout='self', $role='normal'){ global $PSKIN, $SKIN_ROOT, $PUSANKJS_SYS, $_SESSION, $modView; $layerEx = explode('|', $layout); if($layout == 'adm') define('PUSANKJS_SKIN_MAIN_CONTENTS_FILE', pSkinDir($kind, false, 'ROOT').'/'.$file); elseif($layout == 'tm') define('PUSANKJS_SKIN_MAIN_CONTENTS_FILE', pSkinDir($kind, false, 'TM').'/'.$file); elseif($layout == 'staff') define('PUSANKJS_SKIN_MAIN_CONTENTS_FILE', pSkinDir($kind, false, 'STAFF').'/'.$file); else{ //exit('w : ' .$layerEx[1]); if($layerEx[1] == 'adm') define('PUSANKJS_SKIN_MAIN_CONTENTS_FILE', pSkinDir($kind, false, 'ROOT').'/'.$file); elseif($layerEx[1] == 'tm') define('PUSANKJS_SKIN_MAIN_CONTENTS_FILE', pSkinDir($kind, false, 'TM').'/'.$file); elseif($layerEx[1] == 'staff') define('PUSANKJS_SKIN_MAIN_CONTENTS_FILE', pSkinDir($kind, false, 'STAFF').'/'.$file); else define('PUSANKJS_SKIN_MAIN_CONTENTS_FILE', ($role == 'adm' ? pSkinDir($kind, false, 'ROOT') : pSkinDir($kind)).'/'.$file); } if($layerEx[0] == 'self'){ $PSKIN['view_layout'] = pSkinDir('main').'/'.$role.'.main.html'; }elseif($layerEx[0] == 'adm'){ $PSKIN['view_layout'] = pSkinDir('main', false, 'ROOT').'/'.$role.'.main.html'; }elseif($layerEx[0] == 'tm'){ $PSKIN['view_layout'] = pSkinDir('main', false, 'TM').'/'.$role.'.main.html'; }elseif($layerEx[0] == 'staff'){ $PSKIN['view_layout'] = pSkinDir('main', false, 'STAFF').'/'.$role.'.main.html'; }elseif($layerEx[0] == 'window_open'){ $PSKIN['view_layout'] = pSkinDir('main').'/'.$role.'.window.html'; }elseif ($layerEx[0] == 'layer'){ $PSKIN['view_layout'] = ($role == 'adm' ? pSkinDir('main', false, ($layerEx[1] == '' ? 'ROOT' : strtoupper($layerEx[1]))) : pSkinDir('main')).'/'.$role.'.layer.html'; }elseif ($layerEx[0] == 'onlylayer'){ $PSKIN['view_layout'] = pSkinDir('main').'/'.$role.'.layer.only.html'; }elseif ($layerEx[0] == 'iframe'){ $PSKIN['view_layout'] = pSkinDir('main').'/'.$role.'.iframe.html'; }else{ msg("pSkinSet() 함수에서 세번째 입력값인 layout 에는 self, window_open, iframe, main, layer값만 입력할 수 있습니다.입력된 값 : ".$layout, '', 'history.back();return;'); } } function getSkinSet($rootDir, $dir, $file, $layout='main', $singleMode=false, $rootIs=false){ global $PSKIN, $SKIN_ROOT, $PUSANKJS_SYS, $_SESSION, $modView, $getSiteSkin; $file = str_replace(array('.siso', '.php'), '.html', $file); $rootDir = $rootDir == '_guest/' ? ($rootDir.($getSiteSkin['di_skin'] ? $getSiteSkin['di_skin'] : 'basic').'/') : $rootDir; define('PUSANKJS_SKIN_MAIN_CONTENTS_FILE', getSkinDir($rootDir.$dir, $singleMode, $rootIs).'/'.$file); // /home/alrigo/public_html/Form/_guest/main/main.html //echo $rootDir;exit; $PSKIN['view_layout'] = getSkinDir($rootDir.'main', $singleMode, $rootIs).'/'.$layout.'.html'; //echo $PSKIN['view_layout'];exit; $allowLayout = array('main', 'layer', 'blank', 'login'); if(!in_array($layout, $allowLayout)){ msg("pSkinSet() 함수에서 세번째 입력값인 layout 에는 [self, window_open, iframe, main, layer]값만 입력할 수 있습니다.입력된 값 : ".$layout, '', 'history.back();'); } } function getSkinDir($dir, $singleMode=false, $isroot=false){ global $PSKIN, $PUSANKJS_SYS, $SKIN_ROOT; //exit($SKIN_ROOT); //exit($isroot); $path = $SKIN_ROOT.'/'.($singleMode != true ? $PUSANKJS_SYS['SITE_SKIN'].'/' : '').$dir; if($isroot){ $path = '/Form/'.$dir; } //exit($path); return $path; } function pSkinDir($kind, $isroot=false, $isadmin=false){ global $PSKIN, $PUSANKJS_SYS, $SKIN_ROOT, $_SERVER; switch($isadmin){ case 'TM' : $SKINDIR = 'T_SITE_SKIN'; break; case 'STAFF' : $SKINDIR = 'S_SITE_SKIN'; break; default : $SKINDIR = 'A_SITE_SKIN'; break; } if($isadmin){ $path = $SKIN_ROOT.'/'.$PUSANKJS_SYS[$SKINDIR].'/'.$kind; if($_SERVER['HTTP_HOST'] == 'n-protect.co.kr') $mpath = $SKIN_ROOT.'/'.$PUSANKJS_SYS[$SKINDIR].'/'.$kind; else $mpath = $SKIN_ROOT.'/'.$PUSANKJS_SYS[$SKINDIR].'_m'.'/'.$kind; if(preg_match('/(lgtelecom|android|blackberry|iphone|ipad|samsung|symbian|sony|SCH-|SPH-|SHW-)/Uis', $_SERVER['HTTP_USER_AGENT'])){ if(is_dir($mpath)){ $path = $mpath; }else{ $path = $path; } } }else $path = $SKIN_ROOT.'/'.$PUSANKJS_SYS['SITE_SKIN'].'/'.$kind; if($isroot){ if($isadmin){ $path = '/Form/'.$PUSANKJS_SYS[$SKINDIR].'/'.$kind; $mpath = '/Form/'.$PUSANKJS_SYS[$SKINDIR].'_m/'.$kind; if(preg_match('/(lgtelecom|android|blackberry|iphone|ipad|samsung|symbian|sony|SCH-|SPH-|SHW-)/Uis', $_SERVER['HTTP_USER_AGENT'])){ //echo $_SERVER['DOCUMENT_ROOT'].$mpath; if(is_dir($_SERVER['DOCUMENT_ROOT'].$mpath)){ $path = $mpath; }else{ $path = $path; } } }else $path = '/Form/'.$PUSANKJS_SYS['SITE_SKIN'].'/'.$kind; } return $path; } function getmicrotime(){ list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); } function pXmlSet($dir=''){ global $PSKIN, $PUSANKJS_SYS, $_SESSION; $getXmlDir = $PUSANKJS_SYS['URL_ROOT'].'/XML/'.$dir; return $getXmlDir; } function kSkinDirRoot($kind){ return pSkinDir($kind, true); } function userSkinDir($kind, $type=true){ global $mobileSiteIS; $skindir = '_guest/'; return getSkinDir($skindir.$kind, true, $type); } function adminSkinDirRoot($kind, $type='ROOT'){ return pSkinDir($kind, true, $type); } function echoAr($ar, $exit=true, $pre=true){ if($pre){ echo '
';
			print_r($ar);
			echo '
'; }else print_r($ar); if($exit) exit(); } function getSubCateFirstIdx($MAINCATE){ return getValue('_CATE', " where c_p_idx = '".$MAINCATE."' order by c_rank asc limit 1 ", 'c_idx', 'c_idx'); } function getCateIdxToName($IDX){ return getValue('_CATE', " where c_idx = '".$IDX."' ", 'c_name', 'c_name'); } function strcut_utf8($str, $len, $checkmb=true, $tail='...'){ preg_match_all('/[\xEA-\xED][\x80-\xFF]{2}|./', $str, $match); $m = $match[0]; $slen = strlen($str); $tlen = strlen($tail); $mlen = count($m); if($slen <= $len) return $str; if(!$checkmb && $mlen <= $len) return $str; $ret = array(); $count = 0; for($i=0; $i < $len; $i++){ $count += ($checkmb && strlen($m[$i]) > 1)?2:1; if ($count + $tlen > $len) break; $ret[] = $m[$i]; } return join('', $ret).$tail; } function getOnlyDomainInfo($url, $type=1){ $urlCut = parse_url($url); if($type == 1){ $pattern = "/[a-z0-9A-Z가-힣-]+\.([a-z0-9A-Z가-힣]|co\.kr)+$/i"; preg_match_all($pattern, $urlCut['host'], $matches); return trim($matches[0][0]); }else{ return trim($urlCut['host']); } } function validatePin($_pin){ $pin = str_replace('-', '', $_pin); $state = preg_match('/^[0-9]{13}$/', $pin); if($state==true){ $sum = 0; $chkNum = substr($pin,6,1); if(!ereg('[1-4]', $chkNum)) return false; if(!is_numeric($pin)) return false; $arrNo = Array(2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5); for ($i=0;$i<12;$i++) $sum += substr($pin,$i,1) * $arrNo[$i]; $num = (11-$sum%11)%10; if($num == substr($pin,12,1) ) return true; else return false; } return $state; } function setSession($NAME, $VALUE){ if(PHP_VERSION < '5.3.0') session_register($NAME); $$NAME = $_SESSION["$NAME"] = $VALUE; } function getSession($NAME){ return $_SESSION[$NAME]; } function getImgSize($img){ if (!file_exists($img)) return; return getimagesize($img); } function setNoImage($img){ global $_SERVER; $size = getImgSize($_SERVER['DOCUMENT_ROOT'].$img); $noImageSize = strstr($img, '/50/') == '' ? 240 : 50; if($size[0] != '') return _SITE_URL.$img; else return _SITE_URL.kSkinDirRoot('images').'/noimg'.$noImageSize.'.png'; } function msg($_msg='', $_url='', $_script=''){ $charset = _CHARSET_; $msg = ($_msg?"alert('{$_msg}');":''); $redirect = ($_url?"location.replace('{$_url}');":''); $script = ($_script?"{$_script}":''); //echo $redirect;exit; $html = <<<_HTML_ _HTML_; exit($html); } function swal_init() { ?> 0 && $reqPage + $hfSzBlock <= $whlPgCount){ $sPage = $reqPage - $hfSzBlock; $ePage = $reqPage + ($hfSzBlock - 1); }else{ $sPage = ($reqPage - ($hfSzBlock + 1)) < 1 ? 1 : $whlPgCount - ($szBlock - 1); $ePage = ($reqPage - ($hfSzBlock + 1)) < 1 ? ($szBlock <= $whlPgCount ? $szBlock : $whlPgCount) : $whlPgCount; } if($sPage < 1) $sPage = 1; // 마이너스 페이지가 나오는것 예방. if($reqPage > 1){ $value .= " 처음 \n"; $value .= " < \n"; }else{ $value .= " 처음 \n"; $value .= " < \n"; } for($iCount = $sPage; $iCount <= $ePage; $iCount++){ if ($reqPage == $iCount) $value .= "$iCount\n"; else $value .= "$iCount\n"; } if($reqPage < $whlPgCount){ $value .= "> \n"; $value .= "\n"; }else{ $value .= " > \n"; $value .= " 끝 \n"; } if($return){ return($value); }else{ echo($value); } // if() } */ function disPgCount($whlPgCount, $reqPage, $strTrans, $return=0){ $reqPage = trim($reqPage); $strTrans = trim($strTrans); $szBlock = 10; $hfSzBlock = (int)($szBlock / 2); $strFile = $_SERVER['PHP_SELF']; $sPage; $ePage; $iCount; $value; if($reqPage - ($hfSzBlock + 1) > 0 && $reqPage + $hfSzBlock <= $whlPgCount){ $sPage = $reqPage - $hfSzBlock; $ePage = $reqPage + ($hfSzBlock - 1); }else{ $sPage = ($reqPage - ($hfSzBlock + 1)) < 1 ? 1 : $whlPgCount - ($szBlock - 1); $ePage = ($reqPage - ($hfSzBlock + 1)) < 1 ? ($szBlock <= $whlPgCount ? $szBlock : $whlPgCount) : $whlPgCount; } if($sPage < 1) $sPage = 1; // 마이너스 페이지가 나오는것 예방. $value .= "
"; if($reqPage > 1){ $value .= ""; $value .= ""; }else{ $value .= ""; $value .= ""; } for($iCount = $sPage; $iCount <= $ePage; $iCount++){ if ($reqPage == $iCount) $value .= ""; else $value .= ""; } if($reqPage < $whlPgCount){ $value .= ""; $value .= ""; }else{ $value .= ""; $value .= ""; } $value .= "
"; if($return){ return($value); }else{ echo($value); } // if() } function disPgCountUser($whlPgCount, $reqPage, $strTrans, $return=0){ $reqPage = trim($reqPage); $strTrans = trim($strTrans); $szBlock = 10; $hfSzBlock = (int)($szBlock / 2); $strFile = $_SERVER['PHP_SELF']; $sPage; $ePage; $iCount; $value; if($reqPage - ($hfSzBlock + 1) > 0 && $reqPage + $hfSzBlock <= $whlPgCount){ $sPage = $reqPage - $hfSzBlock; $ePage = $reqPage + ($hfSzBlock - 1); }else{ $sPage = ($reqPage - ($hfSzBlock + 1)) < 1 ? 1 : $whlPgCount - ($szBlock - 1); $ePage = ($reqPage - ($hfSzBlock + 1)) < 1 ? ($szBlock <= $whlPgCount ? $szBlock : $whlPgCount) : $whlPgCount; } if($sPage < 1) $sPage = 1; // 마이너스 페이지가 나오는것 예방. //$value .= "
"; $value = '
'; if($reqPage > 1){ $value .= "<<"; $value .= "<"; }else{ $value .= '<<'; $value .= '<'; } for($iCount = $sPage; $iCount <= $ePage; $iCount++){ if ($reqPage == $iCount) $value .= "$iCount"; else $value .= "$iCount"; } if($reqPage < $whlPgCount){ $value .= ">"; $value .= ">>"; //$value .= ""; }else{ $value .= '>'; $value .= '>>'; } $value .= "
"; if($return){ return($value); }else{ echo($value); } // if() } function disPgCount2($whlPgCount, $reqPage, $strTrans, $return=0){ $reqPage = trim($reqPage); $strTrans = trim($strTrans); $szBlock = 10; $hfSzBlock = (int)($szBlock / 2); $strFile = $_SERVER['PHP_SELF']; $sPage; $ePage; $iCount; $value; if($reqPage - ($hfSzBlock + 1) > 0 && $reqPage + $hfSzBlock <= $whlPgCount){ $sPage = $reqPage - $hfSzBlock; $ePage = $reqPage + ($hfSzBlock - 1); }else{ $sPage = ($reqPage - ($hfSzBlock + 1)) < 1 ? 1 : $whlPgCount - ($szBlock - 1); $ePage = ($reqPage - ($hfSzBlock + 1)) < 1 ? ($szBlock <= $whlPgCount ? $szBlock : $whlPgCount) : $whlPgCount; } if($sPage < 1) $sPage = 1; // 마이너스 페이지가 나오는것 예방. $value .= "
"; if($reqPage > 1){ //$value .= ""; $value .= ""; }else{ //$value .= ""; $value .= ""; } for($iCount = $sPage; $iCount <= $ePage; $iCount++){ if ($reqPage == $iCount) $value .= "$iCount"; else $value .= "$iCount"; } if($reqPage < $whlPgCount){ $value .= ""; //$value .= ""; }else{ $value .= ""; //$value .= ""; } $value .= "
"; if($return){ return($value); }else{ echo($value); } // if() } function fileReName($f){ global $_SERVER; $chars_array = array_merge(range(0,9), range('a','z'), range('A','Z')); shuffle($chars_array); $shuffle = implode("", $chars_array); return abs(ip2long($_SERVER['REMOTE_ADDR'])).'_'.substr($shuffle,0,8).'_'.str_replace('%', '', urlencode(str_replace(' ', '_', $f))); } function fileUpload($file, $dir, $dirDelim=''){ global $UPLOAD_ROOT, $_FILES; if(!is_dir($UPLOAD_ROOT.'/'.$dir)){ mkdir($UPLOAD_ROOT.'/'.$dir, 0777); chmod($UPLOAD_ROOT.'/'.$dir, 0777); } if($dirDelim != ''){ if(!is_dir($UPLOAD_ROOT.'/'.$dir.'/'.$dirDelim)){ mkdir($UPLOAD_ROOT.'/'.$dir.'/'.$dirDelim, 0777); chmod($UPLOAD_ROOT.'/'.$dir.'/'.$dirDelim, 0777); } } $uploadDir = $UPLOAD_ROOT.'/'.$dir.'/'.($dirDelim != '' ? $dirDelim.'/' : ''); //ECHO $uploadDir;EXIT(); $fileChange = fileReName($_FILES[$file]['name']); $saveDir = $uploadDir.$fileChange; if(move_uploaded_file($_FILES[$file]['tmp_name'], $saveDir)){ ; }else{ return; } return $fileChange; } function AppfileUpload($file, $dir, $dirDelim='', $p_idx='', $change=''){ global $UPLOAD_ROOT, $_FILES; if(!is_dir($UPLOAD_ROOT.'/'.$dir)){ mkdir($UPLOAD_ROOT.'/'.$dir, 0777); chmod($UPLOAD_ROOT.'/'.$dir, 0777); } if($dirDelim != ''){ if(!is_dir($UPLOAD_ROOT.'/'.$dir.'/'.$dirDelim)){ mkdir($UPLOAD_ROOT.'/'.$dir.'/'.$dirDelim, 0777); chmod($UPLOAD_ROOT.'/'.$dir.'/'.$dirDelim, 0777); } } if($p_idx != ''){ $idx_num = $p_idx.'_'; } $uploadDir = $UPLOAD_ROOT.'/'.$dir.'/'.($dirDelim != '' ? $dirDelim.'/' : ''); if($change == 'Y'){ $fileChange = $idx_num.fileReName($_FILES[$file]['name']); }else{ $fileChange = $p_idx.$_FILES[$file]['name'];//fileReName($_FILES[$file]['name']); } $saveDir = $uploadDir.$fileChange; if(move_uploaded_file($_FILES[$file]['tmp_name'], $saveDir)){ ; }else{ return; } return $fileChange; } function setOutput($v, $t='txt', $delimTxt='', $cut='0', $txt='*'){ $unit = explode('|', $t); if($unit[0]) if($unit[0] == 'money' || $unit[0] == 'round') if($v == '') return '0'.$delimTxt; if($v == '') return ''; switch($unit[0]){ case 'money' : $changeValue = number_format($v); break; case 'nl2br' : $changeValue = nl2br($v); break; case 'round' : $changeValue = round($v, $unit[1]); break; case 'img' : $changeValue = ""; break; /* case 'tel' : $changeValue = setTelType($v); break; */ default : $changeValue = $v; break; } $returnTxt = trim(stripslashes($changeValue)); if($cut > 0){ $changeTxt = ''; for($i=0;$i<$cut;$i++) $changeTxt .= $txt; $returnTxt = str_replace(substr($v,-$cut), $changeTxt, $v); } return $returnTxt.$delimTxt; } function setOutput2($v, $t='txt', $delimTxt='', $cut='0', $txt='*'){ $unit = explode('|', $t); if($unit[0]) if($unit[0] == 'money' || $unit[0] == 'round') if($v == '') return '0'.$delimTxt; if($v == '') return ''; switch($unit[0]){ case 'money' : $changeValue = number_format($v); break; case 'nl2br' : $changeValue = nl2br($v); break; case 'round' : $changeValue = round($v, $unit[1]); break; case 'img' : $changeValue = ""; break; /* case 'tel' : $changeValue = setTelType($v); break; */ default : $changeValue = $v; break; } $returnTxt = trim(addslashes($changeValue)); if($cut > 0){ $changeTxt = ''; for($i=0;$i<$cut;$i++) $changeTxt .= $txt; $returnTxt = str_replace(substr($v,-$cut), $changeTxt, $v); } return $returnTxt.$delimTxt; } function setTelType($obj, $delim='-'){ $telNumber = str_replace('-', '', $obj); if(strlen($telNumber) == 8){ $modifyTelNumber = substr($telNumber,0,4).$delim.substr($telNumber,4,4); }elseif(strlen($telNumber) == 10){ $modifyTelNumber = substr($telNumber,0,3).$delim.substr($telNumber,3,3).$delim.substr($telNumber,6,4); }elseif(strlen($telNumber) == 11){ $modifyTelNumber = substr($telNumber,0,3).$delim.substr($telNumber,3,4).$delim.substr($telNumber,7,4); } return $modifyTelNumber; } function getAdminMenuSearch($link, $returnKind='detail',$key=0){ global $menu; $onLyFile = strtolower(substr(strrchr(urldecode($link), "/"),1)); for($i=0; $i < count($menu['admin']); $i++){ if(count($menu['admin'][$i][2]) > 0){ $subMenuEx = ''; for($j=0; $j < count($menu['admin'][$i][2]); $j++){ $subMenuEx = explode('?', $menu['admin'][$i][2][$j][1]); if($subMenuEx[0] == $onLyFile){ $main = $menu['admin'][$i][$key]; $detail = $menu['admin'][$i][2][$j][$key]; break; }else{ ; } } } } return $returnKind == 'main' ? $main : $detail; } function searchFont($search, $title, $changeColor='#FF6C00'){ $src = array("/", "|"); $dst = array("\/", "\|"); if (!trim($search)) return $title; $s = explode(" ", $search); $pattern = ""; $bar = ""; for ($m=0; $m)"; $bar = "|"; } $replace = "\\1"; return preg_replace("/($pattern)/i", $replace, $title); } function getDir($folder, $where='folder', $sort='asc', $excSkinDirAr=''){ $result_array = array(); $dirname = $folder; $handle = opendir($dirname); while($file = readdir($handle)){ if($file == "."||$file == "..") continue; if($where == 'folder'){ if(in_array($file, $excSkinDirAr)) continue; if(is_dir($dirname.$file)) $result_array[] = $file; }elseif($where =='file'){ if(is_dir($dirname.$file) == false) $result_array[] = $file; } } closedir($handle); if($sort == 'asc') sort($result_array); elseif($sort == 'desc') rsort($result_array); return $result_array; } function setCookieData($_cookie_key, $_value, $_limit = 0){ return setCookie($_cookie_key, encrypt(_DF_SECURE_KEY_, $_value), $_limit, '/', _DF_COOKIE_DOMAIN_); } function getCookieData($_cookie_key){ $cookie_value = $_COOKIE[$_cookie_key]; if($cookie_value) $cookie_value = decrypt(_DF_SECURE_KEY_, $cookie_value); return $cookie_value; } //# 암호화 - 암호화 모듈 : RIJNDAEL function encrypt($_securekey, $_string){ if(function_exists('mcrypt_create_iv')){ $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND); return rawurlencode(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, trim($_securekey), strrev(trim($_string)), MCRYPT_MODE_ECB, $iv))); }else return false; } //# 복호화 - 복호화 모듈 : RIJNDAEL function decrypt($_securekey, $_string){ if(function_exists('mcrypt_create_iv')){ $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND); return strrev(trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, trim($_securekey), base64_decode(rawurldecode($_string)), MCRYPT_MODE_ECB, $iv))); }else return false; } function getVisitFn($type, $agent){ global $_SERVER; include_once $_SERVER['DOCUMENT_ROOT'].'/lib/visit.func.php'; $agentAr = explode('@', $agent); if($agentAr[0] == 'WEB'){ switch($type){ case 'OS' : $v = get_os($agentAr[1]); break; case 'BR' : $v = get_brow($agentAr[1]); break; case 'MADE' : $v = get_made($agentAr[1]); break; } }elseif($agentAr[0] == 'APP'){ //APP@samsung/SHW-M110S/SHW-M110S:2.3.5/GINGERBREAD/VJ04:user/release-keys $vAr = explode('/', $agentAr[1]); switch($type){ case 'OS' : //버젼(맞출려고) $v = $vAr[3]; break; case 'BR' : //모델(맞출려고) $v = $vAr[1];//.' / '.getPhoneProductName($vAr[1]); break; case 'MADE' : //제조사(맞출려고) $v = $vAr[0]; break; } }elseif($agentAr[0] == 'MOBILEAPP'){ $a = explode(')', $agentAr[1]); $b = explode('(', $a[0]); $vAr = explode(';', $b[1]); $BRAR = explode(' ', trim($vAr[4])); $iosBRAR = explode(' ', trim($vAr[1])); switch($type){ case 'OS' : //버젼(맞출려고) if($iosBRAR[5] == 'Mac') $v = $iosBRAR[5] . ' '.$iosBRAR[6]; else if($iosBRAR[0] == 'Android') $v = $vAr[1]; else if($iosBRAR[4] == 'Mac') $v = $iosBRAR[4] . ' '.$iosBRAR[5]; //아이패드 else if(strstr($vAr[0], 'Windows')) $v = $vAr[0]; //윈도우 else $v = $vAr[2] == '' ? (strstr(strtolower($vAr[1]), 'bot') ? 'ROBOT' : $vAr[1]) : $vAr[2]; break; case 'BR' : //모델(맞출려고) if($iosBRAR[5] == 'Mac') $v = $iosBRAR[1].' '.$iosBRAR[2].' '.$iosBRAR[3]; else if($iosBRAR[0] == 'Android') $v = $vAr[2]; else if(strstr($vAr[0], 'Windows')) $v = $vAr[0]; //윈도우 else if($iosBRAR[4] == 'Mac') $v = $vAr[0] . ' '.$iosBRAR[1] . ' '.$iosBRAR[2]; //아이패드 else $v = $BRAR[0]; break; case 'MADE' : //제조사(맞출려고) $v = get_made($agentAr[1]).'/'.get_brow($agentAr[1]); break; } } return $v; } //아이피 국가 가져오기 function getConCityName($IP, $type=1){ /* 1: country_code : KR 2: country_code3 : KOR 3: country_name : Korea, Republic of 4: city : Seoul */ include_once $_SERVER['DOCUMENT_ROOT']."/Conn/data/ip/geoipcity.inc"; include_once $_SERVER['DOCUMENT_ROOT']."/Conn/data/ip/geoipregionvars.php"; $gi = geoip_open($_SERVER['DOCUMENT_ROOT']."/Conn/data/ip/GeoLiteCity.dat",GEOIP_STANDARD); $record = geoip_record_by_addr($gi,$IP); switch($type){ case '1' : $val = $record->country_code; break; case '2' : $val = $record->country_code3; break; case '3' : $val = $record->country_name; break; case '4' : $val = $record->city; break; default : $val = 'Not'; break; } geoip_close($gi); return $val; } function getPhoneProductName($ID){ $urlParsor = socketPost("http://ko.m.wikipedia.org/wiki/".$ID); $urlToHtml = "".$urlParsor.""; $s = explode('',"".$urlToHtml.""); $s2 = explode('', $s[1]); $lastExAr = explode('-', $s2[0]); //return trim($lastExAr[0]).'(추측)'; return trim($lastExAr[0]); } function unDisCarrierCode($CODE){ switch($CODE){ case '0000' : $company = 'SKT'; break; case '0001' : $company = 'KTF'; break; case '0002' : $company = 'LGT'; break; default : $company = $CODE; break; } return $company; } function getCarrierCode($CODE){ switch($CODE){ case 'SKT' : $company = '0000'; break; case 'KTF' : $company = '0001'; break; case 'LGT' : $company = '0002'; break; default : $company = $CODE; break; } return $company; } function getOnlyNumFn($val){ return preg_replace("/[^0-9]*/s", "", $val); } function getFilesize($size){ if($size >= 1048576){ $size = number_format($size/1048576, 1) . "M"; }elseif($size >= 1024){ $size = number_format($size/1024, 1) . "K"; }else{ $size = number_format($size, 0) . "byte"; } return $size; } function superDownMemRegi($ID, $PW, $RANK=1){ $superDownRegi = socketGet('http://superdown.co.kr/aff/sitecode8/mig.php', '&sitecode=nk01&mb_id='.$ID.'&mb_pw='.$PW); $ID2 = ''; $returnValue = ''; if($superDownRegi == 'Y') $returnValue = $ID; else{ $superDownIDCheck = socketGet('http://superdown.co.kr/aff/sitecode8/idchk.php', '&sitecode=nk01&mb_id='.$ID); $englishAr = Array('','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'); if($superDownIDCheck != 'Y'){ $ID2 = $englishAr[$RANK].substr($ID,0,-1); $superDownRegi = socketGet('http://superdown.co.kr/aff/sitecode8/mig.php', '&sitecode=nk01&mb_id='.$ID2.'&mb_pw='.$PW); if($superDownRegi == 'Y'){ $returnValue = $ID2; } } } $RANK++; if($RANK > 26) return 'NN'; if($returnValue != ''){ return $returnValue; }else{ unset($returnValue); return superDownMemRegi($ID, $PW, $RANK); } } function superDownPaymentRegi($ID, $RANK=1){ $superDownPayIs = socketGet('http://superdown.co.kr/aff/sitecode8/payok.php', '&sitecode=nk01&mb_id='.$ID.'&day=30'); if($superDownPayIs == 'OK') $returnValue = 'Y'; $RANK++; if($RANK > 26) return 'NN'; if($returnValue != ''){ return $returnValue; }else{ unset($returnValue); return superDownPaymentRegi($ID, $RANK); } } function siteCodeToTxt($obj){ global $siteInfo; $siteGroupKey = array_search($obj, explode('|', $siteInfo['s_site_group'])); $siteGroupTxt = explode('|', $siteInfo['s_site_group_txt']); return $siteGroupTxt[$siteGroupKey]; } function getFileSizeByHTTPHeader($url){ $ch = curl_init($url); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $ret = curl_exec($ch); curl_close($ch); if ($ret === false) return false; if (preg_match('/^HTTP\/1\.[01] (\d\d\d)/', $ret, $matches)) $status = (int)$matches[1]; if (preg_match('/Content-Length: (\d+)/', $ret, $matches)) $fsize = (int)$matches[1]; if ($status != 200) return '0'; return $fsize; } function getViewLogTitle($SITECODE, $LOGIDX){ if($SITECODE >= 1 && $SITECODE <= 10) $title = getValue('_GET_MNET_LIST', " where gml_idx = '".$LOGIDX."' ", 'gml_music_name', 'gml_music_name'); else if($SITECODE >= 31 && $SITECODE <= 90) $title = getValue('_GET_SP_LIST', " where sl_idx = '".$LOGIDX."' ", 'Bbstitle', 'Bbstitle'); else $title = ''; return $title; } //푸시 함수 function push_data($headers,$arr){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://android.googleapis.com/gcm/send'); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($arr)); $response = curl_exec($ch); curl_close($ch); //echoAr($response); //echoAr($arr); query( " insert into _PUSH_HISTORY set ph_title = '".$arr['data']['title']."' , ph_msg = '".$arr['data']['msg']."' , ph_cn = '".count($arr['registration_ids'])."' , ph_system_is = 'Y' , ph_chat_is = 'N' " ); } function isAdult($socialnumber){ $sType = substr($socialnumber,6,1); $year = substr($socialnumber,0,2); $month = substr($socialnumber,2,2); $day = substr($socialnumber,4,2); if($sType=='1' || $sType=='2'){ $year= '19'.$year; }else{ $year ='20'.$year; } $a_year = date('Y')-$year; $a_month = date('m'); $a_day = date('d'); if(($month <= $a_month) && ($day <= $a_day)){ $age = $a_year; }else{ $age = ($a_year-1); } if($age < 20){ return 'N'; }else{ return 'Y'; } } function resnoCheck($resno1, $resno2){ $resno = $resno1 . $resno2; // 형태 검사: 총 13자리의 숫자, 7번째는 1..4의 값을 가짐 if(!ereg('^[[:digit:]]{6}[1-4][[:digit:]]{6}$', $resno)) return 'N'; // 날짜 유효성 검사 $birthYear = ('2' >= $resno[6]) ? '19' : '20'; $birthYear += substr($resno, 0, 2); $birthMonth = substr($resno, 2, 2); $birthDate = substr($resno, 4, 2); if(!checkdate($birthMonth, $birthDate, $birthYear)) return 'N'; // Checksum 코드의 유효성 검사 for($i = 0; $i < 13; $i++) $buf[$i] = (int) $resno[$i]; $multipliers = array(2,3,4,5,6,7,8,9,2,3,4,5); for($i = $sum = 0; $i < 12; $i++) $sum += ($buf[$i] *= $multipliers[$i]); if((11 - ($sum % 11)) % 10 != $buf[12]) return 'N'; // 모든 검사를 통과하면 유효한 주민등록번호임 return 'Y'; } function getBeforeWeek($d){ $todayWeekNum = date('w', strtotime($d)); $todayWeekStateDay = date('Y-m-d', strtotime('-'.$todayWeekNum.' day', strtotime($d))); $todayWeeklastDay = date('Y-m-d', strtotime('+6 day',strtotime($todayWeekStateDay))); $lastWeekStartDay = date('Y-m-d', strtotime('-6 day', strtotime($todayWeekStateDay))); $lastWeekEndDay = date('Y-m-d', strtotime('+6 day', strtotime($lastWeekStartDay))); $dayAr['lastWeekStartDay'] = $lastWeekStartDay; $dayAr['todayWeekStateDay'] = $todayWeekStateDay; $dayAr['todayWeeklastDay'] = $todayWeeklastDay; $dayAr['lastWeekEndDay'] = $lastWeekEndDay; return $dayAr; } function paymentStateCodeToTxt($CODE){ switch($CODE){ case 'EXT_Y' : $TXT = '결제중'; break; case 'EXT_N' : $TXT = '연장결제취소'; break; case 'EXT_CANCEL' : $TXT = '결제취소'; break; case 'PG_CANCEL' : $TXT = 'PG취소'; break; } return $TXT; } function getMarketUrl($MARKET, $MARKETIDX){ global $_SERVER, $connType; switch($MARKET){ case 'G' : $dbDelim = "google as marketType"; break; case 'S' : $dbDelim = "tstore as marketType"; break; case 'K' : $dbDelim = "olleh as marketType"; break; case 'U' : $dbDelim = "uplus as marketType"; break; case 'N' : $dbDelim = "nstore as marketType"; break; case 'ALL' : $dbDelim = "*"; break; default : $dbDelim = 'google as marketType'; break; } if($MARKET == 'ALL') return getValue('_DOMAIN_INFO', " where di_idx = '".$MARKETIDX."' ", 'ar', $dbDelim, false); else $marketUrl = getValue('_DOMAIN_INFO', " where di_idx = '".$MARKETIDX."' ", 'marketType', $dbDelim, false); if(!$marketUrl) return ''; //echo $marketUrl; //exit( $marketUrl ); //exit(""); if(strstr($marketUrl, 'details?id=')){ $uinfo = parse_url($marketUrl); parse_str($uinfo['query'], $output); $mobileUrl = $marketUrl; $webUrl = 'https://play.google.com/store/apps/details?id='.$output['id']; }else{ $webUrl = "http://".(substr($marketUrl,0,2) == 'm.' ? substr($marketUrl,2): $marketUrl); $mobileUrl = "http://".$marketUrl; } //echo $mobileUrl;exit; if($connType == 'WEB') $mobileUrl = 'https://play.google.com/store/apps/details?id='.$output['id']; else $mobileUrl = $mobileUrl; if(preg_match('/(lgtelecom|android|blackberry|iphone|ipad|samsung|symbian|sony|SCH-|SPH-|SHW-)/Uis', $_SERVER['HTTP_USER_AGENT'])){ $redirectUrl = $mobileUrl; }else{ $redirectUrl = $webUrl; } //echo $redirectUrl;exit; return $redirectUrl; } function setPaymentStatisticalFn($IDX='', $SITECODE, $SITECODEG, $link, $i){ global $_SERVER, $dbInfoAr, $siteInfoAr; if($IDX == '') return; //$SITECODE = strtolower(preg_replace('/.*([^\.]{1,})((\.co)?\.[a-z0-9]{2,})$/Uis', '\\1', $_SERVER['HTTP_HOST'])); //$SITECODEG = 'ADULT'; $APPIS = 'N'; $EXTENDIS = 'Y'; //$DBINFO2 = mysqli_connect('58.120.227.239','musicappdb','abwlrdoq2012','adult_db','3306'); $DBINFO2 = mysqli_connect('ncue.net','ncue','ncue5004!','relationTalk_db','3306'); mysqli_set_charset($DBINFO2, UTF-8); //exit($SITECODE); $sql = " select date_format(pdat_pay_datetime, '%Y-%m-%d %H') as hourTime , date_format(pdat_pay_datetime, '%Y-%m-%d') as dayTime , date_format(pdat_pay_datetime, '%Y-%m') as monthTime , date_format(pdat_pay_datetime, '%Y') as yearTime , pdat_app as pdat_app , pdat_state as pdat_state , pdat_price as pdat_price , ".$dbInfoAr[$siteInfoAr[$i]]['PAYF']." as pdat_seq from /*adult_db._TOTAL_PAYMENT_DATA */ ".$dbInfoAr[$siteInfoAr[$i]]['PAYDB']." where ".$dbInfoAr[$siteInfoAr[$i]]['PAYF']." = '".$IDX."' "; //echo $sql;exit; $rs = mysqli_query($link, $sql); //exit($rs); //if($this->db->rows()>0){ while($row=mysqli_fetch_assoc($rs)){ //exit(); //결제 상태 : EXT_Y-연장결제,EXT_N-자동연장취소,EXT_CANCEL-연장결제취소,NOR_Y-일반결제,NOR_CANCEL-일반결제취소 $hourTime = $row['hourTime']; $dayTime = $row['dayTime']; $monthTime = $row['monthTime']; $yearTime = $row['yearTime']; $price = $row['pdat_price']; $isApp = 0; $isMobile = 0; $isWeb = 0; $cancelCount = 0; $webPrice = 0; $mobilePrice = 0; $appPrice = 0; //$webPrice = 0; $mobilePrice = 0; $appPrice = 0; $webCancelCnt = 0; $webCancelPrice = 0; $mobileCancelCnt = 0; $mobileCancelPrice = 0; $appCancelCnt = 0; $appCancelPrice = 0; if($row['pdat_state']=='EXT_CANCEL' || $row['pdat_state']=='NOR_CANCEL' || $row['pdat_state']=='PG_CANCEL'){ $cancelCount = 1; } if($row['pdat_app'] == 'Y'){ $isApp = 1; $isMobile = 0; $isWeb = 0; $webPrice = 0; $mobilePrice= 0; $appPrice = $price; if($cancelCount>0){ $webCancelCnt = 0; $webCancelPrice = 0; $mobileCancelCnt = 0; $mobileCancelPrice = 0; $appCancelCnt = 1; $appCancelPrice = $price; } }elseif($row['pdat_app'] == 'N'){ $isApp = 0; $isMobile = 1; $isWeb = 0; $webPrice = 0; $mobilePrice= $price; $appPrice = 0; if($cancelCount>0){ $webCancelCnt = 0; $webCancelPrice = 0; $mobileCancelCnt = 1; $mobileCancelPrice = $price; $appCancelCnt = 0; $appCancelPrice = 0; } }elseif($row['pdat_app'] == 'W'){ $isApp = 0; $isMobile = 0; $isWeb = 1; $webPrice = $price; $mobilePrice= 0; $appPrice = 0; if($cancelCount>0){ $webCancelCnt = 1; $webCancelPrice = $price; $mobileCancelCnt = 0; $mobileCancelPrice = 0; $appCancelCnt = 0; $appCancelPrice = 0; } } $getHourDbRow = mysqli_fetch_assoc(mysqli_query($DBINFO2, "select s_date from adult_db._TOTAL_STATISTICAL_HOUR where s_date = '".$hourTime."' and s_site = '".$SITECODE."' ")); //exit("select s_date from adult_db._TOTAL_STATISTICAL_HOUR where s_date = '".$hourTime."' and s_site = '".$SITECODE."' "); $getHourDb = $getHourDbRow['s_date']; if(!$getHourDb){ $hourSql = " insert into adult_db._TOTAL_STATISTICAL_HOUR set s_date = '".$hourTime."' , s_site = '".$SITECODE."' , s_site_group = '".$SITECODEG."' , s_web_price = '".$webPrice."' , s_web_cnt = '".$isWeb."' , s_web_cancel_price = '".$webCancelPrice."' , s_web_cancel_cnt = '".$webCancelCnt."' , s_web_total_price = '".($webPrice-$webCancelPrice)."' , s_web_total_cnt = '".($isWeb-$webCancelCnt)."' , s_mobile_price = '".$mobilePrice."' , s_mobile_cnt = '".$isMobile."' , s_mobile_cancel_price = '".$mobileCancelPrice."' , s_mobile_cancel_cnt = '".$mobileCancelCnt."' , s_mobile_total_price = '".($mobilePrice-$mobileCancelPrice)."' , s_mobile_total_cnt = '".($isMobile-$mobileCancelCnt)."' , s_app_price = '".$appPrice."' , s_app_cnt = '".$isApp."' , s_app_cancel_price = '".$appCancelPrice."' , s_app_cancel_cnt = '".$appCancelCnt."' , s_app_total_price = '".($appPrice-$appCancelPrice)."' , s_app_total_cnt = '".($isApp-$appCancelCnt)."' , s_total_price = '".($webPrice+$mobilePrice+$appPrice)."' , s_total_cnt = '".($isWeb+$isMobile+$isApp)."' , s_total_cancel_price = '".($webCancelPrice+$mobileCancelPrice+$appCancelPrice)."' , s_total_cancel_cnt = '".($webCancelCnt+$mobileCancelCnt+$appCancelCnt)."' , s_total_total_price = '".(($webPrice+$mobilePrice+$appPrice)-($webCancelPrice+$mobileCancelPrice+$appCancelPrice))."' , s_total_total_cnt = '".(($isWeb+$isMobile+$isApp)-($webCancelCnt+$mobileCancelCnt+$appCancelCnt))."' "; }else{ $hourSql = " update adult_db._TOTAL_STATISTICAL_HOUR set s_site_group = '".$SITECODEG."' , s_web_price = s_web_price+'".$webPrice."' , s_web_cnt = s_web_cnt+'".$isWeb."' , s_web_cancel_price = s_web_cancel_price+'".$webCancelPrice."' , s_web_cancel_cnt = s_web_cancel_cnt+'".$webCancelCnt."' , s_web_total_price = s_web_total_price+'".($webPrice-$webCancelPrice)."' , s_web_total_cnt = s_web_total_cnt+'".($isWeb-$webCancelCnt)."' , s_mobile_price = s_mobile_price+'".$mobilePrice."' , s_mobile_cnt = s_mobile_cnt+'".$isMobile."' , s_mobile_cancel_price = s_mobile_cancel_price+'".$mobileCancelPrice."' , s_mobile_cancel_cnt = s_mobile_cancel_cnt+'".$mobileCancelCnt."' , s_mobile_total_price = s_mobile_total_price+'".($mobilePrice-$mobileCancelPrice)."' , s_mobile_total_cnt = s_mobile_total_cnt+'".($isMobile-$mobileCancelCnt)."' , s_app_price = s_app_price+'".$appPrice."' , s_app_cnt = s_app_cnt+'".$isApp."' , s_app_cancel_price = s_app_cancel_price+'".$appCancelPrice."' , s_app_cancel_cnt = s_app_cancel_cnt+'".$appCancelCnt."' , s_app_total_price = s_app_total_price+'".($appPrice-$appCancelPrice)."' , s_app_total_cnt = s_app_total_cnt+'".($isApp-$appCancelCnt)."' , s_total_price = s_total_price+'".($webPrice+$mobilePrice+$appPrice)."' , s_total_cnt = s_total_cnt+'".($isWeb+$isMobile+$isApp)."' , s_total_cancel_price = s_total_cancel_price+'".($webCancelPrice+$mobileCancelPrice+$appCancelPrice)."' , s_total_cancel_cnt = s_total_cancel_cnt+'".($webCancelCnt+$mobileCancelCnt+$appCancelCnt)."' , s_total_total_price = s_total_total_price+'".(($webPrice+$mobilePrice+$appPrice)-($webCancelPrice+$mobileCancelPrice+$appCancelPrice))."' , s_total_total_cnt = s_total_total_cnt+'".(($isWeb+$isMobile+$isApp)-($webCancelCnt+$mobileCancelCnt+$appCancelCnt))."' where s_date = '".$hourTime."' and s_site = '".$SITECODE."' "; } mysqli_query($DBINFO2, $hourSql); $getDayDbRow = mysqli_fetch_assoc(mysqli_query($DBINFO2, "select s_date from adult_db._TOTAL_STATISTICAL_DAY where s_date = '".$dayTime."' and s_site = '".$SITECODE."' ")); $getDayDb = $getDayDbRow['s_date']; if(!$getDayDb){ $daySql = " insert into adult_db._TOTAL_STATISTICAL_DAY set s_date = '".$dayTime."' , s_site = '".$SITECODE."' , s_site_group = '".$SITECODEG."' , s_web_price = '".$webPrice."' , s_web_cnt = '".$isWeb."' , s_web_cancel_price = '".$webCancelPrice."' , s_web_cancel_cnt = '".$webCancelCnt."' , s_web_total_price = '".($webPrice-$webCancelPrice)."' , s_web_total_cnt = '".($isWeb-$webCancelCnt)."' , s_mobile_price = '".$mobilePrice."' , s_mobile_cnt = '".$isMobile."' , s_mobile_cancel_price = '".$mobileCancelPrice."' , s_mobile_cancel_cnt = '".$mobileCancelCnt."' , s_mobile_total_price = '".($mobilePrice-$mobileCancelPrice)."' , s_mobile_total_cnt = '".($isMobile-$mobileCancelCnt)."' , s_app_price = '".$appPrice."' , s_app_cnt = '".$isApp."' , s_app_cancel_price = '".$appCancelPrice."' , s_app_cancel_cnt = '".$appCancelCnt."' , s_app_total_price = '".($appPrice-$appCancelPrice)."' , s_app_total_cnt = '".($isApp-$appCancelCnt)."' , s_total_price = '".($webPrice+$mobilePrice+$appPrice)."' , s_total_cnt = '".($isWeb+$isMobile+$isApp)."' , s_total_cancel_price = '".($webCancelPrice+$mobileCancelPrice+$appCancelPrice)."' , s_total_cancel_cnt = '".($webCancelCnt+$mobileCancelCnt+$appCancelCnt)."' , s_total_total_price = '".(($webPrice+$mobilePrice+$appPrice)-($webCancelPrice+$mobileCancelPrice+$appCancelPrice))."' , s_total_total_cnt = '".(($isWeb+$isMobile+$isApp)-($webCancelCnt+$mobileCancelCnt+$appCancelCnt))."' "; }else{ $daySql = " update adult_db._TOTAL_STATISTICAL_DAY set s_site_group = '".$SITECODEG."' , s_web_price = s_web_price+'".$webPrice."' , s_web_cnt = s_web_cnt+'".$isWeb."' , s_web_cancel_price = s_web_cancel_price+'".$webCancelPrice."' , s_web_cancel_cnt = s_web_cancel_cnt+'".$webCancelCnt."' , s_web_total_price = s_web_total_price+'".($webPrice-$webCancelPrice)."' , s_web_total_cnt = s_web_total_cnt+'".($isWeb-$webCancelCnt)."' , s_mobile_price = s_mobile_price+'".$mobilePrice."' , s_mobile_cnt = s_mobile_cnt+'".$isMobile."' , s_mobile_cancel_price = s_mobile_cancel_price+'".$mobileCancelPrice."' , s_mobile_cancel_cnt = s_mobile_cancel_cnt+'".$mobileCancelCnt."' , s_mobile_total_price = s_mobile_total_price+'".($mobilePrice-$mobileCancelPrice)."' , s_mobile_total_cnt = s_mobile_total_cnt+'".($isMobile-$mobileCancelCnt)."' , s_app_price = s_app_price+'".$appPrice."' , s_app_cnt = s_app_cnt+'".$isApp."' , s_app_cancel_price = s_app_cancel_price+'".$appCancelPrice."' , s_app_cancel_cnt = s_app_cancel_cnt+'".$appCancelCnt."' , s_app_total_price = s_app_total_price+'".($appPrice-$appCancelPrice)."' , s_app_total_cnt = s_app_total_cnt+'".($isApp-$appCancelCnt)."' , s_total_price = s_total_price+'".($webPrice+$mobilePrice+$appPrice)."' , s_total_cnt = s_total_cnt+'".($isWeb+$isMobile+$isApp)."' , s_total_cancel_price = s_total_cancel_price+'".($webCancelPrice+$mobileCancelPrice+$appCancelPrice)."' , s_total_cancel_cnt = s_total_cancel_cnt+'".($webCancelCnt+$mobileCancelCnt+$appCancelCnt)."' , s_total_total_price = s_total_total_price+'".(($webPrice+$mobilePrice+$appPrice)-($webCancelPrice+$mobileCancelPrice+$appCancelPrice))."' , s_total_total_cnt = s_total_total_cnt+'".(($isWeb+$isMobile+$isApp)-($webCancelCnt+$mobileCancelCnt+$appCancelCnt))."' where s_date = '".$dayTime."' and s_site = '".$SITECODE."' "; } mysqli_query($DBINFO2, $daySql); $getMonthDbRow = mysqli_fetch_assoc(mysqli_query($DBINFO2, "select s_date from adult_db._TOTAL_STATISTICAL_MONTH where s_date = '".$monthTime."' and s_site = '".$SITECODE."' ")); $getMonthDb = $getMonthDbRow['s_date']; if(!$getMonthDb){ $monthSql = " insert into adult_db._TOTAL_STATISTICAL_MONTH set s_date = '".$monthTime."' , s_site = '".$SITECODE."' , s_site_group = '".$SITECODEG."' , s_web_price = '".$webPrice."' , s_web_cnt = '".$isWeb."' , s_web_cancel_price = '".$webCancelPrice."' , s_web_cancel_cnt = '".$webCancelCnt."' , s_web_total_price = '".($webPrice-$webCancelPrice)."' , s_web_total_cnt = '".($isWeb-$webCancelCnt)."' , s_mobile_price = '".$mobilePrice."' , s_mobile_cnt = '".$isMobile."' , s_mobile_cancel_price = '".$mobileCancelPrice."' , s_mobile_cancel_cnt = '".$mobileCancelCnt."' , s_mobile_total_price = '".($mobilePrice-$mobileCancelPrice)."' , s_mobile_total_cnt = '".($isMobile-$mobileCancelCnt)."' , s_app_price = '".$appPrice."' , s_app_cnt = '".$isApp."' , s_app_cancel_price = '".$appCancelPrice."' , s_app_cancel_cnt = '".$appCancelCnt."' , s_app_total_price = '".($appPrice-$appCancelPrice)."' , s_app_total_cnt = '".($isApp-$appCancelCnt)."' , s_total_price = '".($webPrice+$mobilePrice+$appPrice)."' , s_total_cnt = '".($isWeb+$isMobile+$isApp)."' , s_total_cancel_price = '".($webCancelPrice+$mobileCancelPrice+$appCancelPrice)."' , s_total_cancel_cnt = '".($webCancelCnt+$mobileCancelCnt+$appCancelCnt)."' , s_total_total_price = '".(($webPrice+$mobilePrice+$appPrice)-($webCancelPrice+$mobileCancelPrice+$appCancelPrice))."' , s_total_total_cnt = '".(($isWeb+$isMobile+$isApp)-($webCancelCnt+$mobileCancelCnt+$appCancelCnt))."' "; }else{ $monthSql = " update adult_db._TOTAL_STATISTICAL_MONTH set s_site_group = '".$SITECODEG."' , s_web_price = s_web_price+'".$webPrice."' , s_web_cnt = s_web_cnt+'".$isWeb."' , s_web_cancel_price = s_web_cancel_price+'".$webCancelPrice."' , s_web_cancel_cnt = s_web_cancel_cnt+'".$webCancelCnt."' , s_web_total_price = s_web_total_price+'".($webPrice-$webCancelPrice)."' , s_web_total_cnt = s_web_total_cnt+'".($isWeb-$webCancelCnt)."' , s_mobile_price = s_mobile_price+'".$mobilePrice."' , s_mobile_cnt = s_mobile_cnt+'".$isMobile."' , s_mobile_cancel_price = s_mobile_cancel_price+'".$mobileCancelPrice."' , s_mobile_cancel_cnt = s_mobile_cancel_cnt+'".$mobileCancelCnt."' , s_mobile_total_price = s_mobile_total_price+'".($mobilePrice-$mobileCancelPrice)."' , s_mobile_total_cnt = s_mobile_total_cnt+'".($isMobile-$mobileCancelCnt)."' , s_app_price = s_app_price+'".$appPrice."' , s_app_cnt = s_app_cnt+'".$isApp."' , s_app_cancel_price = s_app_cancel_price+'".$appCancelPrice."' , s_app_cancel_cnt = s_app_cancel_cnt+'".$appCancelCnt."' , s_app_total_price = s_app_total_price+'".($appPrice-$appCancelPrice)."' , s_app_total_cnt = s_app_total_cnt+'".($isApp-$appCancelCnt)."' , s_total_price = s_total_price+'".($webPrice+$mobilePrice+$appPrice)."' , s_total_cnt = s_total_cnt+'".($isWeb+$isMobile+$isApp)."' , s_total_cancel_price = s_total_cancel_price+'".($webCancelPrice+$mobileCancelPrice+$appCancelPrice)."' , s_total_cancel_cnt = s_total_cancel_cnt+'".($webCancelCnt+$mobileCancelCnt+$appCancelCnt)."' , s_total_total_price = s_total_total_price+'".(($webPrice+$mobilePrice+$appPrice)-($webCancelPrice+$mobileCancelPrice+$appCancelPrice))."' , s_total_total_cnt = s_total_total_cnt+'".(($isWeb+$isMobile+$isApp)-($webCancelCnt+$mobileCancelCnt+$appCancelCnt))."' where s_date = '".$monthTime."' and s_site = '".$SITECODE."' "; } mysqli_query($DBINFO2, $monthSql); $getYearDbRow = mysqli_fetch_assoc(mysqli_query($DBINFO2, "select s_date from adult_db._TOTAL_STATISTICAL_YEAR where s_date = '".$yearTime."' and s_site = '".$SITECODE."' ")); $getYearDb = $getYearDbRow['s_date']; if(!$getYearDb){ $yearSql = " insert into adult_db._TOTAL_STATISTICAL_YEAR set s_date = '".$yearTime."' , s_site = '".$SITECODE."' , s_site_group = '".$SITECODEG."' , s_web_price = '".$webPrice."' , s_web_cnt = '".$isWeb."' , s_web_cancel_price = '".$webCancelPrice."' , s_web_cancel_cnt = '".$webCancelCnt."' , s_web_total_price = '".($webPrice-$webCancelPrice)."' , s_web_total_cnt = '".($isWeb-$webCancelCnt)."' , s_mobile_price = '".$mobilePrice."' , s_mobile_cnt = '".$isMobile."' , s_mobile_cancel_price = '".$mobileCancelPrice."' , s_mobile_cancel_cnt = '".$mobileCancelCnt."' , s_mobile_total_price = '".($mobilePrice-$mobileCancelPrice)."' , s_mobile_total_cnt = '".($isMobile-$mobileCancelCnt)."' , s_app_price = '".$appPrice."' , s_app_cnt = '".$isApp."' , s_app_cancel_price = '".$appCancelPrice."' , s_app_cancel_cnt = '".$appCancelCnt."' , s_app_total_price = '".($appPrice-$appCancelPrice)."' , s_app_total_cnt = '".($isApp-$appCancelCnt)."' , s_total_price = '".($webPrice+$mobilePrice+$appPrice)."' , s_total_cnt = '".($isWeb+$isMobile+$isApp)."' , s_total_cancel_price = '".($webCancelPrice+$mobileCancelPrice+$appCancelPrice)."' , s_total_cancel_cnt = '".($webCancelCnt+$mobileCancelCnt+$appCancelCnt)."' , s_total_total_price = '".(($webPrice+$mobilePrice+$appPrice)-($webCancelPrice+$mobileCancelPrice+$appCancelPrice))."' , s_total_total_cnt = '".(($isWeb+$isMobile+$isApp)-($webCancelCnt+$mobileCancelCnt+$appCancelCnt))."' "; }else{ $yearSql = " update adult_db._TOTAL_STATISTICAL_YEAR set s_site_group = '".$SITECODEG."' , s_web_price = s_web_price+'".$webPrice."' , s_web_cnt = s_web_cnt+'".$isWeb."' , s_web_cancel_price = s_web_cancel_price+'".$webCancelPrice."' , s_web_cancel_cnt = s_web_cancel_cnt+'".$webCancelCnt."' , s_web_total_price = s_web_total_price+'".($webPrice-$webCancelPrice)."' , s_web_total_cnt = s_web_total_cnt+'".($isWeb-$webCancelCnt)."' , s_mobile_price = s_mobile_price+'".$mobilePrice."' , s_mobile_cnt = s_mobile_cnt+'".$isMobile."' , s_mobile_cancel_price = s_mobile_cancel_price+'".$mobileCancelPrice."' , s_mobile_cancel_cnt = s_mobile_cancel_cnt+'".$mobileCancelCnt."' , s_mobile_total_price = s_mobile_total_price+'".($mobilePrice-$mobileCancelPrice)."' , s_mobile_total_cnt = s_mobile_total_cnt+'".($isMobile-$mobileCancelCnt)."' , s_app_price = s_app_price+'".$appPrice."' , s_app_cnt = s_app_cnt+'".$isApp."' , s_app_cancel_price = s_app_cancel_price+'".$appCancelPrice."' , s_app_cancel_cnt = s_app_cancel_cnt+'".$appCancelCnt."' , s_app_total_price = s_app_total_price+'".($appPrice-$appCancelPrice)."' , s_app_total_cnt = s_app_total_cnt+'".($isApp-$appCancelCnt)."' , s_total_price = s_total_price+'".($webPrice+$mobilePrice+$appPrice)."' , s_total_cnt = s_total_cnt+'".($isWeb+$isMobile+$isApp)."' , s_total_cancel_price = s_total_cancel_price+'".($webCancelPrice+$mobileCancelPrice+$appCancelPrice)."' , s_total_cancel_cnt = s_total_cancel_cnt+'".($webCancelCnt+$mobileCancelCnt+$appCancelCnt)."' , s_total_total_price = s_total_total_price+'".(($webPrice+$mobilePrice+$appPrice)-($webCancelPrice+$mobileCancelPrice+$appCancelPrice))."' , s_total_total_cnt = s_total_total_cnt+'".(($isWeb+$isMobile+$isApp)-($webCancelCnt+$mobileCancelCnt+$appCancelCnt))."' where s_date = '".$yearTime."' and s_site = '".$SITECODE."' "; } mysqli_query($DBINFO2, $yearSql); mysqli_query($DBINFO2, "update _XTUBE_PAYMENT_DATA set mbr_s_move_is = 'Y' where pdat_seq = '".$row['pdat_seq']."' "); } } function getStaffIs($NUMBER){ $getStaffPhoneSet = socketPost('http://apping.or.kr/appadmin/get.staff.member.php'); $getStaffPhone = json_decode($getStaffPhoneSet, true); //echo '
';print_r($getStaffPhone);echo '
'; settype($getStaffPhone, 'array'); if(in_array($NUMBER, $getStaffPhone)){ $val = 'Y'; }else{ $val = 'N'; } return $val; } function fileUploadTmp($file, $dir, $dirDelim=''){ global $_FILES; $UPLOAD_ROOT = $_SERVER['DOCUMENT_ROOT'] . '/UPLOAD'; if(!is_dir($UPLOAD_ROOT.'/'.$dir)){ mkdir($UPLOAD_ROOT.'/'.$dir, 0777); chmod($UPLOAD_ROOT.'/'.$dir, 0777); } if($dirDelim != ''){ if(!is_dir($UPLOAD_ROOT.'/'.$dir.'/'.$dirDelim)){ mkdir($UPLOAD_ROOT.'/'.$dir.'/'.$dirDelim, 0777); chmod($UPLOAD_ROOT.'/'.$dir.'/'.$dirDelim, 0777); } } $uploadDir = $UPLOAD_ROOT.'/'.$dir.'/'.($dirDelim != '' ? $dirDelim.'/' : ''); $fileChange = fileReName($_FILES[$file]['name']); //echo $_FILES[$file]['name']; //exit($uploadDir); $saveDir = $uploadDir.$fileChange; //exit( $saveDir ); //echo $_FILES[$file]['tmp_name'];exit; if(move_uploaded_file($_FILES[$file]['tmp_name'], $saveDir)){ //$return = true; }else{ return; } return $fileChange; } function remoteFileUpload($file, $dir, $tmpDir, $oldFile=''){ //echoAr($_FILES); if($_FILES[$file]['name'] != ''){ $ALLImgUp = fileUploadTmp($file, $tmpDir); $saveFile = $_SERVER['DOCUMENT_ROOT']."/UPLOAD/".$tmpDir."/".$ALLImgUp; //echo $saveFile;exit; $remote_url = "http://push.sorachat.biz/resource.upload.php?action=upload&key=dkjwijklj2213dkjd_pushupload&dir=".$dir.'&oldFile='.$oldFile; $postData['Filedata']= "@".$saveFile; //$postData = array('action'=>'upload', 'site'=>'smartcore', 'Filedata'=>'@'.$saveFile); $ch = curl_init(); //세션초기화 curl_setopt($ch, CURLOPT_URL, $remote_url); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); //echo $result;exit; unlink($saveFile); curl_close($ch); $resultAr = json_decode($result, true); settype($resultAr, 'array'); //echoAr($resultAr); return $resultAr; } return array('result'=>'N', 'message'=>'첨부파일이 지정되지 않았습니다.', 'file'=>'', 'fileSize'=>'0'); } function remoteFileDelete($oldFile=''){ if($oldFile != ''){ $result = socketPost('http://push.sorachat.biz/resource.upload.php', '&action=delete&key=dkjwijklj2213dkjd_pushupload&oldFile='.$oldFile); $resultAr = json_decode($result, true); settype($resultAr, 'array'); return $resultAr; }else{ return array('result'=>'N', 'message'=>'첨부파일이 지정되지 않았습니다.', 'file'=>'', 'fileSize'=>'0'); } } function setCodeToEncodeFn($CODE){ $pwd_enc = getRow("SELECT HEX(AES_ENCRYPT('".$CODE."', 'nhw2821!^&')) as PW;"); return $pwd_enc['PW']; } function setCodeToDecodeFn($CODE){ $pwd_dec = getRow("SELECT AES_DECRYPT(UNHEX('".$CODE."'), 'nhw2821!^&') as PW; "); return $pwd_dec['PW']; } function getExpireYearDate($date, $year=1){ $getDate = getRow("SELECT DATE_ADD('".$date."', INTERVAL ".$year." YEAR) as da;"); //echo $getDate['da'].'
'; $exUnixTime = strtotime("-1day", strtotime($getDate['da'])); //echo date('Y-m-d H:i:s', $exUnixTime); return $exUnixTime; } function getExpire2YearDate($date, $year=2){ $getDate = getRow("SELECT DATE_ADD('".$date."', INTERVAL ".$year." YEAR) as da;"); //echo $getDate['da'].'
'; $exUnixTime = strtotime("-1day", strtotime($getDate['da'])); //echo date('Y-m-d H:i:s', $exUnixTime); return $exUnixTime; } function getExpire3YearDate($date, $year=3){ $getDate = getRow("SELECT DATE_ADD('".$date."', INTERVAL ".$year." YEAR) as da;"); //echo $getDate['da'].'
'; $exUnixTime = strtotime("-1day", strtotime($getDate['da'])); //echo date('Y-m-d H:i:s', $exUnixTime); return $exUnixTime; } function getExpireMonthDate($date, $month=1){ $getDate = getRow("SELECT DATE_ADD('".$date."', INTERVAL ".$month." MONTH) as da;"); //echo $getDate['da'].'
'; $exUnixTime = strtotime("-1day", strtotime($getDate['da'])); //echo date('Y-m-d H:i:s', $exUnixTime); return $exUnixTime; } function getExpire3MonthDate($date, $month=3){ $getDate = getRow("SELECT DATE_ADD('".$date."', INTERVAL ".$month." MONTH) as da;"); //echo $getDate['da'].'
'; $exUnixTime = strtotime("-1day", strtotime($getDate['da'])); //echo date('Y-m-d H:i:s', $exUnixTime); return $exUnixTime; } function getExpire6MonthDate($date, $month=6){ $getDate = getRow("SELECT DATE_ADD('".$date."', INTERVAL ".$month." MONTH) as da;"); //echo $getDate['da'].'
'; $exUnixTime = strtotime("-1day", strtotime($getDate['da'])); //echo date('Y-m-d H:i:s', $exUnixTime); return $exUnixTime; } function getExpireWeekDate($date, $week=1){ $getDate = getRow("SELECT DATE_ADD('".$date."', INTERVAL ".$week." WEEK) as da;"); //echo $getDate['da'].'
'; $exUnixTime = strtotime("-1day", strtotime($getDate['da'])); //echo date('Y-m-d H:i:s', $exUnixTime); return $exUnixTime; } function getExpireDayDate($date, $day=5){ $getDate = getRow("SELECT DATE_ADD('".$date."', INTERVAL ".$day." DAY) as da;"); //echo $getDate['da'].'
'; $exUnixTime = strtotime("-1day", strtotime($getDate['da'])); //echo date('Y-m-d H:i:s', $exUnixTime); return $exUnixTime; } function getExpirePaymentMonthDate($date, $month=1){ $getDate = getRow("SELECT DATE_ADD('".$date."', INTERVAL ".$month." MONTH) as da;"); $exUnixTime = strtotime("+1day", strtotime($getDate['da'])); return $exUnixTime; } function sumImg($fname, $img, $w2=145, $h2=145, $t='', $w='', $h='', $q=80){ //global $dirPahName; $sumFolder = $fname.'sum/'; //echo '
test : '.$fname; //return; if(!is_dir($sumFolder)){ @mkdir($sumFolder, 0707); @chmod($sumFolder, 0707); } $wonImg = $fname.$img; //원래이미지 $bakImg = $sumFolder.'sum_'.$img;//복사할이미지 if (file_exists($bakImg)) return; if (!file_exists($wonImg)) return; if(!$t) { $style = @getimagesize($wonImg); $w = $style[0]; $h = $style[1]; $t = $style[2]; } //echo '형식 : '.$t; switch($t) { case 1: $src = imagecreatefromgif($wonImg); break; case 2: $src = imagecreatefromjpeg($wonImg); break; case 3: $src = imagecreatefrompng($wonImg); break; //case 6: $src = imagecreatefromwbmp($wonImg); break; default: return; } $rate = $w2 / $w; $height = (int)($h * $rate); if ($height < $h2) $dst = imagecreatetruecolor($w2, $height); else $dst = imagecreatetruecolor($w2, $h2); /* 0. getimagesize 에서 gif 일 경우에만 아래 적용 1. imageCreate : resource 생성, imageCreateTrueColor 쓰면 안되는듯 2. imageColorAllocate : resouce image를 블랙 등으로 할당 3. imageColorTransparent : 2에서 할당한 색을 투명으로 바꿔줌 4. imageCopyResized : 소스 이미지를 카피&리사이징 5. imageGIF 로 최종 이미지 생성 */ @imagecopyresampled($dst, $src, 0, 0, 0, 0, $w2, $height, $w, $h); @imagepng($dst, $bakImg, $q); @imagejpeg($dst, $bakImg, $q); chmod($bakImg, 0606); return 'sum_'.$img; } function ChangeTitle($IDX){ $GETTITLE = getRow("SELECT di_site_name FROM _DOMAIN_INFO WHERE di_idx = '".$IDX."' ;"); return $GETTITLE['di_site_name']; } //2016-12-07 SH 로그인코드 수정 푸쉬 function And_send($PUSHKEY, $REGI, $Cidx='', $LOGCODE='', $UNIQ='', $TESTMODE=''){ GLOBAL $connUrlDomain; $headers = array( 'Content-Type:application/json', 'Authorization:key='.$PUSHKEY ); //$GETCHATDATA = getValue('_CHATTING', "WHERE ch_idx = '".$Cidx."' ", 'ar', '*'); //$GETPRFDATA = getValue('_PROFILE', "WHERE p_m_idx = '".$GETCHATDATA['ch_m_idx']."' ", 'ar', 'p_name, p_img1, p_sum_img, p_typing, p_sex, p_site'); $Idxdata = explode("|", $Pidx); $arr = array(); $arr['data'] = array(); $arr['registration_ids'] = array(); $arr['data']['type'] = 'logout'; $arr['data']['uniq'] = $UNIQ; $arr['data']['msg'] = "[".$LOGCODE."] 로그인코드가 수정되었습니다."; if($MODE == 'FIRST_CHATTING') $arr['data']['CHAT_TYPE'] = 'FIRST_CHATTING'; $arr['registration_ids'][0] = $REGI; if($TESTMODE == 'P'){ //echo "POSTPUSH"; return; $POSTARR = urlencode(serialize($arr)); $POSTPUSH = socketPost('http://push.sorachat.biz/chat.push.php', "&headers=".$headers."&arr=".$POSTARR); echo $POSTPUSH; exit; }else{ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://android.googleapis.com/gcm/send'); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($arr)); $response = curl_exec($ch); curl_close($ch); } } function autoHypenPhoneFn($tel){ /* $_HP = str_replace(array("+", "8210"), array("", "010"), $hp); return trim(preg_replace("/(0(?:2|[0-9]{2}))([0-9]+)([0-9]{4}$)/", "\\1-\\2-\\3", $_HP)); */ $tel = preg_replace("/[^0-9]/", "", $tel); // 숫자 이외 제거 if (substr($tel,0,2)=='02') return preg_replace("/([0-9]{2})([0-9]{3,4})([0-9]{4})$/", "\\1-\\2-\\3", $tel); else if (strlen($tel)=='8' && (substr($tel,0,2)=='15' || substr($tel,0,2)=='16' || substr($tel,0,2)=='18')) // 지능망 번호이면 return preg_replace("/([0-9]{4})([0-9]{4})$/", "\\1-\\2", $tel); else return preg_replace("/([0-9]{3})([0-9]{3,4})([0-9]{4})$/", "\\1-\\2-\\3", $tel); } function photoUploadNew($file, $dir, $call='', $oldfile='', $compulsoryis=true, $onlyPhotois=true){ global $UPLOAD_ROOT, $_FILES, $_POST; $FILEINFO = array(); if($_FILES[$file]['name'] != ''){ if($onlyPhotois == true){ $file_ext = (strrchr($_FILES[$file]['name'], ".")) ? strtolower(substr(strrchr(urldecode($_FILES[$file]['name']), "."),1)) : ''; if(!in_array($file_ext, explode('|', $UPLOAD['IMG']))){ ; }else{ exit('{"result":"N","message":"파일업로드는 gif,jpg,png 파일형식만 지원합니다.","url":"", "code":""}'); } } if($oldfile != ''){ //exit('fiel : '.$_SERVER['DOCUMENT_ROOT'].$oldfile); @unlink($_SERVER['DOCUMENT_ROOT'].$oldfile); } $_SAVEIMGDIR = $dir; $FILEINFO['_UPLOADFILE']= fileUpload($file, $_SAVEIMGDIR."/"); $FILEINFO['_DIR'] = '/UPLOAD/'.$_SAVEIMGDIR.'/'; $FILEINFO['_FILE'] = $FILEINFO['_DIR'].$FILEINFO['_UPLOADFILE']; $FILEINFO['_ORGNAME_'] = $_FILES[$file]['name']; $FILEINFO['_SIZE_'] = $_FILES[$file]['size']; $FILEINFO['_WHERE'] = ", ".$file." = '".$FILEINFO['_DIR'].$FILEINFO['_UPLOADFILE']."' "; $FILEINFO['_ORGNAME'] = ", ".$file."_org = '".$_FILES[$file]['name']."' "; $FILEINFO['_SIZE'] = ", ".$file."_size = '".$_FILES[$file]['size']."' "; }else{ if($compulsoryis == true){ if($oldfile == '') exit('{"result":"N","message":"['.$file.']이미지는 반드시 첨부하시기 바랍니다.","url":"", "code":""}'); } } //exit('teset : '.$FILEINFO[$call]); if($call == 'ar'){ //exit('x : '.$FILEINFO[$call]); return $FILEINFO; }else{ //exit('e : '.$FILEINFO[$call]); return $FILEINFO[$call]; } } function setSqlFilter($str){ if (!get_magic_quotes_gpc()) $str = addslashes($str); $search = array("--","#",";"); $replace = array("\--","\#","\;"); $str = str_replace($search, $replace, $str); return $str; } function setGuideTypeCodeToText($obj){ switch($obj){ case 'PLAN' : $txt = '요금제'; break; case 'CARD' : $txt = '카드'; break; case 'MOB_PLAN' : $txt = '유선요금제'; break; case 'FORMATION' : $txt = 'TV편성표'; break; } return $txt; } function getFormTypeCodeToText($v, $type){ if($type == 'TYPE'){ if($v == 'AUTO'){ $text = '자동서식지'; }elseif($v == 'EMPTY'){ $text = '빈서식지'; } } if($type == 'PRICE'){ if($v == 'BACK'){ $text = '공시지원'; }elseif($v == 'CHOICE'){ $text = '선택약정'; }else{ $text = '모두'; } } if($type == 'PAY'){ if($v == 'CASH'){ $text = '현금'; }elseif($v == 'PLAN'){ $text = '할부'; }else{ $text = '모두'; } } if($type == 'MODE'){ if($v == 'ADULT'){ $text = '성인'; }elseif($v == 'YOUTH'){ $text = '청소년'; }elseif($v == 'CHANGE'){ $text = '기변'; }elseif($v == 'YOUTH_CHANGE'){ $text = '청소년기변'; }elseif($v == 'ALL'){ $text = '전체'; }else{ $text = '모두'; } } if($type == 'GUIDE'){ if($v == 'PEN'){ $text = '형광펜'; }elseif($v == 'LINE'){ $text = '밑줄'; }elseif($v == 'NONE'){ $text = '원본'; } else { $text = ''; } } if($type == 'SCOPE'){ if($v == 'SIMPLE'){ $text = '고객기입부분만'; }elseif($v == 'ALL'){ $text = '고객기입+판매자기입'; }elseif($v == 'NONE'){ $text = '원본'; } else { $text = ''; } } return $text; } function getFormAgeTypeCodeToText($obj){ switch($obj){ case 'ADULT' : $text = '성인'; break; case 'YOUTH' : $text = '청소년'; break; case 'ALL' : $text = '전체'; break; default : $text = '모두'; break; } return $text; } function email_valid($temp_email){ /*//echo $temp_email; if(preg_match("/^([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)(\.[0-9a-zA-Z_-]+){1,2}$/", trim($temp_email))){ ; }else{ exit('{"result":"N","message":"이메일 형식이 올바르지 않습니다.","url":""}'); } */ //return ereg("^[0-9a-zA-Z_-]+(\.[0-9a-zA-Z_-]+)*@[0-9a-zA-Z_-]+(\.[0-9a-zA-Z_-]+)+$", $temp_email); } function reserveUserID($ID){ global $PUSANKJS; if(preg_match("/[\,]?{$ID}/i", $PUSANKJS['PROHIBIT_ID'])) exit('{"result":"N","message":"이미 예약된 단어로 사용할 수 없습니다.","url":""}'); /* else return ""; */ } function reserveUserEMAIL($ID){ global $PUSANKJS; if(preg_match("/[\,]?{$ID}/i", $PUSANKJS['PROHIBIT_EMAIL'])) exit('{"result":"N","message":"이미 예약된 단어로 사용할 수 없는 회원 이메일 입니다.","url":""}'); /* else return ""; */ } function getPartnerPermission($CODE){ $allPermissionSum = getValue('cp_pay_request', " where seller = '".$CODE."' and pay_state = 4 ", 'price', 'SUM(permission) as price'); return $allPermissionSum; } function getPartnerSales($CODE){ $allPermissionSum = getValue('_SALES', " where s_partner_idx = '".$CODE."' and s_state <> 'N' ", 'price', 'SUM(s_price) as price'); return $allPermissionSum; } function getSalesState($CODE){ switch($CODE){ case 'W' : $txt = '출금대기'; break; case 'Y' : $txt = '출금완료'; break; case 'N' : $txt = '출금신청 취소'; break; } return $txt; } function getPaymentSum($CLASS, $FILED, $CODE){ $CLASSAR = explode('|', $CLASS); $FILEDAR = explode('|', $FILED); $_WHERE = ' where 1 '; if($CODE) $_WHERE .= " and seller = '".$CODE."' "; if($CLASSAR[0] == 'TODAY'){ $_WHERE .= " and date_format(reg_date, '%Y-%m-%d') = curdate() "; }else if($CLASSAR[0] == 'WEEK'){ $_WHERE .= " AND date_format(reg_date, '%Y-%m-%d') >= '".$CLASSAR['1']."' AND date_format(reg_date, '%Y-%m-%d') <= '".$CLASSAR['2']."' "; }else if($CLASSAR[0] == 'MONTH'){ $_WHERE .= " and date_format(reg_date, '%Y-%m') = '".$CLASSAR['1']."' "; }else if($CLASSAR[0] == 'ALL'){ $_WHERE .= " "; } return getValue('cp_pay_request', $_WHERE." and pay_state = 4 ", 'price', $FILEDAR[0].'('.$FILEDAR[1].') as price', false); } function naverSmartEditCall($id, $no=1){ $html = <<<_HTML_ _HTML_; echo($html); } function tinymceEditCall(){ $html = <<<_HTML_ tinymce.init({ selector:'textarea.tinymce', allow_conditional_comments: false, forced_root_block : false, force_br_newlines : true, force_p_newlines : false, plugins: [ "advlist autolink autosave link image lists charmap print preview hr anchor pagebreak spellchecker", "searchreplace visualblocks visualchars code fullscreen insertdatetime media nonbreaking", "table contextmenu directionality emoticons template textcolor paste textcolor " ], toolbar1: " bold italic underline strikethrough | alignleft aligncenter alignright alignjustify ", toolbar2: " forecolor backcolor", //toolbar3: "table | hr removeformat | subscript superscript | charmap emoticons | print fullscreen | ltr rtl | spellchecker | visualchars visualblocks nonbreaking template pagebreak restoredraft", menubar: false, toolbar_items_size: 'small', style_formats: [ {title: 'Bold text', inline: 'b'}, {title: 'Red text', inline: 'span', styles: {color: '#ff0000'}}, {title: 'Red header', block: 'h1', styles: {color: '#ff0000'}}, {title: 'Example 1', inline: 'span', classes: 'example1'}, {title: 'Example 2', inline: 'span', classes: 'example2'}, {title: 'Table styles'}, {title: 'Table row 1', selector: 'tr', classes: 'tablerow1'} ], templates: [ {title: 'Test template 1', content: 'Test 1'}, {title: 'Test template 2', content: 'Test 2'} ], textcolor_map: [ "000000", "Black", "993300", "Burnt orange", "333300", "Dark olive", "003300", "Dark green", "ff0006", "color", "5677fc", "blue" ] }); _HTML_; echo($html); } function urlLink($str){ $str = preg_replace("/</", "\t_lt_\t", $str); $str = preg_replace("/>/", "\t_gt_\t", $str); $str = preg_replace("/&/", "&", $str); $str = preg_replace("/"/", "\"", $str); $str = preg_replace("/ /", "\t_nbsp_\t", $str); $str = preg_replace("/([^(http:\/\/)]|\(|^)(www\.[^[:space:]]+)/i", "\\1\\2", $str); $str = preg_replace("/([^(HREF=\"?'?)|(SRC=\"?'?)]|\(|^)((http|https|ftp|telnet|news|mms):\/\/[a-zA-Z0-9\.-]+\.[\xA1-\xFEa-zA-Z0-9\.:&#=_\?\/~\+%@;\-\|\,]+)/i", "\\1\\2", $str); $str = preg_replace("/(([a-z0-9_]|\-|\.)+@([^[:space:]]*)([[:alnum:]-]))/i", "\\1", $str); $str = preg_replace("/\t_nbsp_\t/", " " , $str); $str = preg_replace("/\t_lt_\t/", "<", $str); $str = preg_replace("/\t_gt_\t/", ">", $str); return $str; } function getDatediffFn($s, $t){ date_default_timezone_set('Asia/Seoul'); $startDate = date_create($s); // 오늘 날짜입니다. $targetDate = date_create($t); // 타겟 날짜를 지정합니다. $interval = date_diff($startDate, $targetDate); return $interval->days; } function getMacAdressbookGroup($name, $memberCODE=''){ global $memberInfo, $getSiteSkin; if(trim($name) == '') $name = '미분류'; $MCODE = $memberCODE ? $memberCODE : $memberInfo['m_idx']; $row = getValue('_MEMBER_ADDRESS_BOOK_GROUP', " where mabg_name = '".setOutput($name)."' and mabg_user_idx = '".$MCODE."' and mabg_site = '".$getSiteSkin['di_idx']."' ", 'ar', 'mabg_idx'); if($row['mabg_idx']){ $return = $row['mabg_idx']; }else{ $sql = " insert into _MEMBER_ADDRESS_BOOK_GROUP set mabg_site = '".setOutput($getSiteSkin['di_idx'])."' , mabg_user_idx = '".setOutput($MCODE)."' , mabg_name = '".setOutput($name)."' , mabg_regdate = now() , mabg_regagent = '".$connectIP."' , mabg_reghost = '".$connectMachine."' "; $rs = query($sql); $return = insert_id(); } return $return; } function mmsImg($img, $w2=145, $h2=145, $t='', $w='', $h='', $q=80){ global $_SERVER, $UPLOAD_ROOT; $sumFolder = $UPLOAD_ROOT.'/MMSFILE/'; if(!is_dir($sumFolder)){ @mkdir($sumFolder, 0707); @chmod($sumFolder, 0707); } $uploadDir = $UPLOAD_ROOT.'/MMSFILE/ORG/'; $fileChange = fileReName($_FILES[$img]['name']); $saveDir = $uploadDir.$fileChange; $wonImg = $saveDir; //원래이미지 if(move_uploaded_file($_FILES[$img]['tmp_name'], $saveDir)){ ; }else{ return; } $bakImg = $sumFolder.$fileChange; //복사할이미지 $bakImg2 = '/UPLOAD/MMSFILE/'.$fileChange; //복사할이미지(저장하는거) //echo 'bakImg : '.$bakImg.', wonImg : '.$wonImg;exit; if(file_exists($bakImg)) return; if(!file_exists($wonImg)) return; if(!$t) { $style = @getimagesize($wonImg); $w = $style[0]; $h = $style[1]; $t = $style[2]; } //exit($w .':::'. $w2 .'^^'. $h .':::'. $h2); if($w <= $w2 && $h <= $h2){ //copy($wonImg, $wonImg); //move_uploaded_file($_FILES[$img]['tmp_name'], $saveDir); //$saveDir2 = $sumFolder.$fileChange; //move_uploaded_file($_FILES[$img]['tmp_name'], $saveDir2); $bakImg2 = '/UPLOAD/MMSFILE/ORG/'.$fileChange; //복사할이미지(저장하는거) //exit('bakImg2 : '.$bakImg2); return $bakImg2; } //echo '형식 : '.$t; switch($t) { case 1: $src = imagecreatefromgif($wonImg); break; case 2: $src = imagecreatefromjpeg($wonImg); break; case 3: $src = imagecreatefrompng($wonImg); break; //case 6: $src = imagecreatefromwbmp($wonImg); break; default: return; } $rate = $w2 / $w; $height = (int)($h * $rate); if ($height < $h2) $dst = imagecreatetruecolor($w2, $height); else $dst = imagecreatetruecolor($w2, $h2); /* 0. getimagesize 에서 gif 일 경우에만 아래 적용 1. imageCreate : resource 생성, imageCreateTrueColor 쓰면 안되는듯 2. imageColorAllocate : resouce image를 블랙 등으로 할당 3. imageColorTransparent : 2에서 할당한 색을 투명으로 바꿔줌 4. imageCopyResized : 소스 이미지를 카피&리사이징 5. imageGIF 로 최종 이미지 생성 */ @imagecopyresampled($dst, $src, 0, 0, 0, 0, $w2, $height, $w, $h); @imagepng($dst, $bakImg, $q); @imagejpeg($dst, $bakImg, $q); chmod($bakImg, 0606); return $bakImg2; } function setImgDpiChange($img, $dpi=96){ global $_SERVER, $UPLOAD_ROOT; $sumFolder = $UPLOAD_ROOT.'/MMSFILE/'; if(!is_dir($sumFolder)){ @mkdir($sumFolder, 0707); @chmod($sumFolder, 0707); } $uploadDir = $UPLOAD_ROOT; $uploadDir2 = '/MMSFILE/'; $uploadDir3 = '/ORG/'; $fileChange = fileReName($_FILES[$img]['name']); $saveDir = $uploadDir.$uploadDir2.$uploadDir3.$fileChange; //$wonImg = $saveDir; //원래이미지 if(move_uploaded_file($_FILES[$img]['tmp_name'], $saveDir)){ ; }else{ return; } $imagick = new Imagick($saveDir); $data = $imagick->identifyimage(); //echo $data['resolution']['x'];exit; compress($saveDir, $saveDir, 60); $getImgSize = img_resize_only($saveDir, 700, 700); if($data['resolution']['x'] <= $dpi || $data['resolution']['y'] <= $dpi){ //echo 'this';exit; return '/UPLOAD/'.$uploadDir2.$uploadDir3.$fileChange; }else{ $imagick = new Imagick(); $imagick->readImage($saveDir); $imagick->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH); $imagick->setImageResolution($dpi,$dpi); //$imagick->resizeImage($data['geometry']['width'],$data['geometry']['height'],Imagick::FILTER_LANCZOS,1); $imagick->resizeImage($getImgSize[0],$getImgSize[1],Imagick::FILTER_LANCZOS,1); $imagick->writeImage($uploadDir.$uploadDir2.$fileChange); return '/UPLOAD/'.$uploadDir2.$fileChange; } } function img_resize_only($img, $maxwidth, $maxheight){ if($img) { // $img는 이미지의 경로(예:./images/phplove.gif) $imgsize = getimagesize($img); if($imgsize[0]>$maxwidth || $imgsize[1]>$maxheight) { // 가로길이가 가로limit값보다 크거나 세로길이가세로limit보다 클경우 $sumw = (100*$maxheight)/$imgsize[1]; $sumh = (100*$maxwidth)/$imgsize[0]; if($sumw < $sumh) { // 가로가 세로보다 클경우 $img_width = ceil(($imgsize[0]*$sumw)/100); $img_height = $maxheight; } else { // 세로가 가로보다 클경우 $img_height = ceil(($imgsize[1]*$sumh)/100); $img_width = $maxwidth; } } else { // limit보다 크지 않는 경우는 원본 사이즈 그대로..... $img_width = $imgsize[0]; $img_height = $imgsize[1]; } $imgsize[0] = $img_width; $imgsize[1] = $img_height; } else { $imgsize[0] = $maxwidth; $imgsize[1] = $maxheight; } return $imgsize; } function compress($source, $destination, $quality) { $info = getimagesize($source); if ($info['mime'] == 'image/jpeg') $image = imagecreatefromjpeg($source); elseif ($info['mime'] == 'image/gif') $image = imagecreatefromgif($source); elseif ($info['mime'] == 'image/png') $image = imagecreatefrompng($source); imagejpeg($image, $destination, $quality); return $destination; } function setPointAdminFn($memberIDX, $point, $useIDX, $useIS, $method, $class){ global $getSiteSkin, $connectIP, $agent; $sql = " insert into _PAYMENT SET p_site = '".$getSiteSkin['di_idx']."' , p_user_idx = '".trim(addslashes($memberIDX))."' , p_class = '".trim(addslashes($class))."' , p_point = '".trim(addslashes($point))."' , p_use_idx = '".addslashes(trim($useIDX))."' , p_use_is = '".addslashes(trim($useIS))."' , p_method = '".addslashes(trim($method))."' , p_charge_is = '".addslashes(trim('Y'))."' , p_regdate = now() , p_reghost = '".$connectIP."' , p_regagent = '".$agent."' "; //query("insert into _TEST set t_txt = '".trim(addslashes($sql))."' "); $rs = query($sql); return insert_id(); } function getAllPointSum($CODE, $CLASS='CAL'){ global $memberInfo; if($memberInfo['m_idx'] == '') return 0; if(!getValue('_MEMBER', " where m_idx = '".$CODE."' ", 'm_idx', 'm_idx')){ return 0; } switch($CLASS){ case 'PLUS' : $_WHERE = " and p_type = '+' and p_use_is = 'Y' "; $_FILED = ' sum(p_point) '; break; default : $_WHERE = " and IF(p_type='+', p_use_is = 'Y', p_use_is <> 'N') "; $_FILED = " sum(CONCAT(p_type, p_point)) "; break; } /* if($CLASS == 'PLUS'){ $_WHERE = ' '; } */ return (int)getValue('_POINT', " where p_user_idx = '".$CODE."' ".$_WHERE." ", 'sum', $_FILED.' as sum'); } function unique_multidim_array($array, $key){ $temp_array = array(); $i = 0; $key_array = array(); foreach($array as $val){ if(!in_array($val[$key], $key_array)){ $key_array[$i] = $val[$key]; $temp_array[$i] = $val; } $i++; } return $temp_array; } function getMemberInfoFn($memberIDX, $callType='ar', $f='*'){ global $getSiteSkin; $memberInfo = getValue('_MEMBER', " where m_idx = '".$memberIDX."' /*and m_site = '".$getSiteSkin['di_idx']."'*/ ", $callType, $f); return $memberInfo; } function getGoogleGeoFn($addr1, $addr2=''){ $addr1Ar = explode(')', $addr1); //echoAr('address='.urlencode(trim($addr1Ar[0]).' '.trim($addr2)).'&language=ko&sensor=false&output=json'); $xyJson = socketGet('http://maps.googleapis.com/maps/api/geocode/json', 'address='.urlencode(trim($addr1Ar[0]).' '.trim($addr2)).'&language=ko&sensor=false&output=json'); $xyAr = json_decode($xyJson, true); settype($xyAr, 'array'); //echoAr($xyAr); if($xyAr['status'] == 'OK'){ $result['addr1'] = $addr1; $result['addr2'] = $addr2; $result['lat'] = $xyAr['results'][0]['geometry']['location']['lat']; $result['lng'] = $xyAr['results'][0]['geometry']['location']['lng']; $newaddrAr = ''; $result['newaddr1'] = ''; $result['newaddr2'] = ''; }else{ $result['newaddr1'] = $addr1; $result['newaddr2'] = $addr2; $result['lat'] = ''; $result['lng'] = ''; $newaddrAr = ''; $result['addr1'] = ''; $result['addr2'] = ''; } return $result; } function FCMPush($message){//FCM message send function $server_key = "AAAAaoptFVM:APA91bEyTTvgr4M3QoR0tIYEv1E4ljd345eFTxXT9GhyMk2s00re4FWcWmz19T6X9x8pcu262rqZzoq2hEEj8a84y-ZXcxHzaYf3Iwt8EMOTeCswfw0NJJnCdR1CB4mQlasyfpD0fnOQ"; if (!defined('GOOGLE_SERVER_KEY'))define('GOOGLE_SERVER_KEY', $server_key); $url = 'https://fcm.googleapis.com/fcm/send'; $headers = array ( 'Authorization: key=' . GOOGLE_SERVER_KEY, 'Content-Type: application/json' ); // var_dump($message);exit; // var_dump($headers); // exit; // var_dump($id);exit; if (is_array($message['m_fcm_token'])) { $fields['registration_ids'] = $message['m_fcm_token']; }else{ $fields['to'] = $message['m_fcm_token']; } $fields['priority'] = "high"; $fields['content_availavle'] = true; $fields['data']["type"] = $message["type"]; $fields['data']["message"] = $message["message"]; $fields['data']["sender_img"] = $message["sender_img"]; $fields['data']["msg_from"] = $message["msg_from"]; $fields['data']["nick"] = $message["sender_nick"]; $fields['data']["gender"] = $message["sender_gender"]; $fields['data']["room_idx"] = $message["room_idx"]; $fields['data']["idx"] = $message["idx"]; //var_dump($fields); $fields = json_encode ($fields); // echo $fields;exit; $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_POST, true ); curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $fields ); // var_dump($ch); $result = curl_exec ( $ch ); // var_dump($result); if ($result === FALSE) { // echo "fail".$result; die('FCM Send Error: ' . curl_error($ch)); } curl_close ( $ch ); }//FCMPush function FCMPush_IOS($message){//FCM message send function $server_key = "AAAAaoptFVM:APA91bEyTTvgr4M3QoR0tIYEv1E4ljd345eFTxXT9GhyMk2s00re4FWcWmz19T6X9x8pcu262rqZzoq2hEEj8a84y-ZXcxHzaYf3Iwt8EMOTeCswfw0NJJnCdR1CB4mQlasyfpD0fnOQ"; //인연톡용 서버키 if (!defined('GOOGLE_SERVER_KEY'))define('GOOGLE_SERVER_KEY', $server_key); $url = 'https://fcm.googleapis.com/fcm/send'; $headers = array ( 'Authorization: key=' . GOOGLE_SERVER_KEY, 'Content-Type: application/json' ); if (is_array($message['m_fcm_token'])) { $fields['registration_ids'] = $message['m_fcm_token']; }else{ $fields['to'] = $message['m_fcm_token']; } //$fields['to'] = $message['m_fcm_token']; //받는 사람 키 $fields['priority'] = "high"; //우선순위 $fields['content_availavle'] = true; //컨텐츠 사용유무 $fields['data']["type"] = $message["type"]; $fields['data']["message"] = $message["message"]; $fields['data']["sender_img"] = $message["sender_img"]; $fields['data']["msg_from"] = $message["msg_from"]; $fields['data']["nick"] = $message["sender_nick"]; $fields['data']["gender"] = $message["sender_gender"]; $fields['data']["room_idx"] = $message["room_idx"]; $fields['data']["idx"] = $message["idx"]; //$fields['data'] = $message['data']; //컨텐츠 전송내역 $fields['notification'] = array( "title" => "인연톡", // "icon" => "img_mainlogo", 'message' => $message["message"], "body" => $message["message"], "sound" => "default", "vibrate" => 1, // "badge" => 0 ); //var_dump($fields); $fields = json_encode ($fields); // echo $fields; $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_POST, true ); curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $fields ); // var_dump($ch); $result = curl_exec ( $ch ); //var_dump($result); if ($result === FALSE) { // echo "fail".$result; die('FCM Send Error: ' . curl_error($ch)); } curl_close ( $ch ); }//FCMPush_IOS //전체 푸시 날리기 2019.03.25 by zero function send_notification($tokens,$message) { $server_key="AAAAaoptFVM:APA91bEyTTvgr4M3QoR0tIYEv1E4ljd345eFTxXT9GhyMk2s00re4FWcWmz19T6X9x8pcu262rqZzoq2hEEj8a84y-ZXcxHzaYf3Iwt8EMOTeCswfw0NJJnCdR1CB4mQlasyfpD0fnOQ"; //인연톡용 서버키 if (!defined('GOOGLE_SERVER_KEY'))define('GOOGLE_SERVER_KEY', $server_key); $url = "https://fcm.googleapis.com/fcm/send"; $fields = array( 'registration_ids' =>$tokens, 'data' => $message, "idx" => $message["idx"] ); $headers = array( 'Authorization:key = '.GOOGLE_SERVER_KEY, 'Content-Type: application/json' ); //exit; $ch = curl_init(); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_POST, true ); curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ( $ch, CURLOPT_POSTFIELDS, json_encode($fields)); $result = curl_exec ( $ch ); if ($result === FALSE || $result === false) { die('FCM Send Error: ' . curl_error($ch)); } //echo $result; curl_close ($ch); return $result; } function send_notification_IOS($tokens,$message) { $server_key="AAAAaoptFVM:APA91bEyTTvgr4M3QoR0tIYEv1E4ljd345eFTxXT9GhyMk2s00re4FWcWmz19T6X9x8pcu262rqZzoq2hEEj8a84y-ZXcxHzaYf3Iwt8EMOTeCswfw0NJJnCdR1CB4mQlasyfpD0fnOQ"; //인연톡용 서버키 if (!defined('GOOGLE_SERVER_KEY'))define('GOOGLE_SERVER_KEY', $server_key); $url = "https://fcm.googleapis.com/fcm/send"; $fields = array( 'registration_ids' =>$tokens, 'data' => $message, "idx" => $message["idx"] ); //아이폰 전용 $fields['notification'] = array( "title" => $message['title'], // "icon" => "img_mainlogo", 'message' => $message["message"], "body" => $message['message'], "sound" => "default", "vibrate" => 1, // "badge" => 0 ); /* $fields['notification'] = array( "title" => "messagetalk", // "icon" => "img_mainlogo", 'message' => $message["message"], "body" => $message["message"], "sound" => "default", "vibrate" => 1, // "badge" => 0 ); //추가 항목 $fields["notification"]["alert"]["body"] = $message['content']; $fields["notification"]["alert"]["title"] = $message['title']; */ $headers = array( 'Authorization:key = '.GOOGLE_SERVER_KEY, 'Content-Type: application/json' ); //print_r($fields); //exit; $ch = curl_init(); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_POST, true ); curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true ); //curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, 0); //curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt ( $ch, CURLOPT_POSTFIELDS, json_encode($fields)); $result = curl_exec ( $ch ); if ($result === FALSE || $result === false) { die('FCM Send Error: ' . curl_error($ch)); } //echo $result; //exit; curl_close ($ch); return $result; } function fcm_push($message,$server_key,$receive_id){ $header = array( 'Authorization: key='.$server_key, 'Content-Type: application/json' ); $body = array( "priority" => "high", "data" => $message ); if(is_array($receive_id)){ $body['registration_ids'] = $receive_id; }else{ $body['to'] = $receive_id; } $url = "https://fcm.googleapis.com/fcm/send"; $data=json_encode($body); return socketPostPush($url,$server_key,$data); } function socketPostPush($url="",$server_key='', $data='', $referer='', $port="80"){ $uinfo = parse_url($url); $send_str = "POST {$uinfo['path']} HTTP/1.1\r\n". "Host: {$uinfo['host']}\r\n". "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)\r\n". "Referer: {$referer}\r\n". "Content-Type: application/json\r\n". "Authorization: key=".$server_key."\r\n". "Content-length: ".strlen($data)."\r\n". "Connection: close\r\n\r\n". $data; $fp = fsockopen($uinfo['host'], $port); fputs($fp,$send_str); $source=''; while(!feof($fp)){ $source .= fgets($fp,4096); } fclose($fp); return preg_replace("/^HTTP.*\r\n\r\n/Uis", '', $source); } function sendMail($EMAIL, $NAME, $SUBJECT, $CONTENT, $MAILTO, $MAILTONAME, $RETURNIS=true){ include_once $_SERVER['DOCUMENT_ROOT'].'/lib/PHPMailer_5.2.4/class.phpmailer.php'; $mail = new PHPMailer(); $body = $CONTENT; $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "smtp.worksmobile.com"; // SMTP server $mail->SMTPDebug = 0; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mail->CharSet = "utf-8"; $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = "tls"; // sets the prefix to the servier $mail->Host = "smtp.naver.com"; // sets GMAIL as the SMTP server $mail->Port = 587; // set the SMTP port for the GMAIL server $mail->Username = "yds5004@naver.com"; // GMAIL username $mail->Password = "lifeadvisor"; // GMAIL password $mail->SetFrom($EMAIL, $NAME); $mail->AddReplyTo($EMAIL, $NAME); //$mail->AddCC('cc@example.com');// 참조 //$mail->AddBCC('bcc@example.com');//숨은참조 //$mail->AddAttachment($_SERVER['DOCUMENT_ROOT'].'/img01_about_img.jpg'); // Add attachments 첨부 파일이 있을 경우 //$mail->AddAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name 첨부 파일과 첨부파일 명 $mail->IsHTML(true); // Set email format to HTML 메일을 보낼 때 html 형식으로 메일을 보낼 경우 true $mail->Subject = $SUBJECT; $mail->MsgHTML($body); $address = $MAILTO; $mail->AddAddress($address, $MAILTONAME); if(!$mail->Send()){ if($RETURNIS){ return('{"result":"N","message":"메일을 전송하지 못하였습니다.\n(사유 : '.$mail->ErrorInfo.').","CODE":"", "NAME":""}'); } //echo "Mailer Error: " . $mail->ErrorInfo; }else{ // exit('this'); if($RETURNIS) return('{"result":"Y","message":"성공적으로 메일전송이 완료 하였습니다.","ID":""}'); //echo "Message sent!"; } } function useExit($txt=''){ global $DBINFO; mysqli_close($DBINFO); exit($txt); } function setPoint($type, $member_idx, $point, $use_is, $contents, $admCheck=''){ global $memberInfo, $getSiteSkin, $connectIP, $agent; $sql = " insert into _POINT SET p_site = '".$getSiteSkin['di_idx']."' , p_user_idx = '".setSqlFilter($member_idx)."' , p_type = '".setSqlFilter($type)."' , p_point = '".setSqlFilter($point)."' , p_use_is = '".setSqlFilter($use_is)."' , p_contents = '".setSqlFilter($contents)."' , p_admin_check = '".setSqlFilter($admCheck)."' , p_regdate = now() , p_regagent = '".$agent."' , p_reghost = '".$connectIP."' "; $rs = query($sql); $id = insert_id(); if($rs){ return '{"result":"Y","message":"성공적으로 등록하였습니다.","CODE":"'.$id.'"}'; }else{ return '{"result":"N","message":"일시적 오류입니다.","url":"","CODE":""}'; } } // function random_int($min, $max) { // if (!function_exists('mcrypt_create_iv')) { // trigger_error( // 'mcrypt must be loaded for random_int to work', // E_USER_WARNING // ); // return null; // } // if (!is_int($min) || !is_int($max)) { // trigger_error('$min and $max must be integer values', E_USER_NOTICE); // $min = (int)$min; // $max = (int)$max; // } // if ($min > $max) { // trigger_error('$max can\'t be lesser than $min', E_USER_WARNING); // return null; // } // $range = $counter = $max - $min; // $bits = 1; // while ($counter >>= 1) { // ++$bits; // } // $bytes = (int)max(ceil($bits/8), 1); // $bitmask = pow(2, $bits) - 1; // if ($bitmask >= PHP_INT_MAX) { // $bitmask = PHP_INT_MAX; // } // do { // $result = hexdec( // bin2hex( // mcrypt_create_iv($bytes, MCRYPT_DEV_URANDOM) // ) // ) & $bitmask; // } while ($result > $range); // return $result + $min; // } //거리입력을 받아서 출력 2020-02-10 by zero function distance2($lat1, $lon1, $lat2, $lon2, $unit) { if (($lat1 == $lat2) && ($lon1 == $lon2)) { return 0; }else{ $theta = $lon1 - $lon2; $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta)); $dist = acos($dist); $dist = rad2deg($dist); $miles = $dist * 60 * 1.1515; $unit = strtoupper($unit); if ($unit == "K") //킬로미터 { return ($miles * 1.609344); }else if ($unit == "N") //Nautical Miles { return ($miles * 0.8684); }else if ($unit == "M") //Miles { return $miles; } } } } ?>