array("あ","か","さ","た","な","は","ま","や","ら","わ","が","ざ","だ","ば","ぱ","ぁ","ゃ"), "I"=>array("い","き","し","ち","に","ひ","み","@","り","@","ぎ","じ","ぢ","び","ぴ","ぃ"), "U"=>array("う","く","す","つ","ぬ","ふ","む","ゆ","る","ん","ぐ","ず","づ","ぶ","ぷ","ぅ","ゅ","っ"), "E"=>array("え","け","せ","て","ね","へ","め","@","れ","@","げ","ぜ","で","べ","ぺ","ぇ"), "O"=>array("お","こ","そ","と","の","ほ","も","よ","ろ","を","ご","ぞ","ど","ぼ","ぽ","ぉ","ょ") ); var $const=NULL; function get_orders($startdate,$enddate,$whatfor="html",$referrer="") { $this->sql_db(); $totalvalue = $allorders = $allemptyorders = $beforevat = $feesthisday = $valuethisdaysubtotalBEFOREtax = 0; $valuethisdaysubtotalBEFOREtaxWITHfees = $beforeTaxBeforeFeesTotal = $beforeTaxAfterFeesTotal = 0; $startdate = explode(" ",$startdate); $startdatetokeep = $startdate[0]; $startdate = explode("-",$startdate[0]); $enddate = explode(" ",$enddate); $enddatetokeep = $enddate[0]; $enddate = explode("-",$enddate[0]); $unixstarttime = mktime('00','00','01',$startdate[1],$startdate[2],$startdate[0]); $unixendtime = mktime('23','59','59',$enddate[1],$enddate[2],$enddate[0]); $startdatesql = $startdate[0].'000000'; $enddatesql = $enddate[0].'235959'; $codeOrdersTotal = 0; $sql = "SELECT isbn FROM books WHERE codeonly = 'Yes' AND isbn <>'3910001DL'"; $coderesult = $this->sql_fetchrowset($this->sql_query($sql)); $codeisbns = array(); foreach($coderesult as $res) { $codeisbns[] = $res['isbn']; } while($unixstarttime < $unixendtime) { $i = 0; $newtime = date('Ymd',$unixstarttime); $startdatesql = $newtime.'000000'; $enddatesql = $newtime.'235959'; if(!$referrer) { $sql = "SELECT id, ordermail,date,total,subtotal, payment_method FROM orders WHERE date>='".$startdatesql."' AND date<='".$enddatesql."' AND email NOT IN ('".implode("','",explode(",",EMAILS_TO_IGNORE))."')"; $result = $this->sql_fetchrowset($this->sql_query($sql)); } else { if($referrer=='all') { $sql = "SELECT o.ordermail, o.date,o.total,o.subtotal FROM orders o, referrer r WHERE o.date>='".$startdatesql."' and o.date<='".$enddatesql."' AND r.id>0 AND o.email NOT IN ('".implode("','",explode(",",EMAILS_TO_IGNORE))."') AND r.emailid = o.sessid"; $result = $this->sql_fetchrowset($this->sql_query($sql)); } else { $sql = "SELECT o.ordermail, o.date,o.total,o.subtotal FROM orders o, referrer r WHERE o.date>='".$startdatesql."' and o.date<='".$enddatesql."' AND r.id>0 AND o.email NOT IN ('".implode("','",explode(",",EMAILS_TO_IGNORE))."') AND r.emailid = o.sessid AND r.referrer = '".$referrer."' "; $result = $this->sql_fetchrowset($this->sql_query($sql)); } } $codeOrders = 0; foreach($result as $val) { extract($val); $items = $this->splitorder($ordermail); $thisordertotal = $donated = 0; foreach($items as $ivals) { if(strpos($ivals['title'],'donated item')===false && strpos($ivals['title'],'寄贈された本')===false) { $thisordertotal = $thisordertotal+$ivals['itotal']; } else { $donated = $donated+$ivals['itotal']; } $codeOrders = in_array($ivals['isbn'],$codeisbns) ? $codeOrders+1 : $codeOrders; } if(date('Ymd',$unixstarttime)<20140401) $vat = 1.05; if(date('Ymd',$unixstarttime)>=20140401) $vat = 1.08; $subvaluethisdaytotal = $total-$donated; $subvaluethisdaysubtotal = $thisordertotal; $valuethisdaytotal = $valuethisdaytotal + $subvaluethisdaytotal; $valuethisdaysubtotal += $subvaluethisdaysubtotal; if(!$total) $emptyorder = $emptyorder+1; $allordersthisday = $allordersthisday ? $allordersthisday+1 : 1; /* $totaldiff = $total-$thisordertotal; $total = $thisordertotal; $subtotal = $subtotal-$totaldiff; $allordersthisday = $allordersthisday ? $allordersthisday+1 : 1; if(!$total) { $emptyorder = $emptyorder+1; } else { $valuethisdaytotal = $valuethisdaytotal + $total; echo '|'.$total.' - '; $valuethisdaysubtotal = $valuethisdaysubtotal + $subtotal; echo ' {'.$subtotal.'} '; } */ //correct : $subtotal = $total; //vat: } $feesthisday = $valuethisdaytotal-$valuethisdaysubtotal; $valuethisdaysubtotalBEFOREtax = round($valuethisdaysubtotal/$vat); $valuethisdaysubtotalBEFOREtaxWITHfees = $valuethisdaysubtotalBEFOREtax + $feesthisday; //$valuethisdaysubtotalbeforevat = round($valuethisdaysubtotal/$vat); $datetoshow = date('Y-m-d',$unixstarttime); $allorders = $allorders + $allordersthisday; $allemptyorders = $allemptyorders + $emptyorder; $allordersthisday = $allordersthisday ? $allordersthisday : 0; $emptyorder = $emptyorder ? $emptyorder : 0; $showlist .= ' '.$datetoshow.' '.$allordersthisday.' '.$codeOrders.' ¥'.number_format($valuethisdaytotal).' ¥'.number_format($valuethisdaysubtotalBEFOREtaxWITHfees).' ¥'.number_format($valuethisdaysubtotal).' ¥'.number_format($valuethisdaysubtotalBEFOREtax).' See details '; $dataByDate[$datetoshow] = $valuethisdaysubtotal; $unixstarttime = $unixstarttime + 86400; $totalvalue = $totalvalue + $valuethisdaytotal; $subtotalvalue = $subtotalvalue + $valuethisdaysubtotal; $subtotalvaluebeforevat = $subtotalvaluebeforevat >0 ? $subtotalvaluebeforevat+$valuethisdaysubtotalbeforevat : $valuethisdaysubtotalbeforevat; $valuethisdaytotal = $valuethisdaysubtotal = $allordersthisday = $emptyorder = 0; $beforeTaxBeforeFeesTotal = $beforeTaxBeforeFeesTotal+$valuethisdaysubtotalBEFOREtax; $beforeTaxAfterFeesTotal = $beforeTaxAfterFeesTotal+$valuethisdaysubtotalBEFOREtaxWITHfees; $codeOrdersTotal = $codeOrdersTotal + $codeOrders; } $showlist .= ' Total: '.$allorders.' '.$codeOrdersTotal.' ¥'.number_format($totalvalue).' ¥'.number_format($beforeTaxAfterFeesTotal).' ¥'.number_format($subtotalvalue).' ¥'.number_format($beforeTaxBeforeFeesTotal).' '; if($whatfor=='html') return $showlist; if($whatfor=='graph') return $dataByDate; } function most_searched_items() { $this->sql_db(); $sql = "SELECT * FROM search ORDER BY times DESC LIMIT 51"; $result = $this->sql_fetchrowset($this->sql_query($sql)); $searchtermlist = '
    '; foreach($result as $val) { extract($val); if(strpos(stripslashes(urldecode($term)),"著者名などを入力してください。")===false) { $searchtermlist .= '
  1. '.stripslashes(urldecode($term)).'     ('.$times.' times)
  2. '; } } $searchtermlist .= '
'; return $searchtermlist; } function add_new_invoice($postedData) { $this->sql_db(); extract($postedData); $sql = "INSERT INTO invoices (invoice_id,invoice_date,invoice_amount,customer,status,mailaddress) VALUES ('".$invoice_id."','".preg_replace("/[^0-9-]/", '', $invoice_date)."','".preg_replace("/[^0-9]/", '', $invoice_amount)."','".str_replace("'","''",stripslashes($customer))."','unpaid','".trim($email)."')"; $this->sql_query($sql); $id = $this->sql_nextid(); return $id; } function update_invoice($postedData) { $this->sql_db(); extract($postedData); $sql = "UPDATE invoices SET invoice_id='".preg_replace("/[^0-9-]/", '', $invoice_id)."', invoice_date='".preg_replace("/[^0-9-]/", '', $invoice_date)."', invoice_amount='".preg_replace("/[^0-9]/", '', $invoice_amount)."', customer='".str_replace("'","''",stripslashes($customer))."', mailaddress='".trim($email)."' WHERE invoice_id='".$oldiid."' LIMIT 1"; if($this->sql_query($sql)) return $invoice_id; return 0; } function get_invoices($offset,$onepage,$where) { $this->sql_db(); $sql = "SELECT * FROM invoices $where ORDER BY invoice_date DESC LIMIT $offset,$onepage"; return $this->sql_fetchrowset($this->sql_query($sql)); } function delete_invoice($id) { $this->sql_db(); $sql = "DELETE FROM invoices WHERE invoice_id='".$id."' LIMIT 1"; return $this->sql_query($sql); } function count_invoices($where="") { $this->sql_db(); $sql = "SELECT COUNT(*) FROM invoices $where"; $counter = $this->sql_fetchrow($this->sql_query($sql)); return $counter['COUNT(*)']; } function batch_change_items($data) { $this->sql_db(); while (list($key, $value) = each($data["changeditem"])) { if($data["changeditem"][$key]["delete"]=="on") { $sql = "DELETE FROM books WHERE id='".$key."' LIMIT 1"; } else { $sql = "UPDATE books SET status='".$data["changeditem"][$key]["status"]."', position='".$data["changeditem"][$key]["position"]."' WHERE id='".$key."' LIMIT 1"; } if (!($result = $this->sql_query($sql))) { $msg .= "Something went wrong - Could not store data!
"; } } return $msg; } function delete_most_searched_items() { $this->sql_db(); $sql = "DELETE FROM search"; $this->sql_query($sql); $sql = "OPTIMIZE TABLE search"; $this->sql_query($sql); } function getpaymentmethod($ordermail) { $language = $this->getlanguagefrommail($ordermail); $paymenttag = $language=='en' ? "Preferred Payment Method" : "お支払い方法"; preg_match('#'.$paymenttag.'.+#i',$ordermail,$sourceval); $payment = trim(str_replace($paymenttag, '', $sourceval[0])); return $payment; } function getcomment($ordermail) { $language = $this->getlanguagefrommail($ordermail); $commenttag = $language=='en' ? "Comment:" : "コメント:"; $addresskey = ""; $ordermailsplit = explode(PHP_EOL,$ordermail); foreach($ordermailsplit as $key=>$val) { if(strpos($val,$commenttag)!==false) { $addresskey = $key; } } if($addresskey>0) { for($i=$addresskey;$i<($addresskey+1000);$i++) { if(strpos($ordermailsplit[$i],"=====")!==false) { $endkey[] = $i; } } for($i=$addresskey;$i<$endkey[0];$i++) { $mycomment .= $ordermailsplit[$i].' '; } $mycomment = str_replace($commenttag,"",str_replace("\t","",str_replace("      ","",$mycomment))); return trim($mycomment); } else { return; } } function getlanguagefrommail($ordermail) { // $language = strpos($ordermail,"ご利用")===false ? "en" : "ja"; $language = strpos($ordermail,"合計")===false ? "en" : "ja"; return $language; } function getcustomerdatafromemail($ordermail){ $addresskey = ""; $language = $this->getlanguagefrommail($ordermail); if(strpos($ordermail,"会社名・学校名:")!==false || strpos($ordermail,"Institution Name:")!==false) { $fnametag = $language=='en' ? "Given Name: " : "めい:       "; $lnametag = $language=='en' ? "Family Name: " : "せい:  "; $phonetag = $language=='en' ? "Telephone: " : "電話番号:     "; $ziptag = $language=='en' ? "Address: " : "ご住所:      "; $gendertag = $language=='en' ? "Gender: " : "性別:        "; $nationalitytag = $language=='en' ? "Nationality: " : "国籍:        "; $institutiontag = $language=='en' ? "Institution Name: " : "会社名・学校名:   "; $sourcetag = $language=='en' ? "How did you hear about us?" : "このサイトを知ったきっかけ:"; $paymenttag = $language=='en' ? "Preferred Payment Method" : "お支払い方法"; $faxtag = $language=='en' ? "Fax:" : "ファックス:    "; $ordermailsplit = explode(PHP_EOL,$ordermail); foreach($ordermailsplit as $key=>$val) { if(strpos($val,"Address:")!==false || strpos($val,"ご住所:      ")!==false) { $addresskey = $key; } } preg_match('#'.$fnametag.'.+#i',$ordermail,$fnameval); $udata['fname'] = str_replace($fnametag,"",$fnameval[0]); preg_match('#'.$lnametag.'.+#i',$ordermail,$lnameval); $udata['lname'] = str_replace($lnametag,"",$lnameval[0]); if($language=='ja') { //special treatment for japanese since we have two name versions $fnamekanjitag = "名前:       "; $lnamekanjitag = "名字:       "; preg_match('#'.$fnamekanjitag.'.+#i',$ordermail,$fnameval); $fnamekanji = str_replace($fnamekanjitag,"",$fnameval[0]); preg_match('#'.$lnamekanjitag.'.+#i',$ordermail,$lnameval); $lnamekanji = str_replace($lnamekanjitag,"",$lnameval[0]); $udata['japname'] = trim($lnamekanji).' '.trim($fnamekanji); $udata['fname'] = ucfirst($this->conv($udata['fname'])); $udata['lname'] = ucfirst($this->conv($udata['lname'])); } preg_match('#'.$phonetag.'.+#i',$ordermail,$phoneval); $udata['phone'] = preg_replace("/[^0-9-]/", '', $phoneval[0]); preg_match('#'.$faxtag.'.+#i',$ordermail,$faxval); $udata['fax'] = preg_replace("/[^0-9-]/", '', $faxval[0]); preg_match('#'.$ziptag.'.+#i',$ordermail,$zipval); $udata['zip'] = preg_replace("/[^0-9-]/", '', $zipval[0]); preg_match('#'.$gendertag.'.+#i',$ordermail,$otherval); $udata['gender'] = trim(str_replace($gendertag, '', $otherval[0])); preg_match('#'.$nationalitytag.'.+#i',$ordermail,$otherval); $udata['nationality'] = trim(str_replace($nationalitytag, '', $otherval[0])); preg_match('#'.$institutiontag.'.+#i',$ordermail,$otherval); $udata['institution'] = trim(str_replace($institutiontag, '', $otherval[0])); preg_match('#'.$sourcetag.'.+#i',$ordermail,$sourceval); $udata['source'] = trim(str_replace($sourcetag, '', $sourceval[0])); preg_match('#'.$paymenttag.'.+#i',$ordermail,$sourceval); $udata['payment'] = trim(str_replace($paymenttag, '', $sourceval[0])); $udata['address'] = trim(str_replace(" ","",$ordermailsplit[$addresskey+1].$ordermailsplit[$addresskey+2].$ordermailsplit[$addresskey+3])); $udata['prefecture'] = trim(str_replace(" ","",$ordermailsplit[$addresskey+1])); $udata['address1'] = trim(str_replace(" ","",$ordermailsplit[$addresskey+2])); $udata['address2'] = trim(str_replace(" ","",$ordermailsplit[$addresskey+3])); return $udata; } } function getotheritems($ordermail) { $language = $this->getlanguagefrommail($ordermail); $orderstart = $language=='en' ? "PROVISIONAL ORDER DETAILS" : "ご注文の内容"; $ordermailE = explode($orderstart,$ordermail); $ordermail = $ordermailE[1]; $delimiter = $language=='en' ? "____________________________________________" : "----------------------------------------------------------------------------------"; if($language=='en' && strpos($ordermail,$delimiter)===false) $delimiter = "----------------------------------------------------------------------------------"; //might need to remove the fix below: $delimiter = "----------------------------------------------------------------------------------"; $ordermailExpl = explode($delimiter,$ordermail); $delitag = $language=='en' ? "Comment:" : "Comment:"; $copiestag = $language=='en' ? "Quantity:" : "数量:"; $titletag = $language=='en' ? "Title: " : "タイトル:     "; $isbntag = $language=='en' ? "ISBN: " : "ISBN:"; foreach($ordermailExpl as $key=>$omval) { if(strpos($omval,$delitag)!==false && strpos($omval,$copiestag)!==false && strpos($omval,$isbntag)===false) { $title = ""; preg_match('#'.$titletag.'.+#i',$omval,$titleval); $title = str_replace($titletag,"",$titleval[0]); if(!$title && $language!='en') { preg_match('#商品名:     .+#i',$omval,$titleval); $title = str_replace("商品名:     ","",$titleval[0]); } preg_match('#'.$copiestag.'.+#i',$omval,$copiesval); $copies = preg_replace("/[^0-9]/", '', $copiesval[0]); preg_match('#'.$delitag.'.+#i',$omval,$commentval); $comment = str_replace($delitag, '', $commentval[0]); if(trim($comment) && $copies && $title) { $extraorder .= " ----------------extra item---------- Title : ".$title." Copies: ".$copies." Other : ".trim($comment)." "; } $comment = $title = $copies = ""; } } return $extraorder; } function splitorder($ordermail) { $language = $this->getlanguagefrommail($ordermail); $delimiter = $language=='en' ? "____________________________________________" : "----------------------------------------------------------------------------------"; if($language=='en' && strpos($ordermail,$delimiter)===false) $delimiter = "----------------------------------------------------------------------------------"; $ordermailExpl = explode($delimiter,$ordermail); $isbntag = $language=='en' ? "ISBN: " : "ISBN:"; $copiestag = $language=='en' ? "Quantity:" : "数量:"; $titletag = $language=='en' ? "Title: " : "タイトル:     "; $componenttag = $language=='en' ? "Component: " : "項目・レベル:   "; $authortag = $language=='en' ? "Author: " : "著者/編集者:   "; $publishertag = $language=='en' ? "Publisher: " : "出版社:      "; $pricetag = $language=='en' ? "Price: " : "価格:       "; $totaltag = $language=='en' ? "Total: " : "小計:       "; $conditiontag = $language=='en' ? "Product Condition: " : "Product Condition:       "; foreach($ordermailExpl as $key=>$omval) { if(strpos($omval,$isbntag)!==false && strpos($omval,$copiestag)!==false) { preg_match('#'.$isbntag.'.+#i',$omval,$isbnval); $items[$key]['isbn'] = str_replace(array($isbntag,"-"," "),"",$isbnval[0]); preg_match('#'.$copiestag.'.+#i',$omval,$copiesval); $items[$key]['copies'] = preg_replace("/[^0-9]/", '', $copiesval[0]); preg_match('#'.$titletag.'.+#i',$omval,$titleval); $items[$key]['title'] = str_replace($titletag,"",$titleval[0]); if(!$items[$key]['title'] && $language!='en') { preg_match('#商品名:     .+#i',$omval,$titleval); $items[$key]['title'] = str_replace("商品名:     ","",$titleval[0]); } preg_match('#'.$componenttag.'.+#i',$omval,$componentval); $items[$key]['component'] = str_replace($componenttag,"",$componentval[0]); preg_match('#'.$authortag.'.+#i',$omval,$authorval); $items[$key]['author'] = str_replace($authortag,"",$authorval[0]); preg_match('#'.$publishertag.'.+#i',$omval,$publisherval); $items[$key]['publisher'] = str_replace($publishertag,"",$publisherval[0]); preg_match('#'.$pricetag.'.+#i',$omval,$priceval); $items[$key]['price'] = preg_replace("/[^0-9]/", '', $priceval[0]); preg_match('#'.$totaltag.'.+#i',$omval,$totalval); $items[$key]['itotal'] = preg_replace("/[^0-9]/", '', $totalval[0]); preg_match('#'.$conditiontag.'.+#i',$omval,$conditionval); $items[$key]['product_condition'] = str_replace($conditiontag,"",$conditionval[0]); } } return $items; } function __construct($txt=NULL){ if(!empty($txt)){ $this->const=$txt; return $this->conv($txt); } } //パブリックメソッド //文字列分割→字数で分岐→ローマ字変換 function conv($txt=NULL){ if(empty($txt) && !empty($this->const)){ $txt=$this->const; } if(empty($txt) && empty($this->const)){ return NULL; } $txt=mb_convert_kana($txt,"c",$this->charset); $stack = $this->_TextSlice($txt); $out = array(); for ($i = 0; $i charset) == 1){ $str = $this->_baseOne($stack[$i]); $out[]=$this->stringChopper($str); }else{ $str2 = $this->_baseTwo($stack[$i]); $out[]=$this->stringChopper($str2); } } if ($this->strout) { return implode('',$out); } return $this->flatten($out); } //ローマ字文字列分解 //$this->chop がtrueならアルファベット毎に分解 //@param {Object} str ローマ字(日本語1文字分) function stringChopper($str){ $out = array(); if ($this->chop && !$this->strout) { for ($n = 0; $n charset); $n++) { $out[]=mb_substr($str,$n,1); } return $out; }else{ return $str; } } //文章を1文字単位に分割する //@param {Object} str 文章 function _TextSlice($txt){ $max = mb_strlen($txt,$this->charset); $n = 0; $array = array(); for ($i = 0; $i <$max; $i++) { ++$n;//次 $str = mb_substr($txt,$i,1);//今の文字 $nxt = mb_substr($txt,$n,1);//次の文字 //隣接する1文字目が小文字や行なら if(preg_match("(ゃ|ゅ|ょ)",$nxt)){ $array[]=$str.$nxt; $i++; $n++; }else if($str=="っ" && array_search($nxt,$this->symbol)===false ){ if(array_search($nxt,$this->number)===false){ $array[]=$str.$nxt; $i++; $n++; }else{ $array[]=$str; } }else{ $array[]=$str; } } return $array; } //変換ベース(2文字) //小文字とセットで2文字になってる文字を判別して処理を分配する //@param {Object} str 変換する文字(小文字とセットで2文字) function _baseTwo($str){ if (preg_match("っ",$str)) { if(mb_strlen($str,$this->charset)==2){ $txt = $this->_baseOne(mb_substr($str,1,1)); return mb_substr($txt,0,1).$txt; }else{ return $this->_baseOne($str); } }else{ switch($str){ case "ちゃ": return $this->mode_TYrows.$this->vowel[0]; break; case "ちゅ": return $this->mode_TYrows.$this->vowel[2]; break; case "ちょ": return $this->mode_TYrows.$this->vowel[4]; break; case "しゃ": return $this->mode_SYrows.$this->vowel[0]; break; case "しゅ": return $this->mode_SYrows.$this->vowel[2]; break; case "しょ": return $this->mode_SYrows.$this->vowel[4]; break; case "じゃ": return $this->mode_JYrows.$this->vowel[0]; break; case "じゅ": return $this->mode_JYrows.$this->vowel[2]; break; case "じょ": return $this->mode_JYrows.$this->vowel[4]; break; default: $first = $this->_baseOne(mb_substr($str,0,1)); $second = $this->_baseOne(mb_substr($str,1,1)); return mb_substr($first,0,1).$second; } } } //変換ベース(1文字) //あいうえお行の配列(cols_H,number,symbol)から文字が何かを判別して各関数へ処理を分配する //@param {Object} str 変換する文字(1文字のみ) function _baseOne($str){ if(array_search($str,$this->cols_H['A'])!==false){//あ行 return $this->_Change_A_Rows(array_search($str,$this->cols_H['A'])); }else if(array_search($str,$this->cols_H['I'])!==false){//い行 return $this->_Change_I_Rows(array_search($str,$this->cols_H['I'])); }else if(array_search($str,$this->cols_H['U'])!==false){//う行 return $this->_Change_U_Rows(array_search($str,$this->cols_H['U'])); }else if(array_search($str,$this->cols_H['E'])!==false){//え行 return $this->_Change_E_Rows(array_search($str,$this->cols_H['E'])); }else if(array_search($str,$this->cols_H['O'])!==false){//お行 return $this->_Change_O_Rows(array_search($str,$this->cols_H['O'])); }else if(array_search($str,$this->symbol) !== false){//記号 return $this->symbol[array_search($str,$this->symbol)]; }else if(array_search($str,$this->number) !== false){//数字 return $str; }else{ return NULL; } } //単音あ行文字をローマ字に //@param {Object} key ひらがな配列のキー番号 function _Change_A_Rows($key){ if ($key == 1){//か行 return $this->mode_Krows.$this->vowel[0]; }else if($key == 15){//小文字ぁ行 return $this->mode_XArows.$this->vowel[0]; }else if($key == 0){ return $this->vowel[0]; }else{ return $this->child[$key].$this->vowel[0]; } } //単音い行文字をローマ字に  //@param {Object} key ひらがな配列のキー番号 function _Change_I_Rows($key){ if ($key == 0){//母音 return $this->vowel[1]; }else if($key == 15){//小文字ぁ行 return $this->mode_XArows.$this->vowel[1]; }else if($key == 2){//し return $this->mode_Sstr.$this->vowel[1]; }else if($key == 11){//じ return $this->mode_Jstr.$this->vowel[1]; }else if($key == 3){//ち return $this->mode_TIstr.$this->vowel[1]; }else{ return $this->child[$key].$this->vowel[1]; } } //単音う行文字をローマ字に  //@param {Object} key ひらがな配列のキー番号 function _Change_U_Rows($key){ if ($key == 0){//母音 return $this->vowel[2]; }else if($key == 1){//く return $this->mode_Krows.$this->vowel[2]; }else if($key == 15){//小文字ぁ行 return $this->mode_XArows.$this->vowel[2]; }else if($key == 3){//つ return $this->mode_TUstr.$this->vowel[2]; }else if($key == 5){//ふ return $this->mode_FUstr.$this->vowel[2]; }else if($key == 9){//ん return $this->mode_Nstr; }else if($key == 12){//づ return $this->mode_DUstr.$this->vowel[2]; }else if($key == 17){//っ return $this->mode_XArows.$this->mode_TUstr.$this->vowel[2]; }else{ return $this->child[$key].$this->vowel[2]; } } //単音え行文字をローマ字に  //@param {Object} key ひらがな配列のキー番号 function _Change_E_Rows($key){ if ($key == 0){//母音 return $this->vowel[3]; }else if($key == 15){//小文字ぁ行 return $this->mode_XArows.$this->vowel[3]; }else{ return $this->child[$key].$this->vowel[3]; } } //単音お行文字をローマ字に  //@param {Object} key ひらがな配列のキー番号 function _Change_O_Rows($key){ if ($key == 0){//母音 return $this->vowel[4]; }else if($key == 1){//こ return $this->mode_Krows.$this->vowel[4]; }else if($key == 15){//小文字ぁ行 return $this->mode_XArows.$this->vowel[4]; }else{ return $this->child[$key].$this->vowel[4]; } } function flatten($array) { $tmp = array(); while (($v = array_shift($array)) !== null) { if (is_array($v)) { $array = array_merge($v, $array); } else { $tmp[] = $v; } } return $tmp; } } ?>
Fatal error: Uncaught Error: Class "queries" not found in /mnt/httpd/vhosts/eltbooks.com/httpdocs/be/conf/config.inc.php:148 Stack trace: #0 /mnt/httpd/vhosts/eltbooks.com/httpdocs/be/api-redirect-link.php(15): require_once() #1 {main} thrown in /mnt/httpd/vhosts/eltbooks.com/httpdocs/be/conf/config.inc.php on line 148