コード例 #1
0
 /**
  * Import Custom views of the module
  * @access private
  */
 function update_CustomViews($modulenode, $moduleInstance)
 {
     if (empty($modulenode->customviews) || empty($modulenode->customviews->customview)) {
         return;
     }
     foreach ($modulenode->customviews->customview as $customviewnode) {
         $filterInstance = Vtiger_Filter::getInstance($customviewnode->viewname, $moduleInstance);
         if (!$filterInstance) {
             $filterInstance = $this->import_CustomView($modulenode, $moduleInstance, $customviewnode);
         } else {
             $this->update_CustomView($modulenode, $moduleInstance, $customviewnode, $filterInstance);
         }
     }
 }
コード例 #2
0
ファイル: ModuleBasic.php プロジェクト: cin-system/cinrepo
 /**
  * Delete this instance
  */
 function delete()
 {
     if ($this->isentitytype) {
         Vtiger_Access::deleteSharing($this);
         Vtiger_Access::deleteTools($this);
         Vtiger_Filter::deleteForModule($this);
         Vtiger_Block::deleteForModule($this);
         if (method_exists($this, 'deinitWebservice')) {
             $this->deinitWebservice();
         }
     }
     $this->__delete();
     Vtiger_Profile::deleteForModule($this);
     Vtiger_Link::deleteAll($this->id);
     Vtiger_Menu::detachModule($this);
     self::syncfile();
 }
コード例 #3
0
ファイル: PackageExport.php プロジェクト: hardikk/HNH
 /**
  * Export Custom views of the module
  * @access private
  */
 function export_CustomViews($moduleInstance)
 {
     global $adb;
     $customviewres = $adb->pquery("SELECT * FROM vtiger_customview WHERE entitytype = ?", array($moduleInstance->name));
     $customviewcount = $adb->num_rows($customviewres);
     if (empty($customviewcount)) {
         return;
     }
     $this->openNode('customviews');
     for ($cvindex = 0; $cvindex < $customviewcount; ++$cvindex) {
         $cvid = $adb->query_result($customviewres, $cvindex, 'cvid');
         $cvcolumnres = $adb->query("SELECT * FROM vtiger_cvcolumnlist WHERE cvid={$cvid}");
         $cvcolumncount = $adb->num_rows($cvcolumnres);
         $this->openNode('customview');
         $setdefault = $adb->query_result($customviewres, $cvindex, 'setdefault');
         $setdefault = $setdefault == 1 ? 'true' : 'false';
         $setmetrics = $adb->query_result($customviewres, $cvindex, 'setmetrics');
         $setmetrics = $setmetrics == 1 ? 'true' : 'false';
         $this->outputNode($adb->query_result($customviewres, $cvindex, 'viewname'), 'viewname');
         $this->outputNode($setdefault, 'setdefault');
         $this->outputNode($setmetrics, 'setmetrics');
         $this->openNode('fields');
         for ($index = 0; $index < $cvcolumncount; ++$index) {
             $cvcolumnindex = $adb->query_result($cvcolumnres, $index, 'columnindex');
             $cvcolumnname = $adb->query_result($cvcolumnres, $index, 'columnname');
             $cvcolumnnames = explode(':', $cvcolumnname);
             $cvfieldname = $cvcolumnnames[2];
             $this->openNode('field');
             $this->outputNode($cvfieldname, 'fieldname');
             $this->outputNode($cvcolumnindex, 'columnindex');
             $cvcolumnruleres = $adb->pquery("SELECT * FROM vtiger_cvadvfilter WHERE cvid=? AND columnname=?", array($cvid, $cvcolumnname));
             $cvcolumnrulecount = $adb->num_rows($cvcolumnruleres);
             if ($cvcolumnrulecount) {
                 $this->openNode('rules');
                 for ($rindex = 0; $rindex < $cvcolumnrulecount; ++$rindex) {
                     $cvcolumnruleindex = $adb->query_result($cvcolumnruleres, $rindex, 'columnindex');
                     $cvcolumnrulecomp = $adb->query_result($cvcolumnruleres, $rindex, 'comparator');
                     $cvcolumnrulevalue = $adb->query_result($cvcolumnruleres, $rindex, 'value');
                     $cvcolumnrulecomp = Vtiger_Filter::translateComparator($cvcolumnrulecomp, true);
                     $this->openNode('rule');
                     $this->outputNode($cvcolumnruleindex, 'columnindex');
                     $this->outputNode($cvcolumnrulecomp, 'comparator');
                     $this->outputNode($cvcolumnrulevalue, 'value');
                     $this->closeNode('rule');
                 }
                 $this->closeNode('rules');
             }
             $this->closeNode('field');
         }
         $this->closeNode('fields');
         $this->closeNode('customview');
     }
     $this->closeNode('customviews');
 }
コード例 #4
0
$home = Vtiger_Module::getInstance('Home');
$home->addLink('DASHBOARDWIDGET', 'Funnel Amount', 'index.php?module=Potentials&view=ShowWidget&name=FunnelAmount', '', '10');
// Enable Sharing-Access for Vendors
$vendorInstance = Vtiger_Module::getInstance('Vendors');
$vendorAssignedToField = Vtiger_Field::getInstance('assigned_user_id', $vendorInstance);
if (!$vendorAssignedToField) {
    $vendorBlock = Vtiger_Block::getInstance('LBL_VENDOR_INFORMATION', $vendorInstance);
    $vendorAssignedToField = new Vtiger_Field();
    $vendorAssignedToField->name = 'assigned_user_id';
    $vendorAssignedToField->label = 'Assigned To';
    $vendorAssignedToField->table = 'vtiger_crmentity';
    $vendorAssignedToField->column = 'smownerid';
    $vendorAssignedToField->uitype = 53;
    $vendorAssignedToField->typeofdata = 'V~M';
    $vendorBlock->addField($vendorAssignedToField);
    $vendorAllFilter = Vtiger_Filter::getInstance('All', $vendorInstance);
    $vendorAllFilter->addField($vendorAssignedToField, 5);
}
// Allow Sharing access and role-based security for Vendors
Vtiger_Access::deleteSharing($vendorInstance);
Vtiger_Access::initSharing($vendorInstance);
Vtiger_Access::allowSharing($vendorInstance);
Vtiger_Access::setDefaultSharing($vendorInstance);
Vtiger_Module::syncfile();
// Add Email Opt-out for Leads
$leadsInstance = Vtiger_Module::getInstance('Leads');
$leadsOptOutField = Vtiger_Field::getInstance('emailoptout', $leadsInstance);
if (!$leadsOptOutField) {
    $leadsOptOutField = new Vtiger_Field();
    $leadsOptOutField->name = 'emailoptout';
    $leadsOptOutField->label = 'Email Opt Out';
コード例 #5
0
ファイル: update_rumors.php プロジェクト: andreadanzi/sws
danzi.tn@20150427 template per la creazione di un modulo
                  da utilizzare dopo aver creato il modulo con la console
**/
chdir(dirname(__FILE__) . '/../..');
include_once 'vtlib/Vtiger/Module.php';
include_once 'vtlib/Vtiger/Package.php';
include_once 'includes/main/WebUI.php';
include_once 'include/Webservices/Utils.php';
$Vtiger_Utils_Log = true;
$SINGLE_MODULENAME = 'Rumor';
$MODULENAME = $SINGLE_MODULENAME . 's';
$moduleInstance = Vtiger_Module::getInstance($MODULENAME);
if ($moduleInstance || file_exists('modules/' . $MODULENAME)) {
    $tabid = $moduleInstance->id;
    echo "\nModule " . $MODULENAME . " is present\n";
    Vtiger_Filter::deleteForModule($moduleInstance);
    // Create default custom filter (mandatory)
    $filterAll = new Vtiger_Filter();
    $filterAll->name = 'All';
    $filterAll->isdefault = true;
    $moduleInstance->addFilter($filterAll);
    $fieldName = "name";
    $field = Vtiger_Field::getInstance($fieldName, $moduleInstance);
    if ($field) {
        $filterAll->addField($field);
    } else {
        echo "\nField " . $fieldName . " does not exists\n";
    }
    $block_name = 'LBL_' . strtoupper($moduleInstance->name) . '_INFORMATION';
    $block = Vtiger_Block::getInstance($block_name, $moduleInstance);
    if ($block) {
コード例 #6
0
 /**
  * Delete this instance
  */
 function delete()
 {
     if ($this->isentitytype) {
         Vtiger_Access::deleteSharing($this);
         Vtiger_Access::deleteTools($this);
         Vtiger_Filter::deleteForModule($this);
         Vtiger_Block::deleteForModule($this);
     }
     $this->__delete();
     Vtiger_Profile::deleteForModule($this);
     Vtiger_Link::deleteAll($this->id);
     Vtiger_Menu::detachModule($this);
     self::syncfile();
 }
コード例 #7
-1
ファイル: ModuleBasic.php プロジェクト: nikdejan/YetiForceCRM
 /**
  * Delete this instance
  */
 function delete()
 {
     $moduleInstance = Vtiger_Module_Model::getInstance($this->name);
     require_once "modules/{$this->name}/{$this->name}.php";
     $focus = new $this->name();
     $this->tableName = $focus->table_name;
     if ($this->isentitytype) {
         $this->deleteFromCRMEntity();
         Vtiger_Access::deleteTools($this);
         Vtiger_Filter::deleteForModule($this);
         Vtiger_Block::deleteForModule($this);
         if (method_exists($this, 'deinitWebservice')) {
             $this->deinitWebservice();
         }
     }
     $this->deleteIcons();
     $this->unsetAllRelatedList($moduleInstance);
     ModComments_Module_Model::deleteForModule($moduleInstance);
     Vtiger_Language::deleteForModule($moduleInstance);
     Vtiger_Access::deleteSharing($moduleInstance);
     $this->deleteFromModentityNum();
     Vtiger_Cron::deleteForModule($moduleInstance);
     Vtiger_Profile::deleteForModule($moduleInstance);
     Settings_Workflows_Module_Model::deleteForModule($moduleInstance);
     Vtiger_Menu::deleteForModule($moduleInstance);
     $this->deleteGroup2Modules();
     $this->deleteModuleTables();
     $this->deleteCRMEntityRel();
     Vtiger_Profile::deleteForModule($this);
     Vtiger_Link::deleteAll($this->id);
     $this->deleteDir($moduleInstance);
     $this->__delete();
     self::syncfile();
 }