当前位置: 首页>>代码示例>>PHP>>正文


PHP fixPostgresQuery函数代码示例

本文整理汇总了PHP中fixPostgresQuery函数的典型用法代码示例。如果您正苦于以下问题:PHP fixPostgresQuery函数的具体用法?PHP fixPostgresQuery怎么用?PHP fixPostgresQuery使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了fixPostgresQuery函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getTableNameForField

        if ($adb->dbType == "pgsql") {
            $list_query .= ' GROUP BY user_name';
        }
        $list_query .= ' ORDER BY user_name ' . $sorder;
    } else {
        $tablename = getTableNameForField('SalesOrder', $order_by);
        $tablename = $tablename != '' ? $tablename . "." : '';
        if ($adb->dbType == "pgsql") {
            $list_query .= ' GROUP BY ' . $tablename . $order_by;
        }
        $list_query .= ' ORDER BY ' . $tablename . $order_by . ' ' . $sorder;
    }
}
///Postgres 8 fixes
if ($adb->dbType == "pgsql") {
    $list_query = fixPostgresQuery($list_query, $log, 0);
}
if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false) === true) {
    $count_result = $adb->query(mkCountQuery($list_query));
    $noofrows = $adb->query_result($count_result, 0, "count");
} else {
    $noofrows = null;
}
$queryMode = isset($_REQUEST['query']) && $_REQUEST['query'] == 'true';
$start = ListViewSession::getRequestCurrentPage($currentModule, $list_query, $viewid, $queryMode);
$navigation_array = VT_getSimpleNavigationValues($start, $list_max_entries_per_page, $noofrows);
$limit_start_rec = ($start - 1) * $list_max_entries_per_page;
if ($adb->dbType == "pgsql") {
    $list_result = $adb->pquery($list_query . " OFFSET {$limit_start_rec} LIMIT {$list_max_entries_per_page}", array());
} else {
    $list_result = $adb->pquery($list_query . " LIMIT {$limit_start_rec}, {$list_max_entries_per_page}", array());
开发者ID:vtiger-jp,项目名称:vtigercrm-5.1.x-ja,代码行数:31,代码来源:ListView.php

示例2: getFieldVisibilityPermission

/** Function to check permission to access a vtiger_field for a given user
 * @param $fld_module -- Module :: Type String
 * @param $userid -- User Id :: Type integer
 * @param $fieldname -- Field Name :: Type varchar
 * @returns $rolename -- Role Name :: Type varchar
 *
 */
function getFieldVisibilityPermission($fld_module, $userid, $fieldname, $accessmode = 'readonly')
{
    $log = vglobal('log');
    $log->debug("Entering getFieldVisibilityPermission(" . $fld_module . "," . $userid . "," . $fieldname . ") method ...");
    $adb = PearDatabase::getInstance();
    $current_user = vglobal('current_user');
    // Check if field is in-active
    $fieldActive = isFieldActive($fld_module, $fieldname);
    if ($fieldActive == false) {
        return '1';
    }
    require 'user_privileges/user_privileges_' . $userid . '.php';
    /* Asha: Fix for ticket #4508. Users with View all and Edit all permission will also have visibility permission for all fields */
    if ($is_admin || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0) {
        $log->debug("Exiting getFieldVisibilityPermission method ...");
        return '0';
    } else {
        //get vtiger_profile list using userid
        $profilelist = getCurrentUserProfileList();
        //get tabid
        $tabid = getTabid($fld_module);
        if (count($profilelist) > 0) {
            if ($accessmode == 'readonly') {
                $query = "SELECT vtiger_profile2field.visible FROM vtiger_field INNER JOIN vtiger_profile2field ON vtiger_profile2field.fieldid=vtiger_field.fieldid INNER JOIN vtiger_def_org_field ON vtiger_def_org_field.fieldid=vtiger_field.fieldid WHERE vtiger_field.tabid=? AND vtiger_profile2field.visible=0 AND vtiger_def_org_field.visible=0  AND vtiger_profile2field.profileid in (" . generateQuestionMarks($profilelist) . ") AND vtiger_field.fieldname= ? and vtiger_field.presence in (0,2) GROUP BY vtiger_field.fieldid";
            } else {
                $query = "SELECT vtiger_profile2field.visible FROM vtiger_field INNER JOIN vtiger_profile2field ON vtiger_profile2field.fieldid=vtiger_field.fieldid INNER JOIN vtiger_def_org_field ON vtiger_def_org_field.fieldid=vtiger_field.fieldid WHERE vtiger_field.tabid=? AND vtiger_profile2field.visible=0 AND vtiger_profile2field.readonly=0 AND vtiger_def_org_field.visible=0  AND vtiger_profile2field.profileid in (" . generateQuestionMarks($profilelist) . ") AND vtiger_field.fieldname= ? and vtiger_field.presence in (0,2) GROUP BY vtiger_field.fieldid";
            }
            $params = array($tabid, $profilelist, $fieldname);
        } else {
            if ($accessmode == 'readonly') {
                $query = "SELECT vtiger_profile2field.visible FROM vtiger_field INNER JOIN vtiger_profile2field ON vtiger_profile2field.fieldid=vtiger_field.fieldid INNER JOIN vtiger_def_org_field ON vtiger_def_org_field.fieldid=vtiger_field.fieldid WHERE vtiger_field.tabid=? AND vtiger_profile2field.visible=0 AND vtiger_def_org_field.visible=0  AND vtiger_field.fieldname= ? and vtiger_field.presence in (0,2) GROUP BY vtiger_field.fieldid";
            } else {
                $query = "SELECT vtiger_profile2field.visible FROM vtiger_field INNER JOIN vtiger_profile2field ON vtiger_profile2field.fieldid=vtiger_field.fieldid INNER JOIN vtiger_def_org_field ON vtiger_def_org_field.fieldid=vtiger_field.fieldid WHERE vtiger_field.tabid=? AND vtiger_profile2field.visible=0 AND vtiger_profile2field.readonly=0 AND vtiger_def_org_field.visible=0  AND vtiger_field.fieldname= ? and vtiger_field.presence in (0,2) GROUP BY vtiger_field.fieldid";
            }
            $params = array($tabid, $fieldname);
        }
        //Postgres 8 fixes
        if ($adb->isPostgres()) {
            $query = fixPostgresQuery($query, $log, 0);
        }
        $result = $adb->pquery($query, $params);
        $log->debug("Exiting getFieldVisibilityPermission method ...");
        // Returns value as a string
        if ($adb->num_rows($result) == 0) {
            return '1';
        }
        return $adb->query_result($result, "0", "visible") . "";
    }
}
开发者ID:nikdejan,项目名称:YetiForceCRM,代码行数:56,代码来源:UserInfoUtil.php

示例3: 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;
}
开发者ID:jaimeaga84,项目名称:corebos,代码行数:95,代码来源:InventoryUtils.php

示例4: getSearchListHeaderValues

function getSearchListHeaderValues($focus, $module, $sort_qry = '', $sorder = '', $order_by = '', $relatedlist = '', $oCv = '')
{
    global $log;
    $log->debug("Entering getSearchListHeaderValues(" . (is_object($focus) ? get_class($focus) : '') . "," . $module . "," . $sort_qry . "," . $sorder . "," . $order_by . "," . $relatedlist . "," . (is_object($oCV) ? get_class($oCV) : '') . ") method ...");
    global $adb;
    global $theme;
    global $app_strings;
    global $mod_strings, $current_user;
    $arrow = '';
    $qry = getURLstring($focus);
    $theme_path = "themes/" . $theme . "/";
    $image_path = $theme_path . "images/";
    $search_header = array();
    //Get the vtiger_tabid of the module
    //require_once('include/utils/UserInfoUtil.php')
    $tabid = getTabid($module);
    //added for vtiger_customview 27/5
    if ($oCv) {
        if (isset($oCv->list_fields)) {
            $focus->list_fields = $oCv->list_fields;
        }
    }
    //Added to reduce the no. of queries logging for non-admin vtiger_users -- by Minnie-start
    $field_list = array();
    $j = 0;
    require 'user_privileges/user_privileges_' . $current_user->id . '.php';
    foreach ($focus->list_fields as $name => $tableinfo) {
        $fieldname = $focus->list_fields_name[$name];
        if ($oCv) {
            if (isset($oCv->list_fields_name)) {
                $fieldname = $oCv->list_fields_name[$name];
            }
        }
        if ($fieldname == "accountname" && $module != "Accounts") {
            $fieldname = "account_id";
        }
        if ($fieldname == "productname" && $module == "Campaigns") {
            $fieldname = "product_id";
        }
        if ($fieldname == "lastname" && $module != "Leads" && $module != "Contacts") {
            $fieldname = "contact_id";
        }
        if ($fieldname == 'folderid' && $module == 'Documents') {
            $fieldname = 'foldername';
        }
        array_push($field_list, $fieldname);
        $j++;
    }
    //Getting the Entries from Profile2 vtiger_field vtiger_table
    if ($is_admin == false) {
        $profileList = getCurrentUserProfileList();
        //changed to get vtiger_field.fieldname
        $query = "SELECT vtiger_profile2field.*,vtiger_field.fieldname FROM vtiger_field INNER JOIN vtiger_profile2field ON vtiger_profile2field.fieldid=vtiger_field.fieldid INNER JOIN vtiger_def_org_field ON vtiger_def_org_field.fieldid=vtiger_field.fieldid WHERE vtiger_field.tabid=? AND vtiger_profile2field.visible=0 AND vtiger_def_org_field.visible=0 AND vtiger_profile2field.profileid IN (" . generateQuestionMarks($profileList) . ") AND vtiger_field.fieldname IN (" . generateQuestionMarks($field_list) . ") and vtiger_field.presence in (0,2) GROUP BY vtiger_field.fieldid";
        if ($adb->dbType == "pgsql") {
            $query = fixPostgresQuery($query, $log, 0);
        }
        $result = $adb->pquery($query, array($tabid, $profileList, $field_list));
        $field = array();
        for ($k = 0; $k < $adb->num_rows($result); $k++) {
            $field[] = $adb->query_result($result, $k, "fieldname");
        }
        //if this field array is empty and the user don't have any one of the admin, view all, edit all permissions then the search picklist options will be empty and we cannot navigate the users list - js error will thrown in function getListViewEntries_js in Smarty\templates\Popup.tpl
        if ($module == 'Users' && empty($field)) {
            $field = array("last_name", "email1");
        }
    }
    // Remove fields which are made inactive
    $focus->filterInactiveFields($module);
    //modified for vtiger_customview 27/5 - $app_strings change to $mod_strings
    foreach ($focus->list_fields as $name => $tableinfo) {
        //added for vtiger_customview 27/5
        if ($oCv) {
            if (isset($oCv->list_fields_name)) {
                if ($oCv->list_fields_name[$name] == '') {
                    $fieldname = 'crmid';
                } else {
                    $fieldname = $oCv->list_fields_name[$name];
                }
            } else {
                if ($focus->list_fields_name[$name] == '') {
                    $fieldname = 'crmid';
                } else {
                    $fieldname = $focus->list_fields_name[$name];
                }
            }
            if ($fieldname == "lastname" && $module != "Leads" && $module != "Contacts") {
                $fieldname = "contact_id";
            }
            if ($fieldname == "accountname" && $module != "Accounts") {
                $fieldname = "account_id";
            }
            if ($fieldname == "productname" && $module == "Campaigns") {
                $fieldname = "product_id";
            }
        } else {
            if ($focus->list_fields_name[$name] == '') {
                $fieldname = 'crmid';
            } else {
                $fieldname = $focus->list_fields_name[$name];
            }
//.........这里部分代码省略.........
开发者ID:sacredwebsite,项目名称:vtigercrm,代码行数:101,代码来源:SearchUtils.php

示例5: getTodoList

/**
 * Function to get todos list scheduled between specified dates
 * @param array   $calendar              -  collection of objects and strings
 * @param string  $start_date            -  date string
 * @param string  $end_date              -  date string
 * @param string  $info                  -  string 'listcnt' or empty string. if 'listcnt' means it returns no. of todos and no. of pending todos in array format else it returns todos list in array format
 * return array   $Entries               -  todolists in array format
 */
function getTodoList(&$calendar, $start_date, $end_date, $info = '')
{
    global $log, $app_strings, $theme;
    $Entries = array();
    $category = getParentTab();
    global $adb, $current_user, $mod_strings, $cal_log, $list_max_entries_per_page;
    $cal_log->debug("Entering getTodoList() method...");
    require 'user_privileges/user_privileges_' . $current_user->id . '.php';
    require 'user_privileges/sharing_privileges_' . $current_user->id . '.php';
    $count_qry = "SELECT count(*) as count FROM vtiger_activity\n\t\tINNER JOIN vtiger_crmentity\n\t\tON vtiger_crmentity.crmid = vtiger_activity.activityid\n\t\tLEFT JOIN vtiger_cntactivityrel\n\t\tON vtiger_cntactivityrel.activityid = vtiger_activity.activityid\n\t\tLEFT JOIN vtiger_groups\n\t\tON vtiger_groups.groupid = vtiger_crmentity.smownerid\n\t\tLEFT JOIN vtiger_users\n\t\tON vtiger_users.id = vtiger_crmentity.smownerid\n\t\tWHERE vtiger_crmentity.deleted = 0\n\t\tAND vtiger_activity.activitytype = 'Task'\n\t\tAND (vtiger_activity.date_start BETWEEN ? AND ?) AND vtiger_crmentity.smownerid = " . $current_user->id;
    $query = "SELECT vtiger_groups.groupname, vtiger_users.user_name, vtiger_crmentity.crmid, vtiger_cntactivityrel.contactid, \n\t\t\t\tvtiger_activity.* FROM vtiger_activity\n                INNER JOIN vtiger_crmentity\n\t\t\t\t\tON vtiger_crmentity.crmid = vtiger_activity.activityid\n                LEFT JOIN vtiger_cntactivityrel\n\t\t\t\t\tON vtiger_cntactivityrel.activityid = vtiger_activity.activityid\n\t\t\t\tLEFT JOIN vtiger_groups\n\t\t\t\t\tON vtiger_groups.groupid = vtiger_crmentity.smownerid\n\t\t\t\tLEFT JOIN vtiger_users\n\t\t\t\t\tON vtiger_users.id = vtiger_crmentity.smownerid\n                WHERE vtiger_crmentity.deleted = 0\n\t\t\t\t\tAND vtiger_activity.activitytype = 'Task'\n\t\t\t\t\tAND (vtiger_activity.date_start BETWEEN ? AND ?) AND vtiger_crmentity.smownerid = " . $current_user->id;
    $list_query = $query;
    // User Select Customization
    /*$only_for_user = calendarview_getSelectedUserId();
    	if($only_for_user != 'ALL') {
    		$query .= " AND vtiger_crmentity.smownerid = "  . $only_for_user;
    		$count_qry .= " AND vtiger_crmentity.smownerid = "  . $only_for_user;
    	}*/
    // END
    $params = $info_params = array($start_date, $end_date);
    if ($info != '') {
        //added to fix #4816
        $groupids = explode(",", fetchUserGroupids($current_user->id));
        if (count($groupids) > 0) {
            $com_q = " AND (vtiger_crmentity.smownerid = ?\n\t\t\t\t\tOR vtiger_groups.groupid in (" . generateQuestionMarks($groupids) . "))";
        } else {
            $com_q = " AND vtiger_crmentity.smownerid = ?";
        }
        //end
        $pending_query = $query . " AND (vtiger_activity.status != 'Completed')" . $com_q;
        $total_q = $query . "" . $com_q;
        array_push($info_params, $current_user->id);
        if (count($groupids) > 0) {
            array_push($info_params, $groupids);
        }
        if ($adb->dbType == "pgsql") {
            $pending_query = fixPostgresQuery($pending_query, $log, 0);
            $total_q = fixPostgresQuery($total_q, $log, 0);
        }
        $total_res = $adb->pquery($total_q, $info_params);
        $total = $adb->num_rows($total_res);
        $res = $adb->pquery($pending_query, $info_params);
        $pending_rows = $adb->num_rows($res);
        $cal_log->debug("Exiting getTodoList() method...");
        return array('totaltodo' => $total, 'pendingtodo' => $pending_rows);
    }
    if ($is_admin == false && $profileGlobalPermission[1] == 1 && $profileGlobalPermission[2] == 1 && $defaultOrgSharingPermission[9] == 3) {
        $sec_parameter = getListViewSecurityParameter('Calendar');
        $query .= $sec_parameter;
        $list_query .= $sec_parameter;
        $count_qry .= $sec_parameter;
    }
    $group_cond = '';
    $count_res = $adb->pquery($count_qry, $params);
    $total_rec_count = $adb->query_result($count_res, 0, 'count');
    $group_cond .= " ORDER BY vtiger_activity.date_start,vtiger_activity.time_start ASC";
    if (isset($_REQUEST['start']) && $_REQUEST['start'] != '') {
        $start = vtlib_purify($_REQUEST['start']);
    } else {
        $start = 1;
    }
    $navigation_array = getNavigationValues($start, $total_rec_count, $list_max_entries_per_page);
    $start_rec = $navigation_array['start'];
    $end_rec = $navigation_array['end_val'];
    if ($start_rec <= 1) {
        $start_rec = 0;
    } else {
        $start_rec = $start_rec - 1;
    }
    $query .= $group_cond . " limit {$start_rec},{$list_max_entries_per_page}";
    $list_query .= $group_cond;
    if ($adb->dbType == "pgsql") {
        $query = fixPostgresQuery($query, $log, 0);
        $list_query = fixPostgresQuery($list_query, $log, 0);
    }
    $list_query = $adb->convert2Sql($list_query, $params);
    $_SESSION['Calendar_listquery'] = $list_query;
    $result = $adb->pquery($query, $params);
    $rows = $adb->num_rows($result);
    $c = 0;
    if ($start > 1) {
        $c = ($start - 1) * $list_max_entries_per_page;
    }
    for ($i = 0; $i < $rows; $i++) {
        $element = array();
        $contact_name = '';
        $element['no'] = $c + 1;
        $more_link = "";
        $start_time = $adb->query_result($result, $i, "time_start");
        $format = $calendar['calendar']->hour_format;
        $value = getaddEventPopupTime($start_time, $start_time, $format);
        $element['starttime'] = $value['starthour'] . ':' . $value['startmin'] . '' . $value['startfmt'];
//.........这里部分代码省略.........
开发者ID:p6,项目名称:VF,代码行数:101,代码来源:calendarLayout.php

示例6: die

        die("Record Id is not found, cannot merge the document");
    }
}
//<<<<<<<<<<<<<<<<header for csv and select columns for query>>>>>>>>>>>>>>>>>>>>>>>>
global $current_user;
require 'user_privileges/user_privileges_' . $current_user->id . '.php';
if ($is_admin == true || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0 || $module == "Users" || $module == "Emails") {
    $query1 = "select vtiger_tab.name,vtiger_field.tablename,vtiger_field.columnname,vtiger_field.fieldlabel from vtiger_field inner join vtiger_tab on vtiger_tab.tabid = vtiger_field.tabid where vtiger_field.tabid in (13,4,6) and vtiger_field.uitype <> 61 and block <> 75 and block <> 30 and vtiger_field.presence in (0,2) order by vtiger_field.tablename";
    $params1 = array();
} else {
    $profileList = getCurrentUserProfileList();
    $query1 = "select vtiger_tab.name,vtiger_field.tablename,vtiger_field.columnname,vtiger_field.fieldlabel from vtiger_field inner join vtiger_tab on vtiger_tab.tabid = vtiger_field.tabid INNER JOIN vtiger_profile2field ON vtiger_profile2field.fieldid=vtiger_field.fieldid INNER JOIN vtiger_def_org_field ON vtiger_def_org_field.fieldid=vtiger_field.fieldid where vtiger_field.tabid in (13,4,6) and vtiger_field.uitype <> 61 and block <> 75 and block <> 30 AND vtiger_profile2field.visible=0 AND vtiger_def_org_field.visible=0 AND vtiger_profile2field.profileid IN (" . generateQuestionMarks($profileList) . ") and vtiger_field.presence in (0,2) GROUP BY vtiger_field.fieldid order by vtiger_field.tablename";
    $params1 = array($profileList);
    //Postgres 8 fixes
    if ($adb->dbType == "pgsql") {
        $query1 = fixPostgresQuery($query1, $log, 0);
    }
}
$result = $adb->pquery($query1, $params1);
$y = $adb->num_rows($result);
$userNameSql = getSqlForNameInDisplayFormat(array('first_name' => 'vtiger_users.first_name', 'last_name' => 'vtiger_users.last_name'), 'Users');
$contactUserNameSql = getSqlForNameInDisplayFormat(array('first_name' => 'usersContacts.first_name', 'last_name' => 'usersContacts.last_name'), 'Users');
$accountUserNameSql = getSqlForNameInDisplayFormat(array('first_name' => 'usersAccounts.first_name', 'last_name' => 'usersAccounts.last_name'), 'Users');
for ($x = 0; $x < $y; $x++) {
    $tablename = $adb->query_result($result, $x, "tablename");
    $columnname = $adb->query_result($result, $x, "columnname");
    $modulename = $adb->query_result($result, $x, "name");
    $column_name = $tablename . "." . $columnname;
    if ($columnname == "parent_id") {
        $column_name = "case crmentityRelHelpDesk.setype when 'Accounts' then accountRelHelpDesk.accountname when 'Contacts' then concat(contactdetailsRelHelpDesk.firstname,' ',contactdetailsRelHelpDesk.lastname) End";
    }
开发者ID:mslokhat,项目名称:corebos,代码行数:31,代码来源:Merge.php

示例7: QuickCreate

/**
 * This function is used to get the Quick create form vtiger_field parameters for a given module.
 * Param $module - module name
 * returns the value in array format
 */
function QuickCreate($module)
{
    global $log;
    $log->debug("Entering QuickCreate(" . $module . ") method ...");
    global $adb;
    global $current_user;
    global $mod_strings;
    $tabid = getTabid($module);
    //Adding Security Check
    require 'user_privileges/user_privileges_' . $current_user->id . '.php';
    if ($is_admin == true || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0) {
        $quickcreate_query = "select * from vtiger_field where quickcreate in (0,2) and tabid = ? and vtiger_field.presence in (0,2) and displaytype != 2 order by quickcreatesequence";
        $params = array($tabid);
    } else {
        $profileList = getCurrentUserProfileList();
        $quickcreate_query = "SELECT vtiger_field.* FROM vtiger_field INNER JOIN vtiger_profile2field ON vtiger_profile2field.fieldid=vtiger_field.fieldid INNER JOIN vtiger_def_org_field ON vtiger_def_org_field.fieldid=vtiger_field.fieldid WHERE vtiger_field.tabid=? AND quickcreate in (0,2) AND vtiger_profile2field.visible=0 AND vtiger_profile2field.readonly = 0 AND vtiger_def_org_field.visible=0  AND vtiger_profile2field.profileid IN (" . generateQuestionMarks($profileList) . ") and vtiger_field.presence in (0,2) and displaytype != 2 GROUP BY vtiger_field.fieldid ORDER BY quickcreatesequence";
        $params = array($tabid, $profileList);
        //Postgres 8 fixes
        if ($adb->dbType == "pgsql") {
            $quickcreate_query = fixPostgresQuery($quickcreate_query, $log, 0);
        }
    }
    $category = getParentTab();
    $result = $adb->pquery($quickcreate_query, $params);
    $noofrows = $adb->num_rows($result);
    $fieldName_array = array();
    for ($i = 0; $i < $noofrows; $i++) {
        $fieldtablename = $adb->query_result($result, $i, 'tablename');
        $uitype = $adb->query_result($result, $i, "uitype");
        $fieldname = $adb->query_result($result, $i, "fieldname");
        $fieldlabel = $adb->query_result($result, $i, "fieldlabel");
        $maxlength = $adb->query_result($result, $i, "maximumlength");
        $generatedtype = $adb->query_result($result, $i, "generatedtype");
        $typeofdata = $adb->query_result($result, $i, "typeofdata");
        $defaultvalue = $adb->query_result($result, $i, "defaultvalue");
        $col_fields[$fieldname] = $defaultvalue;
        //to get validationdata
        $fldLabel_array = array();
        $fldLabel_array[getTranslatedString($fieldlabel)] = $typeofdata;
        $fieldName_array[$fieldname] = $fldLabel_array;
        // These fields should not be shown in the UI as they are already shown as part of other fields, but are required for validation.
        if ($fieldname == 'time_start' || $fieldname == 'time_end') {
            continue;
        }
        $custfld = getOutputHtml($uitype, $fieldname, $fieldlabel, $maxlength, $col_fields, $generatedtype, $module, '', $typeofdata);
        $qcreate_arr[] = $custfld;
    }
    for ($i = 0, $j = 0; $i < count($qcreate_arr); $i = $i + 2, $j++) {
        $key1 = $qcreate_arr[$i];
        if (is_array($qcreate_arr[$i + 1])) {
            $key2 = $qcreate_arr[$i + 1];
        } else {
            $key2 = array();
        }
        $return_data[$j] = array(0 => $key1, 1 => $key2);
    }
    $form_data['form'] = $return_data;
    $form_data['data'] = $fieldName_array;
    $log->debug("Exiting QuickCreate method ..." . print_r($form_data, true));
    return $form_data;
}
开发者ID:hbsman,项目名称:vtigercrm-5.3.0-ja,代码行数:66,代码来源:CommonUtils.php

示例8: getTodoList

/**
 * Function to get todos list scheduled between specified dates
 * @param array   $calendar              -  collection of objects and strings
 * @param string  $start_date            -  date string
 * @param string  $end_date              -  date string
 * @param string  $info                  -  string 'listcnt' or empty string. if 'listcnt' means it returns no. of todos and no. of pending todos in array format else it returns todos list in array format
 * return array   $Entries               -  todolists in array format
 */
function getTodoList(&$calendar, $start_date, $end_date, $info = '')
{
    global $log, $app_strings, $theme;
    $Entries = array();
    $category = getParentTab();
    global $adb, $current_user, $mod_strings, $cal_log, $list_max_entries_per_page;
    $cal_log->debug("Entering getTodoList() method...");
    require 'user_privileges/user_privileges_' . $current_user->id . '.php';
    require 'user_privileges/sharing_privileges_' . $current_user->id . '.php';
    $userNameSql = getSqlForNameInDisplayFormat(array('f' => 'vtiger_users.first_name', 'l' => 'vtiger_users.last_name'));
    $query = "SELECT vtiger_groups.groupname, {$userNameSql} as user_name, vtiger_crmentity.crmid, vtiger_cntactivityrel.contactid,\n\t\t\t\tvtiger_activity.* FROM vtiger_activity\n                INNER JOIN vtiger_crmentity\n\t\t\t\t\tON vtiger_crmentity.crmid = vtiger_activity.activityid\n                LEFT JOIN vtiger_cntactivityrel\n\t\t\t\t\tON vtiger_cntactivityrel.activityid = vtiger_activity.activityid\n\t\t\t\tLEFT JOIN vtiger_groups\n\t\t\t\t\tON vtiger_groups.groupid = vtiger_crmentity.smownerid\n\t\t\t\tLEFT JOIN vtiger_users\n\t\t\t\t\tON vtiger_users.id = vtiger_crmentity.smownerid";
    $query .= getNonAdminAccessControlQuery('Calendar', $current_user);
    $query .= "WHERE vtiger_crmentity.deleted = 0 AND vtiger_activity.activitytype = 'Task'" . " AND ((CAST(CONCAT(date_start,' ',time_start) AS DATETIME) >= ? AND CAST(CONCAT(date_start,' ',time_start) AS DATETIME) <= ?)\n\t\t\t\t\t\t\tOR\t(CAST(CONCAT(due_date,' ',time_end) AS DATETIME) >= ? AND CAST(CONCAT(due_date,' ',time_end) AS DATETIME) <= ? )\n\t\t\t\t\t\t\tOR\t(CAST(CONCAT(date_start,' ',time_start) AS DATETIME) <= ? AND CAST(CONCAT(due_date,' ',time_end) AS DATETIME) >= ?)\n\t\t\t\t\t\t)";
    $list_query = $query . " AND vtiger_crmentity.smownerid = " . $current_user->id;
    $startDate = new DateTimeField($start_date . ' 00:00');
    $endDate = new DateTimeField($end_date . ' 23:59');
    $params = $info_params = array($startDate->getDBInsertDateTimeValue(), $endDate->getDBInsertDateTimeValue(), $startDate->getDBInsertDateTimeValue(), $endDate->getDBInsertDateTimeValue(), $startDate->getDBInsertDateTimeValue(), $endDate->getDBInsertDateTimeValue());
    if ($info != '') {
        //added to fix #4816
        $groupids = explode(",", fetchUserGroupids($current_user->id));
        if (count($groupids) > 0 && !is_admin($current_user)) {
            $com_q = " AND (vtiger_crmentity.smownerid = ?\n\t\t\t\t\tOR vtiger_groups.groupid in (" . generateQuestionMarks($groupids) . "))";
            array_push($info_params, $current_user->id);
            array_push($info_params, $groupids);
        } elseif (!is_admin($current_user)) {
            $com_q = " AND vtiger_crmentity.smownerid = ?";
            array_push($info_params, $current_user->id);
        }
        //end
        $pending_query = $query . " AND (vtiger_activity.status != 'Completed')" . $com_q;
        $total_q = $query . "" . $com_q;
        if ($adb->dbType == "pgsql") {
            $pending_query = fixPostgresQuery($pending_query, $log, 0);
            $total_q = fixPostgresQuery($total_q, $log, 0);
        }
        $total_res = $adb->pquery($total_q, $info_params);
        $total = $adb->num_rows($total_res);
        $res = $adb->pquery($pending_query, $info_params);
        $pending_rows = $adb->num_rows($res);
        $cal_log->debug("Exiting getTodoList() method...");
        return array('totaltodo' => $total, 'pendingtodo' => $pending_rows);
    }
    $group_cond = '';
    $group_cond .= " ORDER BY vtiger_activity.date_start,vtiger_activity.time_start ASC";
    if (isset($_REQUEST['start']) && $_REQUEST['start'] != '') {
        $start = vtlib_purify($_REQUEST['start']);
    } else {
        $start = 1;
    }
    //T6477 changes
    if (PerformancePrefs::getBoolean('LISTVIEW_COMPUTE_PAGE_COUNT', false) === true) {
        $count_res = $adb->pquery(mkCountQuery($query), $params);
        $total_rec_count = $adb->query_result($count_res, 0, 'count');
    } else {
        $total_rec_count = null;
    }
    $navigation_array = VT_getSimpleNavigationValues($start, $list_max_entries_per_page, $total_rec_count);
    $start_rec = ($start - 1) * $list_max_entries_per_page;
    $end_rec = $navigation_array['end_val'];
    $list_query = $adb->convert2Sql($query, $params);
    $_SESSION['Calendar_listquery'] = $list_query;
    if ($start_rec < 0) {
        $start_rec = 0;
    }
    //ends
    $query .= $group_cond . " limit {$start_rec},{$list_max_entries_per_page}";
    if ($adb->dbType == "pgsql") {
        $query = fixPostgresQuery($query, $log, 0);
    }
    $result = $adb->pquery($query, $params);
    $rows = $adb->num_rows($result);
    $c = 0;
    if ($start > 1) {
        $c = ($start - 1) * $list_max_entries_per_page;
    }
    for ($i = 0; $i < $rows; $i++) {
        $element = array();
        $contact_name = '';
        $element['no'] = $c + 1;
        $more_link = "";
        $start_time = $adb->query_result($result, $i, "time_start");
        $date_start = $adb->query_result($result, $i, "date_start");
        $due_date = $adb->query_result($result, $i, "due_date");
        $date = new DateTimeField($date_start . ' ' . $start_time);
        $endDate = new DateTimeField($due_date);
        if (!empty($start_time)) {
            $start_time = $date->getDisplayTime();
        }
        $format = $calendar['calendar']->hour_format;
        $value = getaddEventPopupTime($start_time, $start_time, $format);
        $element['starttime'] = $value['starthour'] . ':' . $value['startmin'] . '' . $value['startfmt'];
        $element['startdate'] = $date->getDisplayDate();
//.........这里部分代码省略.........
开发者ID:hbsman,项目名称:vtigercrm-5.3.0-ja,代码行数:101,代码来源:calendarLayout.php

示例9: getBlocksPortal1

 function getBlocksPortal1($module, $disp_view, $mode, $col_fields = '', $info_type = '', $profile)
 {
     global $log;
     $log->debug("Entering getBlocks(" . $module . "," . $disp_view . "," . $mode . "," . $col_fields . "," . $info_type . ") method ...");
     global $adb, $current_user;
     global $mod_strings;
     $tabid = getTabid($module);
     $block_detail = array();
     $getBlockinfo = "";
     $query = "select blockid,blocklabel,show_title,display_status from vtiger_blocks where tabid=? and {$disp_view}=0 and visible = 0 order by sequence";
     $result = $adb->pquery($query, array($tabid));
     $noofrows = $adb->num_rows($result);
     $prev_header = "";
     $blockid_list = array();
     for ($i = 0; $i < $noofrows; $i++) {
         $blockid = $adb->query_result($result, $i, "blockid");
         array_push($blockid_list, $blockid);
         $block_label[$blockid] = $adb->query_result($result, $i, "blocklabel");
         $sLabelVal = getTranslatedString($block_label[$blockid], $module);
         $aBlockStatus[$sLabelVal] = $adb->query_result($result, $i, "display_status");
     }
     if ($mode == 'edit') {
         $display_type_check = 'vtiger_field.displaytype = 1';
     } elseif ($mode == 'mass_edit') {
         $display_type_check = 'vtiger_field.displaytype = 1 AND vtiger_field.masseditable NOT IN (0,2)';
     } else {
         $display_type_check = 'vtiger_field.displaytype in (1,4)';
     }
     /* if($non_mass_edit_fields!='' && sizeof($non_mass_edit_fields)!=0){
     	  $mass_edit_query = "AND vtiger_field.fieldname NOT IN (". generateQuestionMarks($non_mass_edit_fields) .")";
     	  } */
     //retreive the vtiger_profileList from database
     require 'user_privileges/user_privileges_' . $current_user->id . '.php';
     if ($disp_view == "detail_view") {
         $profileList = array($profile);
         $sql = "SELECT vtiger_field.*, vtiger_profile2field.readonly FROM vtiger_field INNER JOIN vtiger_profile2field ON vtiger_profile2field.fieldid=vtiger_field.fieldid INNER JOIN vtiger_def_org_field ON vtiger_def_org_field.fieldid=vtiger_field.fieldid WHERE vtiger_field.tabid=? AND vtiger_field.block IN (" . generateQuestionMarks($blockid_list) . ") AND vtiger_field.displaytype IN (1,2,4) and vtiger_field.presence in (0,2) AND vtiger_profile2field.visible=0 AND vtiger_def_org_field.visible=0 AND vtiger_profile2field.profileid IN (" . generateQuestionMarks($profileList) . ") GROUP BY vtiger_field.fieldid ORDER BY block,sequence";
         $params = array($tabid, $blockid_list, $profileList);
         //Postgres 8 fixes
         if ($adb->dbType == "pgsql") {
             $sql = fixPostgresQuery($sql, $log, 0);
         }
         $result = $adb->pquery($sql, $params);
         // Added to unset the previous record's related listview session values
         if (isset($_SESSION['rlvs'])) {
             unset($_SESSION['rlvs']);
         }
         $getBlockInfo = getDetailBlockInformation($module, $result, $col_fields, $tabid, $block_label);
     } else {
         if ($info_type != '') {
             $profileList = array($profile);
             $sql = "SELECT vtiger_field.* FROM vtiger_field INNER JOIN vtiger_profile2field ON vtiger_profile2field.fieldid=vtiger_field.fieldid INNER JOIN vtiger_def_org_field ON vtiger_def_org_field.fieldid=vtiger_field.fieldid  WHERE vtiger_field.tabid=? AND vtiger_field.block IN (" . generateQuestionMarks($blockid_list) . ") AND {$display_type_check} AND info_type = ? AND vtiger_profile2field.visible=0 AND vtiger_profile2field.readonly = 0 AND vtiger_def_org_field.visible=0 AND vtiger_profile2field.profileid IN (" . generateQuestionMarks($profileList) . ") and vtiger_field.presence in (0,2) GROUP BY vtiger_field.fieldid ORDER BY block,sequence";
             $params = array($tabid, $blockid_list, $info_type, $profileList);
             //Postgres 8 fixes
             if ($adb->dbType == "pgsql") {
                 $sql = fixPostgresQuery($sql, $log, 0);
             }
         } else {
             $profileList = array("{$profile}");
             $sql = "SELECT vtiger_field.* FROM vtiger_field INNER JOIN vtiger_profile2field ON vtiger_profile2field.fieldid=vtiger_field.fieldid INNER JOIN vtiger_def_org_field ON vtiger_def_org_field.fieldid=vtiger_field.fieldid  WHERE vtiger_field.tabid=? AND vtiger_field.block IN (" . generateQuestionMarks($blockid_list) . ") AND {$display_type_check} AND vtiger_profile2field.visible=0 AND vtiger_profile2field.readonly = 0 AND vtiger_def_org_field.visible=0 AND vtiger_profile2field.profileid IN (" . generateQuestionMarks($profileList) . ") and vtiger_field.presence in (0,2) GROUP BY vtiger_field.fieldid ORDER BY block,sequence";
             $params = array($tabid, $blockid_list, $profileList);
             //Postgres 8 fixes
             if ($adb->dbType == "pgsql") {
                 $sql = fixPostgresQuery($sql, $log, 0);
             }
         }
         $result = $adb->pquery($sql, $params);
         $getBlockInfo = getBlockInformation($module, $result, $col_fields, $tabid, $block_label, $mode);
     }
     $log->debug("Exiting getBlocks method ...");
     if (count($getBlockInfo) > 0) {
         foreach ($getBlockInfo as $label => $contents) {
             if (empty($getBlockInfo[$label])) {
                 unset($getBlockInfo[$label]);
             }
         }
     }
     return $getBlockInfo;
 }
开发者ID:kduqi,项目名称:corebos,代码行数:78,代码来源:cbMap_processes.php


注:本文中的fixPostgresQuery函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。