Exemplo n.º 1
0
        if ($productID <= 0) {
            continue;
        }
        $productName = isset($cartItem['NAME']) ? $cartItem['NAME'] : '';
        if ($productName === '') {
            $dbProduct = CCrmProduct::GetList(array(), array('ID' => $productID), array('NAME'));
            $product = $dbProduct ? $dbProduct->Fetch() : null;
            $productName = is_array($product) && isset($product['NAME']) ? $product['NAME'] : '';
        }
        if ($productName === '') {
            continue;
        }
        $price = isset($cartItem['PRICE']) ? $cartItem['PRICE'] : 0.0;
        $qty = isset($cartItem['QUANTITY']) ? $cartItem['QUANTITY'] : 0;
        $sum = $price * $qty;
        $row = array('PRODUCT_ID' => $productID, 'PRODUCT_NAME' => $productName, 'CURRENCY_ID' => isset($cartItem['CURRENCY']) ? $cartItem['CURRENCY'] : '', 'PRICE' => $price, 'QUANTITY' => $qty, 'SUM' => $sum, 'FORMATTED_PRICE' => CCrmCurrency::MoneyToString($price, $currencyID), 'FORMATTED_SUM' => CCrmCurrency::MoneyToString($sum, $currencyID));
        if ($isVATMode) {
            // Custom processing for VAT mode
            $rate = isset($cartItem['VAT_RATE']) ? round(doubleval($cartItem['VAT_RATE']) * 100, 2) : 0.0;
            if ($rate > 0) {
                $row['TAX_INFOS'] = array(array('NAME' => $VATName, 'RATE' => $rate, 'FORMATTED_RATE' => "{$rate}%"));
            }
        }
        $resultData['PRODUCT_ROWS'][] =& $row;
        unset($row);
    }
    unset($cartItem);
    $taxInfo = CCrmMobileHelper::PrepareInvoiceTaxInfo($taxList, false);
    $resultData['TAX_INFOS'] = $taxInfo['ITEMS'];
    __CrmMobileInvoiceEditEndResonse(array('RESULT_DATA' => $resultData));
} elseif ($action === 'PREPARE_PDF') {
Exemplo n.º 2
0
 /**
  * @return array
  */
 public function initializeDemoData(array $data)
 {
     if (!(isset($data['items']) && is_array($data['items']))) {
         return $data;
     }
     foreach ($data['items'] as &$item) {
         $config = $this->findConfigByName(isset($item['name']) ? $item['name'] : '');
         if (!$config) {
             continue;
         }
         $item['title'] = $config->getTitle();
         if (!(isset($item['positions']) && is_array($item['positions']))) {
             continue;
         }
         $format = $config->getFomatParams();
         foreach ($item['positions'] as &$position) {
             $legend = isset($position['legend']) ? (double) $position['legend'] : 0.0;
             $legendType = 'text';
             if (isset($format['enableDecimals']) && $format['enableDecimals'] == 'N') {
                 $legend = round($legend, 0);
             }
             if (isset($format['isCurrency']) && $format['isCurrency'] == 'Y') {
                 $legend = \CCrmCurrency::MoneyToString($legend, \CCrmCurrency::GetAccountCurrencyID());
                 $legendType = 'html';
             }
             $position['legend'] = $legend;
             $position['legendType'] = $legendType;
         }
         unset($position);
     }
     unset($item);
     return $data;
 }
Exemplo n.º 3
0
    $stageID = isset($data['STAGE_ID']) ? $data['STAGE_ID'] : '';
    if ($stageID === '') {
        __CrmMobileDealEditEndResonse(array('ERROR' => GetMessage('CRM_DEAL_STAGE_NOT_FOUND')));
    }
    //$DB->StartTransaction();
    $fields = array('STAGE_ID' => $stageID);
    $entity = new CCrmDeal(false);
    $successed = $entity->Update($ID, $fields, true, true, array());
    if ($successed) {
        //$DB->Commit();
        $errors = array();
        CCrmBizProcHelper::AutoStartWorkflows(CCrmOwnerType::Deal, $ID, CCrmBizProcEventType::Edit, $errors);
        $dbRes = CCrmDeal::GetListEx(array(), array('=ID' => $ID, 'CHECK_PERMISSIONS' => 'N'));
        $currentItem = $dbRes->GetNext();
        $formatParams = isset($_REQUEST['FORMAT_PARAMS']) ? $_REQUEST['FORMAT_PARAMS'] : array();
        CCrmMobileHelper::PrepareDealItem($currentItem, $formatParams);
        __CrmMobileDealEditEndResonse(array('SAVED_ENTITY_ID' => $ID, 'SAVED_ENTITY_DATA' => CCrmMobileHelper::PrepareDealData($currentItem)));
    } else {
        //$DB->Rollback();
        __CrmMobileDealEditEndResonse(array('ERROR' => $fields['RESULT_MESSAGE']));
    }
} elseif ($action === 'CONVERT_MONEY') {
    __IncludeLang(dirname(__FILE__) . '/lang/' . LANGUAGE_ID . '/' . basename(__FILE__));
    $srcCurrencyID = isset($_REQUEST['SRC_CURRENCY_ID']) ? $_REQUEST['SRC_CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID();
    $dstCurrencyID = isset($_REQUEST['DST_CURRENCY_ID']) ? $_REQUEST['DST_CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID();
    $srcSum = isset($_REQUEST['SUM']) ? doubleval($_REQUEST['SUM']) : 0.0;
    $dstSum = CCrmCurrency::ConvertMoney($srcSum, $srcCurrencyID, $dstCurrencyID);
    __CrmMobileDealEditEndResonse(array('SUM' => $dstSum, 'CURRENCY_ID' => $dstCurrencyID, 'CURRENCY_NAME' => CCrmCurrency::GetCurrencyName($dstCurrencyID), 'FORMATTED_SUM' => CCrmCurrency::MoneyToString($dstSum, $dstCurrencyID)));
} else {
    __CrmMobileDealEditEndResonse(array('ERROR' => 'Action is not supported in current context.'));
}
Exemplo n.º 4
0
// EMPLOYEES is displayed in sidebar. The field is added for COMPATIBILITY ONLY
if ($enableInstantEdit) {
    $arResult['EDITABLE_FIELDS'][] = 'EMPLOYEES';
}
$arResult['FIELDS']['tab_1'][] = array('id' => 'EMPLOYEES', 'name' => GetMessage('CRM_FIELD_EMPLOYEES'), 'type' => 'label', 'value' => $arResult['EMPLOYEES_LIST'][$arResult['ELEMENT']['~EMPLOYEES']], 'isTactile' => true);
// <-- EMPLOYEES
// REVENUE -->
// REVENUE is displayed in sidebar. The field is added for COMPATIBILITY ONLY
$currencyID = CCrmCurrency::GetBaseCurrencyID();
if (isset($arResult['ELEMENT']['CURRENCY_ID']) && $arResult['ELEMENT']['CURRENCY_ID'] !== '') {
    $currencyID = $arResult['ELEMENT']['CURRENCY_ID'];
}
if ($enableInstantEdit) {
    $arResult['EDITABLE_FIELDS'][] = 'REVENUE';
}
$arResult['FIELDS']['tab_1'][] = array('id' => 'REVENUE', 'name' => GetMessage('CRM_FIELD_REVENUE'), 'value' => isset($arResult['ELEMENT']['REVENUE']) ? CCrmCurrency::MoneyToString($arResult['ELEMENT']['REVENUE'], $currencyID, '#') : '', 'type' => 'custom', 'isTactile' => true);
// <-- REVENUE
// CURRENCY -->
$arResult['FIELDS']['tab_1'][] = array('id' => 'CURRENCY_ID', 'name' => GetMessage('CRM_FIELD_CURRENCY_ID'), 'type' => 'label', 'value' => CCrmCurrency::GetCurrencyName($currencyID), 'isTactile' => true);
// <-- CURRENCY
// COMMENTS -->
if ($enableInstantEdit) {
    $arResult['EDITABLE_FIELDS'][] = 'COMMENTS';
}
$arResult['FIELDS']['tab_1'][] = array('id' => 'COMMENTS', 'name' => GetMessage('CRM_FIELD_COMMENTS'), 'type' => 'custom', 'value' => isset($arResult['ELEMENT']['~COMMENTS']) ? $arResult['ELEMENT']['~COMMENTS'] : '', 'params' => array(), 'isTactile' => true);
// <-- COMMENTS
// OPENED -->
// OPENED is displayed in sidebar. The field is added for COMPATIBILITY ONLY
if ($enableInstantEdit) {
    $arResult['EDITABLE_FIELDS'][] = 'OPENED';
}
Exemplo n.º 5
0
    public function showField($arField, $arUF = array())
    {
        $strResult = "";
        switch ($arField["FORMAT"]) {
            case "LEAD_PROGRESS":
                if (!empty($arField["VALUE"])) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding crm-feed-info-bar-cont">';
                    $strResult .= CCrmViewHelper::RenderLeadStatusControl(array('ENTITY_TYPE_NAME' => CCrmOwnerType::Lead, 'REGISTER_SETTINGS' => true, 'PREFIX' => "", 'ENTITY_ID' => CCrmLiveFeedEntity::Lead, 'CURRENT_ID' => $arField["VALUE"], 'READ_ONLY' => true));
                    $strResult .= '</span>';
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "DEAL_PROGRESS":
                if (!empty($arField["VALUE"])) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding crm-feed-info-bar-cont">';
                    $strResult .= CCrmViewHelper::RenderDealStageControl(array('ENTITY_TYPE_NAME' => CCrmOwnerType::Deal, 'REGISTER_SETTINGS' => true, 'PREFIX' => "", 'ENTITY_ID' => CCrmLiveFeedEntity::Deal, 'CURRENT_ID' => $arField["VALUE"], 'READ_ONLY' => true));
                    $strResult .= '</span>';
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "INVOICE_PROGRESS":
                if (!empty($arField["VALUE"])) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding crm-feed-info-bar-cont">';
                    $strResult .= CCrmViewHelper::RenderInvoiceStatusControl(array('ENTITY_TYPE_NAME' => CCrmOwnerType::Invoice, 'REGISTER_SETTINGS' => true, 'PREFIX' => "", 'ENTITY_ID' => CCrmLiveFeedEntity::Invoice, 'CURRENT_ID' => $arField["VALUE"], 'READ_ONLY' => true));
                    $strResult .= "</span>";
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "LEAD_STATUS":
                $infos = CCrmStatus::GetStatus('STATUS');
                if (!empty($arField["VALUE"]) && array_key_exists($arField["VALUE"], $infos)) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding">';
                    $strResult .= $infos[$arField["VALUE"]]["NAME"];
                    $strResult .= "</span>";
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "PERSON_NAME":
                if (is_array($arField["VALUE"])) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding">';
                    $strResult .= CUser::FormatName(CSite::GetNameFormat(), $arField["VALUE"]);
                    $strResult .= "</span>";
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "PERSON_ID":
                if (intval($arField["VALUE"]) > 0) {
                    $dbUser = CUser::GetByID(intval($arField["VALUE"]));
                    if ($arUser = $dbUser->GetNext()) {
                        $strResult .= "#row_begin#";
                        $strResult .= "#cell_begin_left#";
                        $strResult .= $arField["TITLE"] . ":";
                        $strResult .= "#cell_end#";
                        $strResult .= "#cell_begin_right#";
                        if ($arUser["PERSONAL_PHOTO"] > 0) {
                            $arFileTmp = CFile::ResizeImageGet($arUser["PERSONAL_PHOTO"], array('width' => 39, 'height' => 39), BX_RESIZE_IMAGE_EXACT, false);
                        }
                        $strUser = "";
                        $strUser .= '<div class="feed-com-avatar crm-feed-company-avatar">';
                        if (is_array($arFileTmp) && isset($arFileTmp['src'])) {
                            if (strlen($this->params["PATH_TO_USER"]) > 0) {
                                $strUser .= '<a target="_blank" href="' . str_replace(array("#user_id#", "#USER_ID#"), intval($arField["VALUE"]), $this->params["PATH_TO_USER"]) . '"><img src="' . $arFileTmp['src'] . '" alt=""/></a>';
                            } else {
                                $strUser .= '<img src="' . $arFileTmp['src'] . '" alt=""/>';
                            }
                        }
                        $strUser .= '</div>';
                        if (strlen($this->params["PATH_TO_USER"]) > 0) {
                            $strUser .= '<a class="crm-detail-info-resp-name" target="_blank" href="' . str_replace(array("#user_id#", "#USER_ID#"), intval($arField["VALUE"]), $this->params["PATH_TO_USER"]) . '">' . CUser::FormatName(CSite::GetNameFormat(), $arUser, true, false) . '</a>';
                        } else {
                            $strUser .= '<span class="crm-detail-info-resp-name">' . CUser::FormatName(CSite::GetNameFormat(), $arUser, true, false) . '</span>';
                        }
                        if (strlen($arUser["WORK_POSITION"]) > 0) {
                            $strUser .= '<span class="crm-detail-info-resp-descr">' . $arUser["WORK_POSITION"] . '</span>';
                        }
                        $strResult .= '<span class="crm-detail-info-resp">' . $strUser . '</span>';
                        $strResult .= "#cell_end#";
                        $strResult .= "#row_end#";
                    }
                }
                break;
            case "COMPANY_ID":
                if (intval($arField["VALUE"]) > 0) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding">';
                    $strResult .= CCrmViewHelper::PrepareEntityBaloonHtml(array('ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $arField["VALUE"], 'PREFIX' => "", 'CLASS_NAME' => '', 'CHECK_PERMISSIONS' => 'N'));
                    $strResult .= '</span>';
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "COMPANY_TYPE":
                $infos = CCrmStatus::GetStatusListEx('COMPANY_TYPE');
                if (!empty($arField["VALUE"]) && array_key_exists($arField["VALUE"], $infos)) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding">';
                    $strResult .= $infos[$arField["VALUE"]];
                    $strResult .= '</span>';
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "CONTACT_ID":
                if (intval($arField["VALUE"]) > 0) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<div class="crm-feed-client-block">';
                    $strResult .= '<span class="feed-com-avatar crm-feed-user-avatar">';
                    $dbRes = CCrmContact::GetListEx(array(), array('=ID' => $arField["VALUE"], 'CHECK_PERMISSIONS' => 'N'), false, false, array('PHOTO'));
                    if (($arRes = $dbRes->Fetch()) && intval($arRes["PHOTO"]) > 0) {
                        $arFileTmp = CFile::ResizeImageGet($arRes["PHOTO"], array('width' => 39, 'height' => 39), BX_RESIZE_IMAGE_EXACT, false);
                        if (is_array($arFileTmp) && isset($arFileTmp["src"])) {
                            $strResult .= '<img width="39" height="39" src="' . $arFileTmp['src'] . '" alt="">';
                        }
                    }
                    $strResult .= '</span>';
                    $strResult .= CCrmViewHelper::PrepareEntityBaloonHtml(array('ENTITY_TYPE_ID' => CCrmOwnerType::Contact, 'ENTITY_ID' => $arField["VALUE"], 'PREFIX' => "", 'CLASS_NAME' => '', 'CHECK_PERMISSIONS' => 'N'));
                    $strResult .= '</div>';
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "COMBI_CLIENT":
                if (is_array($arField["VALUE"]) && (array_key_exists("CONTACT_ID", $arField["VALUE"]) && intval($arField["VALUE"]["CONTACT_ID"]) > 0 || array_key_exists("CONTACT_NAME", $arField["VALUE"]) && strlen($arField["VALUE"]["CONTACT_NAME"]) > 0 || array_key_exists("CONTACT_LAST_NAME", $arField["VALUE"]) && strlen($arField["VALUE"]["CONTACT_LAST_NAME"]) > 0 || array_key_exists("COMPANY_ID", $arField["VALUE"]) && intval($arField["VALUE"]["COMPANY_ID"]) > 0)) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    if (array_key_exists("CONTACT_ID", $arField["VALUE"]) && intval($arField["VALUE"]["CONTACT_ID"]) > 0 || array_key_exists("CONTACT_NAME", $arField["VALUE"]) && strlen($arField["VALUE"]["CONTACT_NAME"]) > 0 || array_key_exists("CONTACT_LAST_NAME", $arField["VALUE"]) && strlen($arField["VALUE"]["CONTACT_LAST_NAME"]) > 0) {
                        if (array_key_exists("CONTACT_ID", $arField["VALUE"]) && intval($arField["VALUE"]["CONTACT_ID"]) > 0) {
                            $strResult .= '<div class="crm-feed-client-block">';
                            $strResult .= '<span class="feed-com-avatar crm-feed-user-avatar">';
                            $dbRes = CCrmContact::GetListEx(array(), array('=ID' => $arField["VALUE"]["CONTACT_ID"], 'CHECK_PERMISSIONS' => 'N'), false, false, array('PHOTO', 'COMPANY_ID'));
                            if ($arRes = $dbRes->Fetch()) {
                                $contactCompanyID = $arRes['COMPANY_ID'];
                                if (intval($arRes["PHOTO"]) > 0) {
                                    $arFileTmp = CFile::ResizeImageGet($arRes["PHOTO"], array('width' => 39, 'height' => 39), BX_RESIZE_IMAGE_EXACT, false);
                                    if (is_array($arFileTmp) && isset($arFileTmp["src"])) {
                                        $strResult .= '<img width="39" height="39" src="' . $arFileTmp['src'] . '" alt="">';
                                    }
                                }
                            }
                            $strResult .= '</span>';
                            $strResult .= CCrmViewHelper::PrepareEntityBaloonHtml(array('ENTITY_TYPE_ID' => CCrmOwnerType::Contact, 'ENTITY_ID' => $arField["VALUE"]["CONTACT_ID"], 'PREFIX' => '', 'CLASS_NAME' => '', 'CHECK_PERMISSIONS' => 'N'));
                        } else {
                            $strResult .= '<div class="crm-feed-client-block">';
                            $strResult .= '<span class="feed-com-avatar crm-feed-user-avatar">';
                            if (intval($arField['VALUE']['PHOTO_ID']) > 0) {
                                $arFileTmp = CFile::ResizeImageGet($arField['VALUE']['PHOTO_ID'], array('width' => 39, 'height' => 39), BX_RESIZE_IMAGE_EXACT, false);
                                if (is_array($arFileTmp) && isset($arFileTmp["src"])) {
                                    $strResult .= '<img width="39" height="39" src="' . $arFileTmp['src'] . '" alt="">';
                                }
                            }
                            $strResult .= '</span>';
                            if (array_key_exists("ENTITY_ID", $arField["VALUE"]) && intval($arField["VALUE"]["ENTITY_ID"]) > 0) {
                                $url = CCrmOwnerType::GetShowUrl(CCrmOwnerType::Contact, $arField["VALUE"]["ENTITY_ID"], true);
                            }
                            $clientName = CCrmContact::PrepareFormattedName(array('HONORIFIC' => isset($arField['VALUE']['HONORIFIC']) ? $arField['VALUE']['HONORIFIC'] : '', 'NAME' => isset($arField['VALUE']['CONTACT_NAME']) ? $arField['VALUE']['CONTACT_NAME'] : '', 'LAST_NAME' => isset($arField['VALUE']['CONTACT_LAST_NAME']) ? $arField['VALUE']['CONTACT_LAST_NAME'] : '', 'SECOND_NAME' => isset($arField['VALUE']['CONTACT_SECOND_NAME']) ? $arField['VALUE']['CONTACT_SECOND_NAME'] : ''));
                            $strResult .= strlen($url) > 0 ? '<a href="' . $url . '" class="crm-feed-client-name">' . $clientName . '</a>' : $clientName;
                        }
                        $strResult .= '<span class="crm-feed-client-company">';
                        $strResult .= CCrmViewHelper::PrepareEntityBaloonHtml(array('ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => array_key_exists("COMPANY_ID", $arField["VALUE"]) && intval($arField["VALUE"]["COMPANY_ID"]) > 0 ? $arField["VALUE"]["COMPANY_ID"] : intval($contactCompanyID), 'PREFIX' => '', 'CLASS_NAME' => '', 'CHECK_PERMISSIONS' => 'N'));
                        $strResult .= '</span>';
                        $strResult .= '</div>';
                    } else {
                        $strResult .= CCrmViewHelper::PrepareEntityBaloonHtml(array('ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $arField["VALUE"]["COMPANY_ID"], 'PREFIX' => "", 'CLASS_NAME' => '', 'CHECK_PERMISSIONS' => 'N'));
                    }
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "COMBI_COMPANY":
                if (is_array($arField["VALUE"]) && (array_key_exists("TITLE", $arField["VALUE"]) && strlen($arField["VALUE"]["TITLE"]) > 0)) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $url = CCrmOwnerType::GetShowUrl(CCrmOwnerType::Company, $arField["VALUE"]["ENTITY_ID"]);
                    if (intval($arField['VALUE']['LOGO_ID']) > 0) {
                        $arFileTmp = CFile::ResizeImageGet($arField['VALUE']['LOGO_ID'], array('width' => 39, 'height' => 39), BX_RESIZE_IMAGE_EXACT, false);
                    }
                    if (is_array($arFileTmp) && isset($arFileTmp['src'])) {
                        $strResult .= '<a class="crm-feed-user-block" href="' . $url . '">';
                        $strResult .= '<span class="feed-com-avatar crm-feed-company-avatar">';
                        $strResult .= '<img width="39" height="39" alt="" src="' . $arFileTmp['src'] . '">';
                        $strResult .= '</span>';
                        $strResult .= '<span class="crm-feed-user-name">' . $arField["VALUE"]["TITLE"] . '</span>';
                        $strResult .= '</a>';
                    } else {
                        $strResult .= '<a class="crm-feed-info-link" href="' . $url . '">' . $arField["VALUE"]["TITLE"] . '</a>';
                    }
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "COMBI_CLIENT_NAME":
                if (is_array($arField["VALUE"]) && (array_key_exists("CONTACT_NAME", $arField["VALUE"]) && strlen($arField["VALUE"]["CONTACT_NAME"]) > 0 || array_key_exists("CONTACT_LAST_NAME", $arField["VALUE"]) && strlen($arField["VALUE"]["CONTACT_LAST_NAME"]) > 0 || array_key_exists("COMPANY_TITLE", $arField["VALUE"]) && strlen($arField["VALUE"]["COMPANY_TITLE"]) > 0)) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    if (array_key_exists("CONTACT_NAME", $arField["VALUE"]) && strlen($arField["VALUE"]["CONTACT_NAME"]) > 0 || array_key_exists("CONTACT_LAST_NAME", $arField["VALUE"]) && strlen($arField["VALUE"]["CONTACT_LAST_NAME"]) > 0) {
                        $strResult .= '<div class="crm-feed-client-block">';
                        $strResult .= '<span class="feed-com-avatar crm-feed-user-avatar"></span>';
                        $strResult .= CCrmContact::PrepareFormattedName(array("HONORIFIC" => $arField["VALUE"]["HONORIFIC"], "NAME" => $arField["VALUE"]["CONTACT_NAME"], "LAST_NAME" => $arField["VALUE"]["CONTACT_LAST_NAME"], "SECOND_NAME" => $arField["VALUE"]["CONTACT_SECOND_NAME"]));
                        $strResult .= '<span class="crm-feed-client-company">' . (strlen($arField["VALUE"]["COMPANY_TITLE"]) > 0 ? $arField["VALUE"]["COMPANY_TITLE"] : "") . '</span>';
                        $strResult .= '</div>';
                    } else {
                        $strResult .= $arField["VALUE"]["COMPANY_TITLE"];
                    }
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "DEAL_ID":
                if (intval($arField["VALUE"]) > 0) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding">';
                    $strResult .= CCrmViewHelper::PrepareEntityBaloonHtml(array('ENTITY_TYPE_ID' => CCrmOwnerType::Deal, 'ENTITY_ID' => $arField["VALUE"], 'PREFIX' => "", 'CLASS_NAME' => '', 'CHECK_PERMISSIONS' => 'N'));
                    $strResult .= '</span>';
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "COMMUNICATIONS":
                if (is_array($arField["VALUE"]) && count($arField["VALUE"]) > 0) {
                    $arCommunication = $arField["VALUE"][0];
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<div class="crm-feed-client-block">';
                    if (in_array($arCommunication["ENTITY_TYPE_ID"], array(CCrmOwnerType::Company, CCrmOwnerType::Contact, CCrmOwnerType::Lead))) {
                        $strResult .= '<span class="feed-com-avatar crm-feed-user-avatar">';
                        if ($arCommunication["ENTITY_TYPE_ID"] == CCrmOwnerType::Contact) {
                            $dbRes = CCrmContact::GetListEx(array(), array('=ID' => $arCommunication["ENTITY_ID"], 'CHECK_PERMISSIONS' => 'N'), false, false, array('PHOTO'));
                            if (($arRes = $dbRes->Fetch()) && intval($arRes["PHOTO"]) > 0) {
                                $arFileTmp = CFile::ResizeImageGet($arRes["PHOTO"], array('width' => 39, 'height' => 39), BX_RESIZE_IMAGE_EXACT, false);
                                if (is_array($arFileTmp) && isset($arFileTmp["src"])) {
                                    $strResult .= '<img width="39" height="39" src="' . $arFileTmp['src'] . '" alt="">';
                                }
                            }
                        } elseif ($arCommunication["ENTITY_TYPE_ID"] == CCrmOwnerType::Company) {
                            $dbRes = CCrmCompany::GetListEx(array(), array('=ID' => $arCommunication["ENTITY_ID"], 'CHECK_PERMISSIONS' => 'N'), false, false, array('LOGO'));
                            if (($arRes = $dbRes->Fetch()) && intval($arRes["LOGO"]) > 0) {
                                $arFileTmp = CFile::ResizeImageGet($arRes["LOGO"], array('width' => 30, 'height' => 30), BX_RESIZE_IMAGE_EXACT, false);
                                if (is_array($arFileTmp) && isset($arFileTmp["src"])) {
                                    $strResult .= '<img width="30" height="30" src="' . $arFileTmp['src'] . '" alt="">';
                                }
                            }
                        }
                        $strResult .= '</span>';
                    }
                    $arBaloonFields = array('ENTITY_TYPE_ID' => $arCommunication["ENTITY_TYPE_ID"], 'ENTITY_ID' => $arCommunication["ENTITY_ID"], 'PREFIX' => "", 'CLASS_NAME' => 'crm-feed-client-name', 'CHECK_PERMISSIONS' => 'N');
                    if ($arCommunication["ENTITY_TYPE_ID"] == CCrmOwnerType::Lead && is_array($arCommunication["ENTITY_SETTINGS"])) {
                        $arBaloonFields["TITLE"] = isset($arCommunication["ENTITY_SETTINGS"]["LEAD_TITLE"]) ? htmlspecialcharsback($arCommunication["ENTITY_SETTINGS"]["LEAD_TITLE"]) : "";
                        $arBaloonFields["NAME"] = isset($arCommunication["ENTITY_SETTINGS"]["NAME"]) ? htmlspecialcharsback($arCommunication["ENTITY_SETTINGS"]["NAME"]) : "";
                        $arBaloonFields["LAST_NAME"] = isset($arCommunication["ENTITY_SETTINGS"]["LAST_NAME"]) ? htmlspecialcharsback($arCommunication["ENTITY_SETTINGS"]["LAST_NAME"]) : "";
                        $arBaloonFields["SECOND_NAME"] = isset($arCommunication["ENTITY_SETTINGS"]["SECOND_NAME"]) ? htmlspecialcharsback($arCommunication["ENTITY_SETTINGS"]["SECOND_NAME"]) : "";
                    }
                    $strResult .= '<div>' . CCrmViewHelper::PrepareEntityBaloonHtml($arBaloonFields) . '</div>';
                    switch ($arCommunication["TYPE"]) {
                        case 'EMAIL':
                            $strResult .= '<div><a href="mailto:' . $arCommunication["VALUE"] . '" class="crm-feed-client-phone">' . $arCommunication["VALUE"] . '</div>';
                            break;
                        case 'PHONE':
                            if (CCrmSipHelper::isEnabled()) {
                                ob_start();
                                ?>
								<script type="text/javascript">
								if (typeof (window.bSipManagerUrlDefined_<?php 
                                echo $arCommunication["ENTITY_TYPE_ID"];
                                ?>
) === 'undefined')
								{
									window.bSipManagerUrlDefined_<?php 
                                echo $arCommunication["ENTITY_TYPE_ID"];
                                ?>
 = true;
									BX.ready(
										function()
										{
											var mgr = BX.CrmSipManager.getCurrent();
											mgr.setServiceUrl(
												"CRM_<?php 
                                echo CUtil::JSEscape(CCrmOwnerType::ResolveName($arCommunication["ENTITY_TYPE_ID"]));
                                ?>
",
												"<?php 
                                echo CUtil::JSEscape($this->arSipServiceUrl[$arCommunication["ENTITY_TYPE_ID"]]);
                                ?>
"
											);

											if(typeof(BX.CrmSipManager.messages) === 'undefined')
											{
												BX.CrmSipManager.messages =
												{
													"unknownRecipient": "<?php 
                                echo GetMessageJS('CRM_LF_SIP_MGR_UNKNOWN_RECIPIENT');
                                ?>
",
													"enableCallRecording": "<?php 
                                echo GetMessageJS('CRM_LF_SIP_MGR_ENABLE_CALL_RECORDING');
                                ?>
",
													"makeCall": "<?php 
                                echo GetMessageJS('CCRM_LF_SIP_MGR_MAKE_CALL');
                                ?>
"
												};
											}
										}
									);
								}
								</script>
								<?php 
                                $strResult .= ob_get_contents();
                                ob_end_clean();
                            }
                            $strResult .= '<div><span class="crm-feed-num-block">' . CCrmViewHelper::PrepareMultiFieldHtml('PHONE', array('VALUE' => $arCommunication["VALUE"], 'VALUE_TYPE_ID' => 'WORK'), array('ENABLE_SIP' => true, 'SIP_PARAMS' => array('ENTITY_TYPE' => 'CRM_' . CCrmOwnerType::ResolveName($arCommunication["ENTITY_TYPE_ID"]), 'ENTITY_ID' => $arCommunication["ENTITY_ID"]))) . '</span></div>';
                            if (defined("BX_COMP_MANAGED_CACHE")) {
                                $GLOBALS["CACHE_MANAGER"]->RegisterTag("CRM_CALLTO_SETTINGS");
                            }
                            break;
                    }
                    $strResult .= '<span class="crm-feed-client-company">' . (is_array($arCommunication["ENTITY_SETTINGS"]) && isset($arCommunication["ENTITY_SETTINGS"]["COMPANY_TITLE"]) ? $arCommunication["ENTITY_SETTINGS"]["COMPANY_TITLE"] : "") . '</span>';
                    $strResult .= '</div>';
                    $moreCnt = count($arField["VALUE"]) - 1;
                    if ($moreCnt > 0) {
                        $strResult .= "#clients_more_link#";
                    }
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "AVATAR_ID":
                if (intval($arField["VALUE"]) > 0) {
                    $arFileTmp = CFile::ResizeImageGet($arField["VALUE"], array('width' => $this->params["AVATAR_SIZE"], 'height' => $this->params["AVATAR_SIZE"]), BX_RESIZE_IMAGE_EXACT, false);
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding">';
                    $strResult .= '<img src="' . $arFileTmp["src"] . '" border="0" alt="' . $this->params["AVATAR_SIZE"] . '" width="" height="' . $this->params["AVATAR_SIZE"] . '">';
                    $strResult .= '</span>';
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "SUM":
                if (intval($arField["VALUE"]["VALUE"]) > 0) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding">';
                    $strResult .= '<span class="crm-feed-info-sum">' . CCrmCurrency::MoneyToString($arField["VALUE"]["VALUE"], $arField["VALUE"]["CURRENCY"]) . '</span>';
                    $strResult .= '</span>';
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "PHONE":
            case "EMAIL":
                if (!empty($arField["VALUE"])) {
                    $infos = CCrmFieldMulti::GetEntityTypes();
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding">';
                    $strResult .= CCrmViewHelper::PrepareFirstMultiFieldHtml($arField["FORMAT"], $arField["VALUE"], $infos[$arField["FORMAT"]]);
                    if (count($arField["VALUE"]) > 1 || !empty($arField["VALUE"]["WORK"]) && count($arField["VALUE"]["WORK"]) > 1 || !empty($arField["VALUE"]["MOBILE"]) && count($arField["VALUE"]["MOBILE"]) > 1 || !empty($arField["VALUE"]["FAX"]) && count($arField["VALUE"]["FAX"]) > 1 || !empty($arField["VALUE"]["PAGER"]) && count($arField["VALUE"]["PAGER"]) > 1 || !empty($arField["VALUE"]["OTHER"]) && count($arField["VALUE"]["OTHER"]) > 1) {
                        $anchorID = strtolower($arField["FORMAT"]);
                        $strResult .= '<span style="margin-left: 10px;" class="crm-item-tel-list" id="' . htmlspecialcharsbx($anchorID) . '"' . ' onclick="' . CCrmViewHelper::PrepareMultiFieldValuesPopup($anchorID, $anchorID, $arField["FORMAT"], $arField["VALUE"], $infos[$arField["FORMAT"]]) . '"></span>';
                    }
                    $strResult .= '</span>';
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                    if ($arField["FORMAT"] == "PHONE" && defined("BX_COMP_MANAGED_CACHE")) {
                        $GLOBALS["CACHE_MANAGER"]->RegisterTag("CRM_CALLTO_SETTINGS");
                    }
                }
                break;
            case "TEXT_FORMATTED":
            case "TEXT_FORMATTED_BOLD":
                if ($arField["VALUE"] != CCrmLiveFeed::UntitledMessageStub) {
                    $text_formatted = $this->ParseText(htmlspecialcharsback($arField["VALUE"]), $arUF, $arParams["PARAMS"]);
                    if (strlen($text_formatted) > 0) {
                        $strResult .= "#row_begin#";
                        $strResult .= "#cell_begin_colspan2#";
                        if ($arField["FORMAT"] == "TEXT_FORMATTED_BOLD") {
                            $strResult .= "<b>" . $text_formatted . "</b>";
                        } else {
                            $strResult .= $text_formatted;
                        }
                        $strResult .= "#cell_end#";
                        $strResult .= "#row_end#";
                    }
                }
                break;
            case "COMBI_TITLE":
                if (is_array($arField["VALUE"]) && array_key_exists("TITLE", $arField["VALUE"]) && strlen($arField["VALUE"]["TITLE"]) > 0) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding">';
                    if (array_key_exists("URL", $arField["VALUE"]) && strlen($arField["VALUE"]["URL"]) > 0) {
                        $strResult .= '<a href="' . $arField["VALUE"]["URL"] . '">' . $arField["VALUE"]["TITLE"] . '</a>';
                    } elseif (array_key_exists("ONCLICK", $arField["VALUE"]) && strlen($arField["VALUE"]["ONCLICK"]) > 0) {
                        $strResult .= '<a href="javascript:void(0)" onclick="' . $arField["VALUE"]["ONCLICK"] . '">' . $arField["VALUE"]["TITLE"] . '</a>';
                    } else {
                        $strResult .= $arField["VALUE"]["TITLE"];
                    }
                    $strResult .= '</span>';
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "COMBI_TITLE_ID":
                if (is_array($arField["VALUE"]) && array_key_exists("TITLE", $arField["VALUE"]) && strlen($arField["VALUE"]["TITLE"]) > 0 && array_key_exists("ID", $arField["VALUE"]) && strlen($arField["VALUE"]["ID"]) > 0) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding">';
                    if (array_key_exists("URL", $arField["VALUE"]) && strlen($arField["VALUE"]["URL"]) > 0) {
                        $strResult .= '<a href="' . $arField["VALUE"]["URL"] . '">' . GetMessage("C_CRM_LF_COMBI_TITLE_ID_VALUE", array("#ID#" => $arField["VALUE"]["ID"], "#TITLE#" => $arField["VALUE"]["TITLE"])) . '</a>';
                    } else {
                        $strResult .= GetMessage("C_CRM_LF_COMBI_TITLE_ID_VALUE", array("#ID#" => $arField["VALUE"]["ID"], "#TITLE#" => $arField["VALUE"]["TITLE"]));
                    }
                    $strResult .= '</span>';
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "TEXT_ADD":
                if (strlen($arField["VALUE"]) > 0) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding">';
                    $strResult .= '<span class="crm-feed-info-name">' . $arField["VALUE"] . '</span>';
                    $strResult .= '</span>';
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
                break;
            case "TEXT":
            default:
                if (strlen($arField["VALUE"]) > 0) {
                    $strResult .= "#row_begin#";
                    $strResult .= "#cell_begin_left#";
                    $strResult .= $arField["TITLE"] . ":";
                    $strResult .= "#cell_end#";
                    $strResult .= "#cell_begin_right#";
                    $strResult .= '<span class="crm-feed-info-text-padding">';
                    $strResult .= $arField["VALUE"];
                    $strResult .= '</span>';
                    $strResult .= "#cell_end#";
                    $strResult .= "#row_end#";
                }
        }
        return $strResult;
    }
Exemplo n.º 6
0
}
if ($mode === 'GET_USER_INFO') {
    $result = array();
    if (!CCrmInstantEditorHelper::PrepareUserInfo(isset($_POST['USER_ID']) ? intval($_POST['USER_ID']) : 0, $result)) {
        __CrmCompanyShowEndJsonResonse(array('ERROR' => 'COULD NOT PREPARE USER INFO!'));
    } else {
        __CrmCompanyShowEndJsonResonse(array('USER_INFO' => $result));
    }
}
if ($mode === 'GET_FORMATTED_SUM') {
    $sum = isset($_POST['SUM']) ? $_POST['SUM'] : 0.0;
    $currencyID = isset($_POST['CURRENCY_ID']) ? $_POST['CURRENCY_ID'] : '';
    if ($currencyID === '') {
        $currencyID = CCrmCurrency::GetBaseCurrencyID();
    }
    __CrmCompanyShowEndJsonResonse(array('FORMATTED_SUM' => CCrmCurrency::MoneyToString($sum, $currencyID, '#')));
}
if ($mode === 'GET_USER_SELECTOR') {
    if (!CCrmCompany::CheckUpdatePermission(0, $currentUserPermissions)) {
        __CrmCompanyShowEndHtmlResonse();
    }
    $name = isset($_POST['NAME']) ? $_POST['NAME'] : '';
    $GLOBALS['APPLICATION']->RestartBuffer();
    Header('Content-Type: text/html; charset=' . LANG_CHARSET);
    $APPLICATION->IncludeComponent('bitrix:intranet.user.selector.new', '.default', array('MULTIPLE' => 'N', 'NAME' => $name, 'POPUP' => 'Y', 'SITE_ID' => SITE_ID), null, array('HIDE_ICONS' => 'Y'));
    __CrmCompanyShowEndHtmlResonse();
}
if ($mode === 'GET_VISUAL_EDITOR') {
    if (!CCrmCompany::CheckUpdatePermission(0, $currentUserPermissions)) {
        __CrmCompanyShowEndHtmlResonse();
    }
Exemplo n.º 7
0
        $arResult['DB_LIST'] = $dbResult;
        $arResult['DB_FILTER'] = $arFilter;
        while ($arLead = $dbResult->GetNext()) {
            $arResult['LEAD'][$arLead['ID']] = $arLead;
            $arResult['LEAD_ID'][$arLead['ID']] = $arLead['ID'];
            $arResult['LEAD_UF'][$arLead['ID']] = array();
        }
    }
}
$now = time() + CTimeZone::GetOffset();
foreach ($arResult['LEAD'] as &$arLead) {
    if (!empty($arLead['WEB']) && strpos($arLead['WEB'], '://') === false) {
        $arLead['WEB'] = 'http://' . $arLead['WEB'];
    }
    $currencyID = isset($arLead['CURRENCY_ID']) ? $arLead['CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID();
    $arLead['FORMATTED_OPPORTUNITY'] = CCrmCurrency::MoneyToString($arLead['~OPPORTUNITY'], $currencyID);
    $statusID = isset($arLead['STATUS_ID']) ? $arLead['STATUS_ID'] : '';
    $arLead['LEAD_STATUS_NAME'] = isset($arResult['STATUS_LIST'][$statusID]) ? $arResult['STATUS_LIST'][$statusID] : $statusID;
    $sourceID = isset($arLead['SOURCE_ID']) ? $arLead['SOURCE_ID'] : '';
    $arLead['LEAD_SOURCE_NAME'] = isset($arResult['SOURCE_LIST'][$sourceID]) ? $arResult['SOURCE_LIST'][$sourceID] : $sourceID;
    $arLead['DELETE'] = $isAdmin || $arLead['STATUS_ID'] != 'CONVERTED' && !$arResult['INTERNAL'];
    $arLead['EDIT'] = !$arResult['INTERNAL'] || $arLead['STATUS_ID'] != 'CONVERTED';
    $arLead['PATH_TO_LEAD_SHOW'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_LEAD_SHOW'], array('lead_id' => $arLead['ID']));
    $arLead['PATH_TO_LEAD_EDIT'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_LEAD_EDIT'], array('lead_id' => $arLead['ID']));
    $arLead['PATH_TO_LEAD_COPY'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_LEAD_EDIT'], array('lead_id' => $arLead['ID'])), array('copy' => 1));
    $arLead['PATH_TO_LEAD_CONVERT'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_LEAD_CONVERT'], array('lead_id' => $arLead['ID']));
    $arLead['PATH_TO_LEAD_DELETE'] = CHTTP::urlAddParams($bInternal ? $APPLICATION->GetCurPage() : $arParams['PATH_TO_LEAD_LIST'], array('action_' . $arResult['GRID_ID'] => 'delete', 'ID' => $arLead['ID'], 'sessid' => $arResult['SESSION_ID']));
    $arLead['PATH_TO_USER_PROFILE'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_USER_PROFILE'], array('user_id' => $arLead['ASSIGNED_BY']));
    $arLead['PATH_TO_USER_BP'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_USER_BP'], array('user_id' => $userID));
    $arLead['PATH_TO_USER_CREATOR'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_USER_PROFILE'], array('user_id' => $arLead['CREATED_BY']));
    $arLead['PATH_TO_USER_MODIFIER'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_USER_PROFILE'], array('user_id' => $arLead['MODIFY_BY']));
Exemplo n.º 8
0
                    $row['TAX_INFOS'] = array(array('NAME' => $VATName, 'RATE' => $rate, 'FORMATTED_RATE' => "{$rate}%"));
                }
            }
            $arResult['PRODUCT_ROWS'][] =& $row;
            unset($row);
        }
        unset($cartItem);
    }
} else {
    $arResult['TAX_INFOS'] = array();
    $arResult['SUM_BRUTTO'] = $arResult['SUM_NETTO'] = 0.0;
}
//<-- PRODUCT_ROWS, TAX_INFOS, SUM_BRUTTO, SUM_NETTO
// FORMATTED_SUM_NETTO, FORMATTED_SUM_BRUTTO -->
$arResult['FORMATTED_SUM_NETTO'] = CCrmCurrency::MoneyToString($arResult['SUM_NETTO'], $currencyID);
$arResult['FORMATTED_SUM_BRUTTO'] = CCrmCurrency::MoneyToString($arResult['SUM_BRUTTO'], $currencyID);
//<-- FORMATTED_SUM_NETTO, FORMATTED_SUM_BRUTTO
$arResult['ENTITY'] = $arFields;
unset($arFields);
$sid = bitrix_sessid();
$serviceURLTemplate = $arParams["SERVICE_URL_TEMPLATE"] ? $arParams["SERVICE_URL_TEMPLATE"] : '#SITE_DIR#bitrix/components/bitrix/mobile.crm.invoice.edit/ajax.php?site_id=#SITE#&sessid=#SID#';
$arResult['SERVICE_URL'] = CComponentEngine::makePathFromTemplate($serviceURLTemplate, array('SID' => $sid));
$arResult['DEAL_SELECTOR_URL'] = CComponentEngine::makePathFromTemplate($arParams['DEAL_SELECTOR_URL_TEMPLATE'], array('context_id' => $contextID));
$productRowUrlTemplate = $arParams["PRODUCT_ROW_URL_TEMPLATE"] ? $arParams["PRODUCT_ROW_URL_TEMPLATE"] : '#SITE_DIR#bitrix/components/bitrix/mobile.crm.product_row.edit/ajax.php?site_id=#SITE#&sessid=#SID#';
$arResult['PRODUCT_ROW_SERVICE_URL'] = CComponentEngine::makePathFromTemplate($productRowUrlTemplate, array('SID' => $sid));
/*$arResult['CURRENCY_SELECTOR_URL'] = CComponentEngine::makePathFromTemplate(
	$arParams['CURRENCY_SELECTOR_URL_TEMPLATE'],
	array('context_id' => '')
);*/
$arResult['INVOICE_STATUS_SELECTOR_URL'] = CComponentEngine::makePathFromTemplate($arParams['INVOICE_STATUS_SELECTOR_URL_TEMPLATE'], array('context_id' => ''));
$arResult['PRODUCT_ROW_EDIT_URL'] = CComponentEngine::makePathFromTemplate($arParams['PRODUCT_ROW_EDIT_URL_TEMPLATE'], array('context_id' => ''));
Exemplo n.º 9
0
    $enableSaleDiscount = isset($_POST['ENABLE_ADDITIONAL_DISCOUNT']) && strtoupper($_POST['ENABLE_ADDITIONAL_DISCOUNT']) === 'Y';
    $calculateOptions = array();
    $isLDTaxAllowed = isset($_POST['ALLOW_LD_TAX']) ? $_POST['ALLOW_LD_TAX'] === 'Y' : CCrmTax::isTaxMode();
    if ($isLDTaxAllowed && isset($_POST['LOCATION_ID'])) {
        $calculateOptions['LOCATION_ID'] = $_POST['LOCATION_ID'];
    }
    $result = CCrmSaleHelper::Calculate($productRows, $currencyID, $personTypeID, $enableSaleDiscount, $siteID, $calculateOptions);
    if (!is_array($result)) {
        $result = array();
    }
    $totalSum = isset($result['PRICE']) ? round(doubleval($result['PRICE']), 2) : 0.0;
    $totalTax = isset($result['TAX_VALUE']) ? round(doubleval($result['TAX_VALUE']), 2) : 0.0;
    $totalBeforeTax = round($totalSum - $totalTax, 2);
    $totalBeforeDiscount = round($totalBeforeTax + $totalDiscount, 2);
    $arResponse = array('TOTALS' => array('TOTAL_SUM' => $totalSum, 'TOTAL_TAX' => $totalTax, 'TOTAL_BEFORE_TAX' => $totalBeforeTax, 'TOTAL_DISCOUNT' => $totalDiscount, 'TOTAL_BEFORE_DISCOUNT' => $totalBeforeDiscount, 'TOTAL_SUM_FORMATTED' => CCrmCurrency::MoneyToString($totalSum, $currencyID), 'TOTAL_TAX_FORMATTED' => CCrmCurrency::MoneyToString($totalTax, $currencyID), 'TOTAL_BEFORE_TAX_FORMATTED' => CCrmCurrency::MoneyToString($totalBeforeTax, $currencyID), 'TOTAL_DISCOUNT_FORMATTED' => CCrmCurrency::MoneyToString($totalDiscount, $currencyID), 'TOTAL_BEFORE_DISCOUNT_FORMATTED' => CCrmCurrency::MoneyToString($totalBeforeDiscount, $currencyID)));
    if ($isLDTaxAllowed) {
        $taxes = is_array($result['TAX_LIST']) ? $result['TAX_LIST'] : null;
        if (!is_array($taxes) || count($taxes) === 0) {
            $LDTaxes = array(array('TAX_NAME' => GetMessage('CRM_PRODUCT_TOTAL_TAX'), 'TAX_VALUE' => CCrmCurrency::MoneyToString($totalTax, $currencyID)));
        }
        $LDTaxPrecision = isset($_POST['LD_TAX_PRECISION']) ? intval($_POST['LD_TAX_PRECISION']) : 2;
        if (is_array($taxes)) {
            foreach ($taxes as $taxInfo) {
                $LDTaxes[] = array('TAX_NAME' => sprintf("%s%s%s", $taxInfo["IS_IN_PRICE"] == "Y" ? GetMessage('CRM_PRODUCT_TAX_INCLUDING') . " " : "", $taxInfo["NAME"], $taxInfo["IS_PERCENT"] == "Y" ? sprintf(' (%s%%)', roundEx($taxInfo["VALUE"], $LDTaxPrecision)) : ""), 'TAX_VALUE' => CCrmCurrency::MoneyToString($taxInfo['VALUE_MONEY'], $currencyID));
            }
        }
        $arResponse['LD_TAXES'] = $LDTaxes;
    }
    echo CUtil::PhpToJSObject($arResponse);
}
die;
Exemplo n.º 10
0
 public static function PrepareProductItem(&$item, &$params)
 {
     $sectionID = $item['~SECTION_ID'] = isset($item['SECTION_ID']) ? intval($item['SECTION_ID']) : 0;
     if ($sectionID <= 0) {
         $item['~SECTION_NAME'] = $item['SECTION_NAME'] = '';
     } else {
         $sections = isset($params['SECTIONS']) ? $params['SECTIONS'] : array();
         $item['~SECTION_NAME'] = isset($sections[$sectionID]) ? $sections[$sectionID]['NAME'] : '';
         $item['SECTION_NAME'] = htmlspecialcharsbx($item['~SECTION_NAME']);
     }
     $price = $item['~PRICE'] = isset($item['~PRICE']) ? doubleval($item['~PRICE']) : 0.0;
     $srcCurrencyID = $item['~CURRENCY_ID'] = isset($item['~CURRENCY_ID']) ? $item['~CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID();
     $dstCurrencyID = isset($params['CURRENCY_ID']) ? $params['CURRENCY_ID'] : '';
     if ($dstCurrencyID === '') {
         $dstCurrencyID = $srcCurrencyID;
     }
     if ($dstCurrencyID !== $srcCurrencyID) {
         $item['~CURRENCY_ID'] = $dstCurrencyID;
         $item['CURRENCY_ID'] = htmlspecialcharsbx($dstCurrencyID);
         $price = CCrmCurrency::ConvertMoney($price, $srcCurrencyID, $dstCurrencyID);
     }
     $item['FORMATTED_PRICE'] = CCrmCurrency::MoneyToString($price, $dstCurrencyID);
 }
Exemplo n.º 11
0
 private function MapField(&$entityInfo, $fieldName)
 {
     $result = '';
     $typeID = isset($entityInfo['TYPE_ID']) ? intval($entityInfo['TYPE_ID']) : CCrmOwnerType::Undefined;
     $fields = isset($entityInfo['FIELDS']) ? $entityInfo['FIELDS'] : array();
     $isHtml = $this->contentType === CCrmContentType::Html;
     $isBBCode = $this->contentType === CCrmContentType::BBCode;
     $isPlainText = $this->contentType === CCrmContentType::PlainText;
     if ($typeID === CCrmOwnerType::Lead) {
         switch ($fieldName) {
             case 'ID':
                 $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0;
                 break;
             case 'NAME':
             case 'SECOND_NAME':
             case 'LAST_NAME':
             case 'TITLE':
             case 'COMPANY_TITLE':
             case 'SOURCE_DESCRIPTION':
             case 'STATUS_DESCRIPTION':
             case 'POST':
             case 'ASSIGNED_BY_WORK_POSITION':
                 $result = self::MapFieldValue($fields, $fieldName, $isHtml);
                 break;
             case 'ADDRESS':
                 $addressOptions = array();
                 if ($isHtml) {
                     $addressOptions['SEPARATOR'] = AddressSeparator::HtmlLineBreak;
                     $addressOptions['NL2BR'] = true;
                 } else {
                     $addressOptions['SEPARATOR'] = AddressSeparator::NewLine;
                 }
                 $result = LeadAddressFormatter::format($fields, $addressOptions);
                 break;
             case 'COMMENTS':
                 if ($isBBCode) {
                     $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS');
                 } elseif ($isPlainText) {
                     $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS');
                 } else {
                     $result = self::MapFieldValue($fields, $fieldName, false);
                 }
                 break;
             case 'SOURCE':
                 $result = self::MapReferenceValue(self::PrepareSources(), $fields, 'SOURCE_ID', $isHtml);
                 break;
             case 'STATUS':
                 $result = self::MapReferenceValue(self::PrepareLeadStatuses(), $fields, 'STATUS_ID', $isHtml);
                 break;
             case 'FORMATTED_NAME':
                 $result = CCrmLead::PrepareFormattedName(array('HONORIFIC' => isset($fields['HONORIFIC']) ? $fields['HONORIFIC'] : '', 'NAME' => isset($fields['NAME']) ? $fields['NAME'] : '', 'SECOND_NAME' => isset($fields['SECOND_NAME']) ? $fields['SECOND_NAME'] : '', 'LAST_NAME' => isset($fields['LAST_NAME']) ? $fields['LAST_NAME'] : ''));
                 if ($isHtml) {
                     $result = htmlspecialcharsbx($result);
                 }
                 break;
             case 'ASSIGNED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'CREATED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'MODIFY_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'DATE_CREATE':
                 $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : '';
                 break;
             case 'DATE_MODIFY':
                 $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : '';
                 break;
             case 'CURRENCY':
                 $result = isset($fields['CURRENCY_ID']) ? CCrmCurrency::GetCurrencyName($fields['CURRENCY_ID']) : '';
                 break;
             case 'OPPORTUNITY':
                 $result = isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0;
                 break;
             case 'OPPORTUNITY_FORMATTED':
                 $result = CCrmCurrency::MoneyToString(isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0, isset($fields['CURRENCY_ID']) ? $fields['CURRENCY_ID'] : '');
                 break;
         }
     } elseif ($typeID === CCrmOwnerType::Deal) {
         switch ($fieldName) {
             case 'ID':
                 $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0;
                 break;
             case 'TITLE':
             case 'ASSIGNED_BY_WORK_POSITION':
                 $result = self::MapFieldValue($fields, $fieldName, $isHtml);
                 break;
             case 'COMMENTS':
                 if ($isBBCode) {
                     $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS');
                 } elseif ($isPlainText) {
                     $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS');
                 } else {
                     $result = self::MapFieldValue($fields, $fieldName, false);
                 }
                 break;
             case 'TYPE':
                 $result = self::MapReferenceValue(self::PrepareDealTypes(), $fields, 'TYPE_ID', $isHtml);
                 break;
             case 'STAGE':
                 $result = self::MapReferenceValue(self::PrepareDealStages(), $fields, 'STAGE_ID', $isHtml);
                 break;
             case 'PROBABILITY':
                 $result = (isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0) . ' %';
                 break;
             case 'BEGINDATE':
                 $result = isset($fields['BEGINDATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['BEGINDATE'])) : '';
                 break;
             case 'CLOSEDATE':
                 $result = isset($fields['CLOSEDATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['CLOSEDATE'])) : '';
                 break;
             case 'ASSIGNED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'CREATED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'MODIFY_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'DATE_CREATE':
                 $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : '';
                 break;
             case 'DATE_MODIFY':
                 $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : '';
                 break;
             case 'CURRENCY':
                 $result = isset($fields['CURRENCY_ID']) ? CCrmCurrency::GetCurrencyName($fields['CURRENCY_ID']) : '';
                 break;
             case 'OPPORTUNITY':
                 $result = isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0;
                 break;
             case 'OPPORTUNITY_FORMATTED':
                 $result = CCrmCurrency::MoneyToString(isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0, isset($fields['CURRENCY_ID']) ? $fields['CURRENCY_ID'] : '');
                 break;
             case 'COMPANY':
                 $result = self::ResolveEntityInfo(CCrmOwnerType::Company, isset($fields['COMPANY_ID']) ? intval($fields['COMPANY_ID']) : 0);
                 break;
             case 'CONTACT':
                 $result = self::ResolveEntityInfo(CCrmOwnerType::Contact, isset($fields['CONTACT_ID']) ? intval($fields['CONTACT_ID']) : 0);
                 break;
         }
     } elseif ($typeID === CCrmOwnerType::Contact) {
         switch ($fieldName) {
             case 'ID':
                 $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0;
                 break;
             case 'NAME':
             case 'SECOND_NAME':
             case 'LAST_NAME':
             case 'POST':
             case 'SOURCE_DESCRIPTION':
             case 'ASSIGNED_BY_WORK_POSITION':
                 $result = self::MapFieldValue($fields, $fieldName, $isHtml);
                 break;
             case 'ADDRESS':
                 $addressOptions = array();
                 if ($isHtml) {
                     $addressOptions['SEPARATOR'] = AddressSeparator::HtmlLineBreak;
                     $addressOptions['NL2BR'] = true;
                 } else {
                     $addressOptions['SEPARATOR'] = AddressSeparator::NewLine;
                 }
                 $result = ContactAddressFormatter::format($fields, $addressOptions);
                 break;
             case 'COMMENTS':
                 if ($isBBCode) {
                     $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS');
                 } elseif ($isPlainText) {
                     $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS');
                 } else {
                     $result = self::MapFieldValue($fields, $fieldName, false);
                 }
                 break;
             case 'FORMATTED_NAME':
                 $result = CCrmContact::PrepareFormattedName(array('HONORIFIC' => isset($fields['HONORIFIC']) ? $fields['HONORIFIC'] : '', 'NAME' => isset($fields['NAME']) ? $fields['NAME'] : '', 'SECOND_NAME' => isset($fields['SECOND_NAME']) ? $fields['SECOND_NAME'] : '', 'LAST_NAME' => isset($fields['LAST_NAME']) ? $fields['LAST_NAME'] : ''));
                 if ($isHtml) {
                     $result = htmlspecialcharsbx($result);
                 }
                 break;
             case 'SOURCE':
                 $result = self::MapReferenceValue(self::PrepareSources(), $fields, 'SOURCE_ID', $isHtml);
                 break;
             case 'TYPE':
                 $result = self::MapReferenceValue(self::PrepareContactTypes(), $fields, 'TYPE_ID', $isHtml);
                 break;
             case 'COMPANY':
                 $result = self::ResolveEntityInfo(CCrmOwnerType::Company, isset($fields['COMPANY_ID']) ? intval($fields['COMPANY_ID']) : 0);
                 break;
             case 'ASSIGNED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'CREATED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'MODIFY_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'DATE_CREATE':
                 $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : '';
                 break;
             case 'DATE_MODIFY':
                 $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : '';
                 break;
         }
     } elseif ($typeID === CCrmOwnerType::Company) {
         switch ($fieldName) {
             case 'ID':
                 $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0;
                 break;
             case 'TITLE':
             case 'COMPANY_TITLE':
             case 'SOURCE_DESCRIPTION':
             case 'ASSIGNED_BY_WORK_POSITION':
             case 'BANKING_DETAILS':
                 $result = self::MapFieldValue($fields, $fieldName, $isHtml);
                 break;
             case 'ADDRESS':
             case 'ADDRESS_LEGAL':
                 $addressOptions = array('TYPE_ID' => $fieldName === 'ADDRESS' ? EntityAddress::Primary : EntityAddress::Registered);
                 if ($isHtml) {
                     $addressOptions['SEPARATOR'] = AddressSeparator::HtmlLineBreak;
                     $addressOptions['NL2BR'] = true;
                 } else {
                     $addressOptions['SEPARATOR'] = AddressSeparator::NewLine;
                 }
                 $result = CompanyAddressFormatter::format($fields, $addressOptions);
                 break;
             case 'COMMENTS':
                 if ($isBBCode) {
                     $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS');
                 } elseif ($isPlainText) {
                     $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS');
                 } else {
                     $result = self::MapFieldValue($fields, $fieldName, false);
                 }
                 break;
             case 'COMPANY_TYPE':
             case 'TYPE':
                 $result = self::MapReferenceValue(self::PrepareCompanyTypes(), $fields, 'COMPANY_TYPE', $isHtml);
                 break;
             case 'INDUSTRY':
                 $result = self::MapReferenceValue(self::PrepareIndustries(), $fields, 'INDUSTRY', $isHtml);
                 break;
             case 'EMPLOYEES':
                 $result = self::MapReferenceValue(self::PrepareEmployees(), $fields, 'EMPLOYEES', $isHtml);
                 break;
             case 'CURRENCY':
                 $result = isset($fields['CURRENCY_ID']) ? CCrmCurrency::GetCurrencyName($fields['CURRENCY_ID']) : '';
                 break;
             case 'REVENUE':
                 $result = isset($fields['REVENUE']) ? $fields['REVENUE'] : 0.0;
                 break;
             case 'REVENUE_FORMATTED':
                 $result = CCrmCurrency::MoneyToString(isset($fields['REVENUE']) ? $fields['REVENUE'] : 0.0, isset($fields['CURRENCY_ID']) ? $fields['CURRENCY_ID'] : '');
                 break;
             case 'ASSIGNED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'CREATED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'MODIFY_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'DATE_CREATE':
                 $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : '';
                 break;
             case 'DATE_MODIFY':
                 $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : '';
                 break;
         }
     }
     return $result;
 }
Exemplo n.º 12
0
    } else {
        $quantity = isset($_REQUEST['QUANTITY']) ? intval($_REQUEST['QUANTITY']) : 0;
        $price = isset($_REQUEST['PRICE']) ? doubleval($_REQUEST['PRICE']) : 0.0;
        __CrmMobileProductRowEditEndResonse(array('QUANTITY' => $quantity, 'PRICE' => $price, 'CURRENCY_ID' => $currencyID, 'FORMATTED_PRICE' => CCrmCurrency::MoneyToString($price, $currencyID), 'FORMATTED_SUM' => CCrmCurrency::MoneyToString($price * $quantity, $currencyID)));
    }
} elseif ($action === 'CONVERT') {
    $ownerType = isset($_REQUEST['OWNER_TYPE']) ? $_REQUEST['OWNER_TYPE'] : '';
    $ownerTypeName = CCrmOwnerTypeAbbr::ResolveName($ownerType);
    if (!CCrmAuthorizationHelper::CheckReadPermission($ownerTypeName, 0, $userPerms)) {
        die;
    }
    $srcCurrencyID = isset($_REQUEST['SRC_CURRENCY_ID']) ? $_REQUEST['SRC_CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID();
    $dstCurrencyID = isset($_REQUEST['DST_CURRENCY_ID']) ? $_REQUEST['DST_CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID();
    $items = isset($_REQUEST['ITEMS']) && is_array($_REQUEST['ITEMS']) ? $_REQUEST['ITEMS'] : array();
    $result = array();
    $sumTotal = 0.0;
    if (!empty($items)) {
        foreach ($items as &$item) {
            $quantity = isset($item['QUANTITY']) ? intval($item['QUANTITY']) : 1;
            $price = isset($item['PRICE']) ? doubleval($item['PRICE']) : 0.0;
            $price = $price > 0.0 ? CCrmCurrency::ConvertMoney($price, $srcCurrencyID, $dstCurrencyID) : 0.0;
            $sum = $price * $quantity;
            $sumTotal += $sum;
            $result[] = array('QUANTITY' => $quantity, 'PRICE' => $price, 'CURRENCY_ID' => $dstCurrencyID, 'FORMATTED_PRICE' => CCrmCurrency::MoneyToString($price, $dstCurrencyID), 'FORMATTED_SUM' => CCrmCurrency::MoneyToString($sum, $dstCurrencyID));
        }
        unset($item);
    }
    __CrmMobileProductRowEditEndResonse(array('ITEMS' => $result, 'SUM_TOTAL' => $sumTotal, 'FORMATTED_SUM_TOTAL' => CCrmCurrency::MoneyToString($sumTotal, $dstCurrencyID)));
} else {
    __CrmMobileProductRowEditEndResonse(array('ERROR' => 'Action is not supported in current context.'));
}
Exemplo n.º 13
0
 public static function getCurrencyText($currencyID)
 {
     $currencyText = '?';
     $str = CCrmCurrency::MoneyToString(101.01, $currencyID);
     $position1 = strpos($str, '101');
     if ($position1 !== false) {
         $position2 = strpos($str, '01', $position1 + 3);
         if ($position2) {
             $str = trim(substr($str, 0, $position1) . substr($str, $position2 + 2));
             $currencyText = $str;
         }
     }
     return $currencyText;
 }
Exemplo n.º 14
0
    if (array_key_exists('CONTACT_LINK_HTML', $arInvoice)) {
        unset($arInvoice['CONTACT_LINK_HTML']);
    }
    if (array_key_exists('COMPANY_LINK_HTML', $arInvoice)) {
        unset($arInvoice['COMPANY_LINK_HTML']);
    }
    if (array_key_exists('DEAL_LINK_HTML', $arInvoice)) {
        unset($arInvoice['DEAL_LINK_HTML']);
    }
    if (array_key_exists('QUOTE_LINK_HTML', $arInvoice)) {
        unset($arInvoice['QUOTE_LINK_HTML']);
    }
}
unset($arInvoice);
$CCrmUserType->ListAddEnumFieldsValue($arResult, $arResult['INVOICE'], $arResult['INVOICE_UF'], $sExportType != '' ? ', ' : '<br />', $sExportType != '', array('FILE_URL_TEMPLATE' => '/bitrix/components/bitrix/crm.invoice.show/show_file.php?ownerId=#owner_id#&fieldName=#field_name#&fileId=#file_id#'));
$arResult['TOOLBAR_LABEL_TEXT'] = GetMessage('CRM_INVOICE_LIST_TB_LABEL_TEXT', array('#num#' => $totalPaidNumber, '#sum#' => CCrmCurrency::MoneyToString(round($totalPaidSum, 2), $totalPaidCurrencyId)));
$arResult['ROWS_COUNT'] = $obRes->SelectedRowsCount();
$arResult['DB_LIST'] = $obRes;
$arResult['DB_FILTER'] = $arFilter;
if (isset($arResult['INVOICE_ID']) && !empty($arResult['INVOICE_ID'])) {
    // try to load product rows
    $arProductRows = array();
    // checkig access for operation
    $arInvoiceAttr = CCrmPerms::GetEntityAttr('INVOICE', $arResult['INVOICE_ID']);
    foreach ($arResult['INVOICE_ID'] as $iInvoiceId) {
        $arResult['INVOICE'][$iInvoiceId]['EDIT'] = $CCrmPerms->CheckEnityAccess('INVOICE', 'WRITE', $arInvoiceAttr[$iInvoiceId]);
        $arResult['INVOICE'][$iInvoiceId]['DELETE'] = $CCrmPerms->CheckEnityAccess('INVOICE', 'DELETE', $arInvoiceAttr[$iInvoiceId]);
    }
}
if ($sExportType == '') {
    $arResult['NEED_FOR_REBUILD_INVOICE_ATTRS'] = false;
Exemplo n.º 15
0
    $result = array();
    $userProfileUrlTemplate = isset($_POST['USER_PROFILE_URL_TEMPLATE']) ? $_POST['USER_PROFILE_URL_TEMPLATE'] : '';
    if (!CCrmInstantEditorHelper::PrepareUserInfo(isset($_POST['USER_ID']) ? intval($_POST['USER_ID']) : 0, $result, array('USER_PROFILE_URL_TEMPLATE' => $userProfileUrlTemplate))) {
        echo CUtil::PhpToJSObject(array('ERROR' => 'COULD NOT PREPARE USER INFO!'));
    } else {
        echo CUtil::PhpToJSObject(array('USER_INFO' => $result));
    }
    die;
}
if ($mode === 'GET_FORMATTED_SUM') {
    $sum = isset($_POST['SUM']) ? $_POST['SUM'] : 0.0;
    $currencyID = isset($_POST['CURRENCY_ID']) ? $_POST['CURRENCY_ID'] : '';
    if ($currencyID === '') {
        $currencyID = CCrmCurrency::GetBaseCurrencyID();
    }
    __CrmQuoteShowEndJsonResonse(array('FORMATTED_SUM' => CCrmCurrency::MoneyToString($sum, $currencyID, '#'), 'FORMATTED_SUM_WITH_CURRENCY' => CCrmCurrency::MoneyToString($sum, $currencyID, '')));
}
if ($mode === 'UPDATE') {
    $type = isset($_POST['OWNER_TYPE']) ? strtoupper($_POST['OWNER_TYPE']) : '';
    if ($type !== CCrmQuote::OWNER_TYPE) {
        echo CUtil::PhpToJSObject(array('ERROR' => 'OWNER_TYPE IS NOT SUPPORTED!'));
        die;
    }
    $ID = isset($_POST['OWNER_ID']) ? $_POST['OWNER_ID'] : 0;
    if ($ID <= 0) {
        echo CUtil::PhpToJSObject(array('ERROR' => 'ID IS INVALID OR NOT DEFINED!'));
        die;
    }
    if (!CCrmQuote::CheckUpdatePermission($ID, $userPermissions)) {
        echo CUtil::PhpToJSObject(array('ERROR' => 'PERMISSION DENIED!'));
        die;
Exemplo n.º 16
0
        CCrmViewHelper::RenderUserCustomSearch(array('ID' => "{$filterID}_SEARCH", 'SEARCH_INPUT_ID' => "{$filterID}_NAME", 'SEARCH_INPUT_NAME' => "{$filterID}_name", 'DATA_INPUT_ID' => $filterID, 'DATA_INPUT_NAME' => $filterID, 'COMPONENT_NAME' => "{$filterID}_SEARCH", 'SITE_ID' => SITE_ID, 'NAME_FORMAT' => $arParams['NAME_TEMPLATE'], 'USER' => array('ID' => $userID, 'NAME' => $userName), 'DELAY' => 100));
        $arResult['FILTER'][$i]['value'] = ob_get_clean();
        $arResult['FILTER'][$i]['type'] = 'custom';
    }
}
unset($filterField);
$bUseAmCharts = $arResult['USE_AMCHARTS'];
$arColor = array('#d73434', '#df8328', '#e8c819', '#64c13a', '#509979', '#c4c777', '#226a9d', '#bb2ab6', '#aaaaaa', '#75bcff', '#f4a8e7', '#d5a8f4', '#a8aaf4', '#94c8ec', '#91e9e8', '#91e9c3', '#90e76a', '#ffe241', '#ffb771', '#f19292');
$i = 0;
$ic = 0;
$arResult['GRID_DATA'] = array();
$arResult['GRID_DATA_NO'] = array();
$bafterWON = false;
foreach ($arResult['FUNNEL'] as $aData) {
    foreach ($arResult['CURRENCY_LIST'] as $k => $v) {
        $aData[$k] = CCrmCurrency::MoneyToString($aData['OPPORTUNITY_FUNNEL_' . $k], $k, '<nobr>#</nobr>');
    }
    $str = '';
    if ($i == 0) {
        $str = '<div style="margin:auto; width: 250px"></div>';
    }
    if (!$bUseAmCharts) {
        $aData['FUNNEL'] = $str . '<div class="funnel-cell" style="margin:auto; width: ' . $aData['PROCENT'] . '%; height: 20px; background-color: ' . $arColor[$ic] . '"></div>';
    } else {
        $aData['PROCENT_ORIG'] = $aData['PROCENT'];
    }
    $aData['PROCENT'] = $aData['PROCENT'] . '%';
    $aData['TITLE_ORIG'] = $aData['TITLE'];
    $aData['TITLE'] = '<a href="' . CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_DEAL_LIST']) . '?STAGE_ID=' . $aData['STAGE_ID'] . '">' . $aData['TITLE'] . '</a>';
    $arResult['GRID_DATA' . ($bafterWON ? '_NO' : '')][] = array('id' => $i++, 'data' => $aData);
    if ($aData['STAGE_ID'] == 'WON') {
Exemplo n.º 17
0
 public static function FormatPrice($arProduct)
 {
     $price = isset($arProduct['PRICE']) ? round(doubleval($arProduct['PRICE']), 2) : 0.0;
     /*if($price == 0.00)
     		{
     			return '';
     		}*/
     $currencyID = isset($arProduct['CURRENCY_ID']) ? strval($arProduct['CURRENCY_ID']) : '';
     return CCrmCurrency::MoneyToString($price, $currencyID);
 }
Exemplo n.º 18
0
 public static function GetDataForPopup($callId, $phone, $userId = 0)
 {
     if (strlen($phone) <= 0 || !CModule::IncludeModule('crm')) {
         return false;
     }
     if ($userId > 0) {
         $findParams = array('USER_ID' => $userId);
     } else {
         $findParams = array('ENABLE_EXTENDED_MODE' => false);
     }
     $crm = CCrmSipHelper::findByPhoneNumber((string) $phone, $findParams);
     if ($crm) {
         $dealStatuses = CCrmViewHelper::GetDealStageInfos();
         $entity = '';
         $entityData = array();
         $entities = array();
         $arResult = array('FOUND' => 'Y', 'CONTACT' => array(), 'COMPANY' => array(), 'ACTIVITIES' => array(), 'DEALS' => array(), 'RESPONSIBILITY' => array());
         if (isset($crm['CONTACT'])) {
             $entity = 'CONTACT';
             $entityData = $crm[$entity][0];
             $arResult['CONTACT'] = array('NAME' => $entityData['FORMATTED_NAME'], 'POST' => $entityData['POST'], 'PHOTO' => '');
             if (intval($entityData['PHOTO']) > 0) {
                 $arPhoto = CFile::ResizeImageGet($entityData['PHOTO'], array('width' => 37, 'height' => 37), BX_RESIZE_IMAGE_EXACT, false, false, true);
                 $arResult['CONTACT']['PHOTO'] = $arPhoto['src'];
             }
             $arResult['COMPANY'] = $entityData['COMPANY_TITLE'];
             $arResult['CONTACT_DATA'] = array('ID' => $entityData['ID']);
         } else {
             if (isset($crm['LEAD'])) {
                 $entity = 'LEAD';
                 $entityData = $crm[$entity][0];
                 $arResult['CONTACT'] = array('ID' => 0, 'NAME' => !empty($entityData['FORMATTED_NAME']) ? $entityData['FORMATTED_NAME'] : $entityData['TITLE'], 'POST' => $entityData['POST'], 'PHOTO' => '');
                 $arResult['COMPANY'] = $entityData['COMPANY_TITLE'];
                 $arResult['LEAD_DATA'] = array('ID' => $entityData['ID'], 'ASSIGNED_BY_ID' => $entityData['ASSIGNED_BY_ID']);
             } else {
                 if (isset($crm['COMPANY'])) {
                     $entity = 'COMPANY';
                     $entityData = $crm[$entity][0];
                     $arResult['COMPANY'] = $entityData['TITLE'];
                     $arResult['COMPANY_DATA'] = array('ID' => $entityData['ID']);
                 }
             }
         }
         if ($entityData['ASSIGNED_BY_ID'] > 0) {
             $ar = Bitrix\Main\UserTable::getById($entityData['ASSIGNED_BY_ID']);
             if ($user = $ar->fetch()) {
                 $arPhoto = CFile::ResizeImageGet($user['PERSONAL_PHOTO'], array('width' => 37, 'height' => 37), BX_RESIZE_IMAGE_EXACT, false, false, true);
                 $arResult['RESPONSIBILITY'] = array('ID' => $user['ID'], 'NAME' => CUser::FormatName(CSite::GetNameFormat(false), $user, true, false), 'PHOTO' => $arPhoto ? $arPhoto['src'] : '', 'POST' => $user['WORK_POSITION']);
             }
         }
         if (isset($entityData['SHOW_URL'])) {
             $arResult['SHOW_URL'] = $entityData['SHOW_URL'];
         }
         if (isset($entityData['ACTIVITY_LIST_URL'])) {
             $arResult['ACTIVITY_URL'] = $entityData['ACTIVITY_LIST_URL'];
         }
         if (isset($entityData['INVOICE_LIST_URL'])) {
             $arResult['INVOICE_URL'] = $entityData['INVOICE_LIST_URL'];
         }
         if (isset($entityData['DEAL_LIST_URL'])) {
             $arResult['DEAL_URL'] = $entityData['DEAL_LIST_URL'];
         }
         $activityId = CCrmActivity::GetIDByOrigin('VI_' . $callId);
         if ($activityId) {
             $arResult['CURRENT_CALL_URL'] = CCrmOwnerType::GetEditUrl(CCrmOwnerType::Activity, $activityId);
             if ($arResult['CURRENT_CALL_URL'] !== '') {
                 $arResult['CURRENT_CALL_URL'] = CCrmUrlUtil::AddUrlParams($arResult['CURRENT_CALL_URL'], array("disable_storage_edit" => 'Y'));
             }
         }
         if (isset($crm['CONTACT']) && isset($crm['COMPANY'])) {
             $entities = array('CONTACT', 'COMPANY', 'LEAD');
         } else {
             if (isset($crm['CONTACT']) && isset($crm['LEAD']) && !isset($crm['COMPANY'])) {
                 $entities = array('CONTACT', 'LEAD');
             } else {
                 if (isset($crm['LEAD']) && isset($crm['COMPANY']) && !isset($crm['CONTACT'])) {
                     $entities = array('LEAD', 'COMPANY');
                 } else {
                     $entities = array($entity);
                 }
             }
         }
         foreach ($entities as $entity) {
             if (isset($crm[$entity][0]['ACTIVITIES'])) {
                 foreach ($crm[$entity][0]['ACTIVITIES'] as $activity) {
                     if ($activity['ID'] == $activityId) {
                         continue;
                     }
                     $overdue = 'N';
                     if (strlen($activity['DEADLINE']) > 0 && MakeTimeStamp($activity['DEADLINE']) < time()) {
                         $overdue = 'Y';
                     }
                     $arResult['ACTIVITIES'][$activity['ID']] = array('TITLE' => $activity['SUBJECT'], 'DATE' => strlen($activity['DEADLINE']) > 0 ? $activity['DEADLINE'] : $activity['END_TIME'], 'OVERDUE' => $overdue, 'URL' => $activity['SHOW_URL']);
                 }
                 if (!empty($arResult['ACTIVITIES'])) {
                     $arResult['ACTIVITIES'] = array_values($arResult['ACTIVITIES']);
                 }
             }
             if (isset($crm[$entity][0]['DEALS'])) {
                 foreach ($crm[$entity][0]['DEALS'] as $deal) {
                     $opportunity = CCrmCurrency::MoneyToString($deal['OPPORTUNITY'], $deal['CURRENCY_ID']);
                     if (strpos('&', $opportunity)) {
                         $opportunity = CCrmCurrency::MoneyToString($deal['OPPORTUNITY'], $deal['CURRENCY_ID'], '#') . ' ' . $deal['CURRENCY_ID'];
                     }
                     $opportunity = str_replace('.00', '', $opportunity);
                     $arResult['DEALS'][$deal['ID']] = array('ID' => $deal['ID'], 'TITLE' => $deal['TITLE'], 'STAGE' => $dealStatuses[$deal['STAGE_ID']]['NAME'], 'STAGE_COLOR' => $dealStatuses[$deal['STAGE_ID']]['COLOR'] ? $dealStatuses[$deal['STAGE_ID']]['COLOR'] : "#5fa0ce", 'OPPORTUNITY' => $opportunity, 'URL' => $deal['SHOW_URL']);
                 }
                 if (!empty($arResult['DEALS'])) {
                     $arResult['DEALS'] = array_values($arResult['DEALS']);
                 }
             }
         }
     } else {
         $arResult = array('FOUND' => 'N');
         $userPermissions = CCrmPerms::GetUserPermissions($userId);
         if (CCrmLead::CheckCreatePermission($userPermissions)) {
             $arResult['LEAD_URL'] = CCrmOwnerType::GetEditUrl(CCrmOwnerType::Lead, 0);
             if ($arResult['LEAD_URL'] !== '') {
                 $arResult['LEAD_URL'] = CCrmUrlUtil::AddUrlParams($arResult['LEAD_URL'], array("phone" => (string) $phone, 'origin_id' => 'VI_' . $callId));
             }
         }
         if (CCrmContact::CheckCreatePermission($userPermissions)) {
             $arResult['CONTACT_URL'] = CCrmOwnerType::GetEditUrl(CCrmOwnerType::Contact, 0);
             if ($arResult['CONTACT_URL'] !== '') {
                 $arResult['CONTACT_URL'] = CCrmUrlUtil::AddUrlParams($arResult['CONTACT_URL'], array("phone" => (string) $phone, 'origin_id' => 'VI_' . $callId));
             }
         }
     }
     return $arResult;
 }
Exemplo n.º 19
0
 protected static function MoneyToString($sum)
 {
     return str_replace(' ', '&nbsp;', CCrmCurrency::MoneyToString($sum, CCrmCurrency::GetAccountCurrencyID(), '#'));
 }
Exemplo n.º 20
0
unset($arResult['STATUS_LIST']['CONVERTED']);
//<-- STATUS_DESCRIPTION
// CURRENCY -->
// CURRENCY_ID is displayed in sidebar. The field is added for COMPATIBILITY ONLY
$currencyID = CCrmCurrency::GetBaseCurrencyID();
if (isset($arResult['ELEMENT']['CURRENCY_ID']) && $arResult['ELEMENT']['CURRENCY_ID'] !== '') {
    $currencyID = $arResult['ELEMENT']['CURRENCY_ID'];
}
$arResult['FIELDS']['tab_1'][] = array('id' => 'CURRENCY_ID', 'name' => GetMessage('CRM_FIELD_CURRENCY_ID'), 'params' => array('size' => 50), 'type' => 'label', 'value' => isset($arResult['CURRENCY_LIST'][$currencyID]) ? htmlspecialcharsbx($arResult['CURRENCY_LIST'][$currencyID]) : $currencyID, 'isTactile' => true);
// <-- CURRENCY
// OPPORTUNITY -->
// OPPORTUNITY is displayed in sidebar. The field is added for COMPATIBILITY ONLY
if ($enableInstantEdit && !$isExternal) {
    $arResult['EDITABLE_FIELDS'][] = 'OPPORTUNITY';
}
$arResult['FIELDS']['tab_1'][] = array('id' => 'OPPORTUNITY', 'name' => GetMessage('CRM_FIELD_OPPORTUNITY'), 'type' => 'label', 'params' => array('size' => 50), 'value' => isset($arResult['ELEMENT']['OPPORTUNITY']) ? CCrmCurrency::MoneyToString($arResult['ELEMENT']['OPPORTUNITY'], $currencyID, '#') : '', 'isTactile' => true);
// <-- OPPORTUNITY
// SOURCE_ID -->
// SOURCE_ID is displayed in sidebar. The field is added for COMPATIBILITY ONLY
if ($enableInstantEdit && !$isExternal) {
    $arResult['EDITABLE_FIELDS'][] = 'SOURCE_ID';
}
$arResult['FIELDS']['tab_1'][] = array('id' => 'SOURCE_ID', 'name' => GetMessage('CRM_FIELD_SOURCE_ID'), 'type' => 'label', 'items' => $arResult['SOURCE_LIST'], 'value' => $arResult['SOURCE_LIST'][$arResult['ELEMENT']['~SOURCE_ID']], 'isTactile' => true);
// <-- SOURCE_ID
// SOURCE_DESCRIPTION -->
if ($enableInstantEdit && !$isExternal) {
    $arResult['EDITABLE_FIELDS'][] = 'SOURCE_ID';
}
$arResult['FIELDS']['tab_1'][] = array('id' => 'SOURCE_DESCRIPTION', 'name' => GetMessage('CRM_FIELD_SOURCE_DESCRIPTION'), 'type' => 'label', 'items' => $arResult['SOURCE_LIST'], 'value' => isset($arResult['ELEMENT']['~SOURCE_DESCRIPTION']) ? $arResult['ELEMENT']['~SOURCE_DESCRIPTION'] : '', 'isTactile' => true);
// <-- SOURCE_DESCRIPTION
// ASSIGNED_BY_ID is displayed in sidebar. The field is added for COMPATIBILITY ONLY
Exemplo n.º 21
0
 function __CrmQuickPanelViewPrepareMoney($sum, $currencyID, $editable, $serviceUrl, &$entityContext)
 {
     $formattedSum = CCrmCurrency::MoneyToString($sum, $currencyID, '#');
     $formattedSumWithCurrency = CCrmCurrency::MoneyToString($sum, $currencyID, '');
     return array('type' => 'money', 'editable' => $editable, 'data' => array('currencyId' => $currencyID, 'value' => $sum, 'text' => $formattedSum, 'formatted_sum' => $formattedSum, 'formatted_sum_with_currency' => $formattedSumWithCurrency, 'serviceUrl' => $serviceUrl));
 }
Exemplo n.º 22
0
}
?>
				<tr class="crm-view-table-total-value">
					<td><nobr><?php 
echo htmlspecialcharsbx(GetMessage('CRM_PRODUCT_SUM_TOTAL'));
?>
:</nobr></td>
					<td>
						<?php 
$productEditorCfg['SUM_TOTAL_ID'] = $arResult['PREFIX'] . '_sum_total';
?>
						<strong id="<?php 
echo htmlspecialcharsbx($productEditorCfg['SUM_TOTAL_ID']);
?>
" class="crm-view-table-total-value"><?php 
echo CCrmCurrency::MoneyToString($arResult['TOTAL_SUM'], $arResult['CURRENCY_ID']);
?>
</strong>
					</td>
				</tr>
				<?php 
$productEditorCfg['_discountExistsInit'] = $bDiscountExists;
$productEditorCfg['_taxExistsInit'] = $bTaxExists;
?>
			</tbody></table>
		</div>
	</div>
	<input type="hidden" name="<?php 
echo htmlspecialcharsbx($arResult['PRODUCT_DATA_FIELD_NAME']);
?>
" value="" />
Exemplo n.º 23
0
 function __CrmEntitySummaryRenderHorSectionItem(&$item)
 {
     $type = isset($item['TYPE']) ? strtoupper($item['TYPE']) : '';
     $title = isset($item['TITLE']) ? $item['TITLE'] : '';
     if ($title !== '') {
         $title .= ':';
     }
     $params = isset($item['PARAMS']) && is_array($item['PARAMS']) ? $item['PARAMS'] : array();
     if ($type === '') {
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>', '<span class="crm-detail-info-item-text">', htmlspecialcharsbx(isset($item['VALUE']) ? $item['VALUE'] : ''), '</span>';
     } elseif ($type === 'PROGRESS') {
         echo '<div class="crm-detail-stage crm-detail-info-item">', '<div class="crm-detail-stage-name">', htmlspecialcharsbx($title), '</div>', CCrmViewHelper::RenderProgressControl($params), '</div>';
     } elseif ($type === 'SELECT') {
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>';
         echo '<span class="crm-detail-info-item-text">';
         $params['CONTAINER_CLASS'] = 'crm-item-type';
         $params['TEXT_CLASS'] = 'crm-item-type-text';
         $params['ARROW_CLASS'] = 'crm-item-type-text-corner';
         CCrmViewHelper::RenderSelector($params);
         echo '</span>';
     } elseif ($type === 'CLIENT_INFO') {
         echo '<div class="crm-item-client"><span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>', '<span class="crm-detail-info-item-text">', CCrmViewHelper::PrepareClientInfoV2($params), '</span></div>';
     } elseif ($type === 'CLIENT_BALLOON') {
         if (isset($params['name'])) {
             $title = $params['name'];
             if ($title !== '') {
                 $title .= ':';
             }
         }
         echo '<div class="crm-item-client-ballon"><span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>', '<span class="crm-detail-info-item-text">';
         if (isset($params['value'])) {
             echo $params['value'];
         } else {
             echo CCrmViewHelper::PrepareEntityBaloonHtml($params);
         }
         echo '</span></div>';
     } elseif ($type === 'MULTIFIELD') {
         $typeName = isset($params['TYPE']) ? $params['TYPE'] : '';
         $values = isset($params['VALUES']) ? $params['VALUES'] : array();
         $valueTypes = isset($params['VALUE_TYPES']) ? $params['VALUE_TYPES'] : array();
         $valueCount = isset($params['VALUE_COUNT']) ? intval($params['VALUE_COUNT']) : 0;
         $displayIfEmpty = isset($params['DISPLAY_IF_EMPTY']) ? $params['DISPLAY_IF_EMPTY'] : true;
         if (!$displayIfEmpty && $valueCount <= 0) {
             return;
         }
         $options = isset($item['OPTIONS']) && is_array($item['OPTIONS']) ? $item['OPTIONS'] : array();
         $enableSip = is_array($options) && isset($options['ENABLE_SIP']) && (bool) $options['ENABLE_SIP'];
         $titleClassName = 'crm-detail-info-item-name';
         if ($enableSip) {
             $titleClassName .= ' crm-detail-info-item-name-tel-sip';
         }
         $contentClassName = 'crm-detail-info-item-text crm-item-tel';
         if ($enableSip) {
             $contentClassName .= ' crm-item-tel-tel-sip';
         }
         echo '<span class="' . $titleClassName . '">', htmlspecialcharsbx($title), '</span>', '<span class="' . $contentClassName . '">';
         echo CCrmViewHelper::PrepareFirstMultiFieldHtml($typeName, $values, $valueTypes, array(), $options);
         if ($valueCount > 1) {
             $prefix = isset($params['PREFIX']) ? $params['PREFIX'] : '';
             $anchorID = ($prefix !== '' ? "{$prefix}_" : '') . strtolower($typeName);
             echo '<span class="crm-item-tel-list" id="', htmlspecialcharsbx($anchorID), '"', ' onclick="', CCrmViewHelper::PrepareMultiFieldValuesPopup($anchorID, $anchorID, $typeName, $values, $valueTypes, $options), '"></span>';
         }
         echo '</span>';
     } elseif ($type === 'RESPONSIBLE') {
         CCrmViewHelper::RenderResponsiblePanel($params);
     } elseif ($type === 'MODIFICATION_INFO') {
         $date = isset($params['DATE']) ? $params['DATE'] : '';
         $userName = isset($params['USER_NAME']) ? $params['USER_NAME'] : '';
         $pathToUser = isset($params['PATH_TO_USER']) ? $params['PATH_TO_USER'] : '';
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>', '<span class="crm-detail-info-item-text">';
         echo $date !== '' ? FormatDate('SHORT', MakeTimeStamp($date)) : '-';
         if ($userName !== '' && $pathToUser !== '') {
             echo ', <a class="crm-detail-info-link" href="', htmlspecialcharsbx($pathToUser), '">', htmlspecialcharsbx($userName), '</a>';
         }
         echo '</span>';
     } elseif ($type === 'DURATION') {
         $from = !empty($params['FROM']) ? CCrmComponentHelper::TrimDateTimeString(ConvertTimeStamp(MakeTimeStamp($params['FROM']), 'SHORT', SITE_ID)) : '-';
         $to = !empty($params['TO']) ? CCrmComponentHelper::TrimDateTimeString(ConvertTimeStamp(MakeTimeStamp($params['TO']), 'SHORT', SITE_ID)) : '-';
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>', '<span class="crm-detail-info-item-text crm-item-date">';
         echo '<i>', htmlspecialcharsbx(GetMessage('CRM_DURATION_FROM')), '</i>', '<span class="crm-item-date-calendar">', htmlspecialcharsbx($from), '</span>', '<i>', htmlspecialcharsbx(GetMessage('CRM_DURATION_TO')), '</i>', '<span class="crm-item-date-calendar">', htmlspecialcharsbx($to), '</span>';
         echo '</span>';
     } elseif ($type === 'MONEY') {
         $fieldID = isset($params['FIELD_ID']) ? $params['FIELD_ID'] : '';
         $value = isset($params['VALUE']) ? $params['VALUE'] : '';
         $currencyID = isset($params['CURRENCY_ID']) ? $params['CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID();
         $editable = isset($params['EDITABLE']) ? $params['EDITABLE'] : false;
         echo '<div class="crm-item-sum', $editable ? ' crm-instant-editor-fld-block' : '', '">';
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>';
         if (!$editable) {
             echo '<span class="crm-detail-info-item-text">', CCrmCurrency::MoneyToString($value, $currencyID), '</span>';
         } else {
             echo '<span class="crm-detail-info-item-text">';
             CCrmViewHelper::RenderInstantEditorField(array('TYPE' => 'TEXT', 'FIELD_ID' => $fieldID, 'VALUE' => $value, 'SUFFIX_HTML' => "&nbsp;{$currencyID}", 'INPUT_WIDTH' => 80));
             echo '</span>';
         }
         echo '</div>';
     } elseif ($type === 'PERCENT') {
         $fieldID = isset($params['FIELD_ID']) ? $params['FIELD_ID'] : '';
         $value = isset($params['VALUE']) ? $params['VALUE'] : '';
         $editable = isset($params['EDITABLE']) ? $params['EDITABLE'] : false;
         echo '<div', $editable ? ' class="crm-instant-editor-fld-block"' : '', '>';
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>';
         if (!$editable) {
             echo '<span class="crm-detail-info-item-text">', htmlspecialcharsbx($value), '&nbsp;%</span>';
         } else {
             echo '<span class="crm-detail-info-item-text">';
             CCrmViewHelper::RenderInstantEditorField(array('TYPE' => 'TEXT', 'FIELD_ID' => $fieldID, 'VALUE' => $value, 'SUFFIX_HTML' => "%", 'INPUT_WIDTH' => 30));
             echo '</span>';
         }
         echo '</div>';
     } elseif ($type === 'TEXT') {
         $fieldID = isset($params['FIELD_ID']) ? $params['FIELD_ID'] : '';
         $value = isset($params['VALUE']) ? $params['VALUE'] : '';
         $editable = isset($params['EDITABLE']) ? $params['EDITABLE'] : false;
         $width = isset($params['WIDTH']) ? $params['WIDTH'] : 50;
         echo '<div', $editable ? ' class="crm-instant-editor-fld-block"' : '', '>';
         echo '<span class="crm-detail-info-item-name">', htmlspecialcharsbx($title), '</span>';
         if (!$editable) {
             echo '<span class="crm-detail-info-item-text">', htmlspecialcharsbx($value), '</span>';
         } else {
             echo '<span class="crm-detail-info-item-text"><span class="crm-detail-item-text-alignment">';
             CCrmViewHelper::RenderInstantEditorField(array('TYPE' => 'TEXT', 'FIELD_ID' => $fieldID, 'VALUE' => $value, 'INPUT_WIDTH' => $width));
             echo '</span></span>';
         }
         echo '</div>';
     } elseif ($type === 'CUSTOM') {
         $fieldID = isset($params['FIELD_ID']) ? $params['FIELD_ID'] : '';
         $value = isset($params['VALUE']) ? $params['VALUE'] : '';
         echo $value;
     }
 }
Exemplo n.º 24
0
 /**
  * @return array
  */
 public function initializeDemoData(array $data)
 {
     if (!(isset($data['items']) && is_array($data['items']))) {
         return $data;
     }
     foreach ($data['items'] as &$item) {
         $config = $this->findConfigByName(isset($item['name']) ? $item['name'] : '');
         if (!$config) {
             continue;
         }
         $item['title'] = $config->getTitle();
         $value = isset($item['value']) ? (double) $item['value'] : 0.0;
         $format = $config->getFomatParams();
         if (isset($format['enableDecimals']) && $format['enableDecimals'] == 'N') {
             $value = round($value, 0);
         }
         $item['value'] = $value;
         if (isset($format['isCurrency']) && $format['isCurrency'] === 'Y') {
             $item['html'] = \CCrmCurrency::MoneyToString($value, \CCrmCurrency::GetAccountCurrencyID());
         }
     }
     unset($item);
     return $data;
 }
Exemplo n.º 25
0
 private function MapField(&$entityInfo, $fieldName)
 {
     $result = '';
     $typeID = isset($entityInfo['TYPE_ID']) ? intval($entityInfo['TYPE_ID']) : CCrmOwnerType::Undefined;
     $fields = isset($entityInfo['FIELDS']) ? $entityInfo['FIELDS'] : array();
     $isHtml = $this->contentType === CCrmContentType::Html;
     $isBBCode = $this->contentType === CCrmContentType::BBCode;
     $isPlainText = $this->contentType === CCrmContentType::PlainText;
     if ($typeID === CCrmOwnerType::Lead) {
         switch ($fieldName) {
             case 'ID':
                 $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0;
                 break;
             case 'NAME':
             case 'SECOND_NAME':
             case 'LAST_NAME':
             case 'TITLE':
             case 'COMPANY_TITLE':
             case 'SOURCE_DESCRIPTION':
             case 'STATUS_DESCRIPTION':
             case 'POST':
             case 'ADDRESS':
                 $result = self::MapFieldValue($fields, $fieldName, $isHtml);
                 break;
             case 'COMMENTS':
                 if ($isBBCode) {
                     $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS');
                 } elseif ($isPlainText) {
                     $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS');
                 } else {
                     $result = self::MapFieldValue($fields, $fieldName, false);
                 }
                 break;
             case 'SOURCE':
                 $result = self::MapReferenceValue(self::PrepareSources(), $fields, 'SOURCE_ID', $isHtml);
                 break;
             case 'STATUS':
                 $result = self::MapReferenceValue(self::PrepareLeadStatuses(), $fields, 'STATUS_ID', $isHtml);
                 break;
             case 'FORMATTED_NAME':
                 $result = CUser::FormatName(\Bitrix\Crm\Format\PersonNameFormatter::getFormat(), array('LOGIN' => '', 'NAME' => isset($fields['NAME']) ? $fields['NAME'] : '', 'SECOND_NAME' => isset($fields['SECOND_NAME']) ? $fields['SECOND_NAME'] : '', 'LAST_NAME' => isset($fields['LAST_NAME']) ? $fields['LAST_NAME'] : ''), false, $isHtml);
                 break;
             case 'ASSIGNED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'CREATED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'MODIFY_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'DATE_CREATE':
                 $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : '';
                 break;
             case 'DATE_MODIFY':
                 $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : '';
                 break;
             case 'CURRENCY':
                 $result = isset($fields['CURRENCY_ID']) ? CCrmCurrency::GetCurrencyName($fields['CURRENCY_ID']) : '';
                 break;
             case 'OPPORTUNITY':
                 $result = isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0;
                 break;
             case 'OPPORTUNITY_FORMATTED':
                 $result = CCrmCurrency::MoneyToString(isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0, isset($fields['CURRENCY_ID']) ? $fields['CURRENCY_ID'] : '');
                 break;
         }
     } elseif ($typeID === CCrmOwnerType::Deal) {
         switch ($fieldName) {
             case 'ID':
                 $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0;
                 break;
             case 'TITLE':
                 $result = self::MapFieldValue($fields, 'TITLE', $isHtml);
                 break;
             case 'COMMENTS':
                 if ($isBBCode) {
                     $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS');
                 } elseif ($isPlainText) {
                     $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS');
                 } else {
                     $result = self::MapFieldValue($fields, $fieldName, false);
                 }
                 break;
             case 'TYPE':
                 $result = self::MapReferenceValue(self::PrepareDealTypes(), $fields, 'TYPE_ID', $isHtml);
                 break;
             case 'STAGE':
                 $result = self::MapReferenceValue(self::PrepareDealStages(), $fields, 'STAGE_ID', $isHtml);
                 break;
             case 'PROBABILITY':
                 $result = (isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0) . ' %';
                 break;
             case 'BEGINDATE':
                 $result = isset($fields['BEGINDATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['BEGINDATE'])) : '';
                 break;
             case 'CLOSEDATE':
                 $result = isset($fields['CLOSEDATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['CLOSEDATE'])) : '';
                 break;
             case 'ASSIGNED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'CREATED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'MODIFY_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'DATE_CREATE':
                 $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : '';
                 break;
             case 'DATE_MODIFY':
                 $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : '';
                 break;
             case 'CURRENCY':
                 $result = isset($fields['CURRENCY_ID']) ? CCrmCurrency::GetCurrencyName($fields['CURRENCY_ID']) : '';
                 break;
             case 'OPPORTUNITY':
                 $result = isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0;
                 break;
             case 'OPPORTUNITY_FORMATTED':
                 $result = CCrmCurrency::MoneyToString(isset($fields['OPPORTUNITY']) ? $fields['OPPORTUNITY'] : 0.0, isset($fields['CURRENCY_ID']) ? $fields['CURRENCY_ID'] : '');
                 break;
             case 'COMPANY':
                 $result = self::ResolveEntityInfo(CCrmOwnerType::Company, isset($fields['COMPANY_ID']) ? intval($fields['COMPANY_ID']) : 0);
                 break;
             case 'CONTACT':
                 $result = self::ResolveEntityInfo(CCrmOwnerType::Contact, isset($fields['CONTACT_ID']) ? intval($fields['CONTACT_ID']) : 0);
                 break;
         }
     } elseif ($typeID === CCrmOwnerType::Contact) {
         switch ($fieldName) {
             case 'ID':
                 $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0;
                 break;
             case 'NAME':
             case 'SECOND_NAME':
             case 'LAST_NAME':
             case 'POST':
             case 'ADDRESS':
             case 'SOURCE_DESCRIPTION':
                 $result = self::MapFieldValue($fields, $fieldName, $isHtml);
                 break;
             case 'COMMENTS':
                 if ($isBBCode) {
                     $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS');
                 } elseif ($isPlainText) {
                     $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS');
                 } else {
                     $result = self::MapFieldValue($fields, $fieldName, false);
                 }
                 break;
             case 'FORMATTED_NAME':
                 $result = CUser::FormatName(\Bitrix\Crm\Format\PersonNameFormatter::getFormat(), array('LOGIN' => '', 'NAME' => isset($fields['NAME']) ? $fields['NAME'] : '', 'SECOND_NAME' => isset($fields['SECOND_NAME']) ? $fields['SECOND_NAME'] : '', 'LAST_NAME' => isset($fields['LAST_NAME']) ? $fields['LAST_NAME'] : ''), false, $isHtml);
                 break;
             case 'SOURCE':
                 $result = self::MapReferenceValue(self::PrepareSources(), $fields, 'SOURCE_ID', $isHtml);
                 break;
             case 'TYPE':
                 $result = self::MapReferenceValue(self::PrepareContactTypes(), $fields, 'TYPE_ID', $isHtml);
                 break;
             case 'COMPANY':
                 $result = self::ResolveEntityInfo(CCrmOwnerType::Company, isset($fields['COMPANY_ID']) ? intval($fields['COMPANY_ID']) : 0);
                 break;
             case 'ASSIGNED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'CREATED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'MODIFY_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'DATE_CREATE':
                 $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : '';
                 break;
             case 'DATE_MODIFY':
                 $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : '';
                 break;
         }
     } elseif ($typeID === CCrmOwnerType::Company) {
         switch ($fieldName) {
             case 'ID':
                 $result = isset($fields[$fieldName]) ? intval($fields[$fieldName]) : 0;
                 break;
             case 'TITLE':
             case 'COMPANY_TITLE':
             case 'SOURCE_DESCRIPTION':
             case 'ADDRESS':
             case 'ADDRESS_LEGAL':
             case 'BANKING_DETAILS':
                 $result = self::MapFieldValue($fields, $fieldName, $isHtml);
                 break;
             case 'COMMENTS':
                 if ($isBBCode) {
                     $result = self::MapHtmlFieldAsBbCode($fields, 'COMMENTS');
                 } elseif ($isPlainText) {
                     $result = self::MapHtmlFieldAsPlainText($fields, 'COMMENTS');
                 } else {
                     $result = self::MapFieldValue($fields, $fieldName, false);
                 }
                 break;
             case 'COMPANY_TYPE':
             case 'TYPE':
                 $result = self::MapReferenceValue(self::PrepareCompanyTypes(), $fields, 'COMPANY_TYPE', $isHtml);
                 break;
             case 'INDUSTRY':
                 $result = self::MapReferenceValue(self::PrepareIndustries(), $fields, 'INDUSTRY', $isHtml);
                 break;
             case 'EMPLOYEES':
                 $result = self::MapReferenceValue(self::PrepareEmployees(), $fields, 'EMPLOYEES', $isHtml);
                 break;
             case 'CURRENCY':
                 $result = isset($fields['CURRENCY_ID']) ? CCrmCurrency::GetCurrencyName($fields['CURRENCY_ID']) : '';
                 break;
             case 'REVENUE':
                 $result = isset($fields['REVENUE']) ? $fields['REVENUE'] : 0.0;
                 break;
             case 'REVENUE_FORMATTED':
                 $result = CCrmCurrency::MoneyToString(isset($fields['REVENUE']) ? $fields['REVENUE'] : 0.0, isset($fields['CURRENCY_ID']) ? $fields['CURRENCY_ID'] : '');
                 break;
             case 'ASSIGNED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['ASSIGNED_BY_ID']) ? $fields['ASSIGNED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'CREATED_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['CREATED_BY_ID']) ? $fields['CREATED_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'MODIFY_BY_FULL_NAME':
                 $result = CCrmViewHelper::GetFormattedUserName(isset($fields['MODIFY_BY_ID']) ? $fields['MODIFY_BY_ID'] : 0, '', $isHtml);
                 break;
             case 'DATE_CREATE':
                 $result = isset($fields['DATE_CREATE']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_CREATE'])) : '';
                 break;
             case 'DATE_MODIFY':
                 $result = isset($fields['DATE_MODIFY']) ? FormatDate('SHORT', MakeTimeStamp($fields['DATE_MODIFY'])) : '';
                 break;
         }
     }
     return $result;
 }
Exemplo n.º 26
0
            $arFields['COMPANY_FM'][$multiFields['TYPE_ID']][] = array('VALUE' => $multiFields['VALUE'], 'VALUE_TYPE' => $multiFields['VALUE_TYPE']);
        }
    }
    $arResult['COMPANY_CALLTO'] = CCrmMobileHelper::PrepareCalltoParams(array('COMMUNICATION_LIST_URL_TEMPLATE' => $arParams['COMMUNICATION_LIST_URL_TEMPLATE'], 'ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $companyID, 'FM' => $arFields['COMPANY_FM']));
    $arResult['COMPANY_MAILTO'] = CCrmMobileHelper::PrepareMailtoParams(array('COMMUNICATION_LIST_URL_TEMPLATE' => $arParams['COMMUNICATION_LIST_URL_TEMPLATE'], 'ENTITY_TYPE_ID' => CCrmOwnerType::Company, 'ENTITY_ID' => $companyID, 'FM' => $arFields['COMPANY_FM']));
    $arFields['COMPANY_CALL_EDIT_URL'] = $arParams['ACTIVITY_EDIT_URL_TEMPLATE'] !== '' ? CCrmUrlUtil::AddUrlParams(CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_EDIT_URL_TEMPLATE'], array('owner_type' => CCrmOwnerType::DealName, 'owner_id' => $entityID, 'type_id' => CCrmActivityType::Call)), array('comm' => strtolower(CCrmOwnerType::CompanyName) . '_' . $companyID)) : '';
    $arFields['COMPANY_MEETING_EDIT_URL'] = $arParams['ACTIVITY_EDIT_URL_TEMPLATE'] !== '' ? CCrmUrlUtil::AddUrlParams(CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_EDIT_URL_TEMPLATE'], array('owner_type' => CCrmOwnerType::DealName, 'owner_id' => $entityID, 'type_id' => CCrmActivityType::Meeting)), array('comm' => strtolower(CCrmOwnerType::CompanyName) . '_' . $companyID)) : '';
    $arFields['COMPANY_EMAIL_EDIT_URL'] = $arParams['ACTIVITY_EDIT_URL_TEMPLATE'] !== '' ? CCrmUrlUtil::AddUrlParams(CComponentEngine::makePathFromTemplate($arParams['ACTIVITY_EDIT_URL_TEMPLATE'], array('owner_type' => CCrmOwnerType::DealName, 'owner_id' => $entityID, 'type_id' => CCrmActivityType::Email)), array('comm' => strtolower(CCrmOwnerType::CompanyName) . '_' . $companyID)) : '';
}
$arFields['CONTACT_SHOW_URL'] = $contactID > 0 ? CComponentEngine::makePathFromTemplate($arParams['CONTACT_SHOW_URL_TEMPLATE'], array('contact_id' => $contactID)) : '';
$arFields['COMPANY_SHOW_URL'] = $companyID > 0 ? CComponentEngine::makePathFromTemplate($arParams['COMPANY_SHOW_URL_TEMPLATE'], array('company_id' => $companyID)) : '';
$arFields['~STAGE_TEXT'] = isset($arFields['~STAGE_ID']) && isset($arResult['STAGE_LIST'][$arFields['~STAGE_ID']]) ? $arResult['STAGE_LIST'][$arFields['~STAGE_ID']] : '';
$arFields['STAGE_TEXT'] = htmlspecialcharsbx($arFields['~STAGE_TEXT']);
$arFields['~TYPE_NAME'] = isset($arFields['~TYPE_ID']) && isset($arResult['TYPE_LIST'][$arFields['~TYPE_ID']]) ? $arResult['TYPE_LIST'][$arFields['~TYPE_ID']] : '';
$arFields['TYPE_NAME'] = htmlspecialcharsbx($arFields['~TYPE_NAME']);
$arFields['~FORMATTED_OPPORTUNITY'] = CCrmCurrency::MoneyToString($arFields['~OPPORTUNITY'], $arFields['~CURRENCY_ID']);
$arFields['FORMATTED_OPPORTUNITY'] = strip_tags($arFields['~FORMATTED_OPPORTUNITY']);
$arFields['~CONTACT_FORMATTED_NAME'] = CUser::FormatName($arParams['NAME_TEMPLATE'], array('LOGIN' => '', 'NAME' => $arFields['~CONTACT_NAME'], 'LAST_NAME' => $arFields['~CONTACT_LAST_NAME'], 'SECOND_NAME' => $arFields['~CONTACT_SECOND_NAME']), false, false);
$arFields['CONTACT_FORMATTED_NAME'] = htmlspecialcharsbx($arFields['~CONTACT_FORMATTED_NAME']);
$arFields['ASSIGNED_BY_SHOW_URL'] = '';
$arFields['~ASSIGNED_BY_FORMATTED_NAME'] = '';
if ($arFields['~ASSIGNED_BY_ID'] <= 0) {
    $arFields['~ASSIGNED_BY_FORMATTED_NAME'] = GetMessage('CRM_DEAL_VIEW_RESPONSIBLE_NOT_ASSIGNED');
} else {
    $arFields['ASSIGNED_BY_SHOW_URL'] = $arParams['USER_PROFILE_URL_TEMPLATE'] !== '' ? CComponentEngine::makePathFromTemplate($arParams['USER_PROFILE_URL_TEMPLATE'], array('user_id' => $arFields['~ASSIGNED_BY_ID'])) : '';
    $arFields['~ASSIGNED_BY_FORMATTED_NAME'] = CUser::FormatName($arParams['NAME_TEMPLATE'], array('LOGIN' => $arFields['~ASSIGNED_BY_LOGIN'], 'NAME' => $arFields['~ASSIGNED_BY_NAME'], 'LAST_NAME' => $arFields['~ASSIGNED_BY_LAST_NAME'], 'SECOND_NAME' => $arFields['~ASSIGNED_BY_SECOND_NAME']), true, false);
}
$arFields['ASSIGNED_BY_FORMATTED_NAME'] = htmlspecialcharsbx($arFields['~ASSIGNED_BY_FORMATTED_NAME']);
$arFields['PRODUCT_ROWS_QUANTITY'] = CAllCrmProductRow::GetRowQuantity(CCrmOwnerTypeAbbr::ResolveByTypeID(CCrmOwnerType::Deal), $entityID);
$arFields['PRODUCT_ROWS_URL'] = $arParams['PRODUCT_ROW_LIST_URL_TEMPLATE'] !== '' ? CComponentEngine::makePathFromTemplate($arParams['PRODUCT_ROW_LIST_URL_TEMPLATE'], array('entity_type_id' => CCrmOwnerType::Deal, 'entity_id' => $entityID)) : '';
$arFields['ACTITITY_QUANTITY'] = CAllCrmActivity::GetCount(array('BINDINGS' => array(array('OWNER_TYPE_ID' => CCrmOwnerType::Deal, 'OWNER_ID' => $entityID))));
Exemplo n.º 27
0
        while ($arMultiField = $dbMultiFields->Fetch()) {
            $arFields['FM'][$arMultiField['TYPE_ID']][$arMultiField['ID']] = array('VALUE' => $arMultiField['VALUE'], 'VALUE_TYPE' => $arMultiField['VALUE_TYPE']);
        }
    }
    CCrmMobileHelper::PrepareLeadItem($arFields, $arParams, array('STATUS_LIST' => $arResult['STATUS_LIST'], 'SOURCE_LIST' => $arResult['SOURCE_LIST']));
}
$currencyID = $arFields['~CURRENCY_ID'];
$arResult['ENTITY'] = $arFields;
unset($arFields);
$arResult['PRODUCT_ROWS'] = $entityID > 0 ? CCrmProductRow::LoadRows('L', $entityID) : array();
foreach ($arResult['PRODUCT_ROWS'] as &$productRow) {
    $price = isset($productRow['PRICE']) ? doubleval($productRow['PRICE']) : 0.0;
    $qty = isset($productRow['QUANTITY']) ? doubleval($productRow['QUANTITY']) : 0;
    $sum = $productRow['SUM'] = $price * $qty;
    $productRow['FORMATTED_PRICE'] = CCrmCurrency::MoneyToString($price, $currencyID);
    $productRow['FORMATTED_SUM'] = CCrmCurrency::MoneyToString($sum, $currencyID);
    $productRow['CURRENCY_ID'] = $currencyID;
}
unset($productRow);
$sid = bitrix_sessid();
$serviceURLTemplate = $arParams["SERVICE_URL_TEMPLATE"] ? $arParams["SERVICE_URL_TEMPLATE"] : '#SITE_DIR#bitrix/components/bitrix/mobile.crm.lead.edit/ajax.php?site_id=#SITE#&sessid=#SID#';
$arResult['SERVICE_URL'] = CComponentEngine::makePathFromTemplate($serviceURLTemplate, array('SID' => $sid));
$productRowServiceURLTemplate = $arParams["PRODUCT_ROW_URL_TEMPLATE"] ? $arParams["PRODUCT_ROW_URL_TEMPLATE"] : '#SITE_DIR#bitrix/components/bitrix/mobile.crm.product_row.edit/ajax.php?site_id=#SITE#&sessid=#SID#';
$arResult['PRODUCT_ROW_SERVICE_URL'] = CComponentEngine::makePathFromTemplate($productRowServiceURLTemplate, array('SID' => $sid));
$arResult['STATUS_SELECTOR_URL'] = CComponentEngine::makePathFromTemplate($arParams['STATUS_SELECTOR_URL_TEMPLATE'], array('type_id' => 'STATUS', 'context_id' => $contextID));
$arResult['SOURCE_SELECTOR_URL'] = CComponentEngine::makePathFromTemplate($arParams['STATUS_SELECTOR_URL_TEMPLATE'], array('type_id' => 'SOURCE', 'context_id' => $contextID));
$arResult['CURRENCY_SELECTOR_URL'] = CComponentEngine::makePathFromTemplate($arParams['CURRENCY_SELECTOR_URL_TEMPLATE'], array('context_id' => ''));
$arResult['LEAD_STATUS_SELECTOR_URL'] = CComponentEngine::makePathFromTemplate($arParams['LEAD_STATUS_SELECTOR_URL_TEMPLATE'], array('context_id' => ''));
$arResult['PRODUCT_ROW_EDIT_URL'] = CComponentEngine::makePathFromTemplate($arParams['PRODUCT_ROW_EDIT_URL_TEMPLATE'], array('context_id' => ''));
$arResult['PRODUCT_SELECTOR_URL_TEMPLATE'] = CComponentEngine::makePathFromTemplate($arParams['PRODUCT_SELECTOR_URL_TEMPLATE'], array());
$this->IncludeComponentTemplate();
Exemplo n.º 28
0
$obRes = CCrmQuote::GetList($arSort, $arFilter, false, !$isInExportMode ? $arNavParams : false, $arSelect, $arOptions);
$arResult['QUOTE'] = array();
$arResult['QUOTE_ID'] = array();
$arResult['QUOTE_UF'] = array();
$now = time() + CTimeZone::GetOffset();
while ($arQuote = $obRes->GetNext()) {
    $arQuote['CLOSEDATE'] = !empty($arQuote['CLOSEDATE']) ? CCrmComponentHelper::TrimDateTimeString(ConvertTimeStamp(MakeTimeStamp($arQuote['CLOSEDATE']), 'SHORT', SITE_ID)) : '';
    $arQuote['BEGINDATE'] = !empty($arQuote['BEGINDATE']) ? CCrmComponentHelper::TrimDateTimeString(ConvertTimeStamp(MakeTimeStamp($arQuote['BEGINDATE']), 'SHORT', SITE_ID)) : '';
    /*$arQuote['EVENT_DATE'] = !empty($arQuote['EVENT_DATE']) ? CCrmComponentHelper::TrimDateTimeString(ConvertTimeStamp(MakeTimeStamp($arQuote['EVENT_DATE']), 'SHORT', SITE_ID)) : '';*/
    $arQuote['~CLOSEDATE'] = $arQuote['CLOSEDATE'];
    $arQuote['~BEGINDATE'] = $arQuote['BEGINDATE'];
    /*$arQuote['~EVENT_DATE'] = $arQuote['EVENT_DATE'];*/
    $currencyID = isset($arQuote['~CURRENCY_ID']) ? $arQuote['~CURRENCY_ID'] : CCrmCurrency::GetBaseCurrencyID();
    $arQuote['~CURRENCY_ID'] = $currencyID;
    $arQuote['CURRENCY_ID'] = htmlspecialcharsbx($currencyID);
    $arQuote['FORMATTED_OPPORTUNITY'] = CCrmCurrency::MoneyToString($arQuote['~OPPORTUNITY'], $arQuote['~CURRENCY_ID']);
    $entityID = $arQuote['ID'];
    $arQuote['PATH_TO_QUOTE_SHOW'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_QUOTE_SHOW'], array('quote_id' => $entityID));
    $arQuote['PATH_TO_QUOTE_EDIT'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_QUOTE_EDIT'], array('quote_id' => $entityID));
    $arQuote['PATH_TO_QUOTE_COPY'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_QUOTE_EDIT'], array('quote_id' => $entityID)), array('copy' => 1));
    $arQuote['PATH_TO_QUOTE_DELETE'] = CHTTP::urlAddParams($bInternal ? $APPLICATION->GetCurPage() : $arParams['PATH_TO_QUOTE_LIST'], array('action_' . $arResult['GRID_ID'] => 'delete', 'ID' => $entityID, 'sessid' => bitrix_sessid()));
    $contactID = isset($arQuote['~CONTACT_ID']) ? intval($arQuote['~CONTACT_ID']) : 0;
    $arQuote['PATH_TO_CONTACT_SHOW'] = $contactID <= 0 ? '' : CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CONTACT_SHOW'], array('contact_id' => $contactID));
    $arQuote['~CONTACT_FORMATTED_NAME'] = $contactID <= 0 ? '' : CUser::FormatName(\Bitrix\Crm\Format\PersonNameFormatter::getFormat(), array('LOGIN' => '', 'NAME' => isset($arQuote['~CONTACT_NAME']) ? $arQuote['~CONTACT_NAME'] : '', 'LAST_NAME' => isset($arQuote['~CONTACT_LAST_NAME']) ? $arQuote['~CONTACT_LAST_NAME'] : '', 'SECOND_NAME' => isset($arQuote['~CONTACT_SECOND_NAME']) ? $arQuote['~CONTACT_SECOND_NAME'] : ''), false, false);
    $arQuote['CONTACT_FORMATTED_NAME'] = htmlspecialcharsbx($arQuote['~CONTACT_FORMATTED_NAME']);
    $arQuote['~CONTACT_FULL_NAME'] = CCrmContact::GetFullName(array('NAME' => isset($arQuote['CONTACT_NAME']) ? $arQuote['CONTACT_NAME'] : '', 'LAST_NAME' => isset($arQuote['CONTACT_LAST_NAME']) ? $arQuote['CONTACT_LAST_NAME'] : '', 'SECOND_NAME' => isset($arQuote['CONTACT_SECOND_NAME']) ? $arQuote['CONTACT_SECOND_NAME'] : ''), false);
    $arQuote['CONTACT_FULL_NAME'] = htmlspecialcharsbx($arQuote['~CONTACT_FULL_NAME']);
    $companyID = isset($arQuote['~COMPANY_ID']) ? intval($arQuote['~COMPANY_ID']) : 0;
    $arQuote['PATH_TO_COMPANY_SHOW'] = $companyID <= 0 ? '' : CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_COMPANY_SHOW'], array('company_id' => $companyID));
    $leadID = isset($arQuote['~LEAD_ID']) ? intval($arQuote['~LEAD_ID']) : 0;
    $arQuote['PATH_TO_LEAD_SHOW'] = $leadID <= 0 ? '' : CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_LEAD_SHOW'], array('lead_id' => $leadID));
Exemplo n.º 29
0
    $rows = CCrmInvoice::GetProductRows($entityID);
    foreach ($rows as &$row) {
        $item = array('PRODUCT_NAME' => isset($row['PRODUCT_NAME']) ? $row['PRODUCT_NAME'] : '', 'PRICE' => isset($row['PRICE']) ? round(doubleval($row['PRICE']), 2) : 0.0, 'VAT_RATE' => isset($row['VAT_RATE']) ? round(doubleval($row['VAT_RATE']) * 100, 2) : 0.0, 'QUANTITY' => isset($row['QUANTITY']) ? intval($row['QUANTITY']) : 0);
        $item['FORMATTED_PRICE'] = CCrmCurrency::MoneyToString($item['PRICE'], $arResult['CURRENCY_ID']);
        $arResult['ITEMS'][] =& $item;
        unset($item);
    }
    unset($row);
    // VAT - VAT ONLY
    // EXT - EXTENDED MODE WITH CUSTOM TAXES
    $arResult['TAX_MODE'] = CCrmTax::isVatMode() ? 'VAT' : 'EXT';
    if ($arResult['TAX_MODE'] === 'VAT') {
        $arResult['VAT_SUM'] = isset($arResult['TAX_SUM']) ? $arResult['TAX_SUM'] : 0.0;
        $arResult['FORMATTED_VAT_SUM'] = CCrmCurrency::MoneyToString($arResult['VAT_SUM'], $arResult['CURRENCY_ID']);
        $arResult['FORMATTED_SUM_BRUTTO'] = CCrmCurrency::MoneyToString($arResult['SUM'], $arResult['CURRENCY_ID']);
    } else {
        $arResult['TAX_LIST'] = CCrmInvoice::getTaxList($entityID);
        foreach ($arResult['TAX_LIST'] as &$taxInfo) {
            $taxInfo['FORMATTED_SUM'] = CCrmCurrency::MoneyToString($taxInfo['VALUE_MONEY'], $arResult['CURRENCY_ID']);
        }
        unset($taxInfo);
        $arResult['TAX_LIST_PERCENT_PRECISION'] = SALE_VALUE_PRECISION;
    }
    $arResult['FORMATTED_SUM_BRUTTO'] = CCrmCurrency::MoneyToString($arResult['SUM'], $arResult['CURRENCY_ID']);
    $arResult['FORMATTED_SUM_NETTO'] = CCrmCurrency::MoneyToString($arResult['SUM'] - $arResult['TAX_SUM'], $arResult['CURRENCY_ID']);
} else {
    $arResult['TITLE'] = '';
    $arResult['CURRENCY_ID'] = CCrmCurrency::GetBaseCurrencyID();
    $arResult['SUM'] = 0.0;
}
$this->IncludeComponentTemplate();
Exemplo n.º 30
0
     $arTaxList = array();
     if (is_array($arRecalculated['TAX_LIST'])) {
         $arTaxes =& $arRecalculated['TAX_LIST'];
         foreach ($arTaxes as $row) {
             $arTaxList[] = array('IS_IN_PRICE' => $row['~IS_IN_PRICE'], 'TAX_NAME' => $row['~NAME'], 'IS_PERCENT' => $row['~IS_PERCENT'], 'VALUE' => $row['~VALUE'], 'VALUE_MONEY' => $row['VALUE_MONEY']);
         }
         unset($arTaxes, $row);
     }
     if (count($arTaxList) > 0) {
         $arResponse['TAX_VALUE'] = 0.0;
         foreach ($arTaxList as $taxInfo) {
             $arResponseTaxList[] = array('TAX_NAME' => sprintf("%s%s%s", $taxInfo["IS_IN_PRICE"] == "Y" ? GetMessage('CRM_PRODUCT_TAX_INCLUDING') . " " : "", $taxInfo["TAX_NAME"], $taxInfo["IS_PERCENT"] == "Y" ? sprintf(' (%s%%)', roundEx($taxInfo["VALUE"], SALE_VALUE_PRECISION)) : ""), 'TAX_VALUE' => CCrmCurrency::MoneyToString($taxInfo['VALUE_MONEY'], $currencyID));
             $arResponse['TAX_VALUE'] += round(doubleval($taxInfo['VALUE_MONEY']), 2);
         }
     } else {
         $arResponseTaxList[] = array('TAX_NAME' => GetMessage('CRM_PRODUCT_TOTAL_TAX'), 'TAX_VALUE' => CCrmCurrency::MoneyToString(0.0, $currencyID));
     }
     unset($arTaxList);
 }
 $arResponse['TAX_LIST'] = $arResponseTaxList;
 $arResponse['VAT_MODE'] = $bVatMode;
 unset($arResponseTaxList);
 if ($bMakePayerInfo && $personTypeId > 0) {
     $arResponse['PAYER_INFO_TEXT'] = $strPayerInfo;
     $arResponse['INVOICE_PROPS_HTML_INPUTS'] = $invoicePropsHtmlInputs;
     // pay system
     $paySystemValue = intval($arFields['PAY_SYSTEM_ID']);
     $arPaySystemValues = array_keys($arPaySystemsListItems);
     if (!in_array($paySystemValue, $arPaySystemValues)) {
         if (count($arPaySystemValues) === 0) {
             $paySystemValue = 0;