connect(); $post = $x->clean($_POST); $get = $x->clean($_GET); $greeting = $mln->getGreet(); $point = number_format($mln->getPoint()); $system_m = new systemMaster($db); $list_ext = $system_m->get("MOCHIKOMI_LIST_EXT"); $list_max = $system_m->get("LIST_CNT_MAX"); $DOWNLOAD_URL = $system_m->get("DOWNLOAD_URL"); $status_m = new statusMaster($db); $type_master = $status_m->get2("list_type"); $listUploadLimit = $system_m->get("LIST_UPLOAD_LIMIT"); $listUploadLimitStart = $system_m->get("LIMIT_START_DT"); $tmp_dir = "/tmp/list_"; $tmp_dir2 = "/tmp/list2_"; $path = $DOCUMENTROOT . "/member/list/data/"; $new_dir = "/var/www/vhosts/faxdm.mobi/file/list/"; $js = ""; $mes = ""; $tmpl_fname = "../../../template/member/list/index.tmpl"; $comment_rental_s = ""; $comment_rental_e = ""; $comment_mochikomi_s = ""; $comment_mochikomi_e = ""; $kind_v = ""; $category_v = ""; $area_v = ""; $keyword_v = ""; $file_v = ""; $file2_v = ""; $file2 = ""; $name_v = ""; $cnt_v = ""; $kind_radio_r = ""; $kind_radio_m = ""; $cate1 = ""; $cate2 = ""; $cate3 = ""; $cate4 = ""; $vcate1 = ""; $vcate2 = ""; $vcate3 = ""; $vcate4 = ""; $area = ""; $pref = ""; $city = ""; $varea = ""; $vpref = ""; $vcity = ""; $dupchk = ""; //電話FAX共通除外 $exTel = ""; $proc = get("proc", $post); function setCateArea($key, $var) { global $ins1; if ($var != "") { $ins1[$key] = $var; } } // 完了処理 if ($proc == "2") { if ($_SESSION["list"]["kind"] == "r") { //TEL兼用除外 $jo = "0"; if($_SESSION["list"]["exTel"]!="") { $jo = "1"; } $ins1 = array( "member_id" => $x->dbms($_SESSION["login"]["id"]), "type" => $x->dbms($_SESSION["list"]["kind"]), "name" => $x->dbms($_SESSION["list"]["name"]), "cnt" => $x->dbms($_SESSION["list"]["list_no"]), "keyword" => $x->dbms($_SESSION["list"]["keyword"]), "ex_tel" => $x->dbms($jo), "status" => "0"); setCateArea("cate1", $x->dbms($_SESSION["list"]["cate1"])); setCateArea("cate2", $x->dbms($_SESSION["list"]["cate2"])); setCateArea("cate3", $x->dbms($_SESSION["list"]["cate3"])); setCateArea("cate4", $x->dbms($_SESSION["list"]["cate4"])); setCateArea("area", $x->dbms($_SESSION["list"]["area"])); setCateArea("pref", $x->dbms($_SESSION["list"]["pref"])); setCateArea("city", $x->dbms($_SESSION["list"]["city"])); setCateArea("vcate1", $x->dbms($_SESSION["list"]["vcate1"])); setCateArea("vcate2", $x->dbms($_SESSION["list"]["vcate2"])); setCateArea("vcate3", $x->dbms($_SESSION["list"]["vcate3"])); setCateArea("vcate4", $x->dbms($_SESSION["list"]["vcate4"])); setCateArea("varea", $x->dbms($_SESSION["list"]["varea"])); setCateArea("vpref", $x->dbms($_SESSION["list"]["vpref"])); setCateArea("vcity", $x->dbms($_SESSION["list"]["vcity"])); $sql = $qu->makeInsert("llist", $ins1); $db->exec($sql); // 順番待ちファイルを作成 $last_id = $db->last(); $filename = strftime("%Y%m%d%H%M%S") . "_". $last_id . "_llist"; touch("/var/www/vhosts/faxdm.mobi/httpdocs/admin/request/" . $filename); // 持込み } else if ($_SESSION["list"]["kind"] == "m") { // DB登録 $ins1 = array( "member_id" => $x->dbms($_SESSION["login"]["id"]), "type" => $x->dbms($_SESSION["list"]["kind"]), "name" => $x->dbms($_SESSION["list"]["name"]), "cnt" => $x->dbms($_SESSION["list"]["cnt"]), // "filename" => $x->dbms($_SESSION["list"]["upd_file"]["file"]["name"]), "filename" => $x->dbms($_SESSION["list"]["filename"]), "max_atesaki_length" => $x->dbms($_SESSION["list"]["max_atesaki_length"]), "status" => "1"); $db->exec($qu->makeInsert("llist", $ins1)); $lid = $db->last(); // 旧パス $upd_file = $path . $lid; // 新パス $new_target_path = $new_dir . date("Y/m") ."/"; $new_path = $new_target_path . $lid; $db->exec($qu->makeUpdate("llist", array("id" => $lid), array("path" => "", "file_path" => $new_path))); // 旧パスに保存 // copy($_SESSION["list"]["file"], $upd_file); // 新パスに保存 if (!is_dir($new_target_path)) { mkdir($new_target_path, 0777, true); } copy($_SESSION["list"]["file"], $new_path); // セッションファイル削除 unlink($_SESSION["list"]["file"]); } header("Location: end.html"); exit; // 戻る処理 } else if ($proc == "9") { // レンタル if ($_SESSION["list"]["kind"] == "r") { $js = " onLoad=\"kindCheck('r'); checkNo();\""; $kind_radio_r = " checked"; $name_v = $_SESSION["list"]["name"]; $keyword_v = $_SESSION["list"]["keyword"]; $cate1 = $_SESSION["list"]["cate1"]; $cate2 = $_SESSION["list"]["cate2"]; $cate3 = $_SESSION["list"]["cate3"]; $cate4 = $_SESSION["list"]["cate4"]; $area = $_SESSION["list"]["area"]; $pref = $_SESSION["list"]["pref"]; $city = $_SESSION["list"]["city"]; $vcate1 = $_SESSION["list"]["vcate1"]; $vcate2 = $_SESSION["list"]["vcate2"]; $vcate3 = $_SESSION["list"]["vcate3"]; $vcate4 = $_SESSION["list"]["vcate4"]; $varea = $_SESSION["list"]["varea"]; $vpref = $_SESSION["list"]["vpref"]; $vcity = $_SESSION["list"]["vcity"]; $exTel = $_SESSION["list"]["exTel"]; // TEL兼用除外 if ($_SESSION["list"]["exTel"] != "") { $exTel = " checked"; } // 持込み } else if ($_SESSION["list"]["kind"] == "m") { $js = " onLoad=\"kindCheck('m')\""; $kind_radio_m = " checked"; $name_v = $_SESSION["list"]["name"]; // 重複チェック if ($_SESSION["list"]["dupChk"] != "") { $dupchk = " checked"; } // ファイルを出力する $set_file_name = $_SESSION["list"]["file"]; $upd_file_name = $_SESSION["list"]["upd_file"]["file"]["name"]; $dl_url = $DOWNLOAD_URL . "?file=" . urlencode($set_file_name) . "&name=" . urlencode($upd_file_name); $file2_v = "" . $_SESSION["list"]["upd_file"]["file"]["name"] . ""; $file2 = $set_file_name; } // 確認画面 } else if ($proc == "1") { $err_flg = "0"; $kind = get("kind", $post); $kind_v = $type_master[$kind]; $name_v = get("name", $post); if ($kind == "r") { $vcate1 = get("vcate1", $post); $vcate2 = get("vcate2", $post); $vcate3 = get("vcate3", $post); $vcate4 = get("vcate4", $post); $varea = get("varea", $post); $vpref = get("vpref", $post); $vcity = get("vcity", $post); if ($vcate1 != "") { $category_v .= "大カテゴリ:" . get("vcate1", $post) . "
"; } if ($vcate2 != "") { $category_v .= "中カテゴリ:" . get("vcate2", $post) . "
"; } if ($vcate3 != "") { $category_v .= "小カテゴリ:" . get("vcate3", $post) . "
"; } if ($vcate4 != "") { $category_v .= "詳細カテゴリ:" . get("vcate4", $post) . "
"; } if ($varea != "") { $area_v .= "地域:" . get("varea", $post) . "
"; } if ($vpref != "") { $area_v .= "都道府県:" . get("vpref", $post) . "
"; } if ($vcity != "") { $area_v .= "市区町村:" . get("vcity", $post) . "
"; } $keyword_v = get("keyword", $post); $cnt_v = number_format(get("list_no", $post)); // TEL兼用除外 $exTel = get("exTel", $post); $comment_mochikomi_s = ""; $_SESSION["list"] = $post; } else if ($kind == "m") { $comment_rental_s = ""; $fileSize = $_FILES["file"]["size"]; if ($fileSize > 48000000) { $err_flg = "1"; $mes .= "持ち込みリストは50MB以下のファイルを設定してください"; } else { // ファイルを一時フォルダに保存する $file2 = get("file2", $post); $tmp_file = $tmp_dir . basename($_FILES["file"]["tmp_name"]); $file_v = $_FILES["file"]["name"]; if ($file2 != "") { $tmp_file = $file2; $file_v = $_SESSION["list"]["upd_file"]["file"]["name"]; } move_uploaded_file($_FILES["file"]["tmp_name"], $tmp_file); // 出力 $tmp_file2 = $tmp_dir2 . basename($_FILES["file"]["tmp_name"]); touch($tmp_file2); chmod($tmp_file2, 0777); $f2 = new File($tmp_file2); $f2->update("REF,ADDR\n"); exec("nkf -w --overwrite " . $tmp_file); // 重複チェック $dupchk = get("dupChk", $post); $search = Array('Ⅰ','Ⅱ','Ⅲ','Ⅳ','Ⅴ','Ⅵ','Ⅶ','Ⅷ','Ⅸ','Ⅹ','①','②','③','④','⑤','⑥','⑦','⑧','⑨','⑩','№','㈲','㈱','﨑','髙',' '); $replace = Array('I','II','III','IV','V','VI','VII','VIII','IX','X','(1)','(2)','(3)','(4)','(5)','(6)','(7)','(8)','(9)','(10)','No.','(有)','(株)','崎','高',' '); // ファイル内容を精査する $cnt_v = 0; $file_cont = new File($tmp_file); setlocale(LC_ALL, "ja_JP"); $dt = $file_cont->get_csv(); $dup_fax = array(); $max_atesaki_length = 0; for ($i = 0; $i < count($dt); $i++) { $line = $i + 1; if (count($dt[$i]) < 2) { $mes .= "[" . number_format($line) . "行目] 項目不足のため、行を無視します
"; continue; } $faxno = csvClean($dt[$i][1]); if (!preg_match("/^[0-9-]+$/", $faxno)) { $mes .= "[" . number_format($line) . "行目] FAX番号が正しくないため、行を無視します
"; continue; } $faxno_p = str_replace("-", "", $faxno); $keta = strlen($faxno_p); if ($keta != 10) { $mes .= "[" . number_format($line) . "行目] FAX番号が10桁ではないため、行を無視します
"; continue; } if ($dupchk != "" && in_array($faxno_p, $dup_fax)) { $mes .= "[" . number_format($line) . "行目] FAX番号が重複のため、行を無視します
"; continue; } else { $dup_fax[] = $faxno_p; $cnt_v++; } $name = trim($dt[$i][0]); $name = preg_replace("/(\r\n|\r|\n)/u", "", $name); $name = str_replace($search, $replace, $name); $name = csvClean($name); $nameLength = strlen(mb_convert_encoding($name, "Shift-JIS", "auto")); if ($max_atesaki_length < $nameLength) { $max_atesaki_length = $nameLength; } $outp = mb_convert_encoding($name . "," . $faxno . "\r\n", "Shift-JIS", "UTF-8"); $f2->write($outp); } // tmp2 => tmpにコピー , tmp2を削除する copy($tmp_file2, $tmp_file); unlink($tmp_file2); if ($cnt_v < 1) { $err_flg = "1"; $mes .= "配信可能なFAX番号がありません
" . "リストの内容がフォーマットに沿っていない可能性がございます。
" . "「A列:宛先名」「B列:FAX番号」となっているか、リストをご確認ください。
" . "※リストのフォーマットはこちらからダウンロードください。
" . "\"リストのフォーマット\""; $js = " onLoad=\"kindCheck('m')\""; $kind_radio_m = " checked"; } else { if ($file2 == "") { $post["filename"] = $_FILES["file"]["name"]; } else { $post["filename"] = $_SESSION["list"]["filename"]; } $_SESSION["list"] = $post; $_SESSION["list"]["file"] = $tmp_file; $_SESSION["list"]["cnt"] = $cnt_v; $_SESSION["list"]["dupChk"] = $dupchk; $_SESSION["list"]["upd_file"] = $_FILES; $_SESSION["list"]["max_atesaki_length"] = $max_atesaki_length; } } } if ($err_flg == "0") { $tmpl_fname = "../../../template/member/list/confirm.tmpl"; } } $tmpl = new File($tmpl_fname); $html = $tmpl->read(); $html = str_replace("%GREETING%", $greeting, $html); $html = str_replace("%POINT%", $point, $html); $html = str_replace("%MES%", $mes, $html); $html = str_replace("%LIST_EXT%", $list_ext, $html); $html = str_replace("%COMMENT_RENTAL_S%", $comment_rental_s, $html); $html = str_replace("%COMMENT_RENTAL_E%", $comment_rental_e, $html); $html = str_replace("%COMMENT_MOCHIKOMI_S%", $comment_mochikomi_s, $html); $html = str_replace("%COMMENT_MOCHIKOMI_E%", $comment_mochikomi_e, $html); $html = str_replace("%KIND_RADIO_R%", $kind_radio_r, $html); $html = str_replace("%KIND_RADIO_M%", $kind_radio_m, $html); $html = str_replace("%KIND%", $kind_v, $html); $html = str_replace("%CATEGORY%", $category_v, $html); $html = str_replace("%AREA%", $area_v, $html); $html = str_replace("%KEYWORD%", $x->html($keyword_v), $html); $html = str_replace("%FILE%", $file_v, $html); $html = str_replace("%FILE2_V%", $file2_v, $html); $html = str_replace("%FILE2%", $file2, $html); $html = str_replace("%NAME%", $x->html($name_v), $html); $html = str_replace("%CNT%", $cnt_v, $html); $html = str_replace("%DUPCHK%", $dupchk, $html); $html = str_replace("%LIST_CNT_MAX%", $list_max, $html); $html = str_replace("%JS_ONLOAD%", $js, $html); $html = str_replace("%CATE1%", $cate1, $html); $html = str_replace("%CATE2%", $cate2, $html); $html = str_replace("%CATE3%", $cate3, $html); $html = str_replace("%CATE4%", $cate4, $html); $html = str_replace("%AREA%", $area, $html); $html = str_replace("%PREF%", $pref, $html); $html = str_replace("%CITY%", $city, $html); $html = str_replace("%VCATE1%", $vcate1, $html); $html = str_replace("%VCATE2%", $vcate2, $html); $html = str_replace("%VCATE3%", $vcate3, $html); $html = str_replace("%VCATE4%", $vcate4, $html); $html = str_replace("%VAREA%", $varea, $html); $html = str_replace("%VPREF%", $vpref, $html); $html = str_replace("%VCITY%", $vcity, $html); $html = str_replace("%TYPE_R%", $type_master["r"], $html); $html = str_replace("%TYPE_M%", $type_master["m"], $html); $html = str_replace("%EX_TEL%", $exTel, $html); // カウント制限設置 // $listUploadLimit = $system_m->get("LIST_UPLOAD_LIMIT"); // $listUploadLimitStart = $system_m->get("LIMIT_START_DT"); // 現在のリスト数をカウントする $sql = "SELECT COUNT(*) AS cnt FROM llist WHERE member_id = " . $x->dbms($_SESSION["login"]["id"]) . " AND status = 1 AND UNIX_TIMESTAMP(reg_dt) >= " . $listUploadLimitStart; $db->exec($sql); $result = $db->get(); $listUploadCount = $result[0]["cnt"]; if (time() > $listUploadLimitStart && $listUploadCount > $listUploadLimit) { $html = str_replace("%DISABLED%", " disabled", $html); $html = str_replace("%LIMIT_MES%", "リストのアップロード上限数(2021/11/01登録分から100件)を超過しているため、アップロードができません。
リスト一覧から100件以下となるようにリストの削除をお願いいたします

", $html); } else { $html = str_replace("%DISABLED%", "", $html); $html = str_replace("%LIMIT_MES%", "", $html); } print $html; // ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ function csvClean($var) { $var = mb_convert_encoding(trim($var), "UTF-8"); $var = mb_convert_kana($var, "KVa"); return $var; } function utf2sjiswinForArray($array) { foreach($array as $val) { $converted[] = mb_convert_encoding($val, "SJIS-win"); } return $converted; } ?>