require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
include_once(__DIR__."/init_vars.php");
include(GetLangFileName(__DIR__."/lang/", "/mp3.php"));
$APPLICATION->SetTitle(GetMessage("MP3_LIST_TITLE"));
if (CModule::IncludeModule("sale")):
/////////////////////////////////////////////////////////////////////////////
?>
$baseLangCurrency = CSaleLang::GetLangCurrency(SITE_ID);
$errorMessage = "";
$successMessage = "";
if ($USER->IsAuthorized() && ($action == "buy"))
{
if (!isset($buy_mp3))
$errorMessage .= GetMessage("MP3_ERROR_EMPTY_MP3")."
";
if ($errorMessage == '')
{
if (!is_array($buy_mp3))
$buy_mp3 = array($buy_mp3);
$arBuyMP3 = array();
for ($i = 0; $i < count($buy_mp3); $i++)
{
$buy_mp3[$i] = str_replace("/", "", $buy_mp3[$i]);
$buy_mp3[$i] = str_replace("\\", "", $buy_mp3[$i]);
$buy_mp3[$i] = Trim($buy_mp3[$i]);
while (mb_substr($buy_mp3[$i], 0, 1) == ".")
$buy_mp3[$i] = mb_substr($buy_mp3[$i], 1);
if ($buy_mp3[$i] <> '')
if (file_exists($mp3Path2Original.$buy_mp3[$i]) && is_file($mp3Path2Original.$buy_mp3[$i]))
if (!CSaleAuxiliary::CheckAccess($USER->GetID(), $mp3AuxiliaryPrefix.$buy_mp3[$i], $mp3AccessTimeLength, $mp3AccessTimeType))
$arBuyMP3[] = $buy_mp3[$i];
}
if (count($arBuyMP3) <= 0)
$errorMessage .= GetMessage("MP3_ERROR_EMPTY_MP3")."
";
}
if ($errorMessage == '')
{
$userBudget = 0;
$dbUserAccount = CSaleUserAccount::GetList(
array(),
array(
"USER_ID" => $USER->GetID(),
"CURRENCY" => $baseLangCurrency
)
);
if ($arUserAccount = $dbUserAccount->Fetch())
$userBudget = DoubleVal($arUserAccount["CURRENT_BUDGET"]);
if ($userBudget <= 0)
$errorMessage .= GetMessage("MP3_ERROR_NO_MONEY")."
";
}
if ($errorMessage == '')
{
$itemPrice = $mp3Price;
if ($mp3Currency != $baseLangCurrency)
$itemPrice = roundEx(CCurrencyRates::ConvertCurrency($mp3Price, $mp3Currency, $baseLangCurrency), SALE_VALUE_PRECISION);
if ($mp3Price > 0 && $itemPrice <= 0)
{
$itemPrice = 1;
for ($i = 0; $i < SALE_VALUE_PRECISION; $i++)
$itemPrice = $itemPrice / 10;
}
$paySum = count($arBuyMP3) * $itemPrice;
if ($paySum > $userBudget)
$errorMessage .= str_replace("#PRICE#", SaleFormatCurrency($paySum, $baseLangCurrency), str_replace("#SUM#", SaleFormatCurrency($userBudget, $baseLangCurrency), GetMessage("MP3_ERROR_NOT_ENOUGH")))."
";
}
if ($errorMessage == '')
{
if (!CSaleUserAccount::Pay($USER->GetID(), $paySum, $baseLangCurrency, 0, False))
$errorMessage .= str_replace("#PRICE#", SaleFormatCurrency($paySum, $baseLangCurrency), GetMessage("MP3_ERROR_PAY"))."
";
}
if ($errorMessage == '')
{
CSaleAuxiliary::DeleteByTime($mp3AccessTimeLength, $mp3AccessTimeType);
for ($i = 0; $i < count($arBuyMP3); $i++)
{
$arFields = array(
"USER_ID" => $USER->GetID(),
"ITEM" => $arBuyMP3[$i],
"ITEM_MD5" => $mp3AuxiliaryPrefix.$arBuyMP3[$i],
"DATE_INSERT" => Date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL", SITE_ID)))
);
$auxiliaryID = CSaleAuxiliary::Add($arFields);
$auxiliaryID = intval($auxiliaryID);
if ($auxiliaryID <= 0)
$errorMessage .= str_replace("#COMP#", $arBuyMP3[$i], GetMessage("MP3_ERROR_AUXILIARY"))."
";
}
}
if ($errorMessage == '')
$successMessage .= GetMessage("MP3_SUCCESS_MESSAGE")."
";
}
$arMP3Files = array();
if (is_dir($mp3Path2Original))
{
$hPath2Original = opendir($mp3Path2Original);
while (($fileName = readdir($hPath2Original)) != false)
{
if (filetype($mp3Path2Original.$fileName) == "file" && mb_substr($fileName, 0, 1) != ".")
{
if (strrchr(mb_strtolower($fileName), ".") == ".mp3")
{
$fileDate = filemtime($mp3Path2Original.$fileName);
$arMP3Files[$fileName] = $fileDate;
}
}
}
closedir($hPath2Original);
}
asort($arMP3Files);
$arMP3Files = array_reverse($arMP3Files);
?>
Fatal error: Uncaught Error: Call to undefined function ShowError() in D:\ktt\ttepla.com\public_html\bitrix\modules\sale\install\sample\mp3\index.php:261
Stack trace:
#0 {main}
thrown in D:\ktt\ttepla.com\public_html\bitrix\modules\sale\install\sample\mp3\index.php on line 261