コード例 #1
0
 public function addRecordToDB($columnNames, $fieldValues)
 {
     $db = PearDatabase::getInstance();
     $tableName = Import_Utils_Helper::getDbTableName($this->user);
     $db->pquery('INSERT INTO ' . $tableName . ' (' . implode(',', $columnNames) . ') VALUES (' . generateQuestionMarks($fieldValues) . ')', $fieldValues);
     $this->numberOfRecordsRead++;
 }
コード例 #2
0
ファイル: Data.php プロジェクト: cannking/vtigercrm-debug
 public static function getImportDetails($user)
 {
     $adb = PearDatabase::getInstance();
     $tableName = Import_Utils_Helper::getDbTableName($user);
     $result = $adb->pquery("SELECT * FROM {$tableName} where status IN (?,?)", array(self::$IMPORT_RECORD_SKIPPED, self::$IMPORT_RECORD_FAILED));
     $importRecords = array();
     if ($result) {
         $headers = $adb->getColumnNames($tableName);
         $numOfHeaders = count($headers);
         for ($i = 0; $i < 10; $i++) {
             if ($i >= 3 && $i < $numOfHeaders) {
                 $importRecords['headers'][] = $headers[$i];
             }
         }
         $noOfRows = $adb->num_rows($result);
         for ($i = 0; $i < $noOfRows; ++$i) {
             $row = $adb->fetchByAssoc($result, $i);
             $record = new Vtiger_Base_Model();
             foreach ($importRecords['headers'] as $header) {
                 $record->set($header, $row[$header]);
             }
             if ($row['status'] == self::$IMPORT_RECORD_SKIPPED) {
                 $importRecords['skipped'][] = $record;
             } else {
                 $importRecords['failed'][] = $record;
             }
         }
         return $importRecords;
     }
 }
コード例 #3
0
ファイル: ListView.php プロジェクト: cannking/vtigercrm-debug
 public function getLastImportedRecord()
 {
     $db = PearDatabase::getInstance();
     $user = Users_Record_Model::getCurrentUserModel();
     $userDBTableName = Import_Utils_Helper::getDbTableName($user);
     $result = $db->pquery('SELECT recordid FROM ' . $userDBTableName . ' WHERE status NOT IN (?,?) AND recordid IS NOT NULL', array(Import_Data_Action::$IMPORT_RECORD_FAILED, Import_Data_Action::$IMPORT_RECORD_SKIPPED));
     $noOfRecords = $db->num_rows($result);
     $importedRecordIds = array();
     for ($i = 0; $i < $noOfRecords; ++$i) {
         $importedRecordIds[] = $db->query_result($result, $i, 'recordid');
     }
     return $importedRecordIds;
 }
コード例 #4
0
function undoLastImport($obj, $user)
{
    $adb = PearDatabase::getInstance();
    $moduleName = $obj->get('module');
    $ownerId = $obj->get('foruser');
    $owner = new Users();
    $owner->id = $ownerId;
    $owner->retrieve_entity_info($ownerId, 'Users');
    $dbTableName = Import_Utils_Helper::getDbTableName($owner);
    if (!is_admin($user) && $user->id != $owner->id) {
        $viewer = new Vtiger_Viewer();
        $viewer->view('OperationNotPermitted.tpl', 'Vtiger');
        exit;
    }
    $result = $adb->query("SELECT recordid FROM {$dbTableName} WHERE temp_status = " . Import_Data_Controller::$IMPORT_RECORD_CREATED . " AND recordid IS NOT NULL;");
    $noOfRecords = $adb->num_rows($result);
    $noOfRecordsDeleted = 0;
    for ($i = 0; $i < $noOfRecords; ++$i) {
        $recordId = $adb->query_result($result, $i, 'recordid');
        if (isRecordExists($recordId) && isPermitted($moduleName, 'Delete', $recordId) == 'yes') {
            $focus = CRMEntity::getInstance($moduleName);
            $focus->id = $recordId;
            $focus->trash($moduleName, $recordId);
            $noOfRecordsDeleted++;
        }
    }
    $viewer = new Vtiger_Viewer();
    $viewer->assign('FOR_MODULE', $moduleName);
    $viewer->assign('TOTAL_RECORDS', $noOfRecords);
    $viewer->assign('DELETED_RECORDS_COUNT', $noOfRecordsDeleted);
    $viewer->view('ImportUndoResult.tpl');
}
コード例 #5
0
ファイル: Import.php プロジェクト: rcrrich/UpdatePackages
 function undoImport(Vtiger_Request $request)
 {
     $viewer = new Vtiger_Viewer();
     $db = PearDatabase::getInstance();
     $moduleName = $request->getModule();
     $ownerId = $request->get('foruser');
     $user = Users_Record_Model::getCurrentUserModel();
     $dbTableName = Import_Utils_Helper::getDbTableName($user);
     if (!$user->isAdminUser() && $user->id != $ownerId) {
         $viewer->assign('MESSAGE', 'LBL_PERMISSION_DENIED');
         $viewer->view('OperationNotPermitted.tpl', 'Vtiger');
         exit;
     }
     $previousBulkSaveMode = $VTIGER_BULK_SAVE_MODE;
     $VTIGER_BULK_SAVE_MODE = true;
     $query = "SELECT recordid FROM {$dbTableName} WHERE temp_status = ? AND recordid IS NOT NULL";
     //For inventory modules
     $inventoryModules = getInventoryModules();
     if (in_array($moduleName, $inventoryModules)) {
         $query .= ' GROUP BY subject';
     }
     //End
     $result = $db->pquery($query, array(Import_Data_Action::$IMPORT_RECORD_CREATED));
     $noOfRecords = $db->num_rows($result);
     $noOfRecordsDeleted = 0;
     $entityData = array();
     for ($i = 0; $i < $noOfRecords; $i++) {
         $recordId = $db->query_result($result, $i, 'recordid');
         if (isRecordExists($recordId) && isPermitted($moduleName, 'Delete', $recordId) == 'yes') {
             $recordModel = Vtiger_Record_Model::getCleanInstance($moduleName);
             $recordModel->setId($recordId);
             $recordModel->delete();
             $focus = $recordModel->getEntity();
             $focus->id = $recordId;
             $entityData[] = VTEntityData::fromCRMEntity($focus);
             $noOfRecordsDeleted++;
         }
     }
     $entity = new VTEventsManager($db);
     $entity->triggerEvent('vtiger.batchevent.delete', $entityData);
     $VTIGER_BULK_SAVE_MODE = $previousBulkSaveMode;
     $viewer->assign('FOR_MODULE', $moduleName);
     $viewer->assign('MODULE', 'Import');
     $viewer->assign('TOTAL_RECORDS', $noOfRecords);
     $viewer->assign('DELETED_RECORDS_COUNT', $noOfRecordsDeleted);
     $viewer->view('ImportUndoResult.tpl', 'Import');
 }