本文整理汇总了PHP中CurrencyField::convertToUserFormat方法的典型用法代码示例。如果您正苦于以下问题:PHP CurrencyField::convertToUserFormat方法的具体用法?PHP CurrencyField::convertToUserFormat怎么用?PHP CurrencyField::convertToUserFormat使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CurrencyField
的用法示例。
在下文中一共展示了CurrencyField::convertToUserFormat方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getTopPotentials
function getTopPotentials($maxval, $calCnt)
{
$log = LoggerManager::getLogger('top opportunity_list');
$log->debug("Entering getTopPotentials() method ...");
require_once "data/Tracker.php";
require_once 'modules/Potentials/Potentials.php';
require_once 'include/logging.php';
require_once 'include/ListView/ListView.php';
global $app_strings;
global $adb;
global $current_language;
global $current_user;
$current_module_strings = return_module_language($current_language, "Potentials");
$title = array();
$title[] = 'myTopOpenPotentials.gif';
$title[] = $current_module_strings['LBL_TOP_OPPORTUNITIES'];
$title[] = 'home_mypot';
$where = "AND vtiger_potential.potentialid > 0 AND vtiger_potential.sales_stage not in ('Closed Won','Closed Lost','" . $current_module_strings['Closed Won'] . "','" . $current_module_strings['Closed Lost'] . "') AND vtiger_crmentity.smownerid='" . $current_user->id . "' AND vtiger_potential.amount > 0";
$header = array();
$header[] = $current_module_strings['LBL_LIST_OPPORTUNITY_NAME'];
//$header[]=$current_module_strings['LBL_LIST_ACCOUNT_NAME'];
$currencyid = fetchCurrency($current_user->id);
$rate_symbol = getCurrencySymbolandCRate($currencyid);
$rate = $rate_symbol['rate'];
$curr_symbol = $rate_symbol['symbol'];
$header[] = $current_module_strings['LBL_LIST_AMOUNT'] . '(' . $curr_symbol . ')';
$list_query = "SELECT vtiger_crmentity.crmid, vtiger_potential.potentialname,\n\t\t\tvtiger_potential.amount, potentialid\n\t\t\tFROM vtiger_potential\n\t\t\tIGNORE INDEX(PRIMARY) INNER JOIN vtiger_crmentity\n\t\t\t\tON vtiger_crmentity.crmid = vtiger_potential.potentialid";
$list_query .= getNonAdminAccessControlQuery('Potentials', $current_user);
$list_query .= "WHERE vtiger_crmentity.deleted = 0 " . $where;
$list_query .= " ORDER BY amount DESC";
$list_query .= " LIMIT " . $adb->sql_escape_string($maxval);
if ($calCnt == 'calculateCnt') {
$list_result_rows = $adb->query(mkCountQuery($list_query));
return $adb->query_result($list_result_rows, 0, 'count');
}
$list_result = $adb->query($list_query);
$open_potentials_list = array();
$noofrows = $adb->num_rows($list_result);
$entries = array();
if ($noofrows) {
for ($i = 0; $i < $noofrows; $i++) {
$open_potentials_list[] = array('name' => $adb->query_result($list_result, $i, 'potentialname'), 'id' => $adb->query_result($list_result, $i, 'potentialid'), 'amount' => $adb->query_result($list_result, $i, 'amount'));
$potentialid = $adb->query_result($list_result, $i, 'potentialid');
$potentialname = $adb->query_result($list_result, $i, 'potentialname');
$Top_Potential = strlen($potentialname) > 20 ? substr($potentialname, 0, 20) . '...' : $potentialname;
$value = array();
$value[] = '<a href="index.php?action=DetailView&module=Potentials&record=' . $potentialid . '">' . $Top_Potential . '</a>';
$value[] = CurrencyField::convertToUserFormat($adb->query_result($list_result, $i, 'amount'));
$entries[$potentialid] = $value;
}
}
$advft_criteria_groups = array('1' => array('groupcondition' => null));
$advft_criteria = array(array('groupid' => 1, 'columnname' => 'vtiger_potential:sales_stage:sales_stage:Potentials_Sales_Stage:V', 'comparator' => 'k', 'value' => 'closed', 'columncondition' => 'and'), array('groupid' => 1, 'columnname' => 'vtiger_potential:amount:amount:Potentials_Amount:N', 'comparator' => 'g', 'value' => '0', 'columncondition' => 'and'), array('groupid' => 1, 'columnname' => 'vtiger_crmentity:smownerid:assigned_user_id:Leads_Assigned_To:V', 'comparator' => 'e', 'value' => getFullNameFromArray('Users', $current_user->column_fields), 'columncondition' => null));
$search_qry = '&advft_criteria=' . Zend_Json::encode($advft_criteria) . '&advft_criteria_groups=' . Zend_Json::encode($advft_criteria_groups) . '&searchtype=advance&query=true';
$values = array('ModuleName' => 'Potentials', 'Title' => $title, 'Header' => $header, 'Entries' => $entries, 'search_qry' => $search_qry);
if (count($open_potentials_list) == 0 || count($open_potentials_list) > 0) {
$log->debug("Exiting getTopPotentials method ...");
return $values;
}
}
示例2: getCreateViewUrl
public function getCreateViewUrl()
{
$createViewUrl = parent::getCreateViewUrl();
$currentUserModel = Users_Record_Model::getCurrentUserModel();
$parentRecordModel = $this->getParentRecordModel();
$currencyValue = $parentRecordModel->get('hdnGrandTotal');
$parentRecordModelCurrencyId = $parentRecordModel->get('currency_id');
if ($parentRecordModelCurrencyId == $currentUserModel->get('currency_id')) {
$amount = CurrencyField::convertToUserFormat($currencyValue, null, true);
} else {
$baseCurrencyId = CurrencyField::getDBCurrencyId();
$allCurrencies = getAllCurrencies();
foreach ($allCurrencies as $currencyInfo) {
if ($parentRecordModelCurrencyId == $currencyInfo['currency_id']) {
$currencyValue = CurrencyField::convertToDollar($currencyValue, $currencyInfo['conversionrate']);
}
}
foreach ($allCurrencies as $currencyInfo) {
if ($baseCurrencyId == $currencyInfo['currency_id']) {
$currencyValue = CurrencyField::convertFromMasterCurrency($currencyValue, $currencyInfo['conversionrate']);
}
}
$amount = CurrencyField::convertToUserFormat($currencyValue);
}
return $createViewUrl . '&relatedcontact=' . $parentRecordModel->get('contact_id') . '&relatedorganization=' . $parentRecordModel->get('account_id') . '&amount=' . $amount;
}
示例3: getTopAccounts
function getTopAccounts($maxval, $calCnt)
{
$log = LoggerManager::getLogger('top accounts_list');
$log->debug("Entering getTopAccounts() method ...");
require_once "data/Tracker.php";
require_once 'modules/Potentials/Potentials.php';
require_once 'include/logging.php';
require_once 'include/ListView/ListView.php';
global $app_strings;
global $adb;
global $current_language;
global $current_user;
$current_module_strings = return_module_language($current_language, "Accounts");
require 'user_privileges/user_privileges_' . $current_user->id . '.php';
require 'user_privileges/sharing_privileges_' . $current_user->id . '.php';
$list_query = "select vtiger_potential.potentialname,vtiger_account.accountid, vtiger_account.accountname, " . "vtiger_account.tickersymbol, sum(vtiger_potential.amount) as amount from vtiger_potential " . "inner join vtiger_crmentity on (vtiger_potential.potentialid=vtiger_crmentity.crmid) " . "inner join vtiger_account on (vtiger_potential.related_to=vtiger_account.accountid) ";
$list_query .= " WHERE vtiger_crmentity.deleted = 0 " . $where . " AND vtiger_potential.potentialid>0";
$list_query .= " AND vtiger_crmentity.smownerid='" . $current_user->id . "' " . "and vtiger_potential.sales_stage not in ('Closed Won', 'Closed Lost','" . $app_strings['LBL_CLOSE_WON'] . "','" . $app_strings['LBL_CLOSE_LOST'] . "')";
$list_query .= " group by vtiger_account.accountid, vtiger_account.tickersymbol order by amount desc";
$list_query .= " LIMIT 0," . $adb->sql_escape_string($maxval);
if ($calCnt == 'calculateCnt') {
$list_result_rows = $adb->query(mkCountQuery($list_query));
return $adb->query_result($list_result_rows, 0, 'count');
}
$list_result = $adb->query($list_query);
$open_accounts_list = array();
$noofrows = $adb->num_rows($list_result);
if ($noofrows) {
for ($i = 0; $i < $noofrows; $i++) {
$open_accounts_list[] = array('accountid' => $adb->query_result($list_result, $i, 'accountid'), 'accountname' => $adb->query_result($list_result, $i, 'accountname'), 'amount' => $adb->query_result($list_result, $i, 'amount'), 'tickersymbol' => $adb->query_result($list_result, $i, 'tickersymbol'));
}
}
$title = array();
$title[] = 'myTopAccounts.gif';
$title[] = $current_module_strings['LBL_TOP_ACCOUNTS'];
$title[] = 'home_myaccount';
$header = array();
$header[] = $current_module_strings['LBL_LIST_ACCOUNT_NAME'];
$currencyid = fetchCurrency($current_user->id);
$rate_symbol = getCurrencySymbolandCRate($currencyid);
$rate = $rate_symbol['rate'];
$curr_symbol = $rate_symbol['symbol'];
$header[] = $current_module_strings['LBL_LIST_AMOUNT'] . '(' . $curr_symbol . ')';
$header[] = $current_module_strings['LBL_POTENTIAL_TITLE'];
$entries = array();
foreach ($open_accounts_list as $account) {
$value = array();
$account_fields = array('ACCOUNT_ID' => $account['accountid'], 'ACCOUNT_NAME' => $account['accountname'], 'AMOUNT' => $account['amount']);
$Top_Accounts = strlen($account['accountname']) > 20 ? substr($account['accountname'], 0, 20) . '...' : $account['accountname'];
$value[] = '<a href="index.php?action=DetailView&module=Accounts&record=' . $account['accountid'] . '">' . $Top_Accounts . '</a>';
$value[] = CurrencyField::convertToUserFormat($account['amount']);
$entries[$account['accountid']] = $value;
}
$values = array('ModuleName' => 'Accounts', 'Title' => $title, 'Header' => $header, 'Entries' => $entries);
$log->debug("Exiting getTopAccounts method ...");
if ($display_empty_home_blocks && count($entries) == 0 || count($entries) > 0) {
return $values;
}
}
示例4: process
public function process($module, $id, Vtiger_PDF_Model $pdf)
{
$html = '';
$recordId = $id;
$record = Vtiger_Record_Model::getInstanceById($recordId);
$moduleModel = $record->getModule();
if (!$moduleModel->isInventory()) {
return $html;
}
$inventoryField = Vtiger_InventoryField_Model::getInstance($module);
$fields = $inventoryField->getFields(true);
if ($fields[0] != 0) {
$columns = $inventoryField->getColumns();
$inventoryRows = $record->getInventoryData();
$mainParams = $inventoryField->getMainParams($fields[1]);
$countFields0 = count($fields[0]);
$countFields1 = count($fields[1]);
$countFields2 = count($fields[2]);
$baseCurrency = Vtiger_Util_Helper::getBaseCurrency();
}
if (in_array("currency", $columns)) {
if (count($inventoryRows) > 0 && $inventoryRows[0]['currency'] != NULL) {
$currency = $inventoryRows[0]['currency'];
} else {
$currency = $baseCurrency['id'];
}
$currencySymbolRate = Vtiger_Functions::getCurrencySymbolandRate($currency);
}
$html .= '<style>' . '.productTable{color:#000; font-size:10px}' . '.productTable th {text-transform: uppercase;font-weight:normal}' . '.productTable tbody tr:nth-child(odd){background:#eee}' . '.productTable tbody tr td{border-bottom: 1px solid #ddd; padding:5px}' . '.colapseBorder {border-collapse: collapse;}' . '.productTable td, th {padding-left: 5px; padding-right: 5px;}' . '.productTable .summaryContainer{background:#ccc;}' . '</style>';
if (count($fields[0]) != 0) {
$discount = 0;
foreach ($inventoryRows as $key => &$inventoryRow) {
$taxes = $inventoryField->getTaxParam($inventoryRow['taxparam'], $inventoryRow['net'], $taxes);
}
if (in_array('discount', $columns) && in_array('discountmode', $columns)) {
$html .= '<table class="productTable colapseBorder">
<thead>
<tr>
<th class="tBorder noBottomBorder tHeader">
<strong>' . vtranslate('LBL_DISCOUNTS_SUMMARY', $module) . '</strong>
</th>
</tr>
</thead>
<tbody>
<tr>
<td class="textAlignRight tBorder">' . CurrencyField::convertToUserFormat($discount, null, true) . ' ' . $currencySymbolRate['symbol'] . '</td>
</tr>
</tbody>
</table>';
}
}
return $html;
}
示例5: getEntries
public function getEntries($pagingModel)
{
$db = PearDatabase::getInstance();
$parentModule = $this->getParentRecordModel()->getModule();
$relationModel = $this->getRelationModel();
$relationModule = $relationModel->getRelationModuleModel();
$relatedColumnFieldMapping = $relationModel->getRelationFields(true, true);
if (count($relatedColumnFieldMapping) <= 0) {
$relatedColumnFieldMapping = $relationModule->getConfigureRelatedListFields();
}
if (count($relatedColumnFieldMapping) <= 0) {
$relatedColumnFieldMapping = $relationModule->getRelatedListFields();
}
$query = $this->getRelationQuery();
$startIndex = $pagingModel->getStartIndex();
$pageLimit = $pagingModel->getPageLimit();
$orderBy = $this->getForSql('orderby');
$sortOrder = $this->getForSql('sortorder');
if ($orderBy) {
$query = "{$query} ORDER BY {$orderBy} {$sortOrder}";
}
$limitQuery = $query . ' LIMIT ' . $startIndex . ',' . $pageLimit;
$result = $db->pquery($limitQuery, array());
$relatedRecordList = array();
for ($i = 0; $i < $db->num_rows($result); $i++) {
$row = $db->fetch_row($result, $i);
$newRow = array();
foreach ($row as $col => $val) {
if (array_key_exists($col, $relatedColumnFieldMapping)) {
$newRow[$relatedColumnFieldMapping[$col]] = $val;
}
}
$recordId = $row['crmid'];
$newRow['id'] = $recordId;
//Added to support List Price
$newRow['listprice'] = CurrencyField::convertToUserFormat($row['listprice'], null, true);
$record = Vtiger_Record_Model::getCleanInstance($relationModule->get('name'));
$relatedRecordList[$recordId] = $record->setData($newRow)->setModuleFromInstance($relationModule);
}
$pagingModel->calculatePageRange($relatedRecordList);
$nextLimitQuery = $query . ' LIMIT ' . ($startIndex + $pageLimit) . ' , 1';
$nextPageLimitResult = $db->pquery($nextLimitQuery, array());
if ($db->num_rows($nextPageLimitResult) > 0) {
$pagingModel->set('nextPageExists', true);
} else {
$pagingModel->set('nextPageExists', false);
}
return $relatedRecordList;
}
示例6: sanitizeValues
/**
* this function takes in an array of values for an user and sanitizes it for export
* @param array $arr - the array of values
*/
function sanitizeValues($arr)
{
global $current_user, $adb;
$roleid = fetchUserRole($current_user->id);
$decimal = $current_user->currency_decimal_separator;
$numsep = $current_user->currency_grouping_separator;
foreach ($arr as $fieldlabel => &$value) {
$fieldInfo = $this->fieldsArr[$fieldlabel];
$uitype = $fieldInfo['uitype'];
$fieldname = $fieldInfo['fieldname'];
if ($uitype == 15 || $uitype == 16 || $uitype == 33) {
//picklists
if (empty($this->picklistValues[$fieldname])) {
$this->picklistValues[$fieldname] = getAssignedPicklistValues($fieldname, $roleid, $adb);
}
$value = trim($value);
} elseif ($uitype == 10) {
//have to handle uitype 10
$value = trim($value);
if (!empty($value)) {
$parent_module = getSalesEntityType($value);
$displayValueArray = getEntityName($parent_module, $value);
if (!empty($displayValueArray)) {
foreach ($displayValueArray as $k => $v) {
$displayValue = $v;
}
}
if (!empty($parent_module) && !empty($displayValue)) {
$value = $parent_module . "::::" . $displayValue;
} else {
$value = "";
}
} else {
$value = '';
}
} elseif ($uitype == 71 || $uitype == 72) {
$value = CurrencyField::convertToUserFormat($value, null, true);
} elseif ($uitype == 7 || $fieldInfo['typeofdata'] == 'N~O' || $uitype == 9) {
$value = number_format($value, 2, $decimal, $numsep);
}
}
return $arr;
}
示例7: getPriceDetailsForProduct
/** Function used to get all the price details for different currencies which are associated to the given product
* @param int $productid - product id to which we want to get all the associated prices
* @param decimal $unit_price - Unit price of the product
* @param string $available - available or available_associated where as default is available, if available then the prices in the currencies which are available now will be returned, otherwise if the value is available_associated then prices of all the associated currencies will be retruned
* @return array $price_details - price details as a array with productid, curid, curname
*/
function getPriceDetailsForProduct($productid, $unit_price, $available = 'available', $itemtype = 'Products')
{
global $log, $adb;
$log->debug("Entering into function getPriceDetailsForProduct({$productid})");
if ($productid != '') {
$product_currency_id = getProductBaseCurrency($productid, $itemtype);
$product_base_conv_rate = getBaseConversionRateForProduct($productid, 'edit', $itemtype);
// Detail View
if ($available == 'available_associated') {
$query = "select vtiger_currency_info.*, vtiger_productcurrencyrel.converted_price, vtiger_productcurrencyrel.actual_price\n\t\t\t\t\tfrom vtiger_currency_info\n\t\t\t\t\tinner join vtiger_productcurrencyrel on vtiger_currency_info.id = vtiger_productcurrencyrel.currencyid\n\t\t\t\t\twhere vtiger_currency_info.currency_status = 'Active' and vtiger_currency_info.deleted=0\n\t\t\t\t\tand vtiger_productcurrencyrel.productid = ? and vtiger_currency_info.id != ?";
$params = array($productid, $product_currency_id);
} else {
// Edit View
$query = "select vtiger_currency_info.*, vtiger_productcurrencyrel.converted_price, vtiger_productcurrencyrel.actual_price\n\t\t\t\t\tfrom vtiger_currency_info\n\t\t\t\t\tleft join vtiger_productcurrencyrel\n\t\t\t\t\ton vtiger_currency_info.id = vtiger_productcurrencyrel.currencyid and vtiger_productcurrencyrel.productid = ?\n\t\t\t\t\twhere vtiger_currency_info.currency_status = 'Active' and vtiger_currency_info.deleted=0";
$params = array($productid);
}
//Postgres 8 fixes
if ($adb->dbType == "pgsql") {
$query = fixPostgresQuery($query, $log, 0);
}
$res = $adb->pquery($query, $params);
for ($i = 0; $i < $adb->num_rows($res); $i++) {
$price_details[$i]['productid'] = $productid;
$price_details[$i]['currencylabel'] = $adb->query_result($res, $i, 'currency_name');
$price_details[$i]['currencycode'] = $adb->query_result($res, $i, 'currency_code');
$price_details[$i]['currencysymbol'] = $adb->query_result($res, $i, 'currency_symbol');
$currency_id = $adb->query_result($res, $i, 'id');
$price_details[$i]['curid'] = $currency_id;
$price_details[$i]['curname'] = 'curname' . $adb->query_result($res, $i, 'id');
$cur_value = $adb->query_result($res, $i, 'actual_price');
// Get the conversion rate for the given currency, get the conversion rate of the product currency to base currency.
// Both together will be the actual conversion rate for the given currency.
$conversion_rate = $adb->query_result($res, $i, 'conversion_rate');
$actual_conversion_rate = $product_base_conv_rate * $conversion_rate;
if ($cur_value == null || $cur_value == '') {
$price_details[$i]['check_value'] = false;
if ($unit_price != null) {
$cur_value = convertFromMasterCurrency($unit_price, $actual_conversion_rate);
} else {
$cur_value = '0';
}
} else {
$price_details[$i]['check_value'] = true;
}
$price_details[$i]['curvalue'] = CurrencyField::convertToUserFormat($cur_value, null, true);
$price_details[$i]['conversionrate'] = $actual_conversion_rate;
$is_basecurrency = false;
if ($currency_id == $product_currency_id) {
$is_basecurrency = true;
}
$price_details[$i]['is_basecurrency'] = $is_basecurrency;
}
} else {
if ($available == 'available') {
// Create View
global $current_user;
$user_currency_id = fetchCurrency($current_user->id);
$query = "select vtiger_currency_info.* from vtiger_currency_info\n\t\t\t\t\twhere vtiger_currency_info.currency_status = 'Active' and vtiger_currency_info.deleted=0";
$params = array();
$res = $adb->pquery($query, $params);
for ($i = 0; $i < $adb->num_rows($res); $i++) {
$price_details[$i]['currencylabel'] = $adb->query_result($res, $i, 'currency_name');
$price_details[$i]['currencycode'] = $adb->query_result($res, $i, 'currency_code');
$price_details[$i]['currencysymbol'] = $adb->query_result($res, $i, 'currency_symbol');
$currency_id = $adb->query_result($res, $i, 'id');
$price_details[$i]['curid'] = $currency_id;
$price_details[$i]['curname'] = 'curname' . $adb->query_result($res, $i, 'id');
// Get the conversion rate for the given currency, get the conversion rate of the product currency(logged in user's currency) to base currency.
// Both together will be the actual conversion rate for the given currency.
$conversion_rate = $adb->query_result($res, $i, 'conversion_rate');
$user_cursym_convrate = getCurrencySymbolandCRate($user_currency_id);
$product_base_conv_rate = 1 / $user_cursym_convrate['rate'];
$actual_conversion_rate = $product_base_conv_rate * $conversion_rate;
$price_details[$i]['check_value'] = false;
$price_details[$i]['curvalue'] = '0';
$price_details[$i]['conversionrate'] = $actual_conversion_rate;
$is_basecurrency = false;
if ($currency_id == $user_currency_id) {
$is_basecurrency = true;
}
$price_details[$i]['is_basecurrency'] = $is_basecurrency;
}
} else {
$log->debug("Product id is empty. we cannot retrieve the associated prices.");
}
}
$log->debug("Exit from function getPriceDetailsForProduct({$productid})");
return $price_details;
}
示例8: getAdvancedFilterList
function getAdvancedFilterList($reportid)
{
global $adb;
global $modules;
global $log;
global $current_user;
$advft_criteria = array();
$sql = 'SELECT * FROM vtiger_relcriteria_grouping WHERE queryid = ? ORDER BY groupid';
$groupsresult = $adb->pquery($sql, array($reportid));
$i = 1;
$j = 0;
while ($relcriteriagroup = $adb->fetch_array($groupsresult)) {
$groupId = $relcriteriagroup["groupid"];
$groupCondition = $relcriteriagroup["group_condition"];
$ssql = 'select vtiger_relcriteria.* from vtiger_report
inner join vtiger_relcriteria on vtiger_relcriteria.queryid = vtiger_report.queryid
left join vtiger_relcriteria_grouping on vtiger_relcriteria.queryid = vtiger_relcriteria_grouping.queryid
and vtiger_relcriteria.groupid = vtiger_relcriteria_grouping.groupid';
$ssql .= " where vtiger_report.reportid = ? AND vtiger_relcriteria.groupid = ? order by vtiger_relcriteria.columnindex";
$result = $adb->pquery($ssql, array($reportid, $groupId));
$noOfColumns = $adb->num_rows($result);
if ($noOfColumns <= 0) {
continue;
}
while ($relcriteriarow = $adb->fetch_array($result)) {
$columnIndex = $relcriteriarow["columnindex"];
$criteria = array();
$criteria['columnname'] = $relcriteriarow["columnname"];
$criteria['comparator'] = $relcriteriarow["comparator"];
$advfilterval = $relcriteriarow["value"];
$col = explode(":", $relcriteriarow["columnname"]);
$moduleFieldLabel = $col[2];
$fieldName = $col[3];
list($module, $fieldLabel) = explode('__', $moduleFieldLabel, 2);
$fieldInfo = getFieldByReportLabel($module, $fieldLabel);
$fieldType = null;
if (!empty($fieldInfo)) {
$field = WebserviceField::fromArray($adb, $fieldInfo);
$fieldType = $field->getFieldDataType();
}
if ($fieldType == 'currency') {
if ($field->getUIType() == '71') {
$advfilterval = CurrencyField::convertToUserFormat($advfilterval, $current_user);
} else {
if ($field->getUIType() == '72') {
$advfilterval = CurrencyField::convertToUserFormat($advfilterval, $current_user, true);
}
}
}
$temp_val = explode(",", $relcriteriarow["value"]);
if ($col[4] == 'D' || $col[4] == 'T' && $col[1] != 'time_start' && $col[1] != 'time_end' || $col[4] == 'DT') {
$val = array();
for ($x = 0; $x < count($temp_val); $x++) {
if ($col[4] == 'D') {
$date = new DateTimeField(trim($temp_val[$x]));
$val[$x] = $date->getDisplayDate();
} elseif ($col[4] == 'DT') {
$date = new DateTimeField(trim($temp_val[$x]));
$val[$x] = $date->getDisplayDateTimeValue();
} else {
$date = new DateTimeField(trim($temp_val[$x]));
$val[$x] = $date->getDisplayTime();
}
}
$advfilterval = implode(",", $val);
}
//In vtiger6 report filter conditions, if the value has "(double quotes) then it is failed.
$criteria['value'] = Vtiger_Util_Helper::toSafeHTML(decode_html($advfilterval));
$criteria['column_condition'] = $relcriteriarow["column_condition"];
$advft_criteria[$relcriteriarow['groupid']]['columns'][$j] = $criteria;
$advft_criteria[$relcriteriarow['groupid']]['condition'] = $groupCondition;
$j++;
}
$i++;
}
// Clear the condition (and/or) for last group, if any.
if (!empty($advft_criteria[$i - 1]['condition'])) {
$advft_criteria[$i - 1]['condition'] = '';
}
$this->advft_criteria = $advft_criteria;
$log->info("Reports :: Successfully returned getAdvancedFilterList");
return true;
}
示例9: getListViewRecords
//.........这里部分代码省略.........
//TO make sure it takes time value as well
$fieldDataType = 'datetime';
}
}
if ($fieldDataType == 'datetime') {
$value = Vtiger_Datetime_UIType::getDateTimeValue($value);
} else {
if ($fieldDataType == 'date') {
$date = new DateTimeField($value);
$value = $date->getDisplayDate();
}
}
} elseif ($value == '0000-00-00') {
$value = '';
}
} elseif ($field->getFieldDataType() == 'time') {
if (!empty($value)) {
$userModel = Users_Privileges_Model::getCurrentUserModel();
if ($userModel->get('hour_format') == '12') {
$value = Vtiger_Time_UIType::getTimeValueInAMorPM($value);
}
}
} elseif ($field->getFieldDataType() == 'currency') {
if ($value != '') {
if ($field->getUIType() == 72) {
if ($fieldName == 'unit_price') {
$currencyId = getProductBaseCurrency($recordId, $module);
$cursym_convrate = getCurrencySymbolandCRate($currencyId);
$currencySymbol = $cursym_convrate['symbol'];
} else {
$currencyInfo = getInventoryCurrencyInfo($module, $recordId);
$currencySymbol = $currencyInfo['currency_symbol'];
}
$value = CurrencyField::convertToUserFormat($value, null, true);
$row['currencySymbol'] = $currencySymbol;
$value = CurrencyField::appendCurrencySymbol($value, $currencySymbol);
} else {
if (!empty($value)) {
$value = CurrencyField::convertToUserFormat($value);
$currencyModal = new CurrencyField($value);
$currencyModal->initialize();
$value = $currencyModal->appendCurrencySymbol($value, $currencyModal->currencySymbol);
}
}
}
} elseif ($field->getFieldDataType() == 'url') {
$matchPattern = "^[\\w]+:\\/\\/^";
preg_match($matchPattern, $rawValue, $matches);
if (!empty($matches[0])) {
$value = '<a class="urlField cursorPointer" title="' . $rawValue . '" href="' . $rawValue . '" target="_blank">' . textlength_check($value) . '</a>';
} else {
$value = '<a class="urlField cursorPointer" title="' . $rawValue . '" href="http://' . $rawValue . '" target="_blank">' . textlength_check($value) . '</a>';
}
} elseif ($field->getFieldDataType() == 'email') {
$current_user = vglobal('current_user');
if ($current_user->internal_mailer == 1) {
//check added for email link in user detailview
$value = "<a class='emailField' onclick=\"Vtiger_Helper_Js.getInternalMailer({$recordId}," . "'{$fieldName}','{$module}');\">" . textlength_check($value) . "</a>";
} else {
$value = '<a class="emailField" href="mailto:' . $rawValue . '">' . textlength_check($value) . '</a>';
}
} elseif ($field->getFieldDataType() == 'boolean') {
if ($value === 'on') {
$value = 1;
} else {
if ($value == 'off') {
示例10: sanitizeValues
/**
* this function takes in an array of values for an user and sanitizes it for export
* @param array $arr - the array of values
*/
function sanitizeValues($arr)
{
$db = PearDatabase::getInstance();
$currentUser = Users_Record_Model::getCurrentUserModel();
$roleid = $currentUser->get('roleid');
if (empty($this->fieldArray)) {
$this->fieldArray = $this->moduleFieldInstances;
foreach ($this->fieldArray as $fieldName => $fieldObj) {
//In database we have same column name in two tables. - inventory modules only
if ($fieldObj->get('table') == 'vtiger_inventoryproductrel' && ($fieldName == 'discount_amount' || $fieldName == 'discount_percent')) {
$fieldName = 'item_' . $fieldName;
$this->fieldArray[$fieldName] = $fieldObj;
} else {
$columnName = $fieldObj->get('column');
$this->fieldArray[$columnName] = $fieldObj;
}
}
}
$moduleName = $this->moduleInstance->getName();
foreach ($arr as $fieldName => &$value) {
if (isset($this->fieldArray[$fieldName])) {
$fieldInfo = $this->fieldArray[$fieldName];
} else {
unset($arr[$fieldName]);
continue;
}
$value = trim(decode_html($value), "\"");
$uitype = $fieldInfo->get('uitype');
$fieldname = $fieldInfo->get('name');
if (!$this->fieldDataTypeCache[$fieldName]) {
$this->fieldDataTypeCache[$fieldName] = $fieldInfo->getFieldDataType();
}
$type = $this->fieldDataTypeCache[$fieldName];
if ($fieldname != 'hdnTaxType' && ($uitype == 15 || $uitype == 16 || $uitype == 33)) {
if (empty($this->picklistValues[$fieldname])) {
$this->picklistValues[$fieldname] = $this->fieldArray[$fieldname]->getPicklistValues();
}
// If the value being exported is accessible to current user
// or the picklist is multiselect type.
if ($uitype == 33 || $uitype == 16 || array_key_exists($value, $this->picklistValues[$fieldname])) {
// NOTE: multipicklist (uitype=33) values will be concatenated with |# delim
$value = trim($value);
} else {
$value = '';
}
} elseif ($uitype == 52 || $type == 'owner') {
$value = Vtiger_Util_Helper::getOwnerName($value);
} elseif ($type == 'reference') {
$value = trim($value);
if (!empty($value)) {
$parent_module = getSalesEntityType($value);
$displayValueArray = getEntityName($parent_module, $value);
if (!empty($displayValueArray)) {
foreach ($displayValueArray as $k => $v) {
$displayValue = $v;
}
}
if (!empty($parent_module) && !empty($displayValue)) {
$value = $parent_module . "::::" . $displayValue;
} else {
$value = "";
}
} else {
$value = '';
}
} elseif ($uitype == 72 || $uitype == 71) {
$value = CurrencyField::convertToUserFormat($value, null, true, true);
} elseif ($uitype == 7 && $fieldInfo->get('typeofdata') == 'N~O' || $uitype == 9) {
$value = decimalFormat($value);
} else {
if ($type == 'date' || $type == 'datetime') {
$value = DateTimeField::convertToUserFormat($value);
}
}
if ($moduleName == 'Documents' && $fieldname == 'description') {
$value = strip_tags($value);
$value = str_replace(' ', '', $value);
array_push($new_arr, $value);
}
}
return $arr;
}
示例11: getDuplicateRecordsArr
//.........这里部分代码省略.........
}
$result[$col_arr[$k]] = $contactname;
}
if ($ui_type[$fld_arr[$k]] == 15 || $ui_type[$fld_arr[$k]] == 16) {
$result[$col_arr[$k]] = getTranslatedString($result[$col_arr[$k]], $module);
}
if ($ui_type[$fld_arr[$k]] == 33) {
$fieldvalue = explode(' |##| ', $result[$col_arr[$k]]);
$result[$col_arr[$k]] = array();
foreach ($fieldvalue as $picklistValue) {
$result[$col_arr[$k]][] = getTranslatedString($picklistValue, $module);
}
$result[$col_arr[$k]] = implode(', ', $result[$col_arr[$k]]);
}
if ($ui_type[$fld_arr[$k]] == 68) {
$parent_id = $result[$col_arr[$k]];
if ($parent_id != '') {
$parentname = getParentName($parent_id);
}
$result[$col_arr[$k]] = $parentname;
}
if ($ui_type[$fld_arr[$k]] == 53 || $ui_type[$fld_arr[$k]] == 52) {
if ($result[$col_arr[$k]] != '') {
$owner = getOwnerName($result[$col_arr[$k]]);
}
$result[$col_arr[$k]] = $owner;
}
if ($ui_type[$fld_arr[$k]] == 50 or $ui_type[$fld_arr[$k]] == 51) {
if ($module != 'Products') {
$entity_name = getAccountName($result[$col_arr[$k]]);
} else {
$entity_name = getProductName($result[$col_arr[$k]]);
}
if ($entity_name != '') {
$result[$col_arr[$k]] = $entity_name;
} else {
$result[$col_arr[$k]] = '';
}
}
if ($ui_type[$fld_arr[$k]] == 58) {
$campaign_name = getCampaignName($result[$col_arr[$k]]);
if ($campaign_name != '') {
$result[$col_arr[$k]] = $campaign_name;
} else {
$result[$col_arr[$k]] = '';
}
}
if ($ui_type[$fld_arr[$k]] == 59) {
$product_name = getProductName($result[$col_arr[$k]]);
if ($product_name != '') {
$result[$col_arr[$k]] = $product_name;
} else {
$result[$col_arr[$k]] = '';
}
}
/*uitype 10 handling*/
if ($ui_type[$fld_arr[$k]] == 10) {
$result[$col_arr[$k]] = getRecordInfoFromID($result[$col_arr[$k]]);
}
if ($ui_type[$fld_arr[$k]] == 5 || $ui_type[$fld_arr[$k]] == 6 || $ui_type[$fld_arr[$k]] == 23) {
if (${$result}[$col_arr[$k]] != '' && ${$result}[$col_arr[$k]] != '0000-00-00') {
$date = new DateTimeField(${$result}[$col_arr[$k]]);
$value = $date->getDisplayDate();
if (strpos(${$result}[$col_arr[$k]], ' ') > -1) {
$value .= ' ' . $date->getDisplayTime();
}
} elseif (${$result}[$col_arr[$k]] == '0000-00-00') {
$value = '';
} else {
$value = ${$result}[$col_arr[$k]];
}
$result[$col_arr[$k]] = $value;
}
if ($ui_type[$fld_arr[$k]] == 71) {
$result[$col_arr[$k]] = CurrencyField::convertToUserFormat($result[$col_arr[$k]]);
}
if ($ui_type[$fld_arr[$k]] == 72) {
$result[$col_arr[$k]] = CurrencyField::convertToUserFormat($result[$col_arr[$k]], null, true);
}
$fld_values[$grp][$ii][$fld_labl_arr[$k]] = $result[$col_arr[$k]];
}
$fld_values[$grp][$ii]['Entity Type'] = $result['deleted'];
$ii++;
$rec_cnt++;
}
$gro = "group";
for ($i = 0; $i < $no_rows; $i++) {
$ii = 0;
$dis_group[] = $fld_values[$gro . $i][$ii];
$count_group[$i] = count($fld_values[$gro . $i]);
$ii++;
$new_group[] = $dis_group[$i];
}
$fld_nam = $new_group[0];
$ret_arr[0] = $fld_values;
$ret_arr[1] = $fld_nam;
$ret_arr[2] = $ui_type;
$ret_arr["navigation"] = $navigationOutput;
return $ret_arr;
}
示例12: transformDisplayValue
/**
* Function to transform display value for currency field
* @param $value
* @param Current User
* @param <Boolean> Skip Conversion
* @return converted user format value
*/
public static function transformDisplayValue($value, $user = null, $skipConversion = false)
{
return CurrencyField::convertToUserFormat($value, $user, $skipConversion);
}
示例13: getListViewEntries
//.........这里部分代码省略.........
$value = getTranslatedString('LBL_EXTERNAL', $module);
} else {
$value = ' --';
}
} elseif ($field->getFieldDataType() == 'picklist') {
if ($value != '' && !$is_admin && $this->picklistRoleMap[$fieldName] && !in_array($value, $this->picklistValueMap[$fieldName])) {
$value = "<font color='red'>" . getTranslatedString('LBL_NOT_ACCESSIBLE', $module) . "</font>";
} else {
$value = getTranslatedString($value, $module);
$value = textlength_check($value);
}
} elseif ($field->getFieldDataType() == 'date' || $field->getFieldDataType() == 'datetime') {
if ($value != '' && $value != '0000-00-00') {
$date = new DateTimeField($value);
$value = $date->getDisplayDate();
if ($field->getFieldDataType() == 'datetime') {
$value .= ' ' . $date->getDisplayTime();
}
} elseif ($value == '0000-00-00') {
$value = '';
}
} elseif ($field->getFieldDataType() == 'currency') {
if ($value != '') {
if ($field->getUIType() == 72) {
if ($fieldName == 'unit_price') {
$currencyId = getProductBaseCurrency($recordId, $module);
$cursym_convrate = getCurrencySymbolandCRate($currencyId);
$currencySymbol = $cursym_convrate['symbol'];
} else {
$currencyInfo = getInventoryCurrencyInfo($module, $recordId);
$currencySymbol = $currencyInfo['currency_symbol'];
}
$value = number_format($value, 2, '.', '');
$currencyValue = CurrencyField::convertToUserFormat($value, null, true);
$value = CurrencyField::appendCurrencySymbol($currencyValue, $currencySymbol);
} else {
//changes made to remove vtiger_currency symbol infront of each
//vtiger_potential amount
if ($value != 0) {
$value = CurrencyField::convertToUserFormat($value);
}
}
}
} elseif ($field->getFieldDataType() == 'url') {
$matchPattern = "^[\\w]+:\\/\\/^";
preg_match($matchPattern, $rawValue, $matches);
if (!empty($matches[0])) {
$value = '<a href="' . $rawValue . '" target="_blank">' . textlength_check($value) . '</a>';
} else {
$value = '<a href="http://' . $rawValue . '" target="_blank">' . textlength_check($value) . '</a>';
}
} elseif ($field->getFieldDataType() == 'email') {
if ($_SESSION['internal_mailer'] == 1) {
//check added for email link in user detailview
$fieldId = $field->getFieldId();
$value = "<a href=\"javascript:InternalMailer({$recordId},{$fieldId}," . "'{$fieldName}','{$module}','record_id');\">" . textlength_check($value) . "</a>";
} else {
$value = '<a href="mailto:' . $rawValue . '">' . textlength_check($value) . '</a>';
}
} elseif ($field->getFieldDataType() == 'boolean') {
if ($value == 1) {
$value = getTranslatedString('yes', $module);
} elseif ($value == 0) {
$value = getTranslatedString('no', $module);
} else {
$value = '--';
示例14: initInventoryData
/**
* Save the inventory data
*/
public function initInventoryData()
{
$log = vglobal('log');
$log->debug('Entering ' . __CLASS__ . '::' . __METHOD__);
$moduleName = $this->getModuleName();
$inventory = Vtiger_InventoryField_Model::getInstance($moduleName);
$fields = $inventory->getColumns();
$table = $inventory->getTableName('data');
$summaryFields = $inventory->getSummaryFields();
$inventoryData = $summary = [];
if ($this->has('inventoryData')) {
$request = $this->get('inventoryData');
} else {
$request = new Vtiger_Request($_REQUEST, $_REQUEST);
}
if ($request->has('inventoryItemsNo')) {
$numRow = $request->get('inventoryItemsNo');
for ($i = 1; $i <= $numRow; $i++) {
if (!$request->has(reset($fields)) && !$request->has(reset($fields) . $i)) {
continue;
}
$insertData = ['seq' => $request->get('seq' . $i)];
foreach ($fields as $field) {
$value = $insertData[$field] = $inventory->getValueForSave($request, $field, $i);
if (in_array($field, $summaryFields)) {
$summary[$field] += $value;
}
}
$inventoryData[] = $insertData;
}
foreach ($summary as $fieldName => $fieldValue) {
if ($this->has($fieldName)) {
$this->set($fieldName, CurrencyField::convertToUserFormat($fieldValue, null, true));
}
}
}
$this->inventoryData = $inventoryData;
$log->debug('Exiting ' . __CLASS__ . '::' . __METHOD__);
}
示例15: transformDisplayValue
/**
* Function to transform display value for currency field
* @param $value
* @param Current User
* @param <Boolean> Skip Conversion
* @return converted user format value
*/
public static function transformDisplayValue($value, $user = null, $skipConversion = false)
{
global $log;
$log->debug("Entering ./uitypes/Currency.php::statictransformDisplayValue");
return CurrencyField::convertToUserFormat($value, $user, $skipConversion);
}