bug fix
This commit is contained in:
parent
18e8d7a99e
commit
ebdd691308
|
@ -662,89 +662,20 @@ class Ssbhesabix_Admin_Functions
|
|||
}
|
||||
}
|
||||
//========================================================================================================================
|
||||
public function exportProducts($batch, $totalBatch, $total, $updateCount)
|
||||
public function exportProducts()
|
||||
{
|
||||
HesabixLogService::writeLogStr("Exporting Products");
|
||||
try {
|
||||
$wpFaService = new HesabixWpFaService();
|
||||
$extraSettingRPP = get_option("ssbhesabix_set_rpp_for_export_products");
|
||||
$rpp=500;
|
||||
if($extraSettingRPP) {
|
||||
if($extraSettingRPP != '-1' && $extraSettingRPP != '0') {
|
||||
$rpp=$extraSettingRPP;
|
||||
}
|
||||
}
|
||||
$result = array();
|
||||
$result["error"] = false;
|
||||
global $wpdb;
|
||||
|
||||
if ($batch == 1) {
|
||||
$total = $wpdb->get_var("SELECT COUNT(*) FROM `" . $wpdb->prefix . "posts`
|
||||
WHERE post_type = 'product' AND post_status IN('publish','private')");
|
||||
$totalBatch = ceil($total / $rpp);
|
||||
}
|
||||
$total = $wpdb->get_var("SELECT COUNT(*) FROM `" . $wpdb->prefix . "posts` WHERE post_type = 'product' AND post_status IN('publish','private')");
|
||||
$products = $wpdb->get_results("SELECT * FROM `" . $wpdb->prefix . "posts` WHERE post_type = 'product' AND post_status IN('publish','private')");
|
||||
|
||||
$offset = ($batch - 1) * $rpp;
|
||||
$products = $wpdb->get_results("SELECT ID FROM `" . $wpdb->prefix . "posts`
|
||||
WHERE post_type = 'product' AND post_status IN('publish','private') ORDER BY 'ID' ASC LIMIT $offset,$rpp");
|
||||
|
||||
$items = array();
|
||||
|
||||
foreach ($products as $item) {
|
||||
$id_product = $item->ID;
|
||||
$product = new WC_Product($id_product);
|
||||
|
||||
$id_obj = $wpFaService->getWpFaId('product', $id_product, 0);
|
||||
|
||||
if (!$id_obj) {
|
||||
$hesabixItem = ssbhesabixItemService::mapProduct($product, $id_product);
|
||||
array_push($items, $hesabixItem);
|
||||
$updateCount++;
|
||||
}
|
||||
|
||||
$variations = $this->getProductVariations($id_product);
|
||||
if ($variations) {
|
||||
foreach ($variations as $variation) {
|
||||
$id_attribute = $variation->get_id();
|
||||
$id_obj = $wpFaService->getWpFaId('product', $id_product, $id_attribute);
|
||||
|
||||
if (!$id_obj) {
|
||||
$hesabixItem = ssbhesabixItemService::mapProductVariation($product, $variation, $id_product);
|
||||
array_push($items, $hesabixItem);
|
||||
$updateCount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($items)) {
|
||||
$count = 0;
|
||||
$hesabix = new Ssbhesabix_Api();
|
||||
$response = $hesabix->itemBatchSave($items);
|
||||
if ($response->Success) {
|
||||
foreach ($response->Result as $item) {
|
||||
$json = json_decode($item->Tag);
|
||||
|
||||
global $wpdb;
|
||||
$wpdb->insert($wpdb->prefix . 'ssbhesabix', array(
|
||||
'id_hesabix' => (int)$item->Code,
|
||||
'obj_type' => 'product',
|
||||
'id_ps' => (int)$json->id_product,
|
||||
'id_ps_attribute' => (int)$json->id_attribute,
|
||||
));
|
||||
HesabixLogService::log(array("Item successfully added. Item Code: " . (string)$item->Code . ". Product ID: $json->id_product - $json->id_attribute"));
|
||||
}
|
||||
$count += count($response->Result);
|
||||
} else {
|
||||
HesabixLogService::log(array("Cannot add bulk item. Error Message: " . (string)$response->ErrorMessage . ". Error Code: " . (string)$response->ErrorCode . "."));
|
||||
}
|
||||
sleep(2);
|
||||
}
|
||||
|
||||
$result["batch"] = $batch;
|
||||
$result["totalBatch"] = $totalBatch;
|
||||
$result["total"] = $total;
|
||||
$result["updateCount"] = $updateCount;
|
||||
$hesabix = new Ssbhesabix_Api();
|
||||
$response = $hesabix->settingExportProdects(array('data'=>$products));
|
||||
$result["updateCount"] = $total;
|
||||
return $result;
|
||||
} catch(Error $error) {
|
||||
HesabixLogService::writeLogStr("Error in export products: " . $error->getMessage());
|
||||
|
|
|
@ -86,94 +86,6 @@ class Ssbhesabix_Setting {
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="alert alert-warning hesabix-f mt-4">
|
||||
<strong style="font-size: 1rem;">نکات</strong>
|
||||
<br>
|
||||
<ul class="mt-2">
|
||||
<li> *
|
||||
پیشنهاد می شود قبل از شروع کار با افزونه، حتما ویدیو خودآموز افزونه را مشاهده نمایید.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--////////////////////////video timing in the first page of the plugin////////////////////////////////////////////-->
|
||||
<div class="row" style="margin-left: 10px;">
|
||||
<div class="col">
|
||||
<h4 class="h4 hesabix-tab-page-title mt-4"><?php esc_attr_e( 'Plugin Tutorial Video', 'ssbhesabix' ); ?></h4>
|
||||
|
||||
<video controls poster="https://hesabix.ir/img/woocommerc-plugin-help-cover.jpg"
|
||||
id="hesabix-tutorial-video" style="border: 1px solid gray" class="mt-3">
|
||||
<source src="https://hesabix.ir/file/woocommerce/woocommerce-plugin-tutorial.mp4"
|
||||
type="video/mp4"></source>
|
||||
</video>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<h4 class="h4 hesabix-tab-page-title mt-4 mb-3"><?php esc_attr_e( 'Titles', 'ssbhesabix' ); ?></h4>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(0)">
|
||||
نصب افزونه
|
||||
<br><strong class="text-info">00:00</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(75)">
|
||||
اتصال افزونه به حسابیکس
|
||||
<br><strong class="text-info">01:15</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(246)">
|
||||
تنظیمات افزونه
|
||||
<br><strong class="text-info">04:06</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(520)">
|
||||
تعریف محصول و لینک کردن محصول به حسابیکس
|
||||
<br><strong class="text-info">08:40</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(1378)">
|
||||
خروجی محصولات به حسابیکس
|
||||
<br><strong class="text-info">22:58</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(1462)">
|
||||
خروجی موجودی اول دوره محصولات به حسابیکس
|
||||
<br><strong class="text-info">24:22</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(1495)">
|
||||
خروجی مشتریان
|
||||
<br><strong class="text-info">24:55</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(1525)">
|
||||
ورود محصولات از حسابیکس به فروشگاه
|
||||
<br><strong class="text-info">25:25</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(1592)">
|
||||
همسان سازی قیمت و موجودی محصولات
|
||||
<br><strong class="text-info">26:32</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(1645)">
|
||||
همسان سازی سفارشات
|
||||
<br><strong class="text-info">27:25</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(1758)">
|
||||
بروزرسانی محصولات در حسابیکس بر اساس فروشگاه
|
||||
<br><strong class="text-info">29:18</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(1805)">
|
||||
سفارشات و ثبت فاکتور در حسابیکس
|
||||
<br><strong class="text-info">30:05</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(2120)">
|
||||
پشتیبان گیری از جدول افزونه در دیتابیس
|
||||
<br><strong class="text-info">35:20</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(2502)">
|
||||
لاگ رویدادها و خطاها
|
||||
<br><strong class="text-info">41:42</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(3046)">
|
||||
حذف محصولات
|
||||
<br><strong class="text-info">50:46</strong>
|
||||
</div>
|
||||
<div class="hesabix-plugin-tutorial-chapter" onclick="hesabixTutorialJumpTo(3143)">
|
||||
محصول پیش نویس
|
||||
<br><strong class="text-info">52:23</strong>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
}
|
||||
|
@ -1107,10 +1019,6 @@ class Ssbhesabix_Setting {
|
|||
<label class="fw-bold mb-2">نکات مهم:</label>
|
||||
<ul>
|
||||
<li>با انجام این عملیات محصولات لینک نشده از فروشگاه وارد حسابیکس می شوند.</li>
|
||||
<li>اگر محصولات از قبل هم در فروشگاه تعریف شده اند و هم در حسابیکس و به هم لینک نشده اند باید از
|
||||
گزینه
|
||||
همسان سازی دستی محصولات استفاده کنید.
|
||||
</li>
|
||||
<li>با انجام این عملیات موجودی محصولات وارد حسابیکس نمی شود و برای وارد کردن موجودی محصولات
|
||||
فروشگاه
|
||||
در حسابیکس، باید از گزینه استخراج موجودی اول دوره استفاده کنید.
|
||||
|
@ -1475,24 +1383,13 @@ class Ssbhesabix_Setting {
|
|||
//=============================================================================================
|
||||
public static function getSubscriptionInfo() {
|
||||
$businessName = '';
|
||||
$credit = '';
|
||||
$expireDate = '';
|
||||
$plan = '';
|
||||
|
||||
$hesabix = new Ssbhesabix_Api();
|
||||
$response = $hesabix->settingGetSubscriptionInfo();
|
||||
if ( $response->Success ) {
|
||||
$businessName = $response->Result->Name;
|
||||
$credit = $response->Result->Credit;
|
||||
$expireDate = $response->Result->ExpireDate;
|
||||
$plan = $response->Result->Subscription;
|
||||
$businessName = $response->Result->name;
|
||||
}
|
||||
|
||||
return array(
|
||||
"businessName" => $businessName,
|
||||
"credit" => $credit,
|
||||
"expireDate" => $expireDate,
|
||||
"plan" => $plan
|
||||
);
|
||||
}
|
||||
//=============================================================================================
|
||||
|
|
|
@ -1,64 +0,0 @@
|
|||
<?php
|
||||
|
||||
class HesabixLogService
|
||||
{
|
||||
public static function writeLogStr($str)
|
||||
{
|
||||
$fileName = WP_CONTENT_DIR . '/ssbhesabix-' . date("20y-m-d") . '.txt';
|
||||
|
||||
$dateTime = new DateTimeImmutable( 'now', wp_timezone() );
|
||||
$date = $dateTime->format('[Y-m-d H:i:s] ');
|
||||
$str = $date . $str;
|
||||
|
||||
$str = mb_convert_encoding($str, 'UTF-8');
|
||||
file_put_contents($fileName, PHP_EOL . $str, FILE_APPEND);
|
||||
}
|
||||
|
||||
public static function writeLogObj($obj)
|
||||
{
|
||||
$fileName = WP_CONTENT_DIR . '/ssbhesabix-' . date("20y-m-d") . '.txt';
|
||||
ob_start();
|
||||
var_dump($obj);
|
||||
file_put_contents($fileName, PHP_EOL . ob_get_flush(), FILE_APPEND);
|
||||
}
|
||||
|
||||
public static function log($params)
|
||||
{
|
||||
$fileName = WP_CONTENT_DIR . '/ssbhesabix-' . date("20y-m-d") . '.txt';
|
||||
$log = '';
|
||||
|
||||
$dateTime = new DateTimeImmutable( 'now', wp_timezone() );
|
||||
$date = $dateTime->format('[Y-m-d H:i:s] ');
|
||||
|
||||
foreach ($params as $message) {
|
||||
if (is_array($message) || is_object($message)) {
|
||||
$log .= $date . print_r($message, true) . "\n";
|
||||
} elseif (is_bool($message)) {
|
||||
$log .= $date . ($message ? 'true' : 'false') . "\n";
|
||||
} else {
|
||||
$log .= $date . $message . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
$log = mb_convert_encoding($log, 'UTF-8');
|
||||
file_put_contents($fileName, PHP_EOL . $log, FILE_APPEND);
|
||||
}
|
||||
|
||||
public static function readLog($URL)
|
||||
{
|
||||
return file_exists($URL) ? file_get_contents($URL) : '';
|
||||
}
|
||||
|
||||
public static function clearLog()
|
||||
{
|
||||
$fileName = WP_CONTENT_DIR . '/ssbhesabix-' . date("20y-m-d") . '.txt';
|
||||
if (file_exists($fileName)) {
|
||||
file_put_contents($fileName, "");
|
||||
}
|
||||
}
|
||||
|
||||
public static function getLogFilePath()
|
||||
{
|
||||
return WP_CONTENT_DIR . '/ssbhesabix-' . date("20y-m-d") . '.txt';
|
||||
}
|
||||
}
|
|
@ -434,8 +434,14 @@ class Ssbhesabix_Api
|
|||
//================================================================================================
|
||||
public function settingGetSubscriptionInfo()
|
||||
{
|
||||
$method = 'setting/getBusinessInfo';
|
||||
$method = 'hooks/setting/getBusinessInfo';
|
||||
return $this->apiRequest($method);
|
||||
}
|
||||
//================================================================================================
|
||||
//================================================================================================
|
||||
public function settingExportProdects($data)
|
||||
{
|
||||
$method = 'hooks/commodity/import';
|
||||
return $this->apiRequest($method,$data);
|
||||
}
|
||||
}
|
|
@ -26,7 +26,7 @@ class Ssbhesabix_i18n {
|
|||
load_plugin_textdomain(
|
||||
'ssbhesabix',
|
||||
false,
|
||||
dirname( dirname( plugin_basename( __FILE__ ) ) ) . '/languages1/'
|
||||
dirname( dirname( plugin_basename( __FILE__ ) ) ) . '/languages/'
|
||||
);
|
||||
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ class Ssbhesabix
|
|||
if (defined('SSBHESABIX_VERSION')) {
|
||||
$this->version = SSBHESABIX_VERSION;
|
||||
} else {
|
||||
$this->version = '2.0.93';
|
||||
$this->version = '0.1.1';
|
||||
}
|
||||
$this->plugin_name = 'ssbhesabix';
|
||||
|
||||
|
|
Loading…
Reference in a new issue