Example #1
0
 public static function budget($user_id)
 {
     CModule::IncludeModule("sale");
     global $USER;
     if (!$user_id) {
         $user_id = $USER->GetID();
     }
     $dbAccount = CSaleUserAccount::GetList(array(), array("USER_ID" => $user_id), false, false, array("CURRENT_BUDGET", "CURRENCY"));
     if ($arAccount = $dbAccount->Fetch()) {
         return $arAccount["CURRENT_BUDGET"];
     } else {
         return false;
     }
 }
Example #2
0
						}
						else
						{
							$arAdditionalFields = array(
								"PAY_VOUCHER_NUM" => ((strlen($PAY_VOUCHER_NUM) > 0) ? $PAY_VOUCHER_NUM : false),
								"PAY_VOUCHER_DATE" => ((strlen($PAY_VOUCHER_DATE) > 0) ? $PAY_VOUCHER_DATE : false)
							);

							$bWithdraw = true;
							$bPay = true;
							if ($PAY_CURRENT_ACCOUNT == "Y")
							{
								$dbUserAccount = CSaleUserAccount::GetList(
									array(),
									array(
										"USER_ID" => $arOrder["USER_ID"],
										"CURRENCY" => $arOrder["CURRENCY"],
									)
								);
								if ($arUserAccount = $dbUserAccount->Fetch())
								{
									if (floatval($arUserAccount["CURRENT_BUDGET"]) >= $arOrder["PRICE"])
										$bPay = false;
								}
							}
							if ($PAYED == "N" && $PAY_FROM_ACCOUNT_BACK != "Y")
								$bWithdraw = false;

							if (!CSaleOrder::PayOrder($ID, $PAYED, $bWithdraw, $bPay, 0, $arAdditionalFields))
							{
								if ($ex = $APPLICATION->GetException())
Example #3
0
                 }
             }
             $arFields["ID"] = $val["ID"];
             $arFields["TITLE"] = $val["NAME"];
             $arFields["DESCRIPTION"] = $val["DESCRIPTION"];
             $arDeliveryResult[] = $arFields;
         }
     }
 }
 $arResult["DELIVERY"] = $arDeliveryResult;
 $arResult["DELIVERY_CHECHED_DESC"] = $deliveryCheckDesc;
 /*
  * paysystem
  */
 $userAccount = "";
 $dbUserAccount = CSaleUserAccount::GetList(array(), array("USER_ID" => $currentUserId, "CURRENCY" => $arResult["CURRENCY"], "LOCKED" => "N"));
 if ($arUserAccount = $dbUserAccount->GetNext()) {
     if (DoubleVal($arUserAccount["CURRENT_BUDGET"]) > 0) {
         $userAccount = SaleFormatCurrency($arUserAccount["CURRENT_BUDGET"], $arResult["CURRENCY"]);
     }
 }
 $arPaySystem = CSalePaySystem::DoLoadPaySystems($PERSON_TYPE);
 $arNewPaySystem = array();
 $paysystemDesc = "";
 $arNewPaySystem[0] = array("ID" => "", "NAME" => GetMessage("SBB_SELECT_PAYSYSTEM"), "CHECKED" => "Y");
 foreach ($arPaySystem as $key => $val) {
     $arNewPaySystem[$key]["ID"] = $val["ID"];
     $arNewPaySystem[$key]["NAME"] = $val["NAME"];
     $arNewPaySystem[$key]["DESCRIPTION"] = $val["DESCRIPTION"];
     $arNewPaySystem[$key]["ACTIVE"] = $val["ACTIVE"];
     if ($_POST["PAYSYSTEM_ID"] == $key) {
Example #4
0
function fGetPayFromAccount($USER_ID, $CURRENCY)
{
	$arResult = array("PAY_MESSAGE" => GetMessage("NEWO_PAY_FROM_ACCOUNT_NO"));
	$dbUserAccount = CSaleUserAccount::GetList(
	array(),
	array(
		"USER_ID" => $USER_ID,
		"CURRENCY" => $CURRENCY,
		)
	);
	if ($arUserAccount = $dbUserAccount->GetNext())
	{
		if (DoubleVal($arUserAccount["CURRENT_BUDGET"]) > 0)
		{
			$arResult["PAY_BUDGET"] = SaleFormatCurrency($arUserAccount["CURRENT_BUDGET"], $CURRENCY);
			$arResult["PAY_MESSAGE"] = str_replace("#MONEY#", $arResult["PAY_BUDGET"], GetMessage("NEWO_PAY_FROM_ACCOUNT_YES"));
			$arResult["CURRENT_BUDGET"] = $arUserAccount["CURRENT_BUDGET"];
		}
	}

	return $arResult;
}
Example #5
0
 function getOrderInfoDetail($orderId)
 {
     if (!$orderId) {
         return false;
     }
     if (!$GLOBALS["USER"]->IsAuthorized()) {
         return false;
     }
     $arFilter["ID"] = $orderId;
     $saleModulePermissions = $GLOBALS["APPLICATION"]->GetGroupRight("sale");
     if ($saleModulePermissions == "D") {
         $arFilter["USER_ID"] = IntVal($GLOBALS["USER"]->GetID());
     } elseif ($saleModulePermissions != "W") {
         $arFilter["STATUS_PERMS_GROUP_ID"] = $GLOBALS["USER"]->GetUserGroupArray();
         $arFilter[">=STATUS_PERMS_PERM_VIEW"] = "Y";
     }
     $arOrder = array();
     $dbOrder = CSaleOrder::GetList(array(), $arFilter);
     $arOrder = $dbOrder->GetNext();
     if (!$arOrder) {
         return false;
     }
     $arOrder["STATUS"] = CSaleStatus::GetLangByID($arOrder["STATUS_ID"]);
     $arOrder["STATUS_NAME"] = $arOrder["STATUS"]["NAME"];
     $arOrder["PRICE_IN_ALL_NUM"] = floatval($arOrder["~PRICE"] + floatval($arOrder["~PRICE_DELIVERY"]));
     $arOrder["PRICE_IN_ALL"] = SaleFormatCurrency($arOrder["PRICE_IN_ALL_NUM"], $arOrder["CURRENCY"]);
     $arOrder["PRICE_STR"] = SaleFormatCurrency($arOrder["PRICE"], $arOrder["CURRENCY"]);
     $arOrder["PERSON_TYPE"] = CSalePersonType::GetByID($arOrder["PERSON_TYPE_ID"]);
     $arOrder["PERSON_TYPE_NAME"] = htmlspecialcharsbx($arOrder["PERSON_TYPE"]["NAME"]);
     $arOrder = self::getOrderProps($arOrder);
     $arOrder["DELIVERY_NAME"] = self::getDeliveriesInfo(array($arOrder["DELIVERY_ID"]));
     $arOrder["DELIVERY_NAME"] = $arOrder["DELIVERY_NAME"][$arOrder["DELIVERY_ID"]];
     $arPaySys = CSalePaySystem::GetByID($arOrder["PAY_SYSTEM_ID"], $arOrder["PERSON_TYPE_ID"]);
     $arOrder["PAY_SYSTEM_NAME"] = $arPaySys["NAME"];
     $dbUserAccount = CSaleUserAccount::GetList(array(), array("USER_ID" => $arOrder["USER_ID"], "CURRENCY" => $arOrder["CURRENCY"], "LOCKED" => "N"));
     $arUserAccount = $dbUserAccount->GetNext();
     $arOrder["CURRENT_BUDGET"] = $arUserAccount["CURRENT_BUDGET"] ? $arUserAccount["CURRENT_BUDGET"] : 0;
     $arOrder["CURRENT_BUDGET_STRING"] = SaleFormatCurrency($arOrder["CURRENT_BUDGET"], $arOrder["CURRENCY"]);
     return $arOrder;
 }
Example #6
0
         }
         foreach ($arItem as $tmpKey => $value) {
             if (strpos($tmpKey, "PROPERTY_", 0) === 0 && strrpos($tmpKey, "_VALUE") == strlen($tmpKey) - 6) {
                 $code = str_replace(array("PROPERTY_", "_VALUE"), "", $tmpKey);
                 $propData = $arIblockProps[$code];
                 $arCols[$tmpKey] = getIblockProps($value, $propData, array("WIDTH" => 110, "HEIGHT" => 110));
             }
         }
         $arResult["GRID"]["ROWS"][$arItem["ID"]] = array("id" => $arItem["ID"], "data" => $arItem, "actions" => array(), "columns" => $arCols, "editable" => true);
     }
     unset($arItem);
 }
 /* Tax Begin */
 $orderTotalSum = $arResult["ORDER_PRICE"] + $arResult["DELIVERY_PRICE"] + $arResult["TAX_PRICE"] - $arResult["DISCOUNT_PRICE"];
 if ($arParams["PAY_FROM_ACCOUNT"] == "Y") {
     $dbUserAccount = CSaleUserAccount::GetList(array(), array("USER_ID" => $USER->GetID(), "CURRENCY" => $arResult["BASE_LANG_CURRENCY"]));
     if ($arUserAccount = $dbUserAccount->GetNext()) {
         if ($arUserAccount["CURRENT_BUDGET"] <= 0) {
             $arResult["PAY_FROM_ACCOUNT"] = "N";
         } else {
             if ($arParams["ONLY_FULL_PAY_FROM_ACCOUNT"] == "Y") {
                 if (DoubleVal($arUserAccount["CURRENT_BUDGET"]) >= DoubleVal($orderTotalSum)) {
                     $arResult["PAY_FROM_ACCOUNT"] = "Y";
                     $arResult["CURRENT_BUDGET_FORMATED"] = SaleFormatCurrency($arUserAccount["CURRENT_BUDGET"], $arResult["BASE_LANG_CURRENCY"]);
                     $arResult["USER_ACCOUNT"] = $arUserAccount;
                 } else {
                     $arResult["PAY_FROM_ACCOUNT"] = "N";
                 }
             } else {
                 $arResult["PAY_FROM_ACCOUNT"] = "Y";
                 $arResult["CURRENT_BUDGET_FORMATED"] = SaleFormatCurrency($arUserAccount["CURRENT_BUDGET"], $arResult["BASE_LANG_CURRENCY"]);
Example #7
0
    die;
}
$this->setFramemode(false);
if (!CModule::IncludeModule("sale")) {
    ShowError(GetMessage("SALE_MODULE_NOT_INSTALL"));
    return;
}
if (!CBXFeatures::IsFeatureEnabled('SaleAccounts')) {
    return;
}
if (!$USER->IsAuthorized()) {
    $APPLICATION->AuthForm(GetMessage("SALE_ACCESS_DENIED"), false, false, 'N', false);
}
$arParams["SET_TITLE"] = $arParams["SET_TITLE"] == "N" ? "N" : "Y";
if ($arParams["SET_TITLE"] == 'Y') {
    $APPLICATION->SetTitle(GetMessage("SPA_TITLE"));
}
$dbAccountList = CSaleUserAccount::GetList(array("CURRENCY" => "ASC"), array("USER_ID" => IntVal($USER->GetID())), false, false, array("ID", "CURRENT_BUDGET", "CURRENCY", "TIMESTAMP_X"));
if ($arAccountList = $dbAccountList->GetNext()) {
    $arResultTmp = array();
    $arResult["DATE"] = str_replace("#DATE#", date(CDatabase::DateFormatToPHP(CSite::GetDateFormat("SHORT", SITE_ID))), GetMessage("SPA_MY_ACCOUNT"));
    do {
        $arResultTmp["CURRENCY"] = CCurrencyLang::GetByID($arAccountList["CURRENCY"], LANGUAGE_ID);
        $arResultTmp["ACCOUNT_LIST"] = $arAccountList;
        $arResultTmp["INFO"] = str_replace("#CURRENCY#", $arResultTmp["CURRENCY"]["CURRENCY"] . " (" . $arResultTmp["CURRENCY"]["FULL_NAME"] . ")", str_replace("#SUM#", SaleFormatCurrency($arAccountList["CURRENT_BUDGET"], $arAccountList["CURRENCY"]), GetMessage("SPA_IN_CUR")));
        $arResult["ACCOUNT_LIST"][] = $arResultTmp;
    } while ($arAccountList = $dbAccountList->GetNext());
} else {
    $arResult["ERROR_MESSAGE"] = GetMessage("SPA_NO_ACCOUNT");
}
$this->IncludeComponentTemplate();
Example #8
0
}
if ($arParams['PAY_IMMED']) {
    if (isset($arParams['PERSON_TYPE']) && $arParams['PERSON_TYPE'] > 0) {
        $arResult['PAY_SYSTEMS'] = array();
        $dbPaySysAction = CSalePaySystemAction::GetList(array(), array('PS_ACTIVE' => 'Y', 'PERSON_TYPE_ID' => $arParams['PERSON_TYPE']), false, false, array('*'));
        while ($arPaySysAction = $dbPaySysAction->fetch()) {
            if (intval($arPaySysAction['LOGOTIP']) > 0) {
                $arPaySysAction['LOGOTIP'] = CFile::GetFileArray($arPaySysAction['LOGOTIP']);
            }
            $arResult['PAY_SYSTEMS'][$arPaySysAction['PAY_SYSTEM_ID']] = $arPaySysAction;
        }
    } else {
        $arParams['PAY_IMMED'] = false;
    }
}
$rsAcc = CSaleUserAccount::GetList(array('CURRENCY' => 'ASC'), array('USER_ID' => $USER->GetID()), false, false, array('ID', 'CURRENT_BUDGET', 'CURRENCY', 'LOCKED'));
while ($arAcc = $rsAcc->GetNext(true, false)) {
    if (empty($arParams['ALLOWED_CURRENCY']) || in_array($arAcc['CURRENCY'], $arParams['ALLOWED_CURRENCY'])) {
        $arAcc['CURRENT_BUDGET_FORMATED'] = SaleFormatCurrency($arAcc['CURRENT_BUDGET'], $arAcc['CURRENCY']);
        $arResult['ACCOUNT'][$arAcc['CURRENCY']] = $arAcc;
    }
}
foreach ($arResult['ACCOUNT'] as $curr => &$arAcc) {
    if (empty($arAcc)) {
        $arAcc = array('CURRENT_BUDGET' => 0.0, 'CURRENCY' => $curr, 'CURRENT_BUDGET_FORMATED' => SaleFormatCurrency(0, $curr));
    }
}
if ($_REQUEST['prepaid_money'] != '' && check_bitrix_sessid()) {
    $arResult['MONEY_OFF'] = round($arResult['REQUEST_AMOUNT'] + $arResult['REQUEST_AMOUNT'] / 100 * $arParams['COMISSION'], 2);
    if ($arResult['REQUEST_AMOUNT'] <= 0 || $arResult['REQUEST_ACCOUNT'] == '') {
        $arResult['ERROR'] = GetMessage('SPT_ERROR_REQUIRED_AMOUNT');
Example #9
0
echo $arResult["arUser"]["WORK_PHONE"];
?>
" /></td>
		</tr>
	</tbody>
</table>

<div style="margin-top:10px;"><input type="submit" name="save" value="<?php 
echo $arResult["ID"] > 0 ? GetMessage("MAIN_SAVE") : GetMessage("MAIN_ADD");
?>
">&nbsp;&nbsp;<input type="reset" value="<?php 
echo GetMessage('MAIN_RESET');
?>
"></div>
</form>
</div>
  </div>
                </div>
            </div>
<div class="balance-div">
<?php 
$dsd = CSaleUserAccount::GetList(array(), array("USER_ID" => $USER->GetID()), false, false, array("CURRENT_BUDGET", "CURRENCY"));
$userAcc = $dsd->GetNext();
?>
<span class="bonus-title">Бонусов доступно: </span><br><br><span class="bonus-balance"><?php 
echo intval($userAcc['CURRENT_BUDGET']);
?>
</span><br>
<span class="smallnotes-balance">Бонусы начисляются за каждую покупку.</span>
</div>
<div class="clear"></div>
Example #10
0
 public static function OnBeforeUserDelete($userID)
 {
     $userID = IntVal($userID);
     $bCanDelete = True;
     $dbUserAccounts = CSaleUserAccount::GetList(array(), array("USER_ID" => $userID, "!CURRENT_BUDGET" => 0), false, false, array("ID"));
     if ($arUserAccount = $dbUserAccounts->Fetch()) {
         $GLOBALS["APPLICATION"]->ThrowException(str_replace("#USER_ID#", $userID, GetMessage("UA_ERROR_USER")), "ERROR_UACCOUNT");
         return False;
     }
     return $bCanDelete;
 }
Example #11
0
}
if (strlen($lang) <= 0) {
    $lang = "ru";
}
$bRus = false;
if ($lang == "ru") {
    $bRus = true;
}
__IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/" . basename(__FILE__), $lang));
$dbPerson = CSalePersonType::GetList(array());
if (!$dbPerson->Fetch()) {
    //Person Types
    $arGeneralInfo["personType"]["fiz"] = CSalePersonType::Add(array("LID" => $siteID, "NAME" => GetMessage("SALE_WIZARD_PERSON_1"), "SORT" => "100"));
    $arGeneralInfo["personType"]["ur"] = CSalePersonType::Add(array("LID" => $siteID, "NAME" => GetMessage("SALE_WIZARD_PERSON_2"), "SORT" => "150"));
    //currecny to site
    $dbUserAccount = CSaleUserAccount::GetList(array(), array("USER_ID" => 1));
    if (!$dbUserAccount->Fetch()) {
        if ($bRus) {
            CSaleLang::Add(array("LID" => $siteID, "CURRENCY" => "RUB"));
            CSaleUserAccount::Add(array("USER_ID" => 1, "CURRENT_BUDGET" => 1000, "CURRENCY" => "RUB"));
        } else {
            CSaleLang::Add(array("LID" => $siteID, "CURRENCY" => "USD"));
            CSaleUserAccount::Add(array("USER_ID" => 1, "CURRENT_BUDGET" => 100, "CURRENCY" => "USD"));
        }
    }
    //Sale administrators
    $userGroupID = "";
    $dbGroup = CGroup::GetList($by = "", $order = "", array("STRING_ID" => "sale_administrator"));
    if ($arGroup = $dbGroup->Fetch()) {
        $userGroupID = $arGroup["ID"];
    } else {
Example #12
0
                 }
             }
             $arFields["ID"] = $val["ID"];
             $arFields["TITLE"] = $val["NAME"];
             $arFields["DESCRIPTION"] = $val["DESCRIPTION"];
             $arDeliveryResult[] = $arFields;
         }
     }
 }
 $arResult["DELIVERY"] = $arDeliveryResult;
 $arResult["DELIVERY_CHECHED_DESC"] = $deliveryCheckDesc;
 /*
  * paysystem
  */
 $userAccount = "";
 $dbUserAccount = CSaleUserAccount::GetList(array(), array("USER_ID" => IntVal($USER->GetID()), "CURRENCY" => $arResult["CURRENCY"], "LOCKED" => "N"));
 if ($arUserAccount = $dbUserAccount->GetNext()) {
     if (DoubleVal($arUserAccount["CURRENT_BUDGET"]) > 0) {
         $userAccount = SaleFormatCurrency($arUserAccount["CURRENT_BUDGET"], $arResult["CURRENCY"]);
     }
 }
 $arPaySystem = CSalePaySystem::DoLoadPaySystems($PERSON_TYPE);
 $arNewPaySystem = array();
 $paysystemDesc = "";
 $arNewPaySystem[0] = array("ID" => "", "NAME" => GetMessage("SBB_SELECT_PAYSYSTEM"), "CHECKED" => "Y");
 foreach ($arPaySystem as $key => $val) {
     $arNewPaySystem[$key]["ID"] = $val["ID"];
     $arNewPaySystem[$key]["NAME"] = $val["NAME"];
     $arNewPaySystem[$key]["DESCRIPTION"] = $val["DESCRIPTION"];
     $arNewPaySystem[$key]["ACTIVE"] = $val["ACTIVE"];
     if ($_POST["PAYSYSTEM_ID"] == $key) {
            $fieldValue .= "</a>";
        } else {
            $fieldValue .= 0;
        }
    }
    $row->AddField("TRANSACT", $fieldValue);
    $arActions = array();
    $arActions[] = array("ICON" => "edit", "TEXT" => GetMessage("SAA_UPDATE_ALT"), "ACTION" => $lAdmin->ActionRedirect("sale_account_edit.php?ID=" . $f_ID . "&lang=" . LANG . GetFilterParams("filter_")), "DEFAULT" => true);
    if ($saleModulePermissions >= "W") {
        $arActions[] = array("SEPARATOR" => true);
        $arActions[] = array("ICON" => "delete", "TEXT" => GetMessage("SAA_DELETE_ALT"), "ACTION" => "if(confirm('" . GetMessage('SAA_DELETE_CONFIRM') . "')) " . $lAdmin->ActionDoGroup($f_ID, "delete"));
    }
    $row->AddActions($arActions);
}
$arFooterArray = array(array("title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $dbResultList->SelectedRowsCount()));
$dbAccountCurrency = CSaleUserAccount::GetList(array("CURRENCY" => "ASC"), $arFilter, array("CURRENCY", "SUM" => "CURRENT_BUDGET"), false, array("CURRENCY", "SUM" => "CURRENT_BUDGET"));
while ($arAccountCurrency = $dbAccountCurrency->Fetch()) {
    $arFooterArray[] = array("title" => GetMessage("SAA_ITOG") . " " . $arAccountCurrency["CURRENCY"] . ":", "value" => SaleFormatCurrency($arAccountCurrency["CURRENT_BUDGET"], $arAccountCurrency["CURRENCY"]));
}
$order_sum = "";
foreach ($arFooterArray as $val) {
    $order_sum .= $val["title"] . " " . $val["value"] . "<br />";
}
$lAdmin->sEpilogContent = "<script>setTimeout(function(){if (document.getElementById('order_sum'))document.getElementById('order_sum').innerHTML = '" . CUtil::JSEscape($order_sum) . "';}, 10);</script>";
$lAdmin->AddGroupActionTable(array("delete" => GetMessage("MAIN_ADMIN_LIST_DELETE"), "unlock" => GetMessage("SAAN_UNLOCK_DO")));
$aContext = array();
if ($saleModulePermissions >= "W") {
    $aContext = array(array("TEXT" => GetMessage("SAAN_ADD_NEW"), "LINK" => "sale_account_edit.php?lang=" . LANG . GetFilterParams("filter_"), "TITLE" => GetMessage("SAAN_ADD_NEW_ALT"), "ICON" => "btn_new"));
}
$lAdmin->AddAdminContextMenu($aContext);
$lAdmin->CheckListMode();
Example #14
0
    if (strlen($errorMessage) <= 0) {
        if (strlen($apply) <= 0) {
            LocalRedirect("/bitrix/admin/sale_account_admin.php?lang=" . LANG . GetFilterParams("filter_", false));
        }
    } else {
        $bVarsFromForm = true;
    }
}
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/sale/prolog.php";
if ($ID > 0) {
    $APPLICATION->SetTitle(GetMessage("SAE_UPDATING"));
} else {
    $APPLICATION->SetTitle(GetMessage("SAE_ADDING"));
}
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
$dbAccount = CSaleUserAccount::GetList(array(), array("ID" => $ID), false, false, array("ID", "USER_ID", "CURRENT_BUDGET", "CURRENCY", "LOCKED", "NOTES", "TIMESTAMP_X", "DATE_LOCKED", "USER_LOGIN", "USER_NAME", "USER_LAST_NAME"));
if (!$dbAccount->ExtractFields("str_")) {
    if ($saleModulePermissions < "W") {
        $errorMessage .= GetMessage("SAE_NO_PERMS2ADD") . ".<br>";
    }
    $ID = 0;
}
if ($bVarsFromForm) {
    $DB->InitTableVarsForEdit("b_sale_user_account", "", "str_");
}
?>

<?php 
$aMenu = array(array("TEXT" => GetMessage("SAEN_2FLIST"), "LINK" => "/bitrix/admin/sale_account_admin.php?lang=" . LANG . GetFilterParams("filter_"), "ICON" => "btn_list", "TITLE" => GetMessage("SAEN_2FLIST_TITLE")));
if ($ID > 0 && $saleModulePermissions >= "U") {
    $aMenu[] = array("SEPARATOR" => "Y");