• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP CCrmPerms类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: CheckAuth

 public static function CheckAuth()
 {
     $CCrmPerms = new CCrmPerms($GLOBALS['USER']->GetID());
     if ($CCrmPerms->HavePerm('LEAD', BX_CRM_PERM_NONE)) {
         return new CSOAPFault('Server Error', 'Unable to authorize user.');
     }
     return false;
 }
开发者ID:DarneoStudio,项目名称:bitrix,代码行数:8,代码来源:ws_lead.php


示例2: checkPermissions

 /**
  * Function checks if user have basic permissions to launch the component
  * @throws Exception
  * @return void
  */
 protected function checkPermissions()
 {
     $result = true;
     $CrmPerms = new CCrmPerms($GLOBALS['USER']->GetID());
     if (!$CrmPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'WRITE')) {
         $this->errors['FATAL'][] = Loc::getMessage('CRM_CLE2_PERMISSION_DENIED');
         $result = false;
     }
     return $result;
 }
开发者ID:mrdeadmouse,项目名称:u136006,代码行数:15,代码来源:class.php


示例3: GetUserPermissions

 public static function GetUserPermissions()
 {
     if (self::$USER_PERMISSIONS === null) {
         self::$USER_PERMISSIONS = CCrmPerms::GetCurrentUserPermissions();
     }
     return self::$USER_PERMISSIONS;
 }
开发者ID:DarneoStudio,项目名称:bitrix,代码行数:7,代码来源:crm_authorization_helper.php


示例4: getUserPermissions

 /**
  * @return \CCrmPerms
  */
 protected function getUserPermissions()
 {
     if ($this->userPermissions === null) {
         $this->userPermissions = \CCrmPerms::GetCurrentUserPermissions();
     }
     return $this->userPermissions;
 }
开发者ID:DarneoStudio,项目名称:bitrix,代码行数:10,代码来源:entityconverter.php


示例5: checkRights

 public function checkRights()
 {
     $permissions = CCrmPerms::GetCurrentUserPermissions();
     if (!(CCrmPerms::IsAccessEnabled($permissions) && $permissions->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'READ'))) {
         return false;
     }
     return true;
 }
开发者ID:mrdeadmouse,项目名称:u136006,代码行数:8,代码来源:helper.php


示例6: preparePermissionSql

 /**
  * @return string|boolean
  */
 protected function preparePermissionSql()
 {
     if ($this->permissionSql !== null) {
         return $this->permissionSql;
     }
     if (\CCrmPerms::IsAdmin($this->userID)) {
         $this->permissionSql = '';
     } else {
         $this->permissionSql = \CCrmPerms::BuildSql(\CCrmOwnerType::DealName, '', 'READ', array('RAW_QUERY' => true, 'PERMS' => \CCrmPerms::GetUserPermissions($this->userID)));
     }
     return $this->permissionSql;
 }
开发者ID:DarneoStudio,项目名称:bitrix,代码行数:15,代码来源:dealdatasource.php


示例7: checkAccessPermissions

 protected static function checkAccessPermissions($parameters = array())
 {
     if (!is_array($parameters)) {
         $parameters = array();
     }
     $errors = array();
     $CCrmPerms = new CCrmPerms($GLOBALS['USER']->GetID());
     if ($CCrmPerms->HavePerm('CONFIG', BX_CRM_PERM_NONE, 'WRITE')) {
         $errors[] = Loc::getMessage("SALE_CCLI2_CRM_MODULE_WRITE_ACCESS_DENIED");
     }
     if (!LocationHelper::checkLocationEnabled()) {
         $errors[] = 'Locations were disabled or data has not been converted';
     }
     if ($parameters['CHECK_CSRF']) {
         $post = \Bitrix\Main\Context::getCurrent()->getRequest()->getPostList();
         if (!strlen($post['csrf']) || bitrix_sessid() != $post['csrf']) {
             $errors[] = 'CSRF token is not valid';
         }
     }
     return $errors;
 }
开发者ID:mrdeadmouse,项目名称:u136006,代码行数:21,代码来源:class.php


示例8: createDuplicate

 /**
  * @return Duplicate
  */
 public function createDuplicate($entityTypeID, $rootEntityID, $userID, $enablePermissionCheck, $enableRanking, $limit = 0)
 {
     if ($entityTypeID !== \CCrmOwnerType::Lead && $entityTypeID !== \CCrmOwnerType::Contact && $entityTypeID !== \CCrmOwnerType::Company) {
         throw new Main\NotSupportedException("Entity type: '" . \CCrmOwnerType::ResolveName($entityTypeID) . "' is not supported in current context");
     }
     /** @var Duplicate $dup **/
     $dup = new Duplicate($this, array());
     $query = static::createQuery();
     $query->addSelect('ENTITY_ID');
     $query->addFilter('=ENTITY_TYPE_ID', $entityTypeID);
     static::setQueryFilter($query, $this->getMatches());
     if ($enablePermissionCheck) {
         $permissions = isset($params['PERMISSIONS']) ? $params['PERMISSIONS'] : null;
         if ($permissions === null) {
             $permissions = \CCrmPerms::GetUserPermissions($userID);
         }
         $permissionSql = \CCrmPerms::BuildSql(\CCrmOwnerType::ResolveName($entityTypeID), '', 'READ', array('RAW_QUERY' => true, 'PERMS' => $permissions));
         if ($permissionSql === false) {
             //Access denied;
             return null;
         }
         if ($permissionSql !== '') {
             $query->addFilter('@ENTITY_ID', new Main\DB\SqlExpression($permissionSql));
         }
     }
     if ($limit > 0) {
         $query->setLimit($limit);
     }
     if ($rootEntityID > 0) {
         $dup->setRootEntityID($rootEntityID);
         $query->addFilter('!ENTITY_ID', $rootEntityID);
         $query->addFilter('!@ENTITY_ID', DuplicateIndexMismatch::prepareQueryField($this, $entityTypeID, $rootEntityID, $userID));
     }
     $dbResult = $query->exec();
     $rankings = array();
     while ($fields = $dbResult->fetch()) {
         $entityID = isset($fields['ENTITY_ID']) ? intval($fields['ENTITY_ID']) : 0;
         if ($entityID <= 0) {
             continue;
         }
         $entity = new DuplicateEntity($entityTypeID, $entityID);
         if ($enableRanking) {
             $rankings[] = $entity->getRanking();
         }
         $dup->addEntity($entity);
     }
     $this->onAfterDuplicateCreated($dup, $entityTypeID, $userID, $enablePermissionCheck, $enableRanking, $rankings);
     if ($enableRanking) {
         DuplicateEntityRanking::initializeBulk($rankings, array('CHECK_PERMISSIONS' => $enablePermissionCheck, 'USER_ID' => $userID));
     }
     return $dup;
 }
开发者ID:DarneoStudio,项目名称:bitrix,代码行数:55,代码来源:duplicatecriterion.php


示例9: preparePermissionSql

 protected function preparePermissionSql()
 {
     if ($this->permissionSql !== null) {
         return $this->permissionSql;
     }
     $userID = $this->getUserID();
     if (\CCrmPerms::IsAdmin($userID)) {
         $this->permissionSql = '';
     } else {
         $this->permissionSql = \CCrmPerms::BuildSql(\CCrmOwnerType::ResolveName($this->getEntityTypeID()), '', 'READ', array('RAW_QUERY' => true, 'PERMS' => \CCrmPerms::GetUserPermissions($userID)));
     }
     return $this->permissionSql;
 }
开发者ID:DarneoStudio,项目名称:bitrix,代码行数:13,代码来源:dedupedatasource.php


示例10: canRead

 public function canRead($userId)
 {
     if ($this->canRead !== null) {
         return $this->canRead;
     }
     /** @noinspection PhpDynamicAsStaticMethodCallInspection */
     if (\CSocNetUser::isCurrentUserModuleAdmin()) {
         $this->canRead = true;
         return $this->canRead;
     }
     if ($comment = $this->loadLogCommentData()) {
         if (strpos($comment["EVENT_ID"], "crm_") === 0) {
             $queryLog = \CSocNetLog::getList(array(), array("ID" => intval($comment["LOG_ID"])), false, false, array("ID", "ENTITY_TYPE", "ENTITY_ID"));
             if (($log = $queryLog->fetch()) && Loader::includeModule("crm")) {
                 $userPermissions = \CCrmPerms::getUserPermissions($userId);
                 if ($log["ENTITY_TYPE"] == "CRMACTIVITY") {
                     $bindings = \CCRMActivity::getBindings($log["ENTITY_ID"]);
                     foreach ($bindings as $binding) {
                         if (\CCrmAuthorizationHelper::checkReadPermission(\CCrmOwnerType::resolveName($binding["OWNER_TYPE_ID"]), $binding["OWNER_ID"], $userPermissions)) {
                             $this->canRead = true;
                             return $this->canRead;
                         }
                     }
                 } else {
                     if (\CCrmAuthorizationHelper::checkReadPermission(\CCrmLiveFeedEntity::resolveEntityTypeID($log["ENTITY_TYPE"]), $log["ENTITY_ID"], $userPermissions)) {
                         $this->canRead = true;
                         return $this->canRead;
                     } elseif (intval($comment["LOG_ID"]) > 0 && \CSocNetLogRights::checkForUser($comment["LOG_ID"], $userId)) {
                         $this->canRead = true;
                         return $this->canRead;
                     }
                 }
             }
         } elseif (intval($comment["LOG_ID"]) > 0 && \CSocNetLogRights::checkForUser($comment["LOG_ID"], $userId)) {
             $this->canRead = true;
             return $this->canRead;
         }
     }
     $this->canRead = false;
     return $this->canRead;
 }
开发者ID:DarneoStudio,项目名称:bitrix,代码行数:41,代码来源:sonetcommentconnector.php


示例11: array

        $arResult['CONTACT'][$iContactId]['EDIT'] = $CCrmPerms->CheckEnityAccess('CONTACT', 'WRITE', $arContactAttr[$iContactId]);
        $arResult['CONTACT'][$iContactId]['DELETE'] = $CCrmPerms->CheckEnityAccess('CONTACT', 'DELETE', $arContactAttr[$iContactId]);
        $arResult['CONTACT'][$iContactId]['BIZPROC_LIST'] = array();
        foreach ($arBPData as $arBP) {
            if (!CBPDocument::CanUserOperateDocument(CBPCanUserOperateOperation::StartWorkflow, $userID, array('crm', 'CCrmDocumentContact', 'CONTACT_' . $arResult['CONTACT'][$iContactId]['ID']), array('UserGroups' => $CCrmBizProc->arCurrentUserGroups, 'DocumentStates' => $arDocumentStates, 'WorkflowTemplateId' => $arBP['ID'], 'CreatedBy' => $arResult['CONTACT'][$iContactId]['ASSIGNED_BY'], 'UserIsAdmin' => $isAdmin, 'CRMEntityAttr' => $arContactAttr[$iContactId]))) {
                continue;
            }
            $arBP['PATH_TO_BIZPROC_START'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CONTACT_SHOW'], array('contact_id' => $arResult['CONTACT'][$iContactId]['ID'])), array('workflow_template_id' => $arBP['ID'], 'bizproc_start' => 1, 'sessid' => $arResult['SESSION_ID'], 'CRM_CONTACT_SHOW_V12_active_tab' => 'tab_bizproc', 'back_url' => $arParams['PATH_TO_CONTACT_LIST']));
            $arResult['CONTACT'][$iContactId]['BIZPROC_LIST'][] = $arBP;
        }
    }
}
if (!$isInExportMode) {
    $arResult['NEED_FOR_REBUILD_DUP_INDEX'] = false;
    $arResult['NEED_FOR_REBUILD_CONTACT_ATTRS'] = false;
    if (!$bInternal && CCrmPerms::IsAdmin()) {
        if (COption::GetOptionString('crm', '~CRM_REBUILD_CONTACT_DUP_INDEX', 'N') === 'Y') {
            $arResult['NEED_FOR_REBUILD_DUP_INDEX'] = true;
        }
        if (COption::GetOptionString('crm', '~CRM_REBUILD_CONTACT_ATTR', 'N') === 'Y') {
            $arResult['PATH_TO_PRM_LIST'] = CComponentEngine::MakePathFromTemplate(COption::GetOptionString('crm', 'path_to_perm_list'));
            $arResult['NEED_FOR_REBUILD_CONTACT_ATTRS'] = true;
        }
    }
    $this->IncludeComponentTemplate();
    include_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/components/bitrix/crm.contact/include/nav.php';
    return $arResult['ROWS_COUNT'];
} else {
    $APPLICATION->RestartBuffer();
    // hack. any '.default' customized template should contain 'excel' page
    $this->__templateName = '.default';
开发者ID:mrdeadmouse,项目名称:u136006,代码行数:31,代码来源:component.php


示例12: __CrmMobileDealEditEndResonse

//$langID = isset($_REQUEST['lang_id'])? $_REQUEST['lang_id']: LANGUAGE_ID;
//__IncludeLang(dirname(__FILE__).'/lang/'.$langID.'/'.basename(__FILE__));
CUtil::JSPostUnescape();
if (!function_exists('__CrmMobileDealEditEndResonse')) {
    function __CrmMobileDealEditEndResonse($result)
    {
        $GLOBALS['APPLICATION']->RestartBuffer();
        Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
        if (!empty($result)) {
            echo CUtil::PhpToJSObject($result);
        }
        require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_after.php';
        die;
    }
}
$curUserPrems = CCrmPerms::GetCurrentUserPermissions();
$action = isset($_REQUEST['ACTION']) ? $_REQUEST['ACTION'] : '';
if ($action === 'SAVE_ENTITY') {
    __IncludeLang(dirname(__FILE__) . '/lang/' . LANGUAGE_ID . '/' . basename(__FILE__));
    $typeName = isset($_REQUEST['ENTITY_TYPE_NAME']) ? $_REQUEST['ENTITY_TYPE_NAME'] : '';
    if ($typeName !== CCrmOwnerType::DealName) {
        __CrmMobileDealEditEndResonse(array('ERROR' => GetMessage('CRM_ENTITY_TYPE_NOT_SUPPORTED', array('#ENTITY_TYPE#' => $typeName))));
    }
    $data = isset($_REQUEST['ENTITY_DATA']) && is_array($_REQUEST['ENTITY_DATA']) ? $_REQUEST['ENTITY_DATA'] : array();
    if (count($data) == 0) {
        __CrmMobileDealEditEndResonse(array('ERROR' => GetMessage('CRM_ENTITY_DATA_NOT_FOUND')));
    }
    $ID = isset($data['ID']) ? intval($data['ID']) : 0;
    $isNew = $ID <= 0;
    $hasPermission = $isNew ? CCrmDeal::CheckCreatePermission() : CCrmDeal::CheckUpdatePermission($ID);
    if (!$hasPermission) {
开发者ID:mrdeadmouse,项目名称:u136006,代码行数:31,代码来源:ajax.php


示例13: Prepare

 public function Prepare($arOrder = array(), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array(), $arOptions = array())
 {
     global $DB;
     if (!is_array($arOrder)) {
         $arOrder = array();
     }
     if (!is_array($arFilter)) {
         $arFilter = array();
     }
     // ID must present in select (If select is empty it will be filled by CSqlUtil::PrepareSql)
     if (!is_array($arSelectFields)) {
         $arSelectFields = array();
     }
     if (count($arSelectFields) > 0 && !in_array('*', $arSelectFields, true) && !in_array('ID', $arSelectFields, true)) {
         $arSelectFields[] = 'ID';
     }
     if (!is_array($arOptions)) {
         $arOptions = array();
     }
     $arOptions['DB_TYPE'] = $this->dbType;
     $isExternalContext = isset($arOptions['IS_EXTERNAL_CONTEXT']) && ($arOptions['IS_EXTERNAL_CONTEXT'] === true || $arOptions['IS_EXTERNAL_CONTEXT'] === 'Y');
     if ($isExternalContext) {
         // Sanitizing of filter data
         if (isset($arFilter['__JOINS'])) {
             unset($arFilter['__JOINS']);
         }
         if (isset($arFilter['CHECK_PERMISSIONS'])) {
             unset($arFilter['CHECK_PERMISSIONS']);
         }
     }
     // Processing of special fields
     if ($this->fmEntityID !== '' && isset($arFilter['FM'])) {
         CCrmFieldMulti::PrepareExternalFilter($arFilter, array('ENTITY_ID' => $this->fmEntityID, 'MASTER_ALIAS' => $this->tableAlias, 'MASTER_IDENTITY' => 'ID'));
     }
     // Processing user fields
     $ufSelectSql = null;
     $ufFilterSql = null;
     if ($this->ufEntityID !== '') {
         $ufSelectSql = new CUserTypeSQL();
         $ufSelectSql->SetEntity($this->ufEntityID, $this->tableAlias . '.ID');
         $ufSelectSql->SetSelect($arSelectFields);
         $ufSelectSql->SetOrder($arOrder);
         $ufFilterSql = new CUserTypeSQL();
         $ufFilterSql->SetEntity($this->ufEntityID, $this->tableAlias . '.ID');
         $ufFilterSql->SetFilter($arFilter);
         $userType = new CCrmUserType($GLOBALS['USER_FIELD_MANAGER'], $this->ufEntityID);
         $userType->ListPrepareFilter($arFilter);
     }
     $this->sqlData = CSqlUtil::PrepareSql($this->fields, $arOrder, $arFilter, $arGroupBy, $arSelectFields, $arOptions);
     $this->sqlData['SELECT'] = str_replace('%%_DISTINCT_%% ', '', $this->sqlData['SELECT']);
     // 'Joins' implement custom filter logic
     $joins = array();
     if (isset($arFilter['__JOINS'])) {
         if (is_array($arFilter['__JOINS'])) {
             $joins = $arFilter['__JOINS'];
         }
         unset($arFilter['__JOINS']);
     }
     if (count($joins) > 0) {
         foreach ($joins as &$join) {
             // INNER JOINs will be added tostart
             $this->Add2SqlData($join['SQL'], 'FROM', !isset($join['TYPE']) || $join['TYPE'] === 'INNER', isset($join['REPLACE']) ? $join['REPLACE'] : '');
         }
         unset($join);
     }
     // Apply user permission logic
     if (count($this->permissionCallback) > 0) {
         if ((!array_key_exists('CHECK_PERMISSIONS', $arFilter) || $arFilter['CHECK_PERMISSIONS'] !== 'N') && !CCrmPerms::IsAdmin()) {
             $arPermType = !isset($arFilter['PERMISSION']) ? 'READ' : (is_array($arFilter['PERMISSION']) ? $arFilter['PERMISSION'] : array($arFilter['PERMISSION']));
             $permissionSql = call_user_func_array($this->permissionCallback, array($this->tableAlias, $arPermType, $arOptions));
             if (is_bool($permissionSql) && !$permissionSql) {
                 $CDBResult = new CDBResult();
                 $CDBResult->InitFromArray(array());
                 return $CDBResult;
             }
             if ($permissionSql !== '') {
                 $sqlType = isset($arOptions['PERMISSION_SQL_TYPE']) && $arOptions['PERMISSION_SQL_TYPE'] === 'FROM' ? 'FROM' : 'WHERE';
                 $this->Add2SqlData($permissionSql, $sqlType, $sqlType === 'FROM');
             }
         }
     }
     // Apply custom SQL logic
     if (count($this->afterPrepareSqlCallback) > 0) {
         $arUserSql = call_user_func_array($this->afterPrepareSqlCallback, array($this, $arOrder, $arFilter, $arGroupBy, $arSelectFields));
         if (is_array($arUserSql)) {
             if (isset($arUserSql['FROM'])) {
                 $this->Add2SqlData($arUserSql['FROM'], 'FROM');
             }
             if (isset($arUserSql['WHERE'])) {
                 $this->Add2SqlData($arUserSql['WHERE'], 'WHERE');
             }
         }
     }
     if ($ufSelectSql) {
         // Adding user fields to SELECT
         $this->Add2SqlData($ufSelectSql->GetSelect(), 'SELECT');
         // Adding user fields to ORDER BY
         if (is_array($arOrder)) {
             foreach ($arOrder as $orderKey => $order) {
                 $orderSql = $ufSelectSql->GetOrder($orderKey);
//.........这里部分代码省略.........
开发者ID:DarneoStudio,项目名称:bitrix,代码行数:101,代码来源:crm_entity_list_builder.php


示例14: CCrmPerms

<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if (!CModule::IncludeModule("crm")) {
    return;
}
global $USER;
$CCrmPerms = new CCrmPerms($USER->GetID());
$arSupportedTypes = array();
// all entity types are defined in settings
$arSettings = $arParams['arUserField']['SETTINGS'];
if (isset($arSettings['LEAD']) && $arSettings['LEAD'] === 'Y') {
    $arSupportedTypes[] = 'LEAD';
}
if (isset($arSettings['CONTACT']) && $arSettings['CONTACT'] === 'Y') {
    $arSupportedTypes[] = 'CONTACT';
}
if (isset($arSettings['COMPANY']) && $arSettings['COMPANY'] === 'Y') {
    $arSupportedTypes[] = 'COMPANY';
}
if (isset($arSettings['DEAL']) && $arSettings['DEAL'] === 'Y') {
    $arSupportedTypes[] = 'DEAL';
}
if (isset($arSettings['QUOTE']) && $arSettings['QUOTE'] === 'Y') {
    $arSupportedTypes[] = 'QUOTE';
}
if (isset($arSettings['PRODUCT']) && $arSettings['PRODUCT'] === 'Y') {
    $arSupportedTypes[] = 'PRODUCT';
}
开发者ID:Satariall,项目名称:izurit,代码行数:31,代码来源:result_modifier.php


示例15: __CrmLeadListEndResonse

    function __CrmLeadListEndResonse($result)
    {
        $GLOBALS['APPLICATION']->RestartBuffer();
        Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
        if (!empty($result)) {
            echo CUtil::PhpToJSObject($result);
        }
        require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_after.php';
        die;
    }
}
if (!CModule::IncludeModule('crm')) {
    __CrmLeadListEndResonse(array('ERROR' => 'Could not include crm module.'));
}
$userPerms = CCrmPerms::GetCurrentUserPermissions();
if (!CCrmPerms::IsAuthorized()) {
    __CrmLeadListEndResonse(array('ERROR' => 'Access denied.'));
}
$action = isset($_REQUEST['ACTION']) ? $_REQUEST['ACTION'] : '';
if (isset($_REQUEST['MODE']) && $_REQUEST['MODE'] === 'SEARCH') {
    if ($userPerms->HavePerm('LEAD', BX_CRM_PERM_NONE, 'READ')) {
        return;
    }
    __IncludeLang(dirname(__FILE__) . '/lang/' . LANGUAGE_ID . '/' . basename(__FILE__));
    CUtil::JSPostUnescape();
    $APPLICATION->RestartBuffer();
    // Limit count of items to be found
    $nPageTop = 50;
    // 50 items by default
    if (isset($_REQUEST['LIMIT_COUNT']) && $_REQUEST['LIMIT_COUNT'] >= 0) {
        $rawNPageTop = (int) $_REQUEST['LIMIT_COUNT'];
开发者ID:mrdeadmouse,项目名称:u136006,代码行数:31,代码来源:list.ajax.php


示例16: IncludeModuleLangFile

<?php

require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php";
IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/intranet/public/crm/index.php");
$APPLICATION->SetTitle(GetMessage("CRM_TITLE"));
$APPLICATION->SetPageProperty("BodyClass", " page-one-column");
if (CModule::IncludeModule('crm') && CCrmPerms::IsAccessEnabled()) {
    $APPLICATION->IncludeComponent('bitrix:crm.control_panel', '', array('ID' => 'COMPANY_LIST', 'ACTIVE_ITEM_ID' => '', 'PATH_TO_COMPANY_LIST' => '#SITE_DIR#crm/company/', 'PATH_TO_COMPANY_EDIT' => '#SITE_DIR#crm/company/edit/#company_id#/', 'PATH_TO_CONTACT_LIST' => '#SITE_DIR#crm/contact/', 'PATH_TO_CONTACT_EDIT' => '#SITE_DIR#crm/contact/edit/#contact_id#/', 'PATH_TO_DEAL_LIST' => '#SITE_DIR#crm/deal/', 'PATH_TO_DEAL_EDIT' => '#SITE_DIR#crm/deal/edit/#deal_id#/', 'PATH_TO_QUOTE_LIST' => '#SITE_DIR#crm/quote/', 'PATH_TO_QUOTE_EDIT' => '#SITE_DIR#crm/quote/edit/#quote_id#/', 'PATH_TO_INVOICE_LIST' => '#SITE_DIR#crm/invoice/', 'PATH_TO_INVOICE_EDIT' => '#SITE_DIR#crm/invoice/edit/#invoice_id#/', 'PATH_TO_LEAD_LIST' => '#SITE_DIR#crm/lead/', 'PATH_TO_LEAD_EDIT' => '#SITE_DIR#crm/lead/edit/#lead_id#/', 'PATH_TO_REPORT_LIST' => '#SITE_DIR#crm/reports/report/', 'PATH_TO_DEAL_FUNNEL' => '#SITE_DIR#crm/reports/', 'PATH_TO_EVENT_LIST' => '#SITE_DIR#crm/events/', 'PATH_TO_PRODUCT_LIST' => '#SITE_DIR#crm/product/', 'PATH_TO_SETTINGS' => '#SITE_DIR#crm/configs/', 'PATH_TO_SEARCH_PAGE' => '#SITE_DIR#search/index.php?where=crm'));
    $APPLICATION->IncludeComponent("bitrix:desktop", "", array("GADGETS_FIXED" => array(), "ID" => "crm", "CAN_EDIT" => "Y", "COLUMNS" => "3", "PM_URL" => "/company/personal/messages/chat/#USER_ID#/", "PATH_TO_CONPANY_DEPARTMENT" => "/company/structure.php?set_filter_structure=Y&structure_UF_DEPARTMENT=#ID#", "PATH_TO_VIDEO_CALL" => "/company/personal/video/#USER_ID#/", "NAME_TEMPLATE" => "", "SHOW_LOGIN" => "Y", "DATE_TIME_FORMAT" => LANGUAGE_ID == "en" ? "m/d/Y H:i:s" : (LANGUAGE_ID == "de" ? "d.m.Y H:i:s" : "d.m.Y H:i:s"), "DATE_FORMAT" => LANGUAGE_ID == "en" ? "m/d/Y" : (LANGUAGE_ID == "de" ? "d.m.Y" : "d.m.Y"), "DATE_FORMAT_NO_YEAR" => LANGUAGE_ID == "en" ? "m/d" : (LANGUAGE_ID == "de" ? "d.m" : "d.m"), "SHOW_YEAR" => "M", "COLUMN_WIDTH_0" => "50%", "COLUMN_WIDTH_1" => "50%", "COLUMN_WIDTH_2" => "260px", "GADGETS" => array("ALL"), "G_RSSREADER_CACHE_TIME" => "3600", "G_RSSREADER_SHOW_URL" => "N", "G_RSSREADER_PREDEFINED_RSS" => "", "GU_RSSREADER_TITLE_STD" => "", "GU_RSSREADER_CNT" => "10", "GU_RSSREADER_RSS_URL" => "", "G_VIDEO_IBLOCK_TYPE" => "", "G_VIDEO_IBLOCK_ID" => "", "G_VIDEO_LIST_URL" => "/about/media.php", "G_VIDEO_CACHE_TYPE" => "A", "G_VIDEO_CACHE_TIME" => "3600", "GU_VIDEO_TITLE_STD" => "", "G_VOTE_CHANNEL_SID" => "-", "G_VOTE_CACHE_TYPE" => "A", "G_VOTE_CACHE_TIME" => "3600", "G_VOTE_LIST_URL" => "/services/votes.php", "GU_VOTE_TITLE_STD" => "", "GU_GOOGLE_GADGETS_TITLE_STD" => "", "G_BIRTHDAY_STRUCTURE_PAGE" => "structure.php", "G_BIRTHDAY_PM_URL" => "/company/personal/messages/chat/#USER_ID#/", "G_BIRTHDAY_SHOW_YEAR" => "Y", "G_BIRTHDAY_USER_PROPERTY" => array("WORK_POSITION"), "G_BIRTHDAY_LIST_URL" => "/company/birthdays.php", "GU_BIRTHDAY_TITLE_STD" => "", "GU_BIRTHDAY_NUM_USERS" => "5", "GU_BIRTHDAY_DEPARTMENT" => "-", "G_HONOUR_LIST_URL" => "/company/leaders.php", "GU_HONOUR_TITLE_STD" => "", "GU_HONOUR_NUM_USERS" => "5", "GU_HTML_AREA_TITLE_STD" => "", "GU_FAVORITES_TITLE_STD" => "", "G_ADV_TYPE" => "-", "GU_ADV_TITLE_STD" => "", "G_TASKS_IBLOCK_ID" => "15", "G_TASKS_PAGE_VAR" => "page", "G_TASKS_GROUP_VAR" => "group_id", "G_TASKS_VIEW_VAR" => "user_id", "G_TASKS_TASK_VAR" => "task_id", "G_TASKS_ACTION_VAR" => "action", "G_TASKS_PATH_TO_GROUP_TASKS" => "/workgroups/group/#group_id#/tasks/", "G_TASKS_PATH_TO_GROUP_TASKS_TASK" => "/workgroups/group/#group_id#/tasks/task/#action#/#task_id#/", "G_TASKS_PATH_TO_USER_TASKS" => "/company/personal/user/#user_id#/tasks/", "G_TASKS_PATH_TO_USER_TASKS_TASK" => "/company/personal/user/#user_id#/tasks/task/#action#/#task_id#/", "G_TASKS_PATH_TO_TASK" => "/company/personal/user/#user_id#/tasks/", "G_TASKS_PATH_TO_TASK_NEW" => "/company/personal/user/#user_id#/tasks/task/edit/0/", "GU_TASKS_TITLE_STD" => "", "GU_TASKS_ITEMS_COUNT" => "20", "GU_TASKS_ORDER_BY" => "E", "GU_TASKS_TYPE" => "Z", "G_TICKETS_PATH_TO_TICKET_EDIT" => "/extranet/services/support.php?ID=#ID#", "G_TICKETS_PATH_TO_TICKET_NEW" => "/extranet/services/support.php?show_wizard=Y", "GU_TICKETS_TITLE_STD" => "", "GU_TICKETS_ITEMS_COUNT" => "5", "GU_TICKETS_LAMP" => array(), "G_MESSAGES_PATH_TO_USER" => "/company/personal/user/#user_id#/", "G_MESSAGES_PATH_TO_GROUP" => "/company/personal/group/#group_id#/", "G_MESSAGES_PATH_TO_MESSAGE_FORM" => "/company/personal/messages/form/#user_id#/", "G_MESSAGES_PATH_TO_MESSAGE_FORM_MESS" => "/company/personal/messages/form/#user_id#/#message_id#/", "G_MESSAGES_PATH_TO_MESSAGES_CHAT" => "/company/personal/messages/chat/#user_id#/", "G_MESSAGES_PATH_TO_SMILE" => "/bitrix/images/socialnetwork/smile/", "G_MESSAGES_AJAX_LONG_TIMEOUT" => "60", "G_MESSAGES_MESSAGE_VAR" => "message_id", "G_MESSAGES_PAGE_VAR" => "page", "G_MESSAGES_USER_VAR" => "user_id", "G_MESSAGES_INBOX_URL" => "/company/personal/messages/input/", "G_MESSAGES_SENT_URL" => "/company/personal/messages/output/", "GU_MESSAGES_TITLE_STD" => "", "G_CALENDAR_IBLOCK_TYPE" => "news", "G_CALENDAR_IBLOCK_ID" => "15", "G_CALENDAR_DETAIL_URL" => "/company/personal/user/#user_id#/calendar/", "G_CALENDAR_CACHE_TYPE" => "A", "G_CALENDAR_CACHE_TIME" => "3600", "G_CALENDAR_CALENDAR_URL" => "/company/personal/user/#user_id#/calendar/", "GU_CALENDAR_TITLE_STD" => "", "GU_CALENDAR_EVENTS_COUNT" => "5", "G_PROFILE_PATH_TO_GENERAL" => "/company/personal/", "G_PROFILE_PATH_TO_PROFILE_EDIT" => "/company/personal/user/#user_id#/edit/", "G_PROFILE_PATH_TO_LOG" => "/company/personal/log/", "G_PROFILE_PATH_TO_SUBSCR" => "/company/personal/subscribe/", "G_PROFILE_PATH_TO_MSG" => "/company/personal/messages/", "G_PROFILE_PATH_TO_GROUPS" => "/company/personal/user/#user_id#/groups/", "G_PROFILE_PATH_TO_GROUP_NEW" => "/company/personal/user/#user_id#/groups/create/", "G_PROFILE_PATH_TO_PHOTO" => "/company/personal/user/#user_id#/photo/", "G_PROFILE_PATH_TO_PHOTO_NEW" => "/company/personal/user/#user_id#/photo/photo/user_#user_id#/0/action/upload/", "G_PROFILE_PATH_TO_FORUM" => "/company/personal/user/#user_id#/forum/", "G_PROFILE_PATH_TO_BLOG" => "/company/personal/user/#user_id#/blog/", "G_PROFILE_PATH_TO_BLOG_NEW" => "/company/personal/user/#user_id#/blog/edit/new/", "G_PROFILE_PATH_TO_CAL" => "/company/personal/user/#user_id#/calendar/", "G_PROFILE_PATH_TO_TASK" => "/company/personal/user/#user_id#/tasks/", "G_PROFILE_PATH_TO_TASK_NEW" => "/company/personal/user/#user_id#/tasks/task/edit/0/", "G_PROFILE_PATH_TO_LIB" => "/company/personal/user/#user_id#/files/lib/", "GU_PROFILE_TITLE_STD" => "", "GU_PROFILE_SHOW_GENERAL" => "Y", "GU_PROFILE_SHOW_GROUPS" => "Y", "GU_PROFILE_SHOW_PHOTO" => "Y", "GU_PROFILE_SHOW_CAL" => "Y", "GU_PROFILE_SHOW_BLOG" => "Y", "GU_PROFILE_SHOW_TASK" => "Y", "GU_PROFILE_SHOW_LIB" => "Y", "G_SEARCH_EMPLOYEE_LIST_URL" => "/company/", "GU_SEARCH_EMPLOYEE_TITLE_STD" => "", "G_LIFE_IBLOCK_TYPE" => "news", "G_LIFE_IBLOCK_ID" => $_REQUEST["ID"], "G_LIFE_ACTIVE_DATE_FORMAT" => LANGUAGE_ID == "en" ? "F j, Y" : (LANGUAGE_ID == "de" ? "d.m.Y" : "d.m.Y"), "G_LIFE_LIST_URL" => "/about/life.php", "G_LIFE_DETAIL_URL" => "/about/life.php?ID=#ELEMENT_ID#", "G_LIFE_CACHE_TYPE" => "A", "G_LIFE_CACHE_TIME" => "36000000", "GU_LIFE_TITLE_STD" => "", "GU_LIFE_NEWS_COUNT" => "5", "GU_LIFE_DISPLAY_DATE" => "Y", "GU_LIFE_DISPLAY_PICTURE" => "Y", "GU_LIFE_DISPLAY_PREVIEW_TEXT" => "Y", "G_BLOG_PATH_TO_BLOG" => "/company/personal/user/#user_id#/blog/", "G_BLOG_PATH_TO_POST" => "/company/personal/user/#user_id#/blog/#post_id#/", "G_BLOG_PATH_TO_GROUP_BLOG_POST" => "/workgroups/group/#group_id#/blog/#post_id#/", "G_BLOG_PATH_TO_USER" => "/company/personal/user/#user_id#/", "G_BLOG_CACHE_TYPE" => "A", "G_BLOG_CACHE_TIME" => "180", "GU_BLOG_TITLE_STD" => "", "GU_BLOG_MESSAGE_COUNT" => "6", "GU_BLOG_MESSAGE_LENGTH" => "100", "GU_BLOG_DATE_TIME_FORMAT" => "#DATE_TIME_FORMAT#", "G_NEW_EMPLOYEES_LIST_URL" => "/company/events.php", "GU_NEW_EMPLOYEES_TITLE_STD" => "", "GU_NEW_EMPLOYEES_NUM_USERS" => "5", "GU_NEW_EMPLOYEES_DEPARTMENT" => "-", "G_UPDATES_USER_VAR" => "user_id", "G_UPDATES_GROUP_VAR" => "group_id", "G_UPDATES_PAGE_VAR" => "page", "G_UPDATES_PATH_TO_USER" => "/company/personal/user/#user_id#/", "G_UPDATES_PATH_TO_GROUP" => "/workgroups/group/#group_id#/", "G_UPDATES_LIST_URL" => "/company/personal/log/", "GU_UPDATES_TITLE_STD" => "", "GU_UPDATES_ENTITY_TYPE" => "", "GU_UPDATES_EVENT_ID" => "", "G_SHARED_DOCS_IBLOCK_TYPE" => "library", "G_SHARED_DOCS_IBLOCK_ID" => $_REQUEST["ID"], "G_SHARED_DOCS_LIST_URL" => "/docs/", "G_SHARED_DOCS_DETAIL_URL" => "/docs/shared/element/view/#ELEMENT_ID#/", "G_SHARED_DOCS_CACHE_TYPE" => "A", "G_SHARED_DOCS_CACHE_TIME" => "3600", "GU_SHARED_DOCS_TITLE_STD" => "", "GU_SHARED_DOCS_DOCS_COUNT" => "5", "GU_SHARED_DOCS_DISPLAY_DATE" => "Y", "GU_SHARED_DOCS_DISPLAY_PICTURE" => "Y", "GU_SHARED_DOCS_DISPLAY_PREVIEW_TEXT" => "Y", "G_ABSENT_LIST_URL" => "/company/absence.php", "GU_ABSENT_TITLE_STD" => "", "GU_ABSENT_NUM_USERS" => "5", "GU_ABSENT_DEPARTMENT" => "-", "G_REPORT1C_CACHE_TYPE" => "A", "G_REPORT1C_CACHE_TIME" => "0", "GU_REPORT1C_TITLE_STD" => "", "GU_REPORT1C_INITIALREPORT" => "shortreport", "GU_REPORT1C_URL" => "localhost", "GU_REPORT1C_PORT" => "8080", "GU_REPORT1C_PATH" => "/ws/report.1cws", "GU_REPORT1C_LOGIN" => "", "GU_REPORT1C_PASSWORD" => "", "G_OFFICIAL_IBLOCK_TYPE" => "news", "G_OFFICIAL_IBLOCK_ID" => $_REQUEST["ID"], "G_OFFICIAL_LIST_URL" => "/about/index.php", "G_OFFICIAL_DETAIL_URL" => "/about/official.php?ID=#ELEMENT_ID#", "G_OFFICIAL_ACTIVE_DATE_FORMAT" => LANGUAGE_ID == "en" ? "F j, Y" : (LANGUAGE_ID == "de" ? "d.m.Y" : "d.m.Y"), "G_OFFICIAL_CACHE_TYPE" => "A", "G_OFFICIAL_CACHE_TIME" => "36000000", "GU_OFFICIAL_TITLE_STD" => "", "GU_OFFICIAL_NEWS_COUNT" => "5", "GU_OFFICIAL_DISPLAY_PREVIEW_TEXT" => "Y", "G_PROBKI_CACHE_TIME" => "3600", "G_PROBKI_SHOW_URL" => "N", "GU_PROBKI_TITLE_STD" => "", "GU_PROBKI_CITY" => "c213", "G_WEATHER_CACHE_TIME" => "3600", "G_WEATHER_SHOW_URL" => "N", "GU_WEATHER_TITLE_STD" => "", "GU_WEATHER_CITY" => "c213", "G_WORKGROUPS_GROUP_VAR" => "group_id", "G_WORKGROUPS_PATH_TO_GROUP" => "/workgroups/group/#group_id#/", "G_WORKGROUPS_PATH_TO_GROUP_SEARCH" => "/workgroups/", "G_WORKGROUPS_CACHE_TIME" => "3600", "GU_WORKGROUPS_TITLE_STD" => "", "GU_WORKGROUPS_DATE_TIME_FORMAT" => LANGUAGE_ID == "en" ? "F j, Y H:i:s" : (LANGUAGE_ID == "de" ? "d.m.Y H:i:s" : "d.m.Y H:i:s"), "GU_WORKGROUPS_DISPLAY_PICTURE" => "Y", "GU_WORKGROUPS_DISPLAY_DESCRIPTION" => "Y", "GU_WORKGROUPS_DISPLAY_NUMBER_OF_MEMBERS" => "Y", "GU_WORKGROUPS_FILTER_MY" => "N", "G_COMPANY_CALENDAR_IBLOCK_TYPE" => "news", "G_COMPANY_CALENDAR_IBLOCK_ID" => "15", "G_COMPANY_CALENDAR_DETAIL_URL" => "/about/calendar.php", "G_COMPANY_CALENDAR_CACHE_TYPE" => "A", "G_COMPANY_CALENDAR_CACHE_TIME" => "3600", "GU_COMPANY_CALENDAR_TITLE_STD" => "", "GU_COMPANY_CALENDAR_EVENTS_COUNT" => "5", "G_CRM_COMPANY_LIST_PATH_TO_COMPANY_SHOW" => "#SITE_DIR#crm/company/show/#company_id#/", "GU_CRM_COMPANY_LIST_TITLE_STD" => "", "GU_CRM_COMPANY_LIST_TYPE_ID" => "", "GU_CRM_COMPANY_LIST_ONLY_MY" => "N", "GU_CRM_COMPANY_LIST_SORT" => "DATE_CREATE", "GU_CRM_COMPANY_LIST_SORT_BY" => "DESC", "GU_CRM_COMPANY_LIST_COMPANY_COUNT" => "5", "G_CRM_CONTACT_LIST_PATH_TO_CONTACT_SHOW" => "#SITE_DIR#crm/contact/show/#contact_id#/", "GU_CRM_CONTACT_LIST_TITLE_STD" => "", "GU_CRM_CONTACT_LIST_TYPE_ID" => "", "GU_CRM_CONTACT_LIST_ONLY_MY" => "N", "GU_CRM_CONTACT_LIST_SORT" => "DATE_CREATE", "GU_CRM_CONTACT_LIST_SORT_BY" => "DESC", "GU_CRM_CONTACT_LIST_CONTACT_COUNT" => "5", "G_CRM_LEAD_LIST_PATH_TO_LEAD_SHOW" => "#SITE_DIR#crm/lead/show/#lead_id#/", "GU_CRM_LEAD_LIST_TITLE_STD" => "", "GU_CRM_LEAD_LIST_STATUS_ID" => "", "GU_CRM_LEAD_LIST_ONLY_MY" => "N", "GU_CRM_LEAD_LIST_SORT" => "DATE_CREATE", "GU_CRM_LEAD_LIST_SORT_BY" => "DESC", "GU_CRM_LEAD_LIST_LEAD_COUNT" => "5", "G_CRM_DEAL_LIST_PATH_TO_DEAL_SHOW" => "#SITE_DIR#crm/deal/show/#deal_id#/", "GU_CRM_DEAL_LIST_TITLE_STD" => "", "GU_CRM_DEAL_LIST_STAGE_ID" => "", "GU_CRM_DEAL_LIST_ONLY_MY" => "N", "GU_CRM_DEAL_LIST_SORT" => "DATE_CREATE", "GU_CRM_DEAL_LIST_SORT_BY" => "DESC", "GU_CRM_DEAL_LIST_DEAL_COUNT" => "5", "G_CRM_EVENT_LIST_PATH_TO_LEAD_SHOW" => "#SITE_DIR#crm/lead/show/#lead_id#/", "G_CRM_EVENT_LIST_PATH_TO_CONTACT_SHOW" => "#SITE_DIR#crm/contact/show/#contact_id#/", "G_CRM_EVENT_LIST_PATH_TO_COMPANY_SHOW" => "#SITE_DIR#crm/company/show/#company_id#/", "G_CRM_EVENT_LIST_PATH_TO_DEAL_SHOW" => "#SITE_DIR#crm/deal/show/#deal_id#/", "GU_CRM_EVENT_LIST_TITLE_STD" => "", "GU_CRM_EVENT_LIST_EVENT_TYPE_LIST" => "", "GU_CRM_EVENT_LIST_EVENT_COUNT" => "5", "G_PHOTOS_IBLOCK_TYPE" => "news", "G_PHOTOS_IBLOCK_ID" => "", "G_PHOTOS_LIST_URL" => "/about/gallery/", "G_PHOTOS_DETAIL_URL" => "/about/gallery/#SECTION_ID#/#ELEMENT_ID#/", "G_PHOTOS_DETAIL_SLIDE_SHOW_URL" => "/about/gallery/#SECTION_ID#/#ELEMENT_ID#/slide_show/", "G_PHOTOS_CACHE_TYPE" => "A", "G_PHOTOS_CACHE_TIME" => "3600", "GU_PHOTOS_TITLE_STD" => "", "GU_PHOTOS_PAGE_ELEMENTS" => "6"));
}
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/footer.php";
开发者ID:mrdeadmouse,项目名称:u136006,代码行数:11,代码来源:index.php


示例17: ShowError

}
if (!CModule::IncludeModule('sale')) {
    ShowError(GetMessage('CRM_SALE_MODULE_NOT_INSTALLED'));
    return;
}
global $USER, $APPLICATION;
$arParams['PATH_TO_LOCATIONS_LIST'] = CrmCheckPath('PATH_TO_LOCATIONS_LIST', $arParams['PATH_TO_LOCATIONS_LIST'], '');
$arParams['PATH_TO_LOCATIONS_ADD'] = CrmCheckPath('PATH_TO_LOCATIONS_ADD', $arParams['PATH_TO_LOCATIONS_ADD'], '?add');
$arParams['PATH_TO_LOCATIONS_EDIT'] = CrmCheckPath('PATH_TO_LOCATIONS_EDIT', $arParams['PATH_TO_LOCATIONS_EDIT'], '?loc_id=#loc_id#&edit');
$arParams['PATH_TO_LOCATIONS_IMPORT'] = CrmCheckPath('PATH_TO_LOCATIONS_IMPORT', $arParams['PATH_TO_LOCATIONS_IMPORT'], '?import');
if (!isset($arParams['TYPE'])) {
    $arParams['TYPE'] = 'list';
}
$arResult['BUTTONS'] = array();
$locID = isset($arParams['LOC_ID']) ? strval($arParams['LOC_ID']) : '';
$CrmPerms = new CCrmPerms($USER->GetID());
$locAdd = $locEdit = $locDelete = $locImport = $CrmPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'WRITE');
if (CSaleLocation::isLocationProMigrated()) {
    $exists = intval($locID > 0) && CCrmLocations::CheckLocationExists($locID);
} else {
    $exists = intval($locID > 0) && is_array(CCrmLocations::GetByID($locID));
}
########################
########################
########################
// LIST
if ($arParams['TYPE'] == 'list') {
    $parentId = false;
    // STEP UP IN LIST
    if (CSaleLo 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP CCrmSecurityHelper类代码示例发布时间:2022-05-23
下一篇:
PHP CCrmOwnerType类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap