function jas_products_save($productid, $salesorderflag) { $arrrUrlStrict = array("part" => "0", "部分一致(下層ページも課金対象)" => "0", "domain" => "1", "ドメイン一致" => "1", "perfect" => "2", "完全一致" => "2", "文字のマッチ" => "3", "文字マッチ" => "3", "character" => "3"); $queryItem = " SELECT * FROM `vtiger_products` "; $queryItem .= " LEFT JOIN `vtiger_account` ON `seo_agency_customers` = `accountid`"; $queryItem .= " WHERE TRUE "; $queryItem .= " AND productid = {$productid} "; $queryItem .= " AND productcategory = 'SEO' "; print $queryItem . "<br /><br />"; global $adb; $resultItem = $adb->pquery($queryItem); $countItemNum = $adb->num_rows($resultItem); $rowItem = $adb->fetch_array($resultItem); #if($countItemNum === 0) return false; #print "コメントあうとしてね<br /><br />"; if (is_null($rowItem[seo_keyword]) || is_null($rowItem[seo_url])) { return false; } #キーワード、URLどちらかが空で合った場合、登録・変更しない //KwIDの取得(基幹) $arrKeywordInfo['rkw_id'] = (int) $rowItem['seo_kwid']; #Kwid /** ▼ JASへの代理店顧客情報保存準備 ****/ if ((int) $rowItem['seo_agency_customers'] !== 0) { #代理店顧客があるとき if ($rowItem['jgid'] == false) { //JASに代理店顧客情報がないので登録する $_POST['agencyflag'] = true; $arrKeywordInfo['rkw_child_cliid'] = jas_account_save($rowItem['accountid']); $arrKeywordInfo['rkw_child_client'] = $rowItem['accountname']; } else { $arrKeywordInfo['rkw_child_cliid'] = $rowItem['jgid']; $arrKeywordInfo['rkw_child_client'] = $rowItem['accountname']; } //End if } else { #代理店顧客がないとき $arrKeywordInfo['rkw_child_cliid'] = 0; $arrKeywordInfo['rkw_child_client'] = ""; } //End if /** ▲ JASへの代理店顧客情報保存準備 ****/ #rkw_word キーワード名 $arrKeywordInfo['rkw_word'] = $rowItem['seo_keyword']; #rkw_url $arrKeywordInfo['rkw_url'] = $rowItem['seo_url']; #$arrKeywordInfo['rkw_resistdate'] = date('Y-m-d'); #rkw_contract_startdate 契約期間開始日 $arrKeywordInfo['rkw_contract_startdate'] = $rowItem['start_date']; #rkw_contract_enddate 契約期間終了日 $arrKeywordInfo['rkw_contract_enddate'] = $rowItem['expiry_date']; #rkw_url_strict 順位チェック方法 $arrKeywordInfo['rkw_url_strict'] = $arrrUrlStrict[$rowItem['seo_rank_check']]; #rkw_away_flag 解約処理 if ((int) $rowItem['seo_away_flag'] === 1) { #有効がいいえのとき $arrKeywordInfo['rkw_away_flag'] = 1; #JASの解約フラグをたてる } else { #それ以外(有効がはいのとき) $arrKeywordInfo['rkw_away_flag'] = 0; #JASの解約フラグを解除する } //End if #rkw_fee_month 月額固定金額 $arrKeywordInfo['rkw_fee_month'] = (int) preg_replace('@,@', '', $rowItem['unit_price']); print "KwId : " . $arrKeywordInfo['rkw_id'] . "<br />"; echo "<pre>"; var_dump($salesorderflag); var_dump($arrKeywordInfo); echo "</pre>"; /** ▼ JASへの反映 **/ if ($salesorderflag == true && $arrKeywordInfo['rkw_id'] === 0) { #JASにKWが登録されているとき /** ▼ JASのキーワードデータの追加 *****/ #rkw_input_flag キーワード内訳 $arrKeywordInfo['rkw_input_flag'] = 1; #rkw_segment セグメント $arrKeywordInfo['rkw_segment'] = 1; #rkw_random_flag ランダムフラグ デフォルト値:1 $arrKeywordInfo['rkw_random_flag'] = 1; $arrKeywordInfo['rkw_fee_status'] = '固定'; $arrKeywordInfo['rkw_account_type'] = 4; foreach ($arrKeywordInfo as $rkw_fields_name => $strKeywordData) { $_POST[$rkw_fields_name] = $strKeywordData; } //End foreach //キーワードIDの初期化 unset($_POST['rkw_id']); print "Insert : " . DataJasInsertString('rank_keyword') . "<br /><br />"; $_POST['rkw_id'] = DataJasInsert('rank_keyword'); $queryInsert = " UPDATE `vtiger_products` SET "; $queryInsert .= " seo_kwid = {$_POST['rkw_id']} "; $queryInsert .= " WHERE TRUE "; $queryInsert .= " AND productid = {$productid} "; print $queryInsert . "<br /><br />"; global $adb; $adb->pquery($queryInsert); /** ▲ JASのキーワードデータの追加 *****/ } elseif ($arrKeywordInfo['rkw_id'] === 0) { #キーワードIDが0のときはなにもしない return false; } elseif ($module === 'Products' || $module === 'Services') { #製品登録のみキーワードの更新をおこなう /** ▼ JASのキーワードデータの更新 ***/ /** ▼ 変更前キーワード情報の取得 ****/ # require('cin/SQLConnect.php'); require 'cin/SQLConnect_jas.php'; $sqlRkw = "SELECT * FROM rank_keyword WHERE TRUE AND rkw_id = {$arrKeywordInfo['rkw_id']} "; print $sqlRkw . "<br /><br />"; $rsRkw = mysql_db_query($dbName, $sqlRkw); $rsCountRkw = mysql_num_rows($rsRkw); $rowRkw = mysql_fetch_array($rsRkw); $arrRkw = $rowRkw; if ((int) $rowRkw['rkw_account_type'] !== 4) { return false; } require 'cin/SQLClose.php'; /** ▲ 変更前キーワード情報の取得 ****/ /** ▼ ** キーワードの履歴を保存する ****/ foreach ($arrRkw as $rkw_fields_name => $strRkwValue) { unset($_POST[$rkw_fields_name]); $_POST[$rkw_fields_name] = $strRkwValue; } //End foreach $_POST[rkw_create_datetime] = date('Y-m-d H:i:s'); print "Insert : " . DataInsertString('backup_keyword') . "<br /><br />"; DataInsert('backup_keyword'); /** ▲ ** キーワードの履歴を保存する ****/ /** ▼ ** 変更後の反映 *********/ foreach ($arrKeywordInfo as $rkw_fields_name => $strKeywordData) { $_POST[$rkw_fields_name] = $strKeywordData; } //End foreach print "Update : " . DataJasUpdateString('rank_keyword') . "<br /><br />"; DataJasUpdate('rank_keyword'); /** ▲ ** 変更後の反映 **********/ /** ▲ JASのキーワードデータの更新 ***/ } //End if /** ▼ ** vitiger_crmentityへの契約期間を説明に反映 ***/ $queryUpdate = " UPDATE `vtiger_crmentity` SET "; $queryUpdate .= " description = CONCAT("; $queryUpdate .= " description, ' 契約期間:" . $arrKeywordInfo['rkw_contract_startdate'] . "~" . $arrKeywordInfo['rkw_contract_enddate'] . "' "; $queryUpdate .= " ) "; $queryUpdate .= " WHERE TRUE "; $queryUpdate .= " AND crmid = {$productid} "; print $queryUpdate . "<br /><br />"; global $adb; $adb->pquery($queryUpdate); /** ▲ ** vtiger_crmentityへの契約期間を説明の反映 ***/ registDomain($_POST[rkw_id]); return (int) $_POST[rkw_id]; }
function keywordRegist($intCinId) { require 'cin/defalut.php'; $arrrUrlStrict = array("part" => "0", "domain" => "1", "perfect" => "2", "character" => "3"); $arrayAccountType = array("daily" => "1", "either_daily" => "5", "either_n_daily" => "3", "month" => "4", "n_daily" => "2"); require 'cin/SQLConnect.php'; if ((int) $_POST['record'] !== 0) { #更新 //キーワードIDの取得 print "<pre>"; var_dump($_POST); print "</pre>"; //成果の場合 //更新のためにキーワードIDを取得する ▼ $sqlRkw = " SELECT * FROM rank_keyword "; $sqlRkw .= " WHERE TRUE "; $sqlRkw .= " AND rkw_cinid = {$intCinId} "; print "<p>" . $sqlRkw . "</p>"; $rsRkw = mysql_db_query($dbName, $sqlRkw); $rsCountRkw = mysql_num_rows($rsRkw); $rowRkw = mysql_fetch_array($rsRkw); $_POST[rkw_id] = $rowRkw[rkw_id]; $_POST[rfe_rkwid] = $rowRkw[rkw_id]; //更新のためにキーワードIDを取得する ▲ } //End if $queryItem = " SELECT * FROM `vtiger_service` "; $queryItem .= " WHERE TRUE "; $queryItem .= " AND serviceid = {$intCinId} "; print "<p>SQL : {$queryItem}</p>"; global $adb; $resultItem = $adb->pquery($queryItem); $countItemNum = $adb->num_rows($resultItem); if ($countItemNum === 1) { $rowItem = $adb->fetch_array($resultItem); } $queryItem = " SELECT * FROM `vtiger_products` "; $queryItem .= " WHERE TRUE "; $queryItem .= " AND productid = {$intCinId} "; print $queryItem . "<br />"; #var_dump($_POST[rkw_child_client]); # print "<p>SQL : {$queryItem}</p>"; #exit; global $adb; $resultItem = $adb->pquery($queryItem); $countItemNum = $adb->num_rows($resultItem); if ($countItemNum === 1) { $rowItem = $adb->fetch_array($resultItem); } if ($_POST[seo_agency_customers] == true || $rowItem[seo_agency_customers] == true) { $sqlRcl = " SELECT * FROM `rank_client` "; $sqlRcl .= " WHERE TRUE "; if ($_POST[seo_agency_customers] == true) { $sqlRcl .= " AND rcl_accountid = {$_POST[seo_agency_customers]} "; } if ($rowItem[seo_agency_customers] == true) { $sqlRcl .= " AND rcl_accountid = {$rowItem[seo_agency_customers]} "; } print $sqlRcl . "<br />"; #exit; $rsRcl = mysql_db_query($dbName, $sqlRcl); $rsRclCount = mysql_num_rows($rsRcl); for ($intRcl = 0; $intRcl < $rsRclCount; $intRcl++) { $rowRcl = mysql_fetch_array($rsRcl); #rkw_child_cliid 子クライアントID $_POST[rkw_child_cliid] = $rowRcl[rcl_id]; #rkw_child_client 子クライアント名 $_POST[rkw_child_client] = $rowRcl[rcl_name]; } //End for //更新のためにキーワードIDを取得する ▲ if (!$_POST[rkw_child_client]) { print "<p>代理店顧客情報がありません。システム担当者へ相談下さい。</p>"; exit; } //End if } //End if if (is_null($rowItem[seo_keyword]) || is_null($rowItem[seo_url])) { print "<p>ppp</p>"; return false; } //End if #rkw_word キーワード名 $_POST[rkw_word] = $rowItem[seo_keyword]; $_POST[rkw_url] = $rowItem[seo_url]; #rkw_input_flag キーワード内訳 $_POST['rkw_input_flag'] = 1; #rkw_segment セグメント $_POST['rkw_segment'] = 1; #rkw_account_date n日課金の日数 $_POST['rkw_account_date'] = $rowItem['seo_rank_daynum']; #rkw_random_flag ランダムフラグ デフォルト値:1 $_POST['rkw_random_flag'] = 1; #rkw_url_strict 順位チェック方法 $_POST['rkw_url_strict'] = $arrrUrlStrict[$rowItem[seo_rank_check]]; #rkw_account_type 課金方法 $_POST['rkw_account_type'] = $arrayAccountType[$rowItem['seo_fee_method']]; #rkw_fee_status if ($_POST['rkw_account_type'] == 5) { $_POST['rkw_fee_status'] = 'Y/G'; } if ($_POST['module'] === 'Products') { $_POST['rkw_fee_status'] = '固定'; $_POST['rkw_account_type'] = 4; } //End if $_POST[rkw_cinid] = $intCinId; if ($_POST[unit_price] == true) { $_POST[rkw_fee_month] = preg_replace('@,@', '', $_POST[unit_price]); } if ($_POST['module'] === 'Products' || $_POST[module] === "Services") { unset($_POST[rkw_rclid]); unset($_POST[rkw_client]); } elseif ($_POST[rkw_rclid] == false || $_POST[rkw_client] == false) { print "<p>クライアント情報がありません。システムまで相談下さい。</p>"; exit; } //End if if ((int) $_POST['record'] === 0) { #登録 $_POST[rkw_resistdate] = date(Y - m - d); print DataInsertString('rank_keyword') . "<br />"; $_POST[rfe_rkwid] = DataInsert('rank_keyword'); # exit; } else { #更新 unset($_POST[rkw_resistdate]); # print "update : " . DataUpdateString('rank_keyword') . "<br />"; DataUpdate('rank_keyword'); # exit; } //End if //成果のみ実行 ▼ if ($_POST[data - module - name] === "Services" || $rowRkw[rkw_account_type] !== 4) { //更新前にすべて削除フラグをたてる $updateRfe = " UPDATE rank_fee SET rfe_status = 9 "; $updateRfe .= " WHERE TRUE "; $updateRfe .= " AND rfe_status = 1 "; $updateRfe .= " AND rfe_rkwid = {$_POST[rkw_id]} "; #print $updateRfe . "<br />"; mysql_db_query($dbName, $updateRfe); for ($intRfeId = 1; $intRfeId <= 5; $intRfeId++) { # print "<p>".'seo_fee_'.$intRfeId."</p>"; if ($rowItem['seo_fee_' . $intRfeId]) { $arrRfe[$intRfeId][rfe_rank_start] = $rowItem['seo_rank_top_' . $intRfeId]; $arrRfe[$intRfeId][rfe_rank_end] = $rowItem['seo_rank_down_' . $intRfeId]; $arrRfe[$intRfeId][rfe_yen] = $rowItem['seo_fee_' . $intRfeId]; $_POST[rfe_rank_start] = $rowItem['seo_rank_top_' . $intRfeId]; $_POST[rfe_rank_end] = $rowItem['seo_rank_down_' . $intRfeId]; $_POST[rfe_yen] = $rowItem['seo_fee_' . $intRfeId]; $_POST[rfe_status] = 1; $_POST[rfe_datetime] = date('Y-m-d H:i:s'); $_POST[rfe_provider_kind] = 1; print DataInsertString('rank_fee') . "<br />"; DataInsert('rank_fee'); $_POST[rfe_provider_kind] = 2; print DataInsertString('rank_fee') . "<br />"; DataInsert('rank_fee'); } //End if } //End for } //End if //ドメイン情報の登録 registDomain($_POST[rkw_id]); require 'cin/SQLClose.php'; //成果のみ実行 ▲ # echo "<pre>"; # var_dump($_POST); # echo "</pre>"; }