All Data Structures Functions Variables Pages
ModelCreationApiSyncUtil.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  abstract class ModelCreationApiSyncUtil
37  {
38  const TABLE_NAME = 'modelcreationapisync';
39 
43  public static function buildTable()
44  {
45  $schema = static::getTableSchema();
46  $messageLogger = new MessageLogger();
48  $schema, $messageLogger);
49  }
50 
58  public static function insertItem($serviceName, $modelId, $modelClassName, $dateTime)
59  {
60  assert('is_string($serviceName)');
61  assert('is_int($modelId)');
62  assert('is_string($dateTime)');
63  $sql = "INSERT INTO " . static::TABLE_NAME .
64  " VALUES (null, '{$serviceName}', '{$modelId}', '{$modelClassName}', '{$dateTime}')";
65  ZurmoRedBean::exec($sql);
66  }
67 
68  protected static function getTableSchema()
69  {
70  return array(static::TABLE_NAME => array('columns' => array(
71  array(
72  'name' => 'servicename',
73  'type' => 'VARCHAR(50)',
74  'unsigned' => null,
75  'notNull' => 'NOT NULL', // Not Coding Standard
76  'collation' => 'COLLATE utf8_unicode_ci',
77  'default' => null,
78  ),
79  array(
80  'name' => 'modelid',
81  'type' => 'INT(11)',
82  'unsigned' => 'UNSIGNED',
83  'notNull' => 'NOT NULL', // Not Coding Standard
84  'collation' => null,
85  'default' => null,
86  ),
87  array(
88  'name' => 'modelclassname',
89  'type' => 'VARCHAR(50)',
90  'unsigned' => null,
91  'notNull' => 'NOT NULL', // Not Coding Standard
92  'collation' => 'COLLATE utf8_unicode_ci',
93  'default' => null,
94  ),
95  array(
96  'name' => 'createddatetime',
97  'type' => 'DATETIME',
98  'unsigned' => null,
99  'notNull' => 'NULL', // Not Coding Standard
100  'collation' => null,
101  'default' => 'NULL', // Not Coding Standard
102  ),
103  ),
104  'indexes' => array(),
105  )
106  );
107  }
108 
115  public static function deleteItem($serviceName, $modelId, $modelClassName)
116  {
117  $sql = "DELETE FROM " . self::TABLE_NAME .
118  " where servicename = '{$serviceName}'" .
119  " AND modelid = '{$modelId}'" .
120  " AND modelclassname = '{$modelClassName}'";
121  ZurmoRedBean::exec($sql);
122  }
123  }
124 ?>
static deleteItem($serviceName, $modelId, $modelClassName)
static generateOrUpdateTableBySchemaDefinition(array $schemaDefinition, &$messageLogger, $validate=true)
static insertItem($serviceName, $modelId, $modelClassName, $dateTime)
Generated on Thu May 28 2020 07:10:36