All Data Structures Functions Variables Pages
ImportTestHelper.php
1 <?php
2  /*********************************************************************************
3  * Zurmo is a customer relationship management program developed by
4  * Zurmo, Inc. Copyright (C) 2017 Zurmo Inc.
5  *
6  * Zurmo is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY ZURMO, ZURMO DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  *
13  * Zurmo is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  *
23  * You can contact Zurmo, Inc. with a mailing address at 27 North Wacker Drive
24  * Suite 370 Chicago, IL 60606. or at email address contact@zurmo.com.
25  *
26  * The interactive user interfaces in original and modified versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  *
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the Zurmo
32  * logo and Zurmo copyright notice. If the display of the logo is not reasonably
33  * feasible for technical reasons, the Appropriate Legal Notices must display the words
34  * "Copyright Zurmo Inc. 2017. All rights reserved".
35  ********************************************************************************/
36 
38  {
39  public static function createTempTableByFileNameAndTableName($fileName,
40  $tableName,
41  $firstRowIsHeader = false,
42  $pathToFiles = null,
43  $delimiter = ',', // Not Coding Standard
44  $enclosure = '"')
45  {
46  assert('is_string($fileName)');
47  assert('is_string($tableName)');
48  if ($pathToFiles == null)
49  {
50  $pathToFiles = Yii::getPathOfAlias('application.modules.import.tests.unit.files');
51  }
52  $filePath = $pathToFiles . DIRECTORY_SEPARATOR . $fileName;
53  // Use this for just those two files, because orginal files will be overwritten
54  // For these two files, we make backup
55  if ($fileName == 'importTestMacOsLineEndingsCopy.csv' || $fileName == 'importTestWindowsCopy.csv')
56  {
58  }
59  $fileHandle = fopen($filePath, 'r');
60  if ($fileHandle !== false)
61  {
62  $created = ImportDatabaseUtil::makeDatabaseTableByFileHandleAndTableName($fileHandle, $tableName,
63  $delimiter, $enclosure,
64  $firstRowIsHeader);
65  assert('$created');
66  return true;
67  }
68  return false;
69  }
70 
71  public static function createImportModelTestItem($string, $lastName)
72  {
73  $model = new ImportModelTestItem();
74  $model->string = $string;
75  $model->lastName = $lastName;
76  $saved = $model->save();
77  assert('$saved');
78  return $model;
79  }
80 
81  public static function createImportModelTestItem2($name)
82  {
83  $model = new ImportModelTestItem2();
84  $model->name = $name;
85  $saved = $model->save();
86  assert('$saved');
87  return $model;
88  }
89 
90  public static function createImportModelTestItem3($name)
91  {
92  $model = new ImportModelTestItem3();
93  $model->name = $name;
94  $saved = $model->save();
95  assert('$saved');
96  return $model;
97  }
98 
99  public static function createImportModelTestItem4($name)
100  {
101  $model = new ImportModelTestItem4();
102  $model->name = $name;
103  $saved = $model->save();
104  assert('$saved');
105  return $model;
106  }
107 
108  public static function updateModelsExternalId(RedBeanModel $model, $externalId)
109  {
110  $columnName = ExternalSystemIdUtil::EXTERNAL_SYSTEM_ID_COLUMN_NAME;
111  ZurmoRedBean::exec("update " . $model::getTableName()
112  . " set $columnName = '" . $externalId . "' where id = {$model->id}");
113  }
114  }
115 ?>
static convertWindowsAndMacLineEndingsIntoUnixLineEndings($uploadedFilePath)
static makeDatabaseTableByFileHandleAndTableName($fileHandle, $tableName, $delimiter= ',', $enclosure="'", $firstRowIsHeaderRow=false)
Generated on Sun May 24 2020 07:10:32