Completed
Push — master ( a75ecc...97ae17 )
by Adam
71:21 queued 52:34
created
include/database/SqlsrvManager.php 3 patches
Indentation   +38 added lines, -38 removed lines patch added patch discarded remove patch
@@ -143,10 +143,10 @@  discard block
 block discarded – undo
143 143
             'url'      => 'nvarchar',
144 144
             'encrypt'  => 'nvarchar',
145 145
             'file'     => 'nvarchar',
146
-	        'decimal_tpl' => 'decimal(%d, %d)',
146
+            'decimal_tpl' => 'decimal(%d, %d)',
147 147
     );
148 148
 
149
-	/**
149
+    /**
150 150
      * @see DBManager::connect()
151 151
      */
152 152
     public function connect(array $configOptions = null, $dieOnError = false)
@@ -203,10 +203,10 @@  discard block
 block discarded – undo
203 203
         return true;
204 204
     }
205 205
 
206
-	/**
206
+    /**
207 207
      * @see DBManager::query()
208
-	 */
209
-	public function query($sql, $dieOnError = false, $msg = '', $suppress = false, $keepResult = false)
208
+     */
209
+    public function query($sql, $dieOnError = false, $msg = '', $suppress = false, $keepResult = false)
210 210
     {
211 211
         if(is_array($sql)) {
212 212
             return $this->queryArray($sql, $dieOnError, $msg, $suppress);
@@ -232,15 +232,15 @@  discard block
 block discarded – undo
232 232
         return $result;
233 233
     }
234 234
 
235
-	/**
235
+    /**
236 236
      * @see DBManager::getFieldsArray()
237 237
      */
238
-	public function getFieldsArray($result, $make_lower_case = false)
239
-	{
238
+    public function getFieldsArray($result, $make_lower_case = false)
239
+    {
240 240
         $field_array = array();
241 241
 
242 242
         if ( !$result ) {
243
-        	return false;
243
+            return false;
244 244
         }
245 245
 
246 246
         foreach ( sqlsrv_field_metadata($result) as $fieldMetadata ) {
@@ -252,16 +252,16 @@  discard block
 block discarded – undo
252 252
         }
253 253
 
254 254
         return $field_array;
255
-	}
255
+    }
256 256
 
257
-	/**
258
-	 * @see DBManager::fetchRow()
259
-	 */
260
-	public function fetchRow($result)
261
-	{
262
-		if (empty($result))	return false;
257
+    /**
258
+     * @see DBManager::fetchRow()
259
+     */
260
+    public function fetchRow($result)
261
+    {
262
+        if (empty($result))	return false;
263 263
 
264
-	    $row = sqlsrv_fetch_array($result,SQLSRV_FETCH_ASSOC);
264
+        $row = sqlsrv_fetch_array($result,SQLSRV_FETCH_ASSOC);
265 265
         if (empty($row)) {
266 266
             return false;
267 267
         }
@@ -277,7 +277,7 @@  discard block
 block discarded – undo
277 277
         }
278 278
 
279 279
         return $row;
280
-	}
280
+    }
281 281
 
282 282
     /**
283 283
      * @see DBManager::convert()
@@ -291,7 +291,7 @@  discard block
 block discarded – undo
291 291
             return parent::convert($string, $type, $additional_parameters);
292 292
     }
293 293
 
294
-	/**
294
+    /**
295 295
      * Compares two vardefs. Overriding 39098  due to bug: 39098 . IN 6.0 we changed the id columns to dbType = 'id'
296 296
      * for example emails_beans.  In 554 the field email_id was nvarchar but in 6.0 since it id dbType = 'id' we would want to alter
297 297
      * it to varchar. This code will prevent it.
@@ -317,7 +317,7 @@  discard block
 block discarded – undo
317 317
      */
318 318
     public function disconnect()
319 319
     {
320
-    	$GLOBALS['log']->debug('Calling Mssql::disconnect()');
320
+        $GLOBALS['log']->debug('Calling Mssql::disconnect()');
321 321
         if(!empty($this->database)){
322 322
             $this->freeResult();
323 323
             sqlsrv_close($this->database);
@@ -335,10 +335,10 @@  discard block
 block discarded – undo
335 335
     }
336 336
 
337 337
 
338
-	/**
339
-	 * Detect if no clustered index has been created for a table; if none created then just pick the first index and make it that
340
-	 *
341
-	 * @see MssqlHelper::indexSQL()
338
+    /**
339
+     * Detect if no clustered index has been created for a table; if none created then just pick the first index and make it that
340
+     *
341
+     * @see MssqlHelper::indexSQL()
342 342
      */
343 343
     public function getConstraintSql($indices, $table)
344 344
     {
@@ -378,12 +378,12 @@  discard block
 block discarded – undo
378 378
                 $columns[$column_name]['len']=strtolower($row['PRECISION']);
379 379
                 $columns[$column_name]['len'].=','.strtolower($row['SCALE']);
380 380
             }
381
-			elseif ( in_array($row['TYPE_NAME'],array('nchar','nvarchar')) ) {
382
-				$columns[$column_name]['len']=strtolower($row['PRECISION']);
383
-				if ( $row['TYPE_NAME'] == 'nvarchar' && $row['PRECISION'] == '0' ) {
384
-				    $columns[$column_name]['len']='max';
385
-				}
386
-			}
381
+            elseif ( in_array($row['TYPE_NAME'],array('nchar','nvarchar')) ) {
382
+                $columns[$column_name]['len']=strtolower($row['PRECISION']);
383
+                if ( $row['TYPE_NAME'] == 'nvarchar' && $row['PRECISION'] == '0' ) {
384
+                    $columns[$column_name]['len']='max';
385
+                }
386
+            }
387 387
             elseif ( !in_array($row['TYPE_NAME'],array('datetime','text')) ) {
388 388
                 $columns[$column_name]['len']=strtolower($row['LENGTH']);
389 389
             }
@@ -488,21 +488,21 @@  discard block
 block discarded – undo
488 488
         return "TRUNCATE TABLE $name";
489 489
     }
490 490
 
491
-	/**
492
-	 * (non-PHPdoc)
493
-	 * @see DBManager::lastDbError()
494
-	 */
491
+    /**
492
+     * (non-PHPdoc)
493
+     * @see DBManager::lastDbError()
494
+     */
495 495
     public function lastDbError()
496 496
     {
497 497
         $errors = sqlsrv_errors(SQLSRV_ERR_ERRORS);
498 498
         if(empty($errors)) return false;
499 499
         global $app_strings;
500 500
         if (empty($app_strings)
501
-		    or !isset($app_strings['ERR_MSSQL_DB_CONTEXT'])
502
-			or !isset($app_strings['ERR_MSSQL_WARNING']) ) {
501
+            or !isset($app_strings['ERR_MSSQL_DB_CONTEXT'])
502
+            or !isset($app_strings['ERR_MSSQL_WARNING']) ) {
503 503
         //ignore the message from sql-server if $app_strings array is empty. This will happen
504 504
         //only if connection if made before languge is set.
505
-		    return false;
505
+            return false;
506 506
         }
507 507
         $messages = array();
508 508
         foreach($errors as $error) {
@@ -515,7 +515,7 @@  discard block
 block discarded – undo
515 515
             }
516 516
             $sqlpos = strpos($sqlmsg, $app_strings['ERR_MSSQL_DB_CONTEXT']);
517 517
             $sqlpos2 = strpos($sqlmsg, $app_strings['ERR_MSSQL_WARNING']);
518
-    		if ( $sqlpos !== false || $sqlpos2 !== false) {
518
+            if ( $sqlpos !== false || $sqlpos2 !== false) {
519 519
                     continue;
520 520
             }
521 521
             $messages[] = $sqlmsg;
Please login to merge, or discard this patch.
Spacing   +57 added lines, -57 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 3
 /*********************************************************************************
4 4
  * SugarCRM Community Edition is a customer relationship management program developed by
5 5
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -175,14 +175,14 @@  discard block
 block discarded – undo
175 175
                     "ReturnDatesAsStrings" => true,
176 176
                     "MultipleActiveResultSets" => true,
177 177
                     );
178
-        if(!empty($configOptions['db_name'])) {
178
+        if (!empty($configOptions['db_name'])) {
179 179
             $options["Database"] = $configOptions['db_name'];
180 180
         }
181 181
         $this->database = sqlsrv_connect($connect_param, $options);
182
-        if(empty($this->database)) {
182
+        if (empty($this->database)) {
183 183
             $GLOBALS['log']->fatal("Could not connect to server ".$configOptions['db_host_name']." as ".$configOptions['db_user_name'].".");
184
-            if($dieOnError) {
185
-                    if(isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
184
+            if ($dieOnError) {
185
+                    if (isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
186 186
                         sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
187 187
                     } else {
188 188
                         sugar_die("Could not connect to the database. Please refer to suitecrm.log for details.");
@@ -192,7 +192,7 @@  discard block
 block discarded – undo
192 192
             }
193 193
         }
194 194
 
195
-        if($this->checkError('Could Not Connect:', $dieOnError))
195
+        if ($this->checkError('Could Not Connect:', $dieOnError))
196 196
             $GLOBALS['log']->info("connected to db");
197 197
 
198 198
         sqlsrv_query($this->database, 'SET DATEFORMAT mdy');
@@ -208,26 +208,26 @@  discard block
 block discarded – undo
208 208
 	 */
209 209
 	public function query($sql, $dieOnError = false, $msg = '', $suppress = false, $keepResult = false)
210 210
     {
211
-        if(is_array($sql)) {
211
+        if (is_array($sql)) {
212 212
             return $this->queryArray($sql, $dieOnError, $msg, $suppress);
213 213
         }
214 214
         $sql = $this->_appendN($sql);
215 215
 
216 216
         $this->countQuery($sql);
217
-        $GLOBALS['log']->info('Query:' . $sql);
217
+        $GLOBALS['log']->info('Query:'.$sql);
218 218
         $this->checkConnection();
219 219
         $this->query_time = microtime(true);
220 220
 
221
-        $result = $suppress?@sqlsrv_query($this->database, $sql):sqlsrv_query($this->database, $sql);
221
+        $result = $suppress ? @sqlsrv_query($this->database, $sql) : sqlsrv_query($this->database, $sql);
222 222
 
223 223
         $this->query_time = microtime(true) - $this->query_time;
224 224
         $GLOBALS['log']->info('Query Execution Time:'.$this->query_time);
225 225
 
226 226
 
227
-        $this->checkError($msg.' Query Failed:' . $sql . '::', $dieOnError);
227
+        $this->checkError($msg.' Query Failed:'.$sql.'::', $dieOnError);
228 228
 
229 229
         //suppress non error messages
230
-        sqlsrv_configure('WarningsReturnAsErrors',false);
230
+        sqlsrv_configure('WarningsReturnAsErrors', false);
231 231
 
232 232
         return $result;
233 233
     }
@@ -239,13 +239,13 @@  discard block
 block discarded – undo
239 239
 	{
240 240
         $field_array = array();
241 241
 
242
-        if ( !$result ) {
242
+        if (!$result) {
243 243
         	return false;
244 244
         }
245 245
 
246
-        foreach ( sqlsrv_field_metadata($result) as $fieldMetadata ) {
246
+        foreach (sqlsrv_field_metadata($result) as $fieldMetadata) {
247 247
             $key = $fieldMetadata['Name'];
248
-            if($make_lower_case==true)
248
+            if ($make_lower_case == true)
249 249
                 $key = strtolower($key);
250 250
 
251 251
             $field_array[] = $key;
@@ -261,12 +261,12 @@  discard block
 block discarded – undo
261 261
 	{
262 262
 		if (empty($result))	return false;
263 263
 
264
-	    $row = sqlsrv_fetch_array($result,SQLSRV_FETCH_ASSOC);
264
+	    $row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC);
265 265
         if (empty($row)) {
266 266
             return false;
267 267
         }
268 268
 
269
-        foreach($row as $key => $column) {
269
+        foreach ($row as $key => $column) {
270 270
             // MSSQL returns a space " " when a varchar column is empty ("") and not null.
271 271
             // We need to strip empty spaces
272 272
             // notice we only strip if one space is returned.  we do not want to strip
@@ -284,7 +284,7 @@  discard block
 block discarded – undo
284 284
      */
285 285
     public function convert($string, $type, array $additional_parameters = array())
286 286
     {
287
-        if ( $type == 'datetime')
287
+        if ($type == 'datetime')
288 288
         // see http://msdn.microsoft.com/en-us/library/ms187928.aspx for details
289 289
             return "CONVERT(datetime,$string,120)";
290 290
         else
@@ -300,10 +300,10 @@  discard block
 block discarded – undo
300 300
      * @param  array  $fielddef2
301 301
      * @return bool   true if they match, false if they don't
302 302
      */
303
-    public function compareVarDefs($fielddef1,$fielddef2, $ignoreName = false)
303
+    public function compareVarDefs($fielddef1, $fielddef2, $ignoreName = false)
304 304
     {
305
-        if((isset($fielddef2['dbType']) && $fielddef2['dbType'] == 'id') || preg_match('/(_id$|^id$)/', $fielddef2['name'])){
306
-            if(isset($fielddef1['type']) && isset($fielddef2['type'])){
305
+        if ((isset($fielddef2['dbType']) && $fielddef2['dbType'] == 'id') || preg_match('/(_id$|^id$)/', $fielddef2['name'])) {
306
+            if (isset($fielddef1['type']) && isset($fielddef2['type'])) {
307 307
                 $fielddef2['type'] = $fielddef1['type'];
308 308
             }
309 309
         }
@@ -318,7 +318,7 @@  discard block
 block discarded – undo
318 318
     public function disconnect()
319 319
     {
320 320
     	$GLOBALS['log']->debug('Calling Mssql::disconnect()');
321
-        if(!empty($this->database)){
321
+        if (!empty($this->database)) {
322 322
             $this->freeResult();
323 323
             sqlsrv_close($this->database);
324 324
             $this->database = null;
@@ -330,7 +330,7 @@  discard block
 block discarded – undo
330 330
      */
331 331
     protected function freeDbResult($dbResult)
332 332
     {
333
-        if(!empty($dbResult))
333
+        if (!empty($dbResult))
334 334
             sqlsrv_free_stmt($dbResult);
335 335
     }
336 336
 
@@ -342,19 +342,19 @@  discard block
 block discarded – undo
342 342
      */
343 343
     public function getConstraintSql($indices, $table)
344 344
     {
345
-        if ( $this->doesTableHaveAClusteredIndexDefined($table) ) {
345
+        if ($this->doesTableHaveAClusteredIndexDefined($table)) {
346 346
             return parent::getConstraintSql($indices, $table);
347 347
         }
348 348
 
349 349
         // check to see if one of the passed in indices is a primary one; if so we can bail as well
350
-        foreach ( $indices as $index ) {
351
-            if ( $index['type'] == 'primary' ) {
350
+        foreach ($indices as $index) {
351
+            if ($index['type'] == 'primary') {
352 352
                 return parent::getConstraintSql($indices, $table);
353 353
             }
354 354
         }
355 355
 
356 356
         // Change the first index listed to be a clustered one instead ( so we have at least one for the table )
357
-        if ( isset($indices[0]) ) {
357
+        if (isset($indices[0])) {
358 358
             $indices[0]['type'] = 'clustered';
359 359
         }
360 360
 
@@ -370,41 +370,41 @@  discard block
 block discarded – undo
370 370
         $result = $this->query("sp_columns_90 $tablename");
371 371
 
372 372
         $columns = array();
373
-        while (($row=$this->fetchByAssoc($result)) !=null) {
373
+        while (($row = $this->fetchByAssoc($result)) != null) {
374 374
             $column_name = strtolower($row['COLUMN_NAME']);
375
-            $columns[$column_name]['name']=$column_name;
376
-            $columns[$column_name]['type']=strtolower($row['TYPE_NAME']);
377
-            if ( $row['TYPE_NAME'] == 'decimal' ) {
378
-                $columns[$column_name]['len']=strtolower($row['PRECISION']);
379
-                $columns[$column_name]['len'].=','.strtolower($row['SCALE']);
375
+            $columns[$column_name]['name'] = $column_name;
376
+            $columns[$column_name]['type'] = strtolower($row['TYPE_NAME']);
377
+            if ($row['TYPE_NAME'] == 'decimal') {
378
+                $columns[$column_name]['len'] = strtolower($row['PRECISION']);
379
+                $columns[$column_name]['len'] .= ','.strtolower($row['SCALE']);
380 380
             }
381
-			elseif ( in_array($row['TYPE_NAME'],array('nchar','nvarchar')) ) {
382
-				$columns[$column_name]['len']=strtolower($row['PRECISION']);
383
-				if ( $row['TYPE_NAME'] == 'nvarchar' && $row['PRECISION'] == '0' ) {
384
-				    $columns[$column_name]['len']='max';
381
+			elseif (in_array($row['TYPE_NAME'], array('nchar', 'nvarchar'))) {
382
+				$columns[$column_name]['len'] = strtolower($row['PRECISION']);
383
+				if ($row['TYPE_NAME'] == 'nvarchar' && $row['PRECISION'] == '0') {
384
+				    $columns[$column_name]['len'] = 'max';
385 385
 				}
386 386
 			}
387
-            elseif ( !in_array($row['TYPE_NAME'],array('datetime','text')) ) {
388
-                $columns[$column_name]['len']=strtolower($row['LENGTH']);
387
+            elseif (!in_array($row['TYPE_NAME'], array('datetime', 'text'))) {
388
+                $columns[$column_name]['len'] = strtolower($row['LENGTH']);
389 389
             }
390
-            if ( stristr($row['TYPE_NAME'],'identity') ) {
390
+            if (stristr($row['TYPE_NAME'], 'identity')) {
391 391
                 $columns[$column_name]['auto_increment'] = '1';
392
-                $columns[$column_name]['type']=str_replace(' identity','',strtolower($row['TYPE_NAME']));
392
+                $columns[$column_name]['type'] = str_replace(' identity', '', strtolower($row['TYPE_NAME']));
393 393
             }
394 394
 
395
-            if (!empty($row['IS_NULLABLE']) && $row['IS_NULLABLE'] == 'NO' && (empty($row['KEY']) || !stristr($row['KEY'],'PRI')))
395
+            if (!empty($row['IS_NULLABLE']) && $row['IS_NULLABLE'] == 'NO' && (empty($row['KEY']) || !stristr($row['KEY'], 'PRI')))
396 396
                 $columns[strtolower($row['COLUMN_NAME'])]['required'] = 'true';
397 397
 
398 398
             $column_def = 1;
399
-            if ( strtolower($tablename) == 'relationships' ) {
399
+            if (strtolower($tablename) == 'relationships') {
400 400
                 $column_def = $this->getOne("select cdefault from syscolumns where id = object_id('relationships') and name = '$column_name'");
401 401
             }
402
-            if ( $column_def != 0 && ($row['COLUMN_DEF'] != null)) {	// NOTE Not using !empty as an empty string may be a viable default value.
402
+            if ($column_def != 0 && ($row['COLUMN_DEF'] != null)) {	// NOTE Not using !empty as an empty string may be a viable default value.
403 403
                 $matches = array();
404
-                $row['COLUMN_DEF'] = html_entity_decode($row['COLUMN_DEF'],ENT_QUOTES);
405
-                if ( preg_match('/\([\(|\'](.*)[\)|\']\)/i',$row['COLUMN_DEF'],$matches) )
404
+                $row['COLUMN_DEF'] = html_entity_decode($row['COLUMN_DEF'], ENT_QUOTES);
405
+                if (preg_match('/\([\(|\'](.*)[\)|\']\)/i', $row['COLUMN_DEF'], $matches))
406 406
                     $columns[$column_name]['default'] = $matches[1];
407
-                elseif ( preg_match('/\(N\'(.*)\'\)/i',$row['COLUMN_DEF'],$matches) )
407
+                elseif (preg_match('/\(N\'(.*)\'\)/i', $row['COLUMN_DEF'], $matches))
408 408
                     $columns[$column_name]['default'] = $matches[1];
409 409
                 else
410 410
                     $columns[$column_name]['default'] = $row['COLUMN_DEF'];
@@ -430,7 +430,7 @@  discard block
 block discarded – undo
430 430
 EOSQL;
431 431
 
432 432
         $result = $this->getOne($query);
433
-        if ( !$result ) {
433
+        if (!$result) {
434 434
             return false;
435 435
         }
436 436
 
@@ -453,7 +453,7 @@  discard block
 block discarded – undo
453 453
 EOSQL;
454 454
 
455 455
         $result = $this->getOne($query);
456
-        if ( !$result ) {
456
+        if (!$result) {
457 457
             return false;
458 458
         }
459 459
 
@@ -466,10 +466,10 @@  discard block
 block discarded – undo
466 466
      * @see DBManager::changeColumnSQL()
467 467
      * @see MssqlHelper::changeColumnSQL()
468 468
      */
469
-    protected function changeColumnSQL($tablename,$fieldDefs, $action, $ignoreRequired = false)
469
+    protected function changeColumnSQL($tablename, $fieldDefs, $action, $ignoreRequired = false)
470 470
     {
471 471
         $sql = '';
472
-        if ( $action == 'drop' && $this->doesTableHaveAFulltextIndexDefined($tablename) ) {
472
+        if ($action == 'drop' && $this->doesTableHaveAFulltextIndexDefined($tablename)) {
473 473
             $sql .= "DROP FULLTEXT INDEX ON {$tablename}";
474 474
         }
475 475
 
@@ -495,33 +495,33 @@  discard block
 block discarded – undo
495 495
     public function lastDbError()
496 496
     {
497 497
         $errors = sqlsrv_errors(SQLSRV_ERR_ERRORS);
498
-        if(empty($errors)) return false;
498
+        if (empty($errors)) return false;
499 499
         global $app_strings;
500 500
         if (empty($app_strings)
501 501
 		    or !isset($app_strings['ERR_MSSQL_DB_CONTEXT'])
502
-			or !isset($app_strings['ERR_MSSQL_WARNING']) ) {
502
+			or !isset($app_strings['ERR_MSSQL_WARNING'])) {
503 503
         //ignore the message from sql-server if $app_strings array is empty. This will happen
504 504
         //only if connection if made before languge is set.
505 505
 		    return false;
506 506
         }
507 507
         $messages = array();
508
-        foreach($errors as $error) {
508
+        foreach ($errors as $error) {
509 509
             $sqlmsg = $error['message'];
510 510
             $sqlpos = strpos($sqlmsg, 'Changed database context to');
511 511
             $sqlpos2 = strpos($sqlmsg, 'Warning:');
512 512
             $sqlpos3 = strpos($sqlmsg, 'Checking identity information:');
513
-            if ( $sqlpos !== false || $sqlpos2 !== false || $sqlpos3 !== false ) {
513
+            if ($sqlpos !== false || $sqlpos2 !== false || $sqlpos3 !== false) {
514 514
                 continue;
515 515
             }
516 516
             $sqlpos = strpos($sqlmsg, $app_strings['ERR_MSSQL_DB_CONTEXT']);
517 517
             $sqlpos2 = strpos($sqlmsg, $app_strings['ERR_MSSQL_WARNING']);
518
-    		if ( $sqlpos !== false || $sqlpos2 !== false) {
518
+    		if ($sqlpos !== false || $sqlpos2 !== false) {
519 519
                     continue;
520 520
             }
521 521
             $messages[] = $sqlmsg;
522 522
         }
523 523
 
524
-        if(!empty($messages)) {
524
+        if (!empty($messages)) {
525 525
             return join("\n", $messages);
526 526
         }
527 527
         return false;
@@ -548,7 +548,7 @@  discard block
 block discarded – undo
548 548
     protected function verifyGenericQueryRollback($type, $table, $query)
549 549
     {
550 550
         $this->log->debug("verifying $type statement");
551
-        if(!sqlsrv_begin_transaction($this->database)) {
551
+        if (!sqlsrv_begin_transaction($this->database)) {
552 552
             return "Failed to create transaction";
553 553
         }
554 554
         $this->query($query, false);
Please login to merge, or discard this patch.
Braces   +43 added lines, -31 removed lines patch added patch discarded remove patch
@@ -1,5 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if(!defined('sugarEntry') || !sugarEntry) {
3
+    die('Not A Valid Entry Point');
4
+}
3 5
 /*********************************************************************************
4 6
  * SugarCRM Community Edition is a customer relationship management program developed by
5 7
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -153,16 +155,18 @@  discard block
 block discarded – undo
153 155
     {
154 156
         global $sugar_config;
155 157
 
156
-        if (is_null($configOptions))
157
-            $configOptions = $sugar_config['dbconfig'];
158
+        if (is_null($configOptions)) {
159
+                    $configOptions = $sugar_config['dbconfig'];
160
+        }
158 161
 
159 162
         //set the connections parameters
160 163
         $connect_param = '';
161 164
         $configOptions['db_host_instance'] = trim($configOptions['db_host_instance']);
162
-        if (empty($configOptions['db_host_instance']))
163
-            $connect_param = $configOptions['db_host_name'];
164
-        else
165
-            $connect_param = $configOptions['db_host_name']."\\".$configOptions['db_host_instance'];
165
+        if (empty($configOptions['db_host_instance'])) {
166
+                    $connect_param = $configOptions['db_host_name'];
167
+        } else {
168
+                    $connect_param = $configOptions['db_host_name']."\\".$configOptions['db_host_instance'];
169
+        }
166 170
 
167 171
         /*
168 172
          * Don't try to specifically use a persistent connection
@@ -192,8 +196,9 @@  discard block
 block discarded – undo
192 196
             }
193 197
         }
194 198
 
195
-        if($this->checkError('Could Not Connect:', $dieOnError))
196
-            $GLOBALS['log']->info("connected to db");
199
+        if($this->checkError('Could Not Connect:', $dieOnError)) {
200
+                    $GLOBALS['log']->info("connected to db");
201
+        }
197 202
 
198 203
         sqlsrv_query($this->database, 'SET DATEFORMAT mdy');
199 204
 
@@ -245,8 +250,9 @@  discard block
 block discarded – undo
245 250
 
246 251
         foreach ( sqlsrv_field_metadata($result) as $fieldMetadata ) {
247 252
             $key = $fieldMetadata['Name'];
248
-            if($make_lower_case==true)
249
-                $key = strtolower($key);
253
+            if($make_lower_case==true) {
254
+                            $key = strtolower($key);
255
+            }
250 256
 
251 257
             $field_array[] = $key;
252 258
         }
@@ -259,7 +265,9 @@  discard block
 block discarded – undo
259 265
 	 */
260 266
 	public function fetchRow($result)
261 267
 	{
262
-		if (empty($result))	return false;
268
+		if (empty($result)) {
269
+		    return false;
270
+		}
263 271
 
264 272
 	    $row = sqlsrv_fetch_array($result,SQLSRV_FETCH_ASSOC);
265 273
         if (empty($row)) {
@@ -284,11 +292,12 @@  discard block
 block discarded – undo
284 292
      */
285 293
     public function convert($string, $type, array $additional_parameters = array())
286 294
     {
287
-        if ( $type == 'datetime')
288
-        // see http://msdn.microsoft.com/en-us/library/ms187928.aspx for details
295
+        if ( $type == 'datetime') {
296
+                // see http://msdn.microsoft.com/en-us/library/ms187928.aspx for details
289 297
             return "CONVERT(datetime,$string,120)";
290
-        else
291
-            return parent::convert($string, $type, $additional_parameters);
298
+        } else {
299
+                    return parent::convert($string, $type, $additional_parameters);
300
+        }
292 301
     }
293 302
 
294 303
 	/**
@@ -330,8 +339,9 @@  discard block
 block discarded – undo
330 339
      */
331 340
     protected function freeDbResult($dbResult)
332 341
     {
333
-        if(!empty($dbResult))
334
-            sqlsrv_free_stmt($dbResult);
342
+        if(!empty($dbResult)) {
343
+                    sqlsrv_free_stmt($dbResult);
344
+        }
335 345
     }
336 346
 
337 347
 
@@ -377,14 +387,12 @@  discard block
 block discarded – undo
377 387
             if ( $row['TYPE_NAME'] == 'decimal' ) {
378 388
                 $columns[$column_name]['len']=strtolower($row['PRECISION']);
379 389
                 $columns[$column_name]['len'].=','.strtolower($row['SCALE']);
380
-            }
381
-			elseif ( in_array($row['TYPE_NAME'],array('nchar','nvarchar')) ) {
390
+            } elseif ( in_array($row['TYPE_NAME'],array('nchar','nvarchar')) ) {
382 391
 				$columns[$column_name]['len']=strtolower($row['PRECISION']);
383 392
 				if ( $row['TYPE_NAME'] == 'nvarchar' && $row['PRECISION'] == '0' ) {
384 393
 				    $columns[$column_name]['len']='max';
385 394
 				}
386
-			}
387
-            elseif ( !in_array($row['TYPE_NAME'],array('datetime','text')) ) {
395
+			} elseif ( !in_array($row['TYPE_NAME'],array('datetime','text')) ) {
388 396
                 $columns[$column_name]['len']=strtolower($row['LENGTH']);
389 397
             }
390 398
             if ( stristr($row['TYPE_NAME'],'identity') ) {
@@ -392,8 +400,9 @@  discard block
 block discarded – undo
392 400
                 $columns[$column_name]['type']=str_replace(' identity','',strtolower($row['TYPE_NAME']));
393 401
             }
394 402
 
395
-            if (!empty($row['IS_NULLABLE']) && $row['IS_NULLABLE'] == 'NO' && (empty($row['KEY']) || !stristr($row['KEY'],'PRI')))
396
-                $columns[strtolower($row['COLUMN_NAME'])]['required'] = 'true';
403
+            if (!empty($row['IS_NULLABLE']) && $row['IS_NULLABLE'] == 'NO' && (empty($row['KEY']) || !stristr($row['KEY'],'PRI'))) {
404
+                            $columns[strtolower($row['COLUMN_NAME'])]['required'] = 'true';
405
+            }
397 406
 
398 407
             $column_def = 1;
399 408
             if ( strtolower($tablename) == 'relationships' ) {
@@ -402,12 +411,13 @@  discard block
 block discarded – undo
402 411
             if ( $column_def != 0 && ($row['COLUMN_DEF'] != null)) {	// NOTE Not using !empty as an empty string may be a viable default value.
403 412
                 $matches = array();
404 413
                 $row['COLUMN_DEF'] = html_entity_decode($row['COLUMN_DEF'],ENT_QUOTES);
405
-                if ( preg_match('/\([\(|\'](.*)[\)|\']\)/i',$row['COLUMN_DEF'],$matches) )
406
-                    $columns[$column_name]['default'] = $matches[1];
407
-                elseif ( preg_match('/\(N\'(.*)\'\)/i',$row['COLUMN_DEF'],$matches) )
408
-                    $columns[$column_name]['default'] = $matches[1];
409
-                else
410
-                    $columns[$column_name]['default'] = $row['COLUMN_DEF'];
414
+                if ( preg_match('/\([\(|\'](.*)[\)|\']\)/i',$row['COLUMN_DEF'],$matches) ) {
415
+                                    $columns[$column_name]['default'] = $matches[1];
416
+                } elseif ( preg_match('/\(N\'(.*)\'\)/i',$row['COLUMN_DEF'],$matches) ) {
417
+                                    $columns[$column_name]['default'] = $matches[1];
418
+                } else {
419
+                                    $columns[$column_name]['default'] = $row['COLUMN_DEF'];
420
+                }
411 421
             }
412 422
         }
413 423
         return $columns;
@@ -495,7 +505,9 @@  discard block
 block discarded – undo
495 505
     public function lastDbError()
496 506
     {
497 507
         $errors = sqlsrv_errors(SQLSRV_ERR_ERRORS);
498
-        if(empty($errors)) return false;
508
+        if(empty($errors)) {
509
+            return false;
510
+        }
499 511
         global $app_strings;
500 512
         if (empty($app_strings)
501 513
 		    or !isset($app_strings['ERR_MSSQL_DB_CONTEXT'])
Please login to merge, or discard this patch.
include/database/MssqlManager.php 4 patches
Indentation   +156 added lines, -156 removed lines patch added patch discarded remove patch
@@ -140,8 +140,8 @@  discard block
 block discarded – undo
140 140
             'relate'   => 'varchar',
141 141
             'multienum'=> 'text',
142 142
             'html'     => 'text',
143
-			'longhtml' => 'text',
144
-    		'datetime' => 'datetime',
143
+            'longhtml' => 'text',
144
+            'datetime' => 'datetime',
145 145
             'datetimecombo' => 'datetime',
146 146
             'time'     => 'datetime',
147 147
             'bool'     => 'bit',
@@ -156,7 +156,7 @@  discard block
 block discarded – undo
156 156
             'url'      => 'varchar',
157 157
             'encrypt'  => 'varchar',
158 158
             'file'     => 'varchar',
159
-	        'decimal_tpl' => 'decimal(%d, %d)',
159
+            'decimal_tpl' => 'decimal(%d, %d)',
160 160
             );
161 161
 
162 162
     protected $connectOptions = null;
@@ -236,16 +236,16 @@  discard block
 block discarded – undo
236 236
         //it will throw an Unable to select database message.
237 237
 
238 238
         if(!empty($configOptions['db_name']) && !@mssql_select_db($configOptions['db_name'], $this->database)){
239
-			$connected = false;
240
-			for($i=0;$i<5;$i++){
241
-				usleep(200000);
242
-				if(@mssql_select_db($configOptions['db_name'], $this->database)){
243
-					$connected = true;
244
-					break;
245
-				}
246
-			}
247
-			if(!$connected){
248
-			    $GLOBALS['log']->fatal( "Unable to select database {$configOptions['db_name']}");
239
+            $connected = false;
240
+            for($i=0;$i<5;$i++){
241
+                usleep(200000);
242
+                if(@mssql_select_db($configOptions['db_name'], $this->database)){
243
+                    $connected = true;
244
+                    break;
245
+                }
246
+            }
247
+            if(!$connected){
248
+                $GLOBALS['log']->fatal( "Unable to select database {$configOptions['db_name']}");
249 249
                 if($dieOnError) {
250 250
                     if(isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
251 251
                         sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
@@ -255,8 +255,8 @@  discard block
 block discarded – undo
255 255
                 } else {
256 256
                     return false;
257 257
                 }
258
-			}
259
-         }
258
+            }
259
+            }
260 260
 
261 261
         if(!$this->checkError('Could Not Connect', $dieOnError))
262 262
             $GLOBALS['log']->info("connected to db");
@@ -267,18 +267,18 @@  discard block
 block discarded – undo
267 267
         return true;
268 268
     }
269 269
 
270
-	/**
270
+    /**
271 271
      * @see DBManager::version()
272 272
      */
273 273
     public function version()
274 274
     {
275 275
         return $this->getOne("SELECT @@VERSION as version");
276
-	}
276
+    }
277 277
 
278
-	/**
278
+    /**
279 279
      * @see DBManager::query()
280
-	 */
281
-	public function query($sql, $dieOnError = false, $msg = '', $suppress = false, $keepResult = false)
280
+     */
281
+    public function query($sql, $dieOnError = false, $msg = '', $suppress = false, $keepResult = false)
282 282
     {
283 283
         if(is_array($sql)) {
284 284
             return $this->queryArray($sql, $dieOnError, $msg, $suppress);
@@ -287,7 +287,7 @@  discard block
 block discarded – undo
287 287
         if ((substr_count($sql, "'") & 1))
288 288
             $GLOBALS['log']->error("SQL statement[" . $sql . "] has odd number of single quotes.");
289 289
 
290
-		$sql = $this->_appendN($sql);
290
+        $sql = $this->_appendN($sql);
291 291
 
292 292
         $GLOBALS['log']->info('Query:' . $sql);
293 293
         $this->checkConnection();
@@ -295,7 +295,7 @@  discard block
 block discarded – undo
295 295
         $this->query_time = microtime(true);
296 296
 
297 297
         // Bug 34892 - Clear out previous error message by checking the @@ERROR global variable
298
-		@mssql_query("SELECT @@ERROR", $this->database);
298
+        @mssql_query("SELECT @@ERROR", $this->database);
299 299
 
300 300
         $result = $suppress?@mssql_query($sql, $this->database):mssql_query($sql, $this->database);
301 301
 
@@ -305,18 +305,18 @@  discard block
 block discarded – undo
305 305
             //				  not affect the functionality of the query
306 306
             $sqlmsg = mssql_get_last_message();
307 307
             $sqlpos = strpos($sqlmsg, 'Changed database context to');
308
-			$sqlpos2 = strpos($sqlmsg, 'Warning:');
309
-			$sqlpos3 = strpos($sqlmsg, 'Checking identity information:');
308
+            $sqlpos2 = strpos($sqlmsg, 'Warning:');
309
+            $sqlpos3 = strpos($sqlmsg, 'Checking identity information:');
310 310
 
311
-			if ($sqlpos !== false || $sqlpos2 !== false || $sqlpos3 !== false)		// if sqlmsg has 'Changed database context to', just log it
312
-				$GLOBALS['log']->debug($sqlmsg . ": " . $sql );
313
-			else {
314
-				$GLOBALS['log']->fatal($sqlmsg . ": " . $sql );
315
-				if($dieOnError)
316
-					sugar_die('SQL Error : ' . $sqlmsg);
317
-				else
318
-					echo 'SQL Error : ' . $sqlmsg;
319
-			}
311
+            if ($sqlpos !== false || $sqlpos2 !== false || $sqlpos3 !== false)		// if sqlmsg has 'Changed database context to', just log it
312
+                $GLOBALS['log']->debug($sqlmsg . ": " . $sql );
313
+            else {
314
+                $GLOBALS['log']->fatal($sqlmsg . ": " . $sql );
315
+                if($dieOnError)
316
+                    sugar_die('SQL Error : ' . $sqlmsg);
317
+                else
318
+                    echo 'SQL Error : ' . $sqlmsg;
319
+            }
320 320
         }
321 321
 
322 322
         $this->query_time = microtime(true) - $this->query_time;
@@ -426,8 +426,8 @@  discard block
 block discarded – undo
426 426
         return $limitUnionSQL;
427 427
     }
428 428
 
429
-	/**
430
-	 * FIXME: verify and thoroughly test this code, these regexps look fishy
429
+    /**
430
+     * FIXME: verify and thoroughly test this code, these regexps look fishy
431 431
      * @see DBManager::limitQuery()
432 432
      */
433 433
     public function limitQuery($sql, $start, $count, $dieOnError = false, $msg = '', $execute = true)
@@ -569,7 +569,7 @@  discard block
 block discarded – undo
569 569
                     }else{
570 570
                         //if there is a distinct clause, form query with rownumber after distinct
571 571
                         if ($hasDistinct) {
572
-                             $newSQL = "SELECT TOP $count * FROM
572
+                                $newSQL = "SELECT TOP $count * FROM
573 573
                                             (
574 574
                             SELECT ROW_NUMBER() OVER (ORDER BY ".$grpByStr.") AS row_number, count(*) counter, " . $distinctSQLARRAY[0] . "
575 575
                                                         " . $distinctSQLARRAY[1] . "
@@ -579,7 +579,7 @@  discard block
 block discarded – undo
579 579
                                             WHERE row_number > $start";
580 580
                         }
581 581
                         else {
582
-                             $newSQL = "SELECT TOP $count * FROM
582
+                                $newSQL = "SELECT TOP $count * FROM
583 583
                                            (
584 584
                                   " . $matches[1] . " ROW_NUMBER() OVER (ORDER BY " . $sqlArray['FROM'][0]['alias'] . ".id) AS row_number, " . $matches[2] . $matches[3]. "
585 585
                                            )
@@ -626,7 +626,7 @@  discard block
 block discarded – undo
626 626
         while ($i<$count && $offset<strlen($p_sql)) {
627 627
             if ($offset > strlen($p_sql))
628 628
             {
629
-				break;
629
+                break;
630 630
             }
631 631
 
632 632
             $beg_sin = strpos($p_sql, $strip_beg, $offset);
@@ -665,7 +665,7 @@  discard block
 block discarded – undo
665 665
      * @param  array  $pattern_array
666 666
      * @return string
667 667
      */
668
-	private function addPatternToSQL($token, array $pattern_array)
668
+    private function addPatternToSQL($token, array $pattern_array)
669 669
     {
670 670
         //strip all single quotes out
671 671
         $pattern_array = array_reverse($pattern_array);
@@ -684,7 +684,7 @@  discard block
 block discarded – undo
684 684
      * @param  string $alias
685 685
      * @return string
686 686
      */
687
-	private function getAliasFromSQL($sql, $alias)
687
+    private function getAliasFromSQL($sql, $alias)
688 688
     {
689 689
         $matches = array();
690 690
         preg_match('/^(.*SELECT)(.*?FROM.*WHERE)(.*)$/isU',$sql, $matches);
@@ -786,7 +786,7 @@  discard block
 block discarded – undo
786 786
 
787 787
         // If there is no ordering direction (ASC/DESC), use ASC by default
788 788
         if (strpos($orig_order_match, " ") === false) {
789
-        	$orig_order_match .= " ASC";
789
+            $orig_order_match .= " ASC";
790 790
         }
791 791
 
792 792
         //grab first space in order by
@@ -810,11 +810,11 @@  discard block
 block discarded – undo
810 810
                 $lastSpacePos = strrpos($containsColStr, " ");
811 811
                 //use positions of column name, space before name, and length of column to find the correct column name
812 812
                 $col_name = substr($sql, $lastSpacePos, $colMatchPos-$lastSpacePos+strlen($orderMatch));
813
-				//bug 25485. When sorting by a custom field in Account List and then pressing NEXT >, system gives an error
814
-				$containsCommaPos = strpos($col_name, ",");
815
-				if($containsCommaPos !== false) {
816
-					$col_name = substr($col_name, $containsCommaPos+1);
817
-				}
813
+                //bug 25485. When sorting by a custom field in Account List and then pressing NEXT >, system gives an error
814
+                $containsCommaPos = strpos($col_name, ",");
815
+                if($containsCommaPos !== false) {
816
+                    $col_name = substr($col_name, $containsCommaPos+1);
817
+                }
818 818
                 //add the "asc/desc" order back
819 819
                 $col_name = $col_name. " ". $asc_desc;
820 820
 
@@ -967,14 +967,14 @@  discard block
 block discarded – undo
967 967
     }
968 968
 
969 969
 
970
-	/**
970
+    /**
971 971
      * @see DBManager::getFieldsArray()
972 972
      */
973
-	public function getFieldsArray($result, $make_lower_case = false)
974
-	{
975
-		$field_array = array();
973
+    public function getFieldsArray($result, $make_lower_case = false)
974
+    {
975
+        $field_array = array();
976 976
 
977
-		if(! isset($result) || empty($result))
977
+        if(! isset($result) || empty($result))
978 978
             return 0;
979 979
 
980 980
         $i = 0;
@@ -991,37 +991,37 @@  discard block
 block discarded – undo
991 991
         }
992 992
 
993 993
         return $field_array;
994
-	}
994
+    }
995 995
 
996 996
     /**
997 997
      * @see DBManager::getAffectedRowCount()
998 998
      */
999
-	public function getAffectedRowCount($result)
999
+    public function getAffectedRowCount($result)
1000 1000
     {
1001 1001
         return $this->getOne("SELECT @@ROWCOUNT");
1002 1002
     }
1003 1003
 
1004
-	/**
1005
-	 * @see DBManager::fetchRow()
1006
-	 */
1007
-	public function fetchRow($result)
1008
-	{
1009
-		if (empty($result))	return false;
1004
+    /**
1005
+     * @see DBManager::fetchRow()
1006
+     */
1007
+    public function fetchRow($result)
1008
+    {
1009
+        if (empty($result))	return false;
1010 1010
 
1011 1011
         $row = mssql_fetch_assoc($result);
1012 1012
         //MSSQL returns a space " " when a varchar column is empty ("") and not null.
1013 1013
         //We need to iterate through the returned row array and strip empty spaces
1014 1014
         if(!empty($row)){
1015 1015
             foreach($row as $key => $column) {
1016
-               //notice we only strip if one space is returned.  we do not want to strip
1017
-               //strings with intentional spaces (" foo ")
1018
-               if (!empty($column) && $column ==" ") {
1019
-                   $row[$key] = '';
1020
-               }
1016
+                //notice we only strip if one space is returned.  we do not want to strip
1017
+                //strings with intentional spaces (" foo ")
1018
+                if (!empty($column) && $column ==" ") {
1019
+                    $row[$key] = '';
1020
+                }
1021 1021
             }
1022 1022
         }
1023 1023
         return $row;
1024
-	}
1024
+    }
1025 1025
 
1026 1026
     /**
1027 1027
      * @see DBManager::quote()
@@ -1069,7 +1069,7 @@  discard block
 block discarded – undo
1069 1069
             if (!empty($r)) {
1070 1070
                 while ($a = $this->fetchByAssoc($r)) {
1071 1071
                     $row = array_values($a);
1072
-					$tables[]=$row[0];
1072
+                    $tables[]=$row[0];
1073 1073
                 }
1074 1074
                 return $tables;
1075 1075
             }
@@ -1126,7 +1126,7 @@  discard block
 block discarded – undo
1126 1126
                 )
1127 1127
                 ";
1128 1128
                 //create full text index
1129
-                 $FTSqry[] = "CREATE FULLTEXT INDEX ON fts_wakeup
1129
+                    $FTSqry[] = "CREATE FULLTEXT INDEX ON fts_wakeup
1130 1130
                 (
1131 1131
                     body
1132 1132
                     Language 0X0
@@ -1195,7 +1195,7 @@  discard block
 block discarded – undo
1195 1195
                     $len = $this->date_formats[$additional_parameters[0]];
1196 1196
                     return "LEFT(CONVERT(varchar($len),". $string . ",120),$len)";
1197 1197
                 } else {
1198
-                   return "LEFT(CONVERT(varchar(10),". $string . ",120),10)";
1198
+                    return "LEFT(CONVERT(varchar(10),". $string . ",120),10)";
1199 1199
                 }
1200 1200
             case 'ifnull':
1201 1201
                 if(empty($additional_parameters_string)) {
@@ -1237,14 +1237,14 @@  discard block
 block discarded – undo
1237 1237
             case 'datetime': return substr($string, 0,19);
1238 1238
             case 'date': return substr($string, 0, 10);
1239 1239
             case 'time': return substr($string, 11);
1240
-		}
1241
-		return $string;
1240
+        }
1241
+        return $string;
1242 1242
     }
1243 1243
 
1244 1244
     /**
1245 1245
      * @see DBManager::createTableSQLParams()
1246 1246
      */
1247
-	public function createTableSQLParams($tablename, $fieldDefs, $indices)
1247
+    public function createTableSQLParams($tablename, $fieldDefs, $indices)
1248 1248
     {
1249 1249
         if (empty($tablename) || empty($fieldDefs))
1250 1250
             return '';
@@ -1322,7 +1322,7 @@  discard block
 block discarded – undo
1322 1322
             break;
1323 1323
         default:
1324 1324
             return '';
1325
-    	}
1325
+        }
1326 1326
     }
1327 1327
 
1328 1328
     /**
@@ -1338,14 +1338,14 @@  discard block
 block discarded – undo
1338 1338
         $columns = array();
1339 1339
         if ($this->isFieldArray($fieldDefs)) {
1340 1340
             foreach ($fieldDefs as $def)
1341
-      		{
1342
-          		//if the column is being modified drop the default value
1343
-          		//constraint if it exists. alterSQLRep will add the constraint back
1344
-          		if (!empty($constraints[$def['name']])) {
1345
-          			$sql.=" ALTER TABLE " . $tablename . " DROP CONSTRAINT " . $constraints[$def['name']];
1346
-          		}
1347
-          		//check to see if we need to drop related indexes before the alter
1348
-          		$indices = $this->get_indices($tablename);
1341
+                {
1342
+                    //if the column is being modified drop the default value
1343
+                    //constraint if it exists. alterSQLRep will add the constraint back
1344
+                    if (!empty($constraints[$def['name']])) {
1345
+                        $sql.=" ALTER TABLE " . $tablename . " DROP CONSTRAINT " . $constraints[$def['name']];
1346
+                    }
1347
+                    //check to see if we need to drop related indexes before the alter
1348
+                    $indices = $this->get_indices($tablename);
1349 1349
                 foreach ( $indices as $index ) {
1350 1350
                     if ( in_array($def['name'],$index['fields']) ) {
1351 1351
                         $sql  .= ' ' . $this->add_drop_constraint($tablename,$index,true).' ';
@@ -1353,16 +1353,16 @@  discard block
 block discarded – undo
1353 1353
                     }
1354 1354
                 }
1355 1355
 
1356
-          		$columns[] = $this->alterSQLRep($action, $def, $ignoreRequired,$tablename);
1357
-      		}
1356
+                    $columns[] = $this->alterSQLRep($action, $def, $ignoreRequired,$tablename);
1357
+                }
1358 1358
         }
1359 1359
         else {
1360 1360
             //if the column is being modified drop the default value
1361
-      		//constraint if it exists. alterSQLRep will add the constraint back
1362
-      		if (!empty($constraints[$fieldDefs['name']])) {
1363
-      			$sql.=" ALTER TABLE " . $tablename . " DROP CONSTRAINT " . $constraints[$fieldDefs['name']];
1364
-      		}
1365
-      		//check to see if we need to drop related indexes before the alter
1361
+                //constraint if it exists. alterSQLRep will add the constraint back
1362
+                if (!empty($constraints[$fieldDefs['name']])) {
1363
+                    $sql.=" ALTER TABLE " . $tablename . " DROP CONSTRAINT " . $constraints[$fieldDefs['name']];
1364
+                }
1365
+                //check to see if we need to drop related indexes before the alter
1366 1366
             $indices = $this->get_indices($tablename);
1367 1367
             foreach ( $indices as $index ) {
1368 1368
                 if ( in_array($fieldDefs['name'],$index['fields']) ) {
@@ -1372,7 +1372,7 @@  discard block
 block discarded – undo
1372 1372
             }
1373 1373
 
1374 1374
 
1375
-          	$columns[] = $this->alterSQLRep($action, $fieldDefs, $ignoreRequired,$tablename);
1375
+                $columns[] = $this->alterSQLRep($action, $fieldDefs, $ignoreRequired,$tablename);
1376 1376
         }
1377 1377
 
1378 1378
         $columns = implode(", ", $columns);
@@ -1383,8 +1383,8 @@  discard block
 block discarded – undo
1383 1383
 
1384 1384
     protected function setAutoIncrement($table, $field_name)
1385 1385
     {
1386
-		return "identity(1,1)";
1387
-	}
1386
+        return "identity(1,1)";
1387
+    }
1388 1388
 
1389 1389
     /**
1390 1390
      * @see DBManager::setAutoIncrementStart()
@@ -1393,16 +1393,16 @@  discard block
 block discarded – undo
1393 1393
     {
1394 1394
         if($start_value > 1)
1395 1395
             $start_value -= 1;
1396
-		$this->query("DBCC CHECKIDENT ('$table', RESEED, $start_value) WITH NO_INFOMSGS");
1396
+        $this->query("DBCC CHECKIDENT ('$table', RESEED, $start_value) WITH NO_INFOMSGS");
1397 1397
         return true;
1398 1398
     }
1399 1399
 
1400
-	/**
1400
+    /**
1401 1401
      * @see DBManager::getAutoIncrement()
1402 1402
      */
1403 1403
     public function getAutoIncrement($table, $field_name)
1404 1404
     {
1405
-		$result = $this->getOne("select IDENT_CURRENT('$table') + IDENT_INCR ( '$table' ) as 'Auto_increment'");
1405
+        $result = $this->getOne("select IDENT_CURRENT('$table') + IDENT_INCR ( '$table' ) as 'Auto_increment'");
1406 1406
         return $result;
1407 1407
     }
1408 1408
 
@@ -1457,8 +1457,8 @@  discard block
 block discarded – undo
1457 1457
                 $columns[$column_name]['len']=strtolower($row['PRECISION']);
1458 1458
                 $columns[$column_name]['len'].=','.strtolower($row['SCALE']);
1459 1459
             }
1460
-			elseif ( in_array($row['TYPE_NAME'],array('nchar','nvarchar')) )
1461
-				$columns[$column_name]['len']=strtolower($row['PRECISION']);
1460
+            elseif ( in_array($row['TYPE_NAME'],array('nchar','nvarchar')) )
1461
+                $columns[$column_name]['len']=strtolower($row['PRECISION']);
1462 1462
             elseif ( !in_array($row['TYPE_NAME'],array('datetime','text')) )
1463 1463
                 $columns[$column_name]['len']=strtolower($row['LENGTH']);
1464 1464
             if ( stristr($row['TYPE_NAME'],'identity') ) {
@@ -1585,7 +1585,7 @@  discard block
 block discarded – undo
1585 1585
     protected function full_text_indexing_enabled($dbname = null)
1586 1586
     {
1587 1587
         // check to see if we already have install setting in session
1588
-    	if(!isset($_SESSION['IsFulltextInstalled']))
1588
+        if(!isset($_SESSION['IsFulltextInstalled']))
1589 1589
             $_SESSION['IsFulltextInstalled'] = $this->full_text_indexing_installed();
1590 1590
 
1591 1591
         // check to see if FTS Indexing service is installed
@@ -1593,27 +1593,27 @@  discard block
 block discarded – undo
1593 1593
             return false;
1594 1594
 
1595 1595
         // grab the dbname if it was not passed through
1596
-		if (empty($dbname)) {
1597
-			global $sugar_config;
1598
-			$dbname = $sugar_config['dbconfig']['db_name'];
1599
-		}
1596
+        if (empty($dbname)) {
1597
+            global $sugar_config;
1598
+            $dbname = $sugar_config['dbconfig']['db_name'];
1599
+        }
1600 1600
         //we already know that Indexing service is installed, now check
1601 1601
         //to see if it is enabled
1602
-		$res = $this->getOne("SELECT DATABASEPROPERTY('$dbname', 'IsFulltextEnabled') ftext");
1602
+        $res = $this->getOne("SELECT DATABASEPROPERTY('$dbname', 'IsFulltextEnabled') ftext");
1603 1603
         return !empty($res);
1604
-	}
1604
+    }
1605 1605
 
1606 1606
     /**
1607 1607
      * Creates default full text catalog
1608 1608
      */
1609
-	protected function create_default_full_text_catalog()
1609
+    protected function create_default_full_text_catalog()
1610 1610
     {
1611
-		if ($this->full_text_indexing_enabled()) {
1612
-		    $catalog = $this->ftsCatalogName();
1611
+        if ($this->full_text_indexing_enabled()) {
1612
+            $catalog = $this->ftsCatalogName();
1613 1613
             $GLOBALS['log']->debug("Creating the default catalog for full-text indexing, $catalog");
1614 1614
 
1615 1615
             //drop catalog if exists.
1616
-			$ret = $this->query("
1616
+            $ret = $this->query("
1617 1617
                 if not exists(
1618 1618
                     select *
1619 1619
                         from sys.fulltext_catalogs
@@ -1621,11 +1621,11 @@  discard block
 block discarded – undo
1621 1621
                         )
1622 1622
                 CREATE FULLTEXT CATALOG $catalog");
1623 1623
 
1624
-			if (empty($ret)) {
1625
-				$GLOBALS['log']->error("Error creating default full-text catalog, $catalog");
1626
-			}
1627
-		}
1628
-	}
1624
+            if (empty($ret)) {
1625
+                $GLOBALS['log']->error("Error creating default full-text catalog, $catalog");
1626
+            }
1627
+        }
1628
+    }
1629 1629
 
1630 1630
     /**
1631 1631
      * Function returns name of the constraint automatically generated by sql-server.
@@ -1635,7 +1635,7 @@  discard block
 block discarded – undo
1635 1635
      * @param  string $column
1636 1636
      * @return string
1637 1637
      */
1638
-	private function get_field_default_constraint_name($table, $column = null)
1638
+    private function get_field_default_constraint_name($table, $column = null)
1639 1639
     {
1640 1640
         static $results = array();
1641 1641
 
@@ -1670,7 +1670,7 @@  discard block
 block discarded – undo
1670 1670
         }
1671 1671
 
1672 1672
         return null;
1673
-	}
1673
+    }
1674 1674
 
1675 1675
     /**
1676 1676
      * @see DBManager::massageFieldDef()
@@ -1692,7 +1692,7 @@  discard block
 block discarded – undo
1692 1692
                 case 'varchar'  :
1693 1693
                 case 'nvarchar' :
1694 1694
                                   $fieldDef['len'] = $this->isTextType($fieldDef['dbType']) ? 'max' : '255';
1695
-                                  break;
1695
+                                    break;
1696 1696
                 case 'image'    : $fieldDef['len'] = '2147483647'; break;
1697 1697
                 case 'ntext'    : $fieldDef['len'] = '2147483646'; break;   // Note: this is from legacy code, don't know if this is correct
1698 1698
             }
@@ -1701,7 +1701,7 @@  discard block
 block discarded – undo
1701 1701
            && empty($fieldDef['precision'])
1702 1702
            && !strpos($fieldDef['len'], ','))
1703 1703
         {
1704
-             $fieldDef['len'] .= ',0'; // Adding 0 precision if it is not specified
1704
+                $fieldDef['len'] .= ',0'; // Adding 0 precision if it is not specified
1705 1705
         }
1706 1706
 
1707 1707
         if(empty($fieldDef['default'])
@@ -1709,8 +1709,8 @@  discard block
 block discarded – undo
1709 1709
         {
1710 1710
             $fieldDef['default'] = '0';
1711 1711
         }
1712
-		if (isset($fieldDef['required']) && $fieldDef['required'] && !isset($fieldDef['default']) )
1713
-			$fieldDef['default'] = '';
1712
+        if (isset($fieldDef['required']) && $fieldDef['required'] && !isset($fieldDef['default']) )
1713
+            $fieldDef['default'] = '';
1714 1714
 //        if ($fieldDef['type'] == 'bit' && empty($fieldDef['len']) )
1715 1715
 //            $fieldDef['len'] = '1';
1716 1716
 //		if ($fieldDef['type'] == 'bool' && empty($fieldDef['len']) )
@@ -1739,30 +1739,30 @@  discard block
 block discarded – undo
1739 1739
      */
1740 1740
     protected function oneColumnSQLRep($fieldDef, $ignoreRequired = false, $table = '', $return_as_array = false)
1741 1741
     {
1742
-    	//Bug 25814
1743
-		if(isset($fieldDef['name'])){
1744
-		    $colType = $this->getFieldType($fieldDef);
1745
-        	if(stristr($this->getFieldType($fieldDef), 'decimal') && isset($fieldDef['len'])){
1746
-				$fieldDef['len'] = min($fieldDef['len'],38);
1747
-			}
1748
-		    //bug: 39690 float(8) is interpreted as real and this generates a diff when doing repair
1749
-			if(stristr($colType, 'float') && isset($fieldDef['len']) && $fieldDef['len'] == 8){
1750
-				unset($fieldDef['len']);
1751
-			}
1752
-		}
1753
-
1754
-		// always return as array for post-processing
1755
-		$ref = parent::oneColumnSQLRep($fieldDef, $ignoreRequired, $table, true);
1756
-
1757
-		// Bug 24307 - Don't add precision for float fields.
1758
-		if ( stristr($ref['colType'],'float') )
1759
-			$ref['colType'] = preg_replace('/(,\d+)/','',$ref['colType']);
1742
+        //Bug 25814
1743
+        if(isset($fieldDef['name'])){
1744
+            $colType = $this->getFieldType($fieldDef);
1745
+            if(stristr($this->getFieldType($fieldDef), 'decimal') && isset($fieldDef['len'])){
1746
+                $fieldDef['len'] = min($fieldDef['len'],38);
1747
+            }
1748
+            //bug: 39690 float(8) is interpreted as real and this generates a diff when doing repair
1749
+            if(stristr($colType, 'float') && isset($fieldDef['len']) && $fieldDef['len'] == 8){
1750
+                unset($fieldDef['len']);
1751
+            }
1752
+        }
1753
+
1754
+        // always return as array for post-processing
1755
+        $ref = parent::oneColumnSQLRep($fieldDef, $ignoreRequired, $table, true);
1756
+
1757
+        // Bug 24307 - Don't add precision for float fields.
1758
+        if ( stristr($ref['colType'],'float') )
1759
+            $ref['colType'] = preg_replace('/(,\d+)/','',$ref['colType']);
1760 1760
 
1761 1761
         if ( $return_as_array )
1762 1762
             return $ref;
1763 1763
         else
1764 1764
             return "{$ref['name']} {$ref['colType']} {$ref['default']} {$ref['required']} {$ref['auto_increment']}";
1765
-	}
1765
+    }
1766 1766
 
1767 1767
     /**
1768 1768
      * Saves changes to module's audit table
@@ -1771,13 +1771,13 @@  discard block
 block discarded – undo
1771 1771
      * @param array  $changes changes
1772 1772
      */
1773 1773
     public function save_audit_records(SugarBean $bean, $changes)
1774
-	{
1775
-		//Bug 25078 fixed by Martin Hu: sqlserver haven't 'date' type, trim extra "00:00:00"
1776
-		if($changes['data_type'] == 'date'){
1777
-			$changes['before'] = str_replace(' 00:00:00','',$changes['before']);
1778
-		}
1779
-		parent::save_audit_records($bean,$changes);
1780
-	}
1774
+    {
1775
+        //Bug 25078 fixed by Martin Hu: sqlserver haven't 'date' type, trim extra "00:00:00"
1776
+        if($changes['data_type'] == 'date'){
1777
+            $changes['before'] = str_replace(' 00:00:00','',$changes['before']);
1778
+        }
1779
+        parent::save_audit_records($bean,$changes);
1780
+    }
1781 1781
 
1782 1782
     /**
1783 1783
      * Disconnects from the database
@@ -1786,7 +1786,7 @@  discard block
 block discarded – undo
1786 1786
      */
1787 1787
     public function disconnect()
1788 1788
     {
1789
-    	$GLOBALS['log']->debug('Calling Mssql::disconnect()');
1789
+        $GLOBALS['log']->debug('Calling Mssql::disconnect()');
1790 1790
         if(!empty($this->database)){
1791 1791
             $this->freeResult();
1792 1792
             mssql_close($this->database);
@@ -1803,21 +1803,21 @@  discard block
 block discarded – undo
1803 1803
             mssql_free_result($dbResult);
1804 1804
     }
1805 1805
 
1806
-	/**
1807
-	 * (non-PHPdoc)
1808
-	 * @see DBManager::lastDbError()
1809
-	 */
1806
+    /**
1807
+     * (non-PHPdoc)
1808
+     * @see DBManager::lastDbError()
1809
+     */
1810 1810
     public function lastDbError()
1811 1811
     {
1812 1812
         $sqlmsg = mssql_get_last_message();
1813 1813
         if(empty($sqlmsg)) return false;
1814 1814
         global $app_strings;
1815 1815
         if (empty($app_strings)
1816
-		    or !isset($app_strings['ERR_MSSQL_DB_CONTEXT'])
1817
-			or !isset($app_strings['ERR_MSSQL_WARNING']) ) {
1816
+            or !isset($app_strings['ERR_MSSQL_DB_CONTEXT'])
1817
+            or !isset($app_strings['ERR_MSSQL_WARNING']) ) {
1818 1818
         //ignore the message from sql-server if $app_strings array is empty. This will happen
1819 1819
         //only if connection if made before language is set.
1820
-		    return false;
1820
+            return false;
1821 1821
         }
1822 1822
 
1823 1823
         $sqlpos = strpos($sqlmsg, 'Changed database context to');
@@ -1826,7 +1826,7 @@  discard block
 block discarded – undo
1826 1826
         if ( $sqlpos !== false || $sqlpos2 !== false || $sqlpos3 !== false ) {
1827 1827
             return false;
1828 1828
         } else {
1829
-        	global $app_strings;
1829
+            global $app_strings;
1830 1830
             //ERR_MSSQL_DB_CONTEXT: localized version of 'Changed database context to' message
1831 1831
             if (empty($app_strings) or !isset($app_strings['ERR_MSSQL_DB_CONTEXT'])) {
1832 1832
                 //ignore the message from sql-server if $app_strings array is empty. This will happen
@@ -1842,7 +1842,7 @@  discard block
 block discarded – undo
1842 1842
         }
1843 1843
 
1844 1844
         if ( strlen($sqlmsg) > 2 ) {
1845
-        	return "SQL Server error: " . $sqlmsg;
1845
+            return "SQL Server error: " . $sqlmsg;
1846 1846
         }
1847 1847
 
1848 1848
         return false;
@@ -2065,7 +2065,7 @@  discard block
 block discarded – undo
2065 2065
     public function installConfig()
2066 2066
     {
2067 2067
         return array(
2068
-        	'LBL_DBCONFIG_MSG3' =>  array(
2068
+            'LBL_DBCONFIG_MSG3' =>  array(
2069 2069
                 "setup_db_database_name" => array("label" => 'LBL_DBCONF_DB_NAME', "required" => true),
2070 2070
             ),
2071 2071
             'LBL_DBCONFIG_MSG2' =>  array(
@@ -2097,8 +2097,8 @@  discard block
 block discarded – undo
2097 2097
      * @return string
2098 2098
      */
2099 2099
 
2100
-	public function getGuidSQL()
2100
+    public function getGuidSQL()
2101 2101
     {
2102
-      	return 'NEWID()';
2102
+            return 'NEWID()';
2103 2103
     }
2104 2104
 }
Please login to merge, or discard this patch.
Switch Indentation   +71 added lines, -71 removed lines patch added patch discarded remove patch
@@ -1304,24 +1304,24 @@  discard block
 block discarded – undo
1304 1304
     protected function alterSQLRep($action, array $def, $ignoreRequired, $tablename)
1305 1305
     {
1306 1306
         switch($action){
1307
-        case 'add':
1308
-             $f_def=$this->oneColumnSQLRep($def, $ignoreRequired,$tablename,false);
1309
-            return "ADD " . $f_def;
1310
-            break;
1311
-        case 'drop':
1312
-            return "DROP COLUMN " . $def['name'];
1313
-            break;
1314
-        case 'modify':
1315
-            //You cannot specify a default value for a column for MSSQL
1316
-            $f_def  = $this->oneColumnSQLRep($def, $ignoreRequired,$tablename, true);
1317
-            $f_stmt = "ALTER COLUMN ".$f_def['name'].' '.$f_def['colType'].' '.
1318
-                        $f_def['required'].' '.$f_def['auto_increment']."\n";
1319
-            if (!empty( $f_def['default']))
1320
-                $f_stmt .= " ALTER TABLE " . $tablename .  " ADD  ". $f_def['default'] . " FOR " . $def['name'];
1321
-            return $f_stmt;
1322
-            break;
1323
-        default:
1324
-            return '';
1307
+            case 'add':
1308
+                 $f_def=$this->oneColumnSQLRep($def, $ignoreRequired,$tablename,false);
1309
+                return "ADD " . $f_def;
1310
+                break;
1311
+            case 'drop':
1312
+                return "DROP COLUMN " . $def['name'];
1313
+                break;
1314
+            case 'modify':
1315
+                //You cannot specify a default value for a column for MSSQL
1316
+                $f_def  = $this->oneColumnSQLRep($def, $ignoreRequired,$tablename, true);
1317
+                $f_stmt = "ALTER COLUMN ".$f_def['name'].' '.$f_def['colType'].' '.
1318
+                            $f_def['required'].' '.$f_def['auto_increment']."\n";
1319
+                if (!empty( $f_def['default']))
1320
+                    $f_stmt .= " ALTER TABLE " . $tablename .  " ADD  ". $f_def['default'] . " FOR " . $def['name'];
1321
+                return $f_stmt;
1322
+                break;
1323
+            default:
1324
+                return '';
1325 1325
     	}
1326 1326
     }
1327 1327
 
@@ -1511,59 +1511,59 @@  discard block
 block discarded – undo
1511 1511
 
1512 1512
         switch ($type){
1513 1513
         // generic indices
1514
-        case 'index':
1515
-        case 'alternate_key':
1516
-            if ($drop)
1517
-                $sql = "DROP INDEX {$name} ON {$table}";
1518
-            else
1519
-                $sql = "CREATE INDEX {$name} ON {$table} ({$fields})";
1520
-            break;
1521
-        case 'clustered':
1522
-            if ($drop)
1523
-                $sql = "DROP INDEX {$name} ON {$table}";
1524
-            else
1525
-                $sql = "CREATE CLUSTERED INDEX $name ON $table ($fields)";
1526
-            break;
1527
-            // constraints as indices
1528
-        case 'unique':
1529
-            if ($drop)
1530
-                $sql = "ALTER TABLE {$table} DROP CONSTRAINT $name";
1531
-            else
1532
-                $sql = "ALTER TABLE {$table} ADD CONSTRAINT {$name} UNIQUE ({$fields})";
1533
-            break;
1534
-        case 'primary':
1535
-            if ($drop)
1536
-                $sql = "ALTER TABLE {$table} DROP CONSTRAINT {$name}";
1537
-            else
1538
-                $sql = "ALTER TABLE {$table} ADD CONSTRAINT {$name} PRIMARY KEY ({$fields})";
1539
-            break;
1540
-        case 'foreign':
1541
-            if ($drop)
1542
-                $sql = "ALTER TABLE {$table} DROP FOREIGN KEY ({$fields})";
1543
-            else
1544
-                $sql = "ALTER TABLE {$table} ADD CONSTRAINT {$name}  FOREIGN KEY ({$fields}) REFERENCES {$definition['foreignTable']}({$definition['foreignFields']})";
1545
-            break;
1546
-        case 'fulltext':
1547
-            if ($this->full_text_indexing_enabled() && $drop) {
1548
-                $sql = "DROP FULLTEXT INDEX ON {$table}";
1549
-            } elseif ($this->full_text_indexing_enabled()) {
1550
-                $catalog_name=$this->ftsCatalogName();
1551
-                if ( isset($definition['catalog_name']) && $definition['catalog_name'] != 'default')
1552
-                    $catalog_name = $definition['catalog_name'];
1553
-
1554
-                $language = "Language 1033";
1555
-                if (isset($definition['language']) && !empty($definition['language']))
1556
-                    $language = "Language " . $definition['language'];
1557
-
1558
-                $key_index = $definition['key_index'];
1559
-
1560
-                $change_tracking = "auto";
1561
-                if (isset($definition['change_tracking']) && !empty($definition['change_tracking']))
1562
-                    $change_tracking = $definition['change_tracking'];
1563
-
1564
-                $sql = " CREATE FULLTEXT INDEX ON $table ($fields $language) KEY INDEX $key_index ON $catalog_name WITH CHANGE_TRACKING $change_tracking" ;
1565
-            }
1566
-            break;
1514
+            case 'index':
1515
+            case 'alternate_key':
1516
+                if ($drop)
1517
+                    $sql = "DROP INDEX {$name} ON {$table}";
1518
+                else
1519
+                    $sql = "CREATE INDEX {$name} ON {$table} ({$fields})";
1520
+                break;
1521
+            case 'clustered':
1522
+                if ($drop)
1523
+                    $sql = "DROP INDEX {$name} ON {$table}";
1524
+                else
1525
+                    $sql = "CREATE CLUSTERED INDEX $name ON $table ($fields)";
1526
+                break;
1527
+                // constraints as indices
1528
+            case 'unique':
1529
+                if ($drop)
1530
+                    $sql = "ALTER TABLE {$table} DROP CONSTRAINT $name";
1531
+                else
1532
+                    $sql = "ALTER TABLE {$table} ADD CONSTRAINT {$name} UNIQUE ({$fields})";
1533
+                break;
1534
+            case 'primary':
1535
+                if ($drop)
1536
+                    $sql = "ALTER TABLE {$table} DROP CONSTRAINT {$name}";
1537
+                else
1538
+                    $sql = "ALTER TABLE {$table} ADD CONSTRAINT {$name} PRIMARY KEY ({$fields})";
1539
+                break;
1540
+            case 'foreign':
1541
+                if ($drop)
1542
+                    $sql = "ALTER TABLE {$table} DROP FOREIGN KEY ({$fields})";
1543
+                else
1544
+                    $sql = "ALTER TABLE {$table} ADD CONSTRAINT {$name}  FOREIGN KEY ({$fields}) REFERENCES {$definition['foreignTable']}({$definition['foreignFields']})";
1545
+                break;
1546
+            case 'fulltext':
1547
+                if ($this->full_text_indexing_enabled() && $drop) {
1548
+                    $sql = "DROP FULLTEXT INDEX ON {$table}";
1549
+                } elseif ($this->full_text_indexing_enabled()) {
1550
+                    $catalog_name=$this->ftsCatalogName();
1551
+                    if ( isset($definition['catalog_name']) && $definition['catalog_name'] != 'default')
1552
+                        $catalog_name = $definition['catalog_name'];
1553
+
1554
+                    $language = "Language 1033";
1555
+                    if (isset($definition['language']) && !empty($definition['language']))
1556
+                        $language = "Language " . $definition['language'];
1557
+
1558
+                    $key_index = $definition['key_index'];
1559
+
1560
+                    $change_tracking = "auto";
1561
+                    if (isset($definition['change_tracking']) && !empty($definition['change_tracking']))
1562
+                        $change_tracking = $definition['change_tracking'];
1563
+
1564
+                    $sql = " CREATE FULLTEXT INDEX ON $table ($fields $language) KEY INDEX $key_index ON $catalog_name WITH CHANGE_TRACKING $change_tracking" ;
1565
+                }
1566
+                break;
1567 1567
         }
1568 1568
         return $sql;
1569 1569
     }
Please login to merge, or discard this patch.
Braces   +202 added lines, -159 removed lines patch added patch discarded remove patch
@@ -1,5 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if(!defined('sugarEntry') || !sugarEntry) {
3
+    die('Not A Valid Entry Point');
4
+}
3 5
 /*********************************************************************************
4 6
  * SugarCRM Community Edition is a customer relationship management program developed by
5 7
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -168,8 +170,9 @@  discard block
 block discarded – undo
168 170
     {
169 171
         global $sugar_config;
170 172
 
171
-        if (is_null($configOptions))
172
-            $configOptions = $sugar_config['dbconfig'];
173
+        if (is_null($configOptions)) {
174
+                    $configOptions = $sugar_config['dbconfig'];
175
+        }
173 176
 
174 177
         //SET DATEFORMAT to 'YYYY-MM-DD''
175 178
         ini_set('mssql.datetimeconvert', '0');
@@ -258,8 +261,9 @@  discard block
 block discarded – undo
258 261
 			}
259 262
          }
260 263
 
261
-        if(!$this->checkError('Could Not Connect', $dieOnError))
262
-            $GLOBALS['log']->info("connected to db");
264
+        if(!$this->checkError('Could Not Connect', $dieOnError)) {
265
+                    $GLOBALS['log']->info("connected to db");
266
+        }
263 267
 
264 268
         $this->connectOptions = $configOptions;
265 269
 
@@ -284,8 +288,9 @@  discard block
 block discarded – undo
284 288
             return $this->queryArray($sql, $dieOnError, $msg, $suppress);
285 289
         }
286 290
         // Flag if there are odd number of single quotes
287
-        if ((substr_count($sql, "'") & 1))
288
-            $GLOBALS['log']->error("SQL statement[" . $sql . "] has odd number of single quotes.");
291
+        if ((substr_count($sql, "'") & 1)) {
292
+                    $GLOBALS['log']->error("SQL statement[" . $sql . "] has odd number of single quotes.");
293
+        }
289 294
 
290 295
 		$sql = $this->_appendN($sql);
291 296
 
@@ -308,14 +313,16 @@  discard block
 block discarded – undo
308 313
 			$sqlpos2 = strpos($sqlmsg, 'Warning:');
309 314
 			$sqlpos3 = strpos($sqlmsg, 'Checking identity information:');
310 315
 
311
-			if ($sqlpos !== false || $sqlpos2 !== false || $sqlpos3 !== false)		// if sqlmsg has 'Changed database context to', just log it
316
+			if ($sqlpos !== false || $sqlpos2 !== false || $sqlpos3 !== false) {
317
+			    // if sqlmsg has 'Changed database context to', just log it
312 318
 				$GLOBALS['log']->debug($sqlmsg . ": " . $sql );
313
-			else {
319
+			} else {
314 320
 				$GLOBALS['log']->fatal($sqlmsg . ": " . $sql );
315
-				if($dieOnError)
316
-					sugar_die('SQL Error : ' . $sqlmsg);
317
-				else
318
-					echo 'SQL Error : ' . $sqlmsg;
321
+				if($dieOnError) {
322
+									sugar_die('SQL Error : ' . $sqlmsg);
323
+				} else {
324
+									echo 'SQL Error : ' . $sqlmsg;
325
+				}
319 326
 			}
320 327
         }
321 328
 
@@ -340,8 +347,9 @@  discard block
 block discarded – undo
340 347
     private function handleUnionLimitQuery($sql, $start, $count)
341 348
     {
342 349
         //set the start to 0, no negs
343
-        if ($start < 0)
344
-            $start=0;
350
+        if ($start < 0) {
351
+                    $start=0;
352
+        }
345 353
 
346 354
         $GLOBALS['log']->debug(print_r(func_get_args(),true));
347 355
 
@@ -390,8 +398,7 @@  discard block
 block discarded – undo
390 398
                 $rowNumOrderBy = 'id';
391 399
                 $unionOrderBy = "";
392 400
             }
393
-        }
394
-        else {
401
+        } else {
395 402
             //there are no order by elements, so just pass back string
396 403
             $unionsql = $sql;
397 404
             //with no guidance on what to use for required order by in rownumber function,
@@ -413,8 +420,7 @@  discard block
 block discarded – undo
413 420
         if ($count == 1 && $start == 0)
414 421
         {
415 422
             $limitUnionSQL = "SELECT TOP $count * FROM (" .$unionsql .") as top_count ".$unionOrderBy;
416
-        }
417
-        else
423
+        } else
418 424
         {
419 425
             $limitUnionSQL = "SELECT TOP $count * FROM( select ROW_NUMBER() OVER ( order by "
420 426
             .$rowNumOrderBy.") AS row_number, * FROM ("
@@ -436,11 +442,12 @@  discard block
 block discarded – undo
436 442
         $count = (int)$count;
437 443
         $newSQL = $sql;
438 444
         $distinctSQLARRAY = array();
439
-        if (strpos($sql, "UNION") && !preg_match("/(')(UNION).?(')/i", $sql))
440
-            $newSQL = $this->handleUnionLimitQuery($sql,$start,$count);
441
-        else {
442
-            if ($start < 0)
443
-                $start = 0;
445
+        if (strpos($sql, "UNION") && !preg_match("/(')(UNION).?(')/i", $sql)) {
446
+                    $newSQL = $this->handleUnionLimitQuery($sql,$start,$count);
447
+        } else {
448
+            if ($start < 0) {
449
+                            $start = 0;
450
+            }
444 451
             $GLOBALS['log']->debug(print_r(func_get_args(),true));
445 452
             $this->lastsql = $sql;
446 453
             $matches = array();
@@ -461,20 +468,17 @@  discard block
 block discarded – undo
461 468
                                     " . $selectPart[2] . $orderByMatch[1]. "
462 469
                                 ) AS a
463 470
                                 WHERE row_number > $start";
464
-                        }
465
-                        else {
471
+                        } else {
466 472
                             $newSQL = $matches[1] . " TOP $count " . $matches[2] . $matches[3];
467 473
                         }
468
-                    }
469
-                    else {
474
+                    } else {
470 475
                         $distinct_o = strpos($match_two, "distinct");
471 476
                         $up_to_distinct_str = substr($match_two, 0, $distinct_o);
472 477
                         //check to see if the distinct is within a function, if so, then proceed as normal
473 478
                         if (strpos($up_to_distinct_str,"(")) {
474 479
                             //proceed as normal
475 480
                             $newSQL = $matches[1] . " TOP $count " . $matches[2] . $matches[3];
476
-                        }
477
-                        else {
481
+                        } else {
478 482
                             //if distinct is not within a function, then parse
479 483
                             //string contains distinct clause, "TOP needs to come after Distinct"
480 484
                             //get position of distinct
@@ -556,8 +560,7 @@  discard block
 block discarded – undo
556 560
                                                 group by " . $grpByStr . "
557 561
                                         ) AS a
558 562
                                         WHERE row_number > $start";
559
-                        }
560
-                        else {
563
+                        } else {
561 564
                         $newSQL = "SELECT TOP $count * FROM
562 565
                                     (
563 566
                                         " . $matches[1] . " ROW_NUMBER()
@@ -566,7 +569,7 @@  discard block
 block discarded – undo
566 569
                                     ) AS a
567 570
                                     WHERE row_number > $start";
568 571
                         }
569
-                    }else{
572
+                    } else{
570 573
                         //if there is a distinct clause, form query with rownumber after distinct
571 574
                         if ($hasDistinct) {
572 575
                              $newSQL = "SELECT TOP $count * FROM
@@ -577,8 +580,7 @@  discard block
 block discarded – undo
577 580
                                             )
578 581
                                             AS a
579 582
                                             WHERE row_number > $start";
580
-                        }
581
-                        else {
583
+                        } else {
582 584
                              $newSQL = "SELECT TOP $count * FROM
583 585
                                            (
584 586
                                   " . $matches[1] . " ROW_NUMBER() OVER (ORDER BY " . $sqlArray['FROM'][0]['alias'] . ".id) AS row_number, " . $matches[2] . $matches[3]. "
@@ -617,8 +619,9 @@  discard block
 block discarded – undo
617 619
         //strip all single quotes out
618 620
         $count = substr_count ( $p_sql, $strip_beg);
619 621
         $increment = 1;
620
-        if ($strip_beg != $strip_end)
621
-            $increment = 2;
622
+        if ($strip_beg != $strip_end) {
623
+                    $increment = 2;
624
+        }
622 625
 
623 626
         $i=0;
624 627
         $offset = 0;
@@ -780,9 +783,10 @@  discard block
 block discarded – undo
780 783
     {
781 784
         $sql = strtolower($sql);
782 785
         $orig_order_match = trim($orig_order_match);
783
-        if (strpos($orig_order_match, ".") != 0)
784
-            //this has a tablename defined, pass in the order match
786
+        if (strpos($orig_order_match, ".") != 0) {
787
+                    //this has a tablename defined, pass in the order match
785 788
             return $orig_order_match;
789
+        }
786 790
 
787 791
         // If there is no ordering direction (ASC/DESC), use ASC by default
788 792
         if (strpos($orig_order_match, " ") === false) {
@@ -824,15 +828,15 @@  discard block
 block discarded – undo
824 828
             //break out of here, log this
825 829
             $GLOBALS['log']->debug("No match was found for order by, pass string back untouched as: $orig_order_match");
826 830
             return $orig_order_match;
827
-        }
828
-        else {
831
+        } else {
829 832
             //if found, then parse and return
830 833
             //grab string up to the aliased column
831 834
             $GLOBALS['log']->debug("order by found, process sql string");
832 835
 
833 836
             $psql = (trim($this->getAliasFromSQL($sql, $orderMatch )));
834
-            if (empty($psql))
835
-                $psql = trim(substr($sql, 0, $found_in_sql));
837
+            if (empty($psql)) {
838
+                            $psql = trim(substr($sql, 0, $found_in_sql));
839
+            }
836 840
 
837 841
             //grab the last comma before the alias
838 842
             preg_match('/\s+' . trim($orderMatch). '/', $psql, $match, PREG_OFFSET_CAPTURE);
@@ -845,8 +849,9 @@  discard block
 block discarded – undo
845 849
             //this is especially true for unified search from home screen
846 850
 
847 851
             $alias_beg_pos = 0;
848
-            if(strpos($psql, " as "))
849
-                $alias_beg_pos = strpos($psql, " as ");
852
+            if(strpos($psql, " as ")) {
853
+                            $alias_beg_pos = strpos($psql, " as ");
854
+            }
850 855
 
851 856
             // Bug # 44923 - This breaks the query and does not properly filter isnull
852 857
             // as there are other functions such as ltrim and rtrim.
@@ -883,8 +888,9 @@  discard block
 block discarded – undo
883 888
         //correct table name.
884 889
         if (($module_str != 'Reports' && $module_str != 'SavedReport') && isset($beanList[$module_str])  &&  isset($beanFiles[$beanList[$module_str]])){
885 890
             //if the class is not already loaded, then load files
886
-            if (!class_exists($beanList[$module_str]))
887
-                require_once($beanFiles[$beanList[$module_str]]);
891
+            if (!class_exists($beanList[$module_str])) {
892
+                            require_once($beanFiles[$beanList[$module_str]]);
893
+            }
888 894
 
889 895
             //instantiate new bean
890 896
             $module_bean = new $beanList[$module_str]();
@@ -897,8 +903,7 @@  discard block
 block discarded – undo
897 903
                 $GLOBALS['log']->debug("Could not find table name for module $module_str. ");
898 904
                 $tbl_name = $module_str;
899 905
             }
900
-        }
901
-        else {
906
+        } else {
902 907
             //since the module does NOT exist in beanlist, then we have to parse the string
903 908
             //and grab the table name from the passed in sql
904 909
             $GLOBALS['log']->debug("Could not find table name from module in request, retrieve from passed in sql");
@@ -919,8 +924,9 @@  discard block
 block discarded – undo
919 924
                 // MFH BUG #14009: Also check to see if there are any carriage returns before the next space so that we don't grab any arbitrary joins or other tables.
920 925
                 $carriage_ret = strpos($tableEnd,"\n");
921 926
                 $next_space = strpos($tableEnd," " );
922
-                if ($carriage_ret < $next_space)
923
-                    $next_space = $carriage_ret;
927
+                if ($carriage_ret < $next_space) {
928
+                                    $next_space = $carriage_ret;
929
+                }
924 930
                 if ($next_space > 0) {
925 931
                     $tbl_name= substr($tableEnd,0, $next_space);
926 932
                     if(empty($tbl_name)){
@@ -943,18 +949,17 @@  discard block
 block discarded – undo
943 949
                         || $alias_tbl_name == "outer"
944 950
                         || $alias_tbl_name == "right") {
945 951
                         //not aliased, do nothing
946
-                    }
947
-                    elseif ($alias_tbl_name == "as") {
952
+                    } elseif ($alias_tbl_name == "as") {
948 953
                             //the next word is the table name
949 954
                             $aliasTableEnd = trim(substr($aliasTableEnd, $alias_space));
950 955
                             $alias_space = strpos ($aliasTableEnd, " " );
951 956
                             if ($alias_space > 0) {
952 957
                                 $alias_tbl_name= trim(substr($aliasTableEnd,0, $alias_space));
953
-                                if (!empty($alias_tbl_name))
954
-                                    $tbl_name = $alias_tbl_name;
958
+                                if (!empty($alias_tbl_name)) {
959
+                                                                    $tbl_name = $alias_tbl_name;
960
+                                }
955 961
                             }
956
-                    }
957
-                    else {
962
+                    } else {
958 963
                         //this is table alias
959 964
                         $tbl_name = $alias_tbl_name;
960 965
                     }
@@ -974,16 +979,19 @@  discard block
 block discarded – undo
974 979
 	{
975 980
 		$field_array = array();
976 981
 
977
-		if(! isset($result) || empty($result))
978
-            return 0;
982
+		if(! isset($result) || empty($result)) {
983
+		            return 0;
984
+		}
979 985
 
980 986
         $i = 0;
981 987
         while ($i < mssql_num_fields($result)) {
982 988
             $meta = mssql_fetch_field($result, $i);
983
-            if (!$meta)
984
-                return 0;
985
-            if($make_lower_case==true)
986
-                $meta->name = strtolower($meta->name);
989
+            if (!$meta) {
990
+                            return 0;
991
+            }
992
+            if($make_lower_case==true) {
993
+                            $meta->name = strtolower($meta->name);
994
+            }
987 995
 
988 996
             $field_array[] = $meta->name;
989 997
 
@@ -1006,7 +1014,9 @@  discard block
 block discarded – undo
1006 1014
 	 */
1007 1015
 	public function fetchRow($result)
1008 1016
 	{
1009
-		if (empty($result))	return false;
1017
+		if (empty($result)) {
1018
+		    return false;
1019
+		}
1010 1020
 
1011 1021
         $row = mssql_fetch_assoc($result);
1012 1022
         //MSSQL returns a space " " when a varchar column is empty ("") and not null.
@@ -1088,8 +1098,9 @@  discard block
 block discarded – undo
1088 1098
             $tables = array();
1089 1099
             $r = $this->query('SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES');
1090 1100
             if (is_resource($r)) {
1091
-                while ($a = $this->fetchByAssoc($r))
1092
-                    $tables[] = $a['TABLE_NAME'];
1101
+                while ($a = $this->fetchByAssoc($r)) {
1102
+                                    $tables[] = $a['TABLE_NAME'];
1103
+                }
1093 1104
 
1094 1105
                 return $tables;
1095 1106
             }
@@ -1246,12 +1257,14 @@  discard block
 block discarded – undo
1246 1257
      */
1247 1258
 	public function createTableSQLParams($tablename, $fieldDefs, $indices)
1248 1259
     {
1249
-        if (empty($tablename) || empty($fieldDefs))
1250
-            return '';
1260
+        if (empty($tablename) || empty($fieldDefs)) {
1261
+                    return '';
1262
+        }
1251 1263
 
1252 1264
         $columns = $this->columnSQLRep($fieldDefs, false, $tablename);
1253
-        if (empty($columns))
1254
-            return '';
1265
+        if (empty($columns)) {
1266
+                    return '';
1267
+        }
1255 1268
 
1256 1269
         return "CREATE TABLE $tablename ($columns)";
1257 1270
     }
@@ -1263,7 +1276,9 @@  discard block
 block discarded – undo
1263 1276
     public function isTextType($type)
1264 1277
     {
1265 1278
         $type = strtolower($type);
1266
-        if(!isset($this->type_map[$type])) return false;
1279
+        if(!isset($this->type_map[$type])) {
1280
+            return false;
1281
+        }
1267 1282
         return in_array($this->type_map[$type], array('ntext','text','image', 'nvarchar(max)'));
1268 1283
     }
1269 1284
 
@@ -1316,8 +1331,9 @@  discard block
 block discarded – undo
1316 1331
             $f_def  = $this->oneColumnSQLRep($def, $ignoreRequired,$tablename, true);
1317 1332
             $f_stmt = "ALTER COLUMN ".$f_def['name'].' '.$f_def['colType'].' '.
1318 1333
                         $f_def['required'].' '.$f_def['auto_increment']."\n";
1319
-            if (!empty( $f_def['default']))
1320
-                $f_stmt .= " ALTER TABLE " . $tablename .  " ADD  ". $f_def['default'] . " FOR " . $def['name'];
1334
+            if (!empty( $f_def['default'])) {
1335
+                            $f_stmt .= " ALTER TABLE " . $tablename .  " ADD  ". $f_def['default'] . " FOR " . $def['name'];
1336
+            }
1321 1337
             return $f_stmt;
1322 1338
             break;
1323 1339
         default:
@@ -1355,8 +1371,7 @@  discard block
 block discarded – undo
1355 1371
 
1356 1372
           		$columns[] = $this->alterSQLRep($action, $def, $ignoreRequired,$tablename);
1357 1373
       		}
1358
-        }
1359
-        else {
1374
+        } else {
1360 1375
             //if the column is being modified drop the default value
1361 1376
       		//constraint if it exists. alterSQLRep will add the constraint back
1362 1377
       		if (!empty($constraints[$fieldDefs['name']])) {
@@ -1391,8 +1406,9 @@  discard block
 block discarded – undo
1391 1406
      */
1392 1407
     public function setAutoIncrementStart($table, $field_name, $start_value)
1393 1408
     {
1394
-        if($start_value > 1)
1395
-            $start_value -= 1;
1409
+        if($start_value > 1) {
1410
+                    $start_value -= 1;
1411
+        }
1396 1412
 		$this->query("DBCC CHECKIDENT ('$table', RESEED, $start_value) WITH NO_INFOMSGS");
1397 1413
         return true;
1398 1414
     }
@@ -1428,10 +1444,11 @@  discard block
 block discarded – undo
1428 1444
         $indices = array();
1429 1445
         while (($row=$this->fetchByAssoc($result)) != null) {
1430 1446
             $index_type = 'index';
1431
-            if ($row['is_primary_key'] == '1')
1432
-                $index_type = 'primary';
1433
-            elseif ($row['is_unique'] == 1 )
1434
-                $index_type = 'unique';
1447
+            if ($row['is_primary_key'] == '1') {
1448
+                            $index_type = 'primary';
1449
+            } elseif ($row['is_unique'] == 1 ) {
1450
+                            $index_type = 'unique';
1451
+            }
1435 1452
             $name = strtolower($row['index_name']);
1436 1453
             $indices[$name]['name']     = $name;
1437 1454
             $indices[$name]['type']     = $index_type;
@@ -1456,18 +1473,19 @@  discard block
 block discarded – undo
1456 1473
             if ( $row['TYPE_NAME'] == 'decimal' ) {
1457 1474
                 $columns[$column_name]['len']=strtolower($row['PRECISION']);
1458 1475
                 $columns[$column_name]['len'].=','.strtolower($row['SCALE']);
1476
+            } elseif ( in_array($row['TYPE_NAME'],array('nchar','nvarchar')) ) {
1477
+							$columns[$column_name]['len']=strtolower($row['PRECISION']);
1478
+			} elseif ( !in_array($row['TYPE_NAME'],array('datetime','text')) ) {
1479
+                            $columns[$column_name]['len']=strtolower($row['LENGTH']);
1459 1480
             }
1460
-			elseif ( in_array($row['TYPE_NAME'],array('nchar','nvarchar')) )
1461
-				$columns[$column_name]['len']=strtolower($row['PRECISION']);
1462
-            elseif ( !in_array($row['TYPE_NAME'],array('datetime','text')) )
1463
-                $columns[$column_name]['len']=strtolower($row['LENGTH']);
1464 1481
             if ( stristr($row['TYPE_NAME'],'identity') ) {
1465 1482
                 $columns[$column_name]['auto_increment'] = '1';
1466 1483
                 $columns[$column_name]['type']=str_replace(' identity','',strtolower($row['TYPE_NAME']));
1467 1484
             }
1468 1485
 
1469
-            if (!empty($row['IS_NULLABLE']) && $row['IS_NULLABLE'] == 'NO' && (empty($row['KEY']) || !stristr($row['KEY'],'PRI')))
1470
-                $columns[strtolower($row['COLUMN_NAME'])]['required'] = 'true';
1486
+            if (!empty($row['IS_NULLABLE']) && $row['IS_NULLABLE'] == 'NO' && (empty($row['KEY']) || !stristr($row['KEY'],'PRI'))) {
1487
+                            $columns[strtolower($row['COLUMN_NAME'])]['required'] = 'true';
1488
+            }
1471 1489
 
1472 1490
             $column_def = 1;
1473 1491
             if ( strtolower($tablename) == 'relationships' ) {
@@ -1476,12 +1494,13 @@  discard block
 block discarded – undo
1476 1494
             if ( $column_def != 0 && ($row['COLUMN_DEF'] != null)) {	// NOTE Not using !empty as an empty string may be a viable default value.
1477 1495
                 $matches = array();
1478 1496
                 $row['COLUMN_DEF'] = html_entity_decode($row['COLUMN_DEF'],ENT_QUOTES);
1479
-                if ( preg_match('/\([\(|\'](.*)[\)|\']\)/i',$row['COLUMN_DEF'],$matches) )
1480
-                    $columns[$column_name]['default'] = $matches[1];
1481
-                elseif ( preg_match('/\(N\'(.*)\'\)/i',$row['COLUMN_DEF'],$matches) )
1482
-                    $columns[$column_name]['default'] = $matches[1];
1483
-                else
1484
-                    $columns[$column_name]['default'] = $row['COLUMN_DEF'];
1497
+                if ( preg_match('/\([\(|\'](.*)[\)|\']\)/i',$row['COLUMN_DEF'],$matches) ) {
1498
+                                    $columns[$column_name]['default'] = $matches[1];
1499
+                } elseif ( preg_match('/\(N\'(.*)\'\)/i',$row['COLUMN_DEF'],$matches) ) {
1500
+                                    $columns[$column_name]['default'] = $matches[1];
1501
+                } else {
1502
+                                    $columns[$column_name]['default'] = $row['COLUMN_DEF'];
1503
+                }
1485 1504
             }
1486 1505
         }
1487 1506
         return $columns;
@@ -1513,53 +1532,61 @@  discard block
 block discarded – undo
1513 1532
         // generic indices
1514 1533
         case 'index':
1515 1534
         case 'alternate_key':
1516
-            if ($drop)
1517
-                $sql = "DROP INDEX {$name} ON {$table}";
1518
-            else
1519
-                $sql = "CREATE INDEX {$name} ON {$table} ({$fields})";
1535
+            if ($drop) {
1536
+                            $sql = "DROP INDEX {$name} ON {$table}";
1537
+            } else {
1538
+                            $sql = "CREATE INDEX {$name} ON {$table} ({$fields})";
1539
+            }
1520 1540
             break;
1521 1541
         case 'clustered':
1522
-            if ($drop)
1523
-                $sql = "DROP INDEX {$name} ON {$table}";
1524
-            else
1525
-                $sql = "CREATE CLUSTERED INDEX $name ON $table ($fields)";
1542
+            if ($drop) {
1543
+                            $sql = "DROP INDEX {$name} ON {$table}";
1544
+            } else {
1545
+                            $sql = "CREATE CLUSTERED INDEX $name ON $table ($fields)";
1546
+            }
1526 1547
             break;
1527 1548
             // constraints as indices
1528 1549
         case 'unique':
1529
-            if ($drop)
1530
-                $sql = "ALTER TABLE {$table} DROP CONSTRAINT $name";
1531
-            else
1532
-                $sql = "ALTER TABLE {$table} ADD CONSTRAINT {$name} UNIQUE ({$fields})";
1550
+            if ($drop) {
1551
+                            $sql = "ALTER TABLE {$table} DROP CONSTRAINT $name";
1552
+            } else {
1553
+                            $sql = "ALTER TABLE {$table} ADD CONSTRAINT {$name} UNIQUE ({$fields})";
1554
+            }
1533 1555
             break;
1534 1556
         case 'primary':
1535
-            if ($drop)
1536
-                $sql = "ALTER TABLE {$table} DROP CONSTRAINT {$name}";
1537
-            else
1538
-                $sql = "ALTER TABLE {$table} ADD CONSTRAINT {$name} PRIMARY KEY ({$fields})";
1557
+            if ($drop) {
1558
+                            $sql = "ALTER TABLE {$table} DROP CONSTRAINT {$name}";
1559
+            } else {
1560
+                            $sql = "ALTER TABLE {$table} ADD CONSTRAINT {$name} PRIMARY KEY ({$fields})";
1561
+            }
1539 1562
             break;
1540 1563
         case 'foreign':
1541
-            if ($drop)
1542
-                $sql = "ALTER TABLE {$table} DROP FOREIGN KEY ({$fields})";
1543
-            else
1544
-                $sql = "ALTER TABLE {$table} ADD CONSTRAINT {$name}  FOREIGN KEY ({$fields}) REFERENCES {$definition['foreignTable']}({$definition['foreignFields']})";
1564
+            if ($drop) {
1565
+                            $sql = "ALTER TABLE {$table} DROP FOREIGN KEY ({$fields})";
1566
+            } else {
1567
+                            $sql = "ALTER TABLE {$table} ADD CONSTRAINT {$name}  FOREIGN KEY ({$fields}) REFERENCES {$definition['foreignTable']}({$definition['foreignFields']})";
1568
+            }
1545 1569
             break;
1546 1570
         case 'fulltext':
1547 1571
             if ($this->full_text_indexing_enabled() && $drop) {
1548 1572
                 $sql = "DROP FULLTEXT INDEX ON {$table}";
1549 1573
             } elseif ($this->full_text_indexing_enabled()) {
1550 1574
                 $catalog_name=$this->ftsCatalogName();
1551
-                if ( isset($definition['catalog_name']) && $definition['catalog_name'] != 'default')
1552
-                    $catalog_name = $definition['catalog_name'];
1575
+                if ( isset($definition['catalog_name']) && $definition['catalog_name'] != 'default') {
1576
+                                    $catalog_name = $definition['catalog_name'];
1577
+                }
1553 1578
 
1554 1579
                 $language = "Language 1033";
1555
-                if (isset($definition['language']) && !empty($definition['language']))
1556
-                    $language = "Language " . $definition['language'];
1580
+                if (isset($definition['language']) && !empty($definition['language'])) {
1581
+                                    $language = "Language " . $definition['language'];
1582
+                }
1557 1583
 
1558 1584
                 $key_index = $definition['key_index'];
1559 1585
 
1560 1586
                 $change_tracking = "auto";
1561
-                if (isset($definition['change_tracking']) && !empty($definition['change_tracking']))
1562
-                    $change_tracking = $definition['change_tracking'];
1587
+                if (isset($definition['change_tracking']) && !empty($definition['change_tracking'])) {
1588
+                                    $change_tracking = $definition['change_tracking'];
1589
+                }
1563 1590
 
1564 1591
                 $sql = " CREATE FULLTEXT INDEX ON $table ($fields $language) KEY INDEX $key_index ON $catalog_name WITH CHANGE_TRACKING $change_tracking" ;
1565 1592
             }
@@ -1585,12 +1612,14 @@  discard block
 block discarded – undo
1585 1612
     protected function full_text_indexing_enabled($dbname = null)
1586 1613
     {
1587 1614
         // check to see if we already have install setting in session
1588
-    	if(!isset($_SESSION['IsFulltextInstalled']))
1589
-            $_SESSION['IsFulltextInstalled'] = $this->full_text_indexing_installed();
1615
+    	if(!isset($_SESSION['IsFulltextInstalled'])) {
1616
+    	            $_SESSION['IsFulltextInstalled'] = $this->full_text_indexing_installed();
1617
+    	}
1590 1618
 
1591 1619
         // check to see if FTS Indexing service is installed
1592
-        if(empty($_SESSION['IsFulltextInstalled']))
1593
-            return false;
1620
+        if(empty($_SESSION['IsFulltextInstalled'])) {
1621
+                    return false;
1622
+        }
1594 1623
 
1595 1624
         // grab the dbname if it was not passed through
1596 1625
 		if (empty($dbname)) {
@@ -1639,8 +1668,9 @@  discard block
 block discarded – undo
1639 1668
     {
1640 1669
         static $results = array();
1641 1670
 
1642
-        if ( empty($column) && isset($results[$table]) )
1643
-            return $results[$table];
1671
+        if ( empty($column) && isset($results[$table]) ) {
1672
+                    return $results[$table];
1673
+        }
1644 1674
 
1645 1675
         $query = <<<EOQ
1646 1676
 select s.name, o.name, c.name dtrt, d.name ctrt
@@ -1653,18 +1683,20 @@  discard block
 block discarded – undo
1653 1683
             on s.schema_id = o.schema_id
1654 1684
     where o.name = '$table'
1655 1685
 EOQ;
1656
-        if ( !empty($column) )
1657
-            $query .= " and c.name = '$column'";
1686
+        if ( !empty($column) ) {
1687
+                    $query .= " and c.name = '$column'";
1688
+        }
1658 1689
         $res = $this->query($query);
1659 1690
         if ( !empty($column) ) {
1660 1691
             $row = $this->fetchByAssoc($res);
1661
-            if (!empty($row))
1662
-                return $row['ctrt'];
1663
-        }
1664
-        else {
1692
+            if (!empty($row)) {
1693
+                            return $row['ctrt'];
1694
+            }
1695
+        } else {
1665 1696
             $returnResult = array();
1666
-            while ( $row = $this->fetchByAssoc($res) )
1667
-                $returnResult[$row['dtrt']] = $row['ctrt'];
1697
+            while ( $row = $this->fetchByAssoc($res) ) {
1698
+                            $returnResult[$row['dtrt']] = $row['ctrt'];
1699
+            }
1668 1700
             $results[$table] = $returnResult;
1669 1701
             return $returnResult;
1670 1702
         }
@@ -1679,8 +1711,9 @@  discard block
 block discarded – undo
1679 1711
     {
1680 1712
         parent::massageFieldDef($fieldDef,$tablename);
1681 1713
 
1682
-        if ($fieldDef['type'] == 'int')
1683
-            $fieldDef['len'] = '4';
1714
+        if ($fieldDef['type'] == 'int') {
1715
+                    $fieldDef['len'] = '4';
1716
+        }
1684 1717
 
1685 1718
         if(empty($fieldDef['len']))
1686 1719
         {
@@ -1709,9 +1742,10 @@  discard block
 block discarded – undo
1709 1742
         {
1710 1743
             $fieldDef['default'] = '0';
1711 1744
         }
1712
-		if (isset($fieldDef['required']) && $fieldDef['required'] && !isset($fieldDef['default']) )
1713
-			$fieldDef['default'] = '';
1714
-//        if ($fieldDef['type'] == 'bit' && empty($fieldDef['len']) )
1745
+		if (isset($fieldDef['required']) && $fieldDef['required'] && !isset($fieldDef['default']) ) {
1746
+					$fieldDef['default'] = '';
1747
+		}
1748
+		//        if ($fieldDef['type'] == 'bit' && empty($fieldDef['len']) )
1715 1749
 //            $fieldDef['len'] = '1';
1716 1750
 //		if ($fieldDef['type'] == 'bool' && empty($fieldDef['len']) )
1717 1751
 //            $fieldDef['len'] = '1';
@@ -1755,13 +1789,15 @@  discard block
 block discarded – undo
1755 1789
 		$ref = parent::oneColumnSQLRep($fieldDef, $ignoreRequired, $table, true);
1756 1790
 
1757 1791
 		// Bug 24307 - Don't add precision for float fields.
1758
-		if ( stristr($ref['colType'],'float') )
1759
-			$ref['colType'] = preg_replace('/(,\d+)/','',$ref['colType']);
1792
+		if ( stristr($ref['colType'],'float') ) {
1793
+					$ref['colType'] = preg_replace('/(,\d+)/','',$ref['colType']);
1794
+		}
1760 1795
 
1761
-        if ( $return_as_array )
1762
-            return $ref;
1763
-        else
1764
-            return "{$ref['name']} {$ref['colType']} {$ref['default']} {$ref['required']} {$ref['auto_increment']}";
1796
+        if ( $return_as_array ) {
1797
+                    return $ref;
1798
+        } else {
1799
+                    return "{$ref['name']} {$ref['colType']} {$ref['default']} {$ref['required']} {$ref['auto_increment']}";
1800
+        }
1765 1801
 	}
1766 1802
 
1767 1803
     /**
@@ -1799,8 +1835,9 @@  discard block
 block discarded – undo
1799 1835
      */
1800 1836
     protected function freeDbResult($dbResult)
1801 1837
     {
1802
-        if(!empty($dbResult))
1803
-            mssql_free_result($dbResult);
1838
+        if(!empty($dbResult)) {
1839
+                    mssql_free_result($dbResult);
1840
+        }
1804 1841
     }
1805 1842
 
1806 1843
 	/**
@@ -1810,7 +1847,9 @@  discard block
 block discarded – undo
1810 1847
     public function lastDbError()
1811 1848
     {
1812 1849
         $sqlmsg = mssql_get_last_message();
1813
-        if(empty($sqlmsg)) return false;
1850
+        if(empty($sqlmsg)) {
1851
+            return false;
1852
+        }
1814 1853
         global $app_strings;
1815 1854
         if (empty($app_strings)
1816 1855
 		    or !isset($app_strings['ERR_MSSQL_DB_CONTEXT'])
@@ -1833,11 +1872,11 @@  discard block
 block discarded – undo
1833 1872
                 //only if connection if made before languge is set.
1834 1873
                 $GLOBALS['log']->debug("Ignoring this database message: " . $sqlmsg);
1835 1874
                 return false;
1836
-            }
1837
-            else {
1875
+            } else {
1838 1876
                 $sqlpos = strpos($sqlmsg, $app_strings['ERR_MSSQL_DB_CONTEXT']);
1839
-                if ( $sqlpos !== false )
1840
-                    return false;
1877
+                if ( $sqlpos !== false ) {
1878
+                                    return false;
1879
+                }
1841 1880
             }
1842 1881
         }
1843 1882
 
@@ -1882,8 +1921,9 @@  discard block
 block discarded – undo
1882 1921
     protected function _appendN($sql)
1883 1922
     {
1884 1923
         // If there are no single quotes, don't bother, will just assume there is no character data
1885
-        if (strpos($sql, "'") === false)
1886
-            return $sql;
1924
+        if (strpos($sql, "'") === false) {
1925
+                    return $sql;
1926
+        }
1887 1927
 
1888 1928
         // Flag if there are odd number of single quotes, just continue without trying to append N
1889 1929
         if ((substr_count($sql, "'") & 1)) {
@@ -1922,14 +1962,17 @@  discard block
 block discarded – undo
1922 1962
             }
1923 1963
         }
1924 1964
 
1925
-        if (!empty($replace))
1926
-            $sql = str_replace(array_keys($replace), $replace, $sql);
1965
+        if (!empty($replace)) {
1966
+                    $sql = str_replace(array_keys($replace), $replace, $sql);
1967
+        }
1927 1968
 
1928
-        if (!empty($pairs))
1929
-            $sql = str_replace(array_keys($pairs), $pairs, $sql);
1969
+        if (!empty($pairs)) {
1970
+                    $sql = str_replace(array_keys($pairs), $pairs, $sql);
1971
+        }
1930 1972
 
1931
-        if(strpos($sql, "<@#@#@PAIR@#@#@>"))
1932
-            $sql = str_replace(array('<@#@#@PAIR@#@#@>'), array("''"), $sql);
1973
+        if(strpos($sql, "<@#@#@PAIR@#@#@>")) {
1974
+                    $sql = str_replace(array('<@#@#@PAIR@#@#@>'), array("''"), $sql);
1975
+        }
1933 1976
 
1934 1977
         return $sql;
1935 1978
     }
Please login to merge, or discard this patch.
Spacing   +254 added lines, -254 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 3
 /*********************************************************************************
4 4
  * SugarCRM Community Edition is a customer relationship management program developed by
5 5
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -175,11 +175,11 @@  discard block
 block discarded – undo
175 175
         ini_set('mssql.datetimeconvert', '0');
176 176
 
177 177
         //set the text size and textlimit to max number so that blob columns are not truncated
178
-        ini_set('mssql.textlimit','2147483647');
179
-        ini_set('mssql.textsize','2147483647');
180
-        ini_set('mssql.charset','UTF-8');
178
+        ini_set('mssql.textlimit', '2147483647');
179
+        ini_set('mssql.textsize', '2147483647');
180
+        ini_set('mssql.charset', 'UTF-8');
181 181
 
182
-        if(!empty($configOptions['db_host_instance'])) {
182
+        if (!empty($configOptions['db_host_instance'])) {
183 183
             $configOptions['db_host_instance'] = trim($configOptions['db_host_instance']);
184 184
         }
185 185
         //set the connections parameters
@@ -191,37 +191,37 @@  discard block
 block discarded – undo
191 191
 
192 192
         //create persistent connection
193 193
         if ($this->getOption('persistent')) {
194
-            $this->database =@mssql_pconnect(
195
-                $connect_param ,
194
+            $this->database = @mssql_pconnect(
195
+                $connect_param,
196 196
                 $configOptions['db_user_name'],
197 197
                 $configOptions['db_password']
198 198
                 );
199 199
         }
200 200
         //if no persistent connection created, then create regular connection
201
-        if(!$this->database){
201
+        if (!$this->database) {
202 202
             $this->database = mssql_connect(
203
-                    $connect_param ,
203
+                    $connect_param,
204 204
                     $configOptions['db_user_name'],
205 205
                     $configOptions['db_password']
206 206
                     );
207
-            if(!$this->database){
207
+            if (!$this->database) {
208 208
                 $GLOBALS['log']->fatal("Could not connect to server ".$configOptions['db_host_name'].
209 209
                     " as ".$configOptions['db_user_name'].".");
210
-                if($dieOnError) {
210
+                if ($dieOnError) {
211 211
                     sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
212 212
                 } else {
213 213
                     return false;
214 214
                 }
215 215
             }
216
-            if($this->database && $this->getOption('persistent')){
216
+            if ($this->database && $this->getOption('persistent')) {
217 217
                 $_SESSION['administrator_error'] = "<B>Severe Performance Degradation: Persistent Database Connections "
218 218
                     . "not working.  Please set \$sugar_config['dbconfigoption']['persistent'] to false in your "
219 219
                     . "config.php file</B>";
220 220
             }
221 221
         }
222 222
         //make sure connection exists
223
-        if(!$this->database) {
224
-                if($dieOnError) {
223
+        if (!$this->database) {
224
+                if ($dieOnError) {
225 225
                     sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
226 226
                 } else {
227 227
                     return false;
@@ -235,19 +235,19 @@  discard block
 block discarded – undo
235 235
         //mssql db maximum number of 5 times at the interval of .2 second. If can not connect
236 236
         //it will throw an Unable to select database message.
237 237
 
238
-        if(!empty($configOptions['db_name']) && !@mssql_select_db($configOptions['db_name'], $this->database)){
238
+        if (!empty($configOptions['db_name']) && !@mssql_select_db($configOptions['db_name'], $this->database)) {
239 239
 			$connected = false;
240
-			for($i=0;$i<5;$i++){
240
+			for ($i = 0; $i < 5; $i++) {
241 241
 				usleep(200000);
242
-				if(@mssql_select_db($configOptions['db_name'], $this->database)){
242
+				if (@mssql_select_db($configOptions['db_name'], $this->database)) {
243 243
 					$connected = true;
244 244
 					break;
245 245
 				}
246 246
 			}
247
-			if(!$connected){
248
-			    $GLOBALS['log']->fatal( "Unable to select database {$configOptions['db_name']}");
249
-                if($dieOnError) {
250
-                    if(isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
247
+			if (!$connected) {
248
+			    $GLOBALS['log']->fatal("Unable to select database {$configOptions['db_name']}");
249
+                if ($dieOnError) {
250
+                    if (isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
251 251
                         sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
252 252
                     } else {
253 253
                         sugar_die("Could not connect to the database. Please refer to suitecrm.log for details.");
@@ -258,7 +258,7 @@  discard block
 block discarded – undo
258 258
 			}
259 259
          }
260 260
 
261
-        if(!$this->checkError('Could Not Connect', $dieOnError))
261
+        if (!$this->checkError('Could Not Connect', $dieOnError))
262 262
             $GLOBALS['log']->info("connected to db");
263 263
 
264 264
         $this->connectOptions = $configOptions;
@@ -280,16 +280,16 @@  discard block
 block discarded – undo
280 280
 	 */
281 281
 	public function query($sql, $dieOnError = false, $msg = '', $suppress = false, $keepResult = false)
282 282
     {
283
-        if(is_array($sql)) {
283
+        if (is_array($sql)) {
284 284
             return $this->queryArray($sql, $dieOnError, $msg, $suppress);
285 285
         }
286 286
         // Flag if there are odd number of single quotes
287 287
         if ((substr_count($sql, "'") & 1))
288
-            $GLOBALS['log']->error("SQL statement[" . $sql . "] has odd number of single quotes.");
288
+            $GLOBALS['log']->error("SQL statement[".$sql."] has odd number of single quotes.");
289 289
 
290 290
 		$sql = $this->_appendN($sql);
291 291
 
292
-        $GLOBALS['log']->info('Query:' . $sql);
292
+        $GLOBALS['log']->info('Query:'.$sql);
293 293
         $this->checkConnection();
294 294
         $this->countQuery($sql);
295 295
         $this->query_time = microtime(true);
@@ -297,7 +297,7 @@  discard block
 block discarded – undo
297 297
         // Bug 34892 - Clear out previous error message by checking the @@ERROR global variable
298 298
 		@mssql_query("SELECT @@ERROR", $this->database);
299 299
 
300
-        $result = $suppress?@mssql_query($sql, $this->database):mssql_query($sql, $this->database);
300
+        $result = $suppress ? @mssql_query($sql, $this->database) : mssql_query($sql, $this->database);
301 301
 
302 302
         if (!$result) {
303 303
             // awu Bug 10657: ignoring mssql error message 'Changed database context to' - an intermittent
@@ -309,13 +309,13 @@  discard block
 block discarded – undo
309 309
 			$sqlpos3 = strpos($sqlmsg, 'Checking identity information:');
310 310
 
311 311
 			if ($sqlpos !== false || $sqlpos2 !== false || $sqlpos3 !== false)		// if sqlmsg has 'Changed database context to', just log it
312
-				$GLOBALS['log']->debug($sqlmsg . ": " . $sql );
312
+				$GLOBALS['log']->debug($sqlmsg.": ".$sql);
313 313
 			else {
314
-				$GLOBALS['log']->fatal($sqlmsg . ": " . $sql );
315
-				if($dieOnError)
316
-					sugar_die('SQL Error : ' . $sqlmsg);
314
+				$GLOBALS['log']->fatal($sqlmsg.": ".$sql);
315
+				if ($dieOnError)
316
+					sugar_die('SQL Error : '.$sqlmsg);
317 317
 				else
318
-					echo 'SQL Error : ' . $sqlmsg;
318
+					echo 'SQL Error : '.$sqlmsg;
319 319
 			}
320 320
         }
321 321
 
@@ -323,7 +323,7 @@  discard block
 block discarded – undo
323 323
         $GLOBALS['log']->info('Query Execution Time:'.$this->query_time);
324 324
 
325 325
 
326
-        $this->checkError($msg.' Query Failed: ' . $sql, $dieOnError);
326
+        $this->checkError($msg.' Query Failed: '.$sql, $dieOnError);
327 327
 
328 328
         return $result;
329 329
     }
@@ -341,14 +341,14 @@  discard block
 block discarded – undo
341 341
     {
342 342
         //set the start to 0, no negs
343 343
         if ($start < 0)
344
-            $start=0;
344
+            $start = 0;
345 345
 
346
-        $GLOBALS['log']->debug(print_r(func_get_args(),true));
346
+        $GLOBALS['log']->debug(print_r(func_get_args(), true));
347 347
 
348 348
         $this->lastsql = $sql;
349 349
 
350 350
         //change the casing to lower for easier string comparison, and trim whitespaces
351
-        $sql = strtolower(trim($sql)) ;
351
+        $sql = strtolower(trim($sql));
352 352
 
353 353
         //set default sql
354 354
         $limitUnionSQL = $sql;
@@ -364,16 +364,16 @@  discard block
 block discarded – undo
364 364
         $arr_count = 0;
365 365
 
366 366
         //process if there are elements
367
-        if ($unionOrderByCount){
367
+        if ($unionOrderByCount) {
368 368
             //we really want the last order by, so reconstruct string
369 369
             //adding a 1 to count, as we dont wish to process the last element
370 370
             $unionsql = '';
371
-            while ($unionOrderByCount>$arr_count+1) {
371
+            while ($unionOrderByCount > $arr_count + 1) {
372 372
                 $unionsql .= $orderByArray[$arr_count];
373
-                $arr_count = $arr_count+1;
373
+                $arr_count = $arr_count + 1;
374 374
                 //add an "order by" string back if we are coming into loop again
375 375
                 //remember they were taken out when array was created
376
-                if ($unionOrderByCount>$arr_count+1) {
376
+                if ($unionOrderByCount > $arr_count + 1) {
377 377
                     $unionsql .= "order by";
378 378
                 }
379 379
             }
@@ -403,7 +403,7 @@  discard block
 block discarded – undo
403 403
         //so we do not want to strip the alias like in other queries.  Just add the "order by" string and
404 404
         //pass column name as is
405 405
         if ($unionOrderBy != '') {
406
-            $unionOrderBy = ' order by ' . $unionOrderBy;
406
+            $unionOrderBy = ' order by '.$unionOrderBy;
407 407
         }
408 408
 
409 409
         //Bug 56560, use top query in conjunction with rownumber() function
@@ -412,13 +412,13 @@  discard block
 block discarded – undo
412 412
         //If not for paging, no need to use rownumber() function
413 413
         if ($count == 1 && $start == 0)
414 414
         {
415
-            $limitUnionSQL = "SELECT TOP $count * FROM (" .$unionsql .") as top_count ".$unionOrderBy;
415
+            $limitUnionSQL = "SELECT TOP $count * FROM (".$unionsql.") as top_count ".$unionOrderBy;
416 416
         }
417 417
         else
418 418
         {
419 419
             $limitUnionSQL = "SELECT TOP $count * FROM( select ROW_NUMBER() OVER ( order by "
420 420
             .$rowNumOrderBy.") AS row_number, * FROM ("
421
-            .$unionsql .") As numbered) "
421
+            .$unionsql.") As numbered) "
422 422
             . "As top_count_limit WHERE row_number > $start "
423 423
             .$unionOrderBy;
424 424
         }
@@ -437,64 +437,64 @@  discard block
 block discarded – undo
437 437
         $newSQL = $sql;
438 438
         $distinctSQLARRAY = array();
439 439
         if (strpos($sql, "UNION") && !preg_match("/(')(UNION).?(')/i", $sql))
440
-            $newSQL = $this->handleUnionLimitQuery($sql,$start,$count);
440
+            $newSQL = $this->handleUnionLimitQuery($sql, $start, $count);
441 441
         else {
442 442
             if ($start < 0)
443 443
                 $start = 0;
444
-            $GLOBALS['log']->debug(print_r(func_get_args(),true));
444
+            $GLOBALS['log']->debug(print_r(func_get_args(), true));
445 445
             $this->lastsql = $sql;
446 446
             $matches = array();
447
-            preg_match('/^(.*SELECT\b)(.*?\bFROM\b.*\bWHERE\b)(.*)$/isU',$sql, $matches);
447
+            preg_match('/^(.*SELECT\b)(.*?\bFROM\b.*\bWHERE\b)(.*)$/isU', $sql, $matches);
448 448
             if (!empty($matches[3])) {
449 449
                 if ($start == 0) {
450 450
                     $match_two = strtolower($matches[2]);
451
-                    if (!strpos($match_two, "distinct")> 0 && strpos($match_two, "distinct") !==0) {
451
+                    if (!strpos($match_two, "distinct") > 0 && strpos($match_two, "distinct") !== 0) {
452 452
                         $orderByMatch = array();
453
-                        preg_match('/^(.*)(\bORDER BY\b)(.*)$/is',$matches[3], $orderByMatch);
453
+                        preg_match('/^(.*)(\bORDER BY\b)(.*)$/is', $matches[3], $orderByMatch);
454 454
                         if (!empty($orderByMatch[3])) {
455 455
                             $selectPart = array();
456 456
                             preg_match('/^(.*)(\bFROM\b.*)$/isU', $matches[2], $selectPart);
457 457
                             $newSQL = "SELECT TOP $count * FROM
458 458
                                 (
459
-                                    " . $matches[1] . $selectPart[1] . ", ROW_NUMBER()
460
-                                    OVER (ORDER BY " . $this->returnOrderBy($sql, $orderByMatch[3]) . ") AS row_number
461
-                                    " . $selectPart[2] . $orderByMatch[1]. "
459
+                                    ".$matches[1].$selectPart[1].", ROW_NUMBER()
460
+                                    OVER (ORDER BY " . $this->returnOrderBy($sql, $orderByMatch[3]).") AS row_number
461
+                                    " . $selectPart[2].$orderByMatch[1]."
462 462
                                 ) AS a
463 463
                                 WHERE row_number > $start";
464 464
                         }
465 465
                         else {
466
-                            $newSQL = $matches[1] . " TOP $count " . $matches[2] . $matches[3];
466
+                            $newSQL = $matches[1]." TOP $count ".$matches[2].$matches[3];
467 467
                         }
468 468
                     }
469 469
                     else {
470 470
                         $distinct_o = strpos($match_two, "distinct");
471 471
                         $up_to_distinct_str = substr($match_two, 0, $distinct_o);
472 472
                         //check to see if the distinct is within a function, if so, then proceed as normal
473
-                        if (strpos($up_to_distinct_str,"(")) {
473
+                        if (strpos($up_to_distinct_str, "(")) {
474 474
                             //proceed as normal
475
-                            $newSQL = $matches[1] . " TOP $count " . $matches[2] . $matches[3];
475
+                            $newSQL = $matches[1]." TOP $count ".$matches[2].$matches[3];
476 476
                         }
477 477
                         else {
478 478
                             //if distinct is not within a function, then parse
479 479
                             //string contains distinct clause, "TOP needs to come after Distinct"
480 480
                             //get position of distinct
481 481
                             $match_zero = strtolower($matches[0]);
482
-                            $distinct_pos = strpos($match_zero , "distinct");
482
+                            $distinct_pos = strpos($match_zero, "distinct");
483 483
                             //get position of where
484 484
                             $where_pos = strpos($match_zero, "where");
485 485
                             //parse through string
486
-                            $beg = substr($matches[0], 0, $distinct_pos+9 );
487
-                            $mid = substr($matches[0], strlen($beg), ($where_pos+5) - (strlen($beg)));
488
-                            $end = substr($matches[0], strlen($beg) + strlen($mid) );
486
+                            $beg = substr($matches[0], 0, $distinct_pos + 9);
487
+                            $mid = substr($matches[0], strlen($beg), ($where_pos + 5) - (strlen($beg)));
488
+                            $end = substr($matches[0], strlen($beg) + strlen($mid));
489 489
                             //repopulate matches array
490 490
                             $matches[1] = $beg; $matches[2] = $mid; $matches[3] = $end;
491 491
 
492
-                            $newSQL = $matches[1] . " TOP $count " . $matches[2] . $matches[3];
492
+                            $newSQL = $matches[1]." TOP $count ".$matches[2].$matches[3];
493 493
                         }
494 494
                     }
495 495
                 } else {
496 496
                     $orderByMatch = array();
497
-                    preg_match('/^(.*)(\bORDER BY\b)(.*)$/is',$matches[3], $orderByMatch);
497
+                    preg_match('/^(.*)(\bORDER BY\b)(.*)$/is', $matches[3], $orderByMatch);
498 498
 
499 499
                     //if there is a distinct clause, parse sql string as we will have to insert the rownumber
500 500
                     //for paging, AFTER the distinct clause
@@ -512,8 +512,8 @@  discard block
 block discarded – undo
512 512
 
513 513
                         //take out the select and distinct from string so we can reuse in group by
514 514
                         $dist_str = 'distinct';
515
-                        preg_match('/\b' . $dist_str . '\b/simU', $matches_sql, $matchesPartSQL, PREG_OFFSET_CAPTURE);
516
-                        $matches_sql = trim(substr($matches_sql,$matchesPartSQL[0][1] + strlen($dist_str)));
515
+                        preg_match('/\b'.$dist_str.'\b/simU', $matches_sql, $matchesPartSQL, PREG_OFFSET_CAPTURE);
516
+                        $matches_sql = trim(substr($matches_sql, $matchesPartSQL[0][1] + strlen($dist_str)));
517 517
                         //get the position of where and from for further processing
518 518
                         preg_match('/\bfrom\b/simU', $matches_sql, $matchesPartSQL, PREG_OFFSET_CAPTURE);
519 519
                         $from_pos = $matchesPartSQL[0][1];
@@ -521,17 +521,17 @@  discard block
 block discarded – undo
521 521
                         $where_pos = $matchesPartSQL[0][1];
522 522
                         //split the sql into a string before and after the from clause
523 523
                         //we will use the columns being selected to construct the group by clause
524
-                        if ($from_pos>0 ) {
524
+                        if ($from_pos > 0) {
525 525
                             $distinctSQLARRAY[0] = substr($matches_sql, 0, $from_pos);
526 526
                             $distinctSQLARRAY[1] = substr($matches_sql, $from_pos);
527 527
                             //get position of order by (if it exists) so we can strip it from the string
528 528
                             $ob_pos = strpos($distinctSQLARRAY[1], "order by");
529 529
                             if ($ob_pos) {
530
-                                $distinctSQLARRAY[1] = substr($distinctSQLARRAY[1],0,$ob_pos);
530
+                                $distinctSQLARRAY[1] = substr($distinctSQLARRAY[1], 0, $ob_pos);
531 531
                             }
532 532
 
533 533
                             // strip off last closing parentheses from the where clause
534
-                            $distinctSQLARRAY[1] = preg_replace('/\)\s$/',' ',$distinctSQLARRAY[1]);
534
+                            $distinctSQLARRAY[1] = preg_replace('/\)\s$/', ' ', $distinctSQLARRAY[1]);
535 535
                         }
536 536
 
537 537
                         $grpByStr = array();
@@ -550,30 +550,30 @@  discard block
 block discarded – undo
550 550
                             $newSQL = "SELECT TOP $count * FROM
551 551
                                         (
552 552
                                             SELECT ROW_NUMBER()
553
-                                                OVER (ORDER BY " . preg_replace('/^' . $dist_str . '\s+/', '', $this->returnOrderBy($sql, $orderByMatch[3])) . ") AS row_number,
554
-                                                count(*) counter, " . $distinctSQLARRAY[0] . "
555
-                                                " . $distinctSQLARRAY[1] . "
556
-                                                group by " . $grpByStr . "
553
+                                                OVER (ORDER BY ".preg_replace('/^'.$dist_str.'\s+/', '', $this->returnOrderBy($sql, $orderByMatch[3])).") AS row_number,
554
+                                                count(*) counter, " . $distinctSQLARRAY[0]."
555
+                                                " . $distinctSQLARRAY[1]."
556
+                                                group by " . $grpByStr."
557 557
                                         ) AS a
558 558
                                         WHERE row_number > $start";
559 559
                         }
560 560
                         else {
561 561
                         $newSQL = "SELECT TOP $count * FROM
562 562
                                     (
563
-                                        " . $matches[1] . " ROW_NUMBER()
564
-                                        OVER (ORDER BY " . $this->returnOrderBy($sql, $orderByMatch[3]) . ") AS row_number,
565
-                                        " . $matches[2] . $orderByMatch[1]. "
563
+                                        ".$matches[1]." ROW_NUMBER()
564
+                                        OVER (ORDER BY " . $this->returnOrderBy($sql, $orderByMatch[3]).") AS row_number,
565
+                                        " . $matches[2].$orderByMatch[1]."
566 566
                                     ) AS a
567 567
                                     WHERE row_number > $start";
568 568
                         }
569
-                    }else{
569
+                    } else {
570 570
                         //if there is a distinct clause, form query with rownumber after distinct
571 571
                         if ($hasDistinct) {
572 572
                              $newSQL = "SELECT TOP $count * FROM
573 573
                                             (
574
-                            SELECT ROW_NUMBER() OVER (ORDER BY ".$grpByStr.") AS row_number, count(*) counter, " . $distinctSQLARRAY[0] . "
575
-                                                        " . $distinctSQLARRAY[1] . "
576
-                                                    group by " . $grpByStr . "
574
+                            SELECT ROW_NUMBER() OVER (ORDER BY ".$grpByStr.") AS row_number, count(*) counter, ".$distinctSQLARRAY[0]."
575
+                                                        " . $distinctSQLARRAY[1]."
576
+                                                    group by " . $grpByStr."
577 577
                                             )
578 578
                                             AS a
579 579
                                             WHERE row_number > $start";
@@ -581,7 +581,7 @@  discard block
 block discarded – undo
581 581
                         else {
582 582
                              $newSQL = "SELECT TOP $count * FROM
583 583
                                            (
584
-                                  " . $matches[1] . " ROW_NUMBER() OVER (ORDER BY " . $sqlArray['FROM'][0]['alias'] . ".id) AS row_number, " . $matches[2] . $matches[3]. "
584
+                                  ".$matches[1]." ROW_NUMBER() OVER (ORDER BY ".$sqlArray['FROM'][0]['alias'].".id) AS row_number, ".$matches[2].$matches[3]."
585 585
                                            )
586 586
                                            AS a
587 587
                                            WHERE row_number > $start";
@@ -591,9 +591,9 @@  discard block
 block discarded – undo
591 591
             }
592 592
         }
593 593
 
594
-        $GLOBALS['log']->debug('Limit Query: ' . $newSQL);
595
-        if($execute) {
596
-            $result =  $this->query($newSQL, $dieOnError, $msg);
594
+        $GLOBALS['log']->debug('Limit Query: '.$newSQL);
595
+        if ($execute) {
596
+            $result = $this->query($newSQL, $dieOnError, $msg);
597 597
             $this->dump_slow_queries($newSQL);
598 598
             return $result;
599 599
         } else {
@@ -615,15 +615,15 @@  discard block
 block discarded – undo
615 615
     private function removePatternFromSQL($p_sql, $strip_beg, $strip_end, $patt = 'patt')
616 616
     {
617 617
         //strip all single quotes out
618
-        $count = substr_count ( $p_sql, $strip_beg);
618
+        $count = substr_count($p_sql, $strip_beg);
619 619
         $increment = 1;
620 620
         if ($strip_beg != $strip_end)
621 621
             $increment = 2;
622 622
 
623
-        $i=0;
623
+        $i = 0;
624 624
         $offset = 0;
625 625
         $strip_array = array();
626
-        while ($i<$count && $offset<strlen($p_sql)) {
626
+        while ($i < $count && $offset < strlen($p_sql)) {
627 627
             if ($offset > strlen($p_sql))
628 628
             {
629 629
 				break;
@@ -634,23 +634,23 @@  discard block
 block discarded – undo
634 634
             {
635 635
                 break;
636 636
             }
637
-            $sec_sin = strpos($p_sql, $strip_end, $beg_sin+1);
638
-            $strip_array[$patt.$i] = substr($p_sql, $beg_sin, $sec_sin - $beg_sin +1);
637
+            $sec_sin = strpos($p_sql, $strip_end, $beg_sin + 1);
638
+            $strip_array[$patt.$i] = substr($p_sql, $beg_sin, $sec_sin - $beg_sin + 1);
639 639
             if ($increment > 1) {
640 640
                 //we are in here because beginning and end patterns are not identical, so search for nesting
641
-                $exists = strpos($strip_array[$patt.$i], $strip_beg );
642
-                if ($exists>=0) {
643
-                    $nested_pos = (strrpos($strip_array[$patt.$i], $strip_beg ));
644
-                    $strip_array[$patt.$i] = substr($p_sql,$nested_pos+$beg_sin,$sec_sin - ($nested_pos+$beg_sin)+1);
645
-                    $p_sql = substr($p_sql, 0, $nested_pos+$beg_sin) . " ##". $patt.$i."## " . substr($p_sql, $sec_sin+1);
641
+                $exists = strpos($strip_array[$patt.$i], $strip_beg);
642
+                if ($exists >= 0) {
643
+                    $nested_pos = (strrpos($strip_array[$patt.$i], $strip_beg));
644
+                    $strip_array[$patt.$i] = substr($p_sql, $nested_pos + $beg_sin, $sec_sin - ($nested_pos + $beg_sin) + 1);
645
+                    $p_sql = substr($p_sql, 0, $nested_pos + $beg_sin)." ##".$patt.$i."## ".substr($p_sql, $sec_sin + 1);
646 646
                     $i = $i + 1;
647 647
                     continue;
648 648
                 }
649 649
             }
650
-            $p_len = strlen("##". $patt.$i."##");
651
-            $p_sql = substr($p_sql, 0, $beg_sin) . " ##". $patt.$i."## " . substr($p_sql, $sec_sin+1);
650
+            $p_len = strlen("##".$patt.$i."##");
651
+            $p_sql = substr($p_sql, 0, $beg_sin)." ##".$patt.$i."## ".substr($p_sql, $sec_sin + 1);
652 652
             //move the marker up
653
-            $offset = ($sec_sin-($sec_sin-$beg_sin))+$p_len+1; // Adjusting the starting point of the marker
653
+            $offset = ($sec_sin - ($sec_sin - $beg_sin)) + $p_len + 1; // Adjusting the starting point of the marker
654 654
 
655 655
             $i = $i + 1;
656 656
         }
@@ -672,7 +672,7 @@  discard block
 block discarded – undo
672 672
         $pattern_array = array_reverse($pattern_array);
673 673
 
674 674
         foreach ($pattern_array as $key => $replace) {
675
-            $token = str_replace( " ##".$key."## ", $replace,$token);
675
+            $token = str_replace(" ##".$key."## ", $replace, $token);
676 676
         }
677 677
 
678 678
         return $token;
@@ -688,11 +688,11 @@  discard block
 block discarded – undo
688 688
 	private function getAliasFromSQL($sql, $alias)
689 689
     {
690 690
         $matches = array();
691
-        preg_match('/^(.*SELECT)(.*?FROM.*WHERE)(.*)$/isU',$sql, $matches);
691
+        preg_match('/^(.*SELECT)(.*?FROM.*WHERE)(.*)$/isU', $sql, $matches);
692 692
         //parse all single and double  quotes out of array
693
-        $sin_array = $this->removePatternFromSQL($matches[2], "'", "'","sin_");
693
+        $sin_array = $this->removePatternFromSQL($matches[2], "'", "'", "sin_");
694 694
         $new_sql = array_pop($sin_array);
695
-        $dub_array = $this->removePatternFromSQL($new_sql, "\"", "\"","dub_");
695
+        $dub_array = $this->removePatternFromSQL($new_sql, "\"", "\"", "dub_");
696 696
         $new_sql = array_pop($dub_array);
697 697
 
698 698
         //search for parenthesis
@@ -701,7 +701,7 @@  discard block
 block discarded – undo
701 701
 
702 702
         //all functions should be removed now, so split the array on commas
703 703
         $mstr_sql_array = explode(",", $new_sql);
704
-        foreach($mstr_sql_array as $token ) {
704
+        foreach ($mstr_sql_array as $token) {
705 705
             if (strpos($token, $alias)) {
706 706
                 //found token, add back comments
707 707
                 $token = $this->addPatternToSQL($token, $paren_array);
@@ -739,7 +739,7 @@  discard block
 block discarded – undo
739 739
         $found = $found_in_sql;
740 740
 
741 741
         //if still no match found, then we need to parse through the string
742
-        if (!$found_in_sql){
742
+        if (!$found_in_sql) {
743 743
             //get count of how many times the match exists in string
744 744
             $found_count = substr_count($sql, $orderMatch);
745 745
             $i = 0;
@@ -748,21 +748,21 @@  discard block
 block discarded – undo
748 748
             //loop through string as many times as there is a match
749 749
             while ($found_count > $i) {
750 750
                 //get the first match
751
-                $found_in_sql = strpos($sql, $orderMatch,$first_);
751
+                $found_in_sql = strpos($sql, $orderMatch, $first_);
752 752
                 //make sure there was a match
753
-                if($found_in_sql){
753
+                if ($found_in_sql) {
754 754
                     //grab the next 2 individual characters
755
-                    $str_plusone = substr($sql,$found_in_sql + $len,1);
756
-                    $str_plustwo = substr($sql,$found_in_sql + $len+1,1);
755
+                    $str_plusone = substr($sql, $found_in_sql + $len, 1);
756
+                    $str_plustwo = substr($sql, $found_in_sql + $len + 1, 1);
757 757
                     //if one of those characters is a comma, then we have our alias
758
-                    if ($str_plusone === "," || $str_plustwo === ","){
758
+                    if ($str_plusone === "," || $str_plustwo === ",") {
759 759
                         //keep track of this position
760 760
                         $found = $found_in_sql;
761 761
                     }
762 762
                 }
763 763
                 //set the offset and increase the iteration counter
764
-                $first_ = $found_in_sql+$len;
765
-                $i = $i+1;
764
+                $first_ = $found_in_sql + $len;
765
+                $i = $i + 1;
766 766
             }
767 767
         }
768 768
         //return $found, defaults have been set, so if no match was found it will be a negative number
@@ -794,8 +794,8 @@  discard block
 block discarded – undo
794 794
         $firstSpace = strpos($orig_order_match, " ");
795 795
 
796 796
         //split order by into column name and ascending/descending
797
-        $orderMatch = " " . strtolower(substr($orig_order_match, 0, $firstSpace));
798
-        $asc_desc = trim(substr($orig_order_match,$firstSpace));
797
+        $orderMatch = " ".strtolower(substr($orig_order_match, 0, $firstSpace));
798
+        $asc_desc = trim(substr($orig_order_match, $firstSpace));
799 799
 
800 800
         //look for column name as an alias in sql string
801 801
         $found_in_sql = $this->findColumnByAlias($sql, $orderMatch);
@@ -806,18 +806,18 @@  discard block
 block discarded – undo
806 806
             $colMatchPos = strpos($sql, $orderMatch);
807 807
             if ($colMatchPos !== false) {
808 808
                 //grab sub string up to column name
809
-                $containsColStr = substr($sql,0, $colMatchPos);
809
+                $containsColStr = substr($sql, 0, $colMatchPos);
810 810
                 //get position of first space, so we can grab table name
811 811
                 $lastSpacePos = strrpos($containsColStr, " ");
812 812
                 //use positions of column name, space before name, and length of column to find the correct column name
813
-                $col_name = substr($sql, $lastSpacePos, $colMatchPos-$lastSpacePos+strlen($orderMatch));
813
+                $col_name = substr($sql, $lastSpacePos, $colMatchPos - $lastSpacePos + strlen($orderMatch));
814 814
 				//bug 25485. When sorting by a custom field in Account List and then pressing NEXT >, system gives an error
815 815
 				$containsCommaPos = strpos($col_name, ",");
816
-				if($containsCommaPos !== false) {
817
-					$col_name = substr($col_name, $containsCommaPos+1);
816
+				if ($containsCommaPos !== false) {
817
+					$col_name = substr($col_name, $containsCommaPos + 1);
818 818
 				}
819 819
                 //add the "asc/desc" order back
820
-                $col_name = $col_name. " ". $asc_desc;
820
+                $col_name = $col_name." ".$asc_desc;
821 821
 
822 822
                 //return column name
823 823
                 return $col_name;
@@ -831,22 +831,22 @@  discard block
 block discarded – undo
831 831
             //grab string up to the aliased column
832 832
             $GLOBALS['log']->debug("order by found, process sql string");
833 833
 
834
-            $psql = (trim($this->getAliasFromSQL($sql, $orderMatch )));
834
+            $psql = (trim($this->getAliasFromSQL($sql, $orderMatch)));
835 835
             if (empty($psql))
836 836
                 $psql = trim(substr($sql, 0, $found_in_sql));
837 837
 
838 838
             //grab the last comma before the alias
839
-            preg_match('/\s+' . trim($orderMatch). '/', $psql, $match, PREG_OFFSET_CAPTURE);
839
+            preg_match('/\s+'.trim($orderMatch).'/', $psql, $match, PREG_OFFSET_CAPTURE);
840 840
             $comma_pos = $match[0][1];
841 841
             //substring between the comma and the alias to find the joined_table alias and column name
842
-            $col_name = substr($psql,0, $comma_pos);
842
+            $col_name = substr($psql, 0, $comma_pos);
843 843
 
844 844
             //make sure the string does not have an end parenthesis
845 845
             //and is not part of a function (i.e. "ISNULL(leads.last_name,'') as name"  )
846 846
             //this is especially true for unified search from home screen
847 847
 
848 848
             $alias_beg_pos = 0;
849
-            if(strpos($psql, " as "))
849
+            if (strpos($psql, " as "))
850 850
                 $alias_beg_pos = strpos($psql, " as ");
851 851
 
852 852
             // Bug # 44923 - This breaks the query and does not properly filter isnull
@@ -855,13 +855,13 @@  discard block
 block discarded – undo
855 855
                 $alias_beg_pos = strpos($psql, " "); */
856 856
 
857 857
             if ($alias_beg_pos > 0) {
858
-                $col_name = substr($psql,0, $alias_beg_pos );
858
+                $col_name = substr($psql, 0, $alias_beg_pos);
859 859
             }
860 860
             //add the "asc/desc" order back
861
-            $col_name = $col_name. " ". $asc_desc;
861
+            $col_name = $col_name." ".$asc_desc;
862 862
 
863 863
             //pass in new order by
864
-            $GLOBALS['log']->debug("order by being returned is " . $col_name);
864
+            $GLOBALS['log']->debug("order by being returned is ".$col_name);
865 865
             return $col_name;
866 866
         }
867 867
     }
@@ -877,12 +877,12 @@  discard block
 block discarded – undo
877 877
     {
878 878
 
879 879
         global $beanList, $beanFiles;
880
-        $GLOBALS['log']->debug("Module being processed is " . $module_str);
880
+        $GLOBALS['log']->debug("Module being processed is ".$module_str);
881 881
         //get the right module files
882 882
         //the module string exists in bean list, then process bean for correct table name
883 883
         //note that we exempt the reports module from this, as queries from reporting module should be parsed for
884 884
         //correct table name.
885
-        if (($module_str != 'Reports' && $module_str != 'SavedReport') && isset($beanList[$module_str])  &&  isset($beanFiles[$beanList[$module_str]])){
885
+        if (($module_str != 'Reports' && $module_str != 'SavedReport') && isset($beanList[$module_str]) && isset($beanFiles[$beanList[$module_str]])) {
886 886
             //if the class is not already loaded, then load files
887 887
             if (!class_exists($beanList[$module_str]))
888 888
                 require_once($beanFiles[$beanList[$module_str]]);
@@ -894,7 +894,7 @@  discard block
 block discarded – undo
894 894
             //make sure table name is not just a blank space, or empty
895 895
             $tbl_name = trim($tbl_name);
896 896
 
897
-            if(empty($tbl_name)){
897
+            if (empty($tbl_name)) {
898 898
                 $GLOBALS['log']->debug("Could not find table name for module $module_str. ");
899 899
                 $tbl_name = $module_str;
900 900
             }
@@ -911,20 +911,20 @@  discard block
 block discarded – undo
911 911
             $sql = str_replace(array("\n", "\r"), " ", $sql);
912 912
 
913 913
             //look for the location of the "from" in sql string
914
-            $fromLoc = strpos($sql," from " );
915
-            if ($fromLoc>0){
914
+            $fromLoc = strpos($sql, " from ");
915
+            if ($fromLoc > 0) {
916 916
                 //found from, substring from the " FROM " string in sql to end
917
-                $tableEnd = substr($sql, $fromLoc+6);
917
+                $tableEnd = substr($sql, $fromLoc + 6);
918 918
                 //We know that tablename will be next parameter after from, so
919 919
                 //grab the next space after table name.
920 920
                 // MFH BUG #14009: Also check to see if there are any carriage returns before the next space so that we don't grab any arbitrary joins or other tables.
921
-                $carriage_ret = strpos($tableEnd,"\n");
922
-                $next_space = strpos($tableEnd," " );
921
+                $carriage_ret = strpos($tableEnd, "\n");
922
+                $next_space = strpos($tableEnd, " ");
923 923
                 if ($carriage_ret < $next_space)
924 924
                     $next_space = $carriage_ret;
925 925
                 if ($next_space > 0) {
926
-                    $tbl_name= substr($tableEnd,0, $next_space);
927
-                    if(empty($tbl_name)){
926
+                    $tbl_name = substr($tableEnd, 0, $next_space);
927
+                    if (empty($tbl_name)) {
928 928
                         $GLOBALS['log']->debug("Could not find table name sql either, return $module_str. ");
929 929
                         $tbl_name = $module_str;
930 930
                     }
@@ -932,11 +932,11 @@  discard block
 block discarded – undo
932 932
 
933 933
                 //grab the table, to see if it is aliased
934 934
                 $aliasTableEnd = trim(substr($tableEnd, $next_space));
935
-                $alias_space = strpos ($aliasTableEnd, " " );
936
-                if ($alias_space > 0){
937
-                    $alias_tbl_name= substr($aliasTableEnd,0, $alias_space);
935
+                $alias_space = strpos($aliasTableEnd, " ");
936
+                if ($alias_space > 0) {
937
+                    $alias_tbl_name = substr($aliasTableEnd, 0, $alias_space);
938 938
                     strtolower($alias_tbl_name);
939
-                    if(empty($alias_tbl_name)
939
+                    if (empty($alias_tbl_name)
940 940
                         || $alias_tbl_name == "where"
941 941
                         || $alias_tbl_name == "inner"
942 942
                         || $alias_tbl_name == "left"
@@ -948,9 +948,9 @@  discard block
 block discarded – undo
948 948
                     elseif ($alias_tbl_name == "as") {
949 949
                             //the next word is the table name
950 950
                             $aliasTableEnd = trim(substr($aliasTableEnd, $alias_space));
951
-                            $alias_space = strpos ($aliasTableEnd, " " );
951
+                            $alias_space = strpos($aliasTableEnd, " ");
952 952
                             if ($alias_space > 0) {
953
-                                $alias_tbl_name= trim(substr($aliasTableEnd,0, $alias_space));
953
+                                $alias_tbl_name = trim(substr($aliasTableEnd, 0, $alias_space));
954 954
                                 if (!empty($alias_tbl_name))
955 955
                                     $tbl_name = $alias_tbl_name;
956 956
                             }
@@ -975,7 +975,7 @@  discard block
 block discarded – undo
975 975
 	{
976 976
 		$field_array = array();
977 977
 
978
-		if(! isset($result) || empty($result))
978
+		if (!isset($result) || empty($result))
979 979
             return 0;
980 980
 
981 981
         $i = 0;
@@ -983,7 +983,7 @@  discard block
 block discarded – undo
983 983
             $meta = mssql_fetch_field($result, $i);
984 984
             if (!$meta)
985 985
                 return 0;
986
-            if($make_lower_case==true)
986
+            if ($make_lower_case == true)
987 987
                 $meta->name = strtolower($meta->name);
988 988
 
989 989
             $field_array[] = $meta->name;
@@ -1012,11 +1012,11 @@  discard block
 block discarded – undo
1012 1012
         $row = mssql_fetch_assoc($result);
1013 1013
         //MSSQL returns a space " " when a varchar column is empty ("") and not null.
1014 1014
         //We need to iterate through the returned row array and strip empty spaces
1015
-        if(!empty($row)){
1016
-            foreach($row as $key => $column) {
1015
+        if (!empty($row)) {
1016
+            foreach ($row as $key => $column) {
1017 1017
                //notice we only strip if one space is returned.  we do not want to strip
1018 1018
                //strings with intentional spaces (" foo ")
1019
-               if (!empty($column) && $column ==" ") {
1019
+               if (!empty($column) && $column == " ") {
1020 1020
                    $row[$key] = '';
1021 1021
                }
1022 1022
             }
@@ -1029,10 +1029,10 @@  discard block
 block discarded – undo
1029 1029
      */
1030 1030
     public function quote($string)
1031 1031
     {
1032
-        if(is_array($string)) {
1032
+        if (is_array($string)) {
1033 1033
             return $this->arrayQuote($string);
1034 1034
         }
1035
-        return str_replace("'","''", $this->quoteInternal($string));
1035
+        return str_replace("'", "''", $this->quoteInternal($string));
1036 1036
     }
1037 1037
 
1038 1038
     /**
@@ -1070,7 +1070,7 @@  discard block
 block discarded – undo
1070 1070
             if (!empty($r)) {
1071 1071
                 while ($a = $this->fetchByAssoc($r)) {
1072 1072
                     $row = array_values($a);
1073
-					$tables[]=$row[0];
1073
+					$tables[] = $row[0];
1074 1074
                 }
1075 1075
                 return $tables;
1076 1076
             }
@@ -1085,7 +1085,7 @@  discard block
 block discarded – undo
1085 1085
     {
1086 1086
         $GLOBALS['log']->debug('MSSQL fetching table list');
1087 1087
 
1088
-        if($this->getDatabase()) {
1088
+        if ($this->getDatabase()) {
1089 1089
             $tables = array();
1090 1090
             $r = $this->query('SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES');
1091 1091
             if (is_resource($r)) {
@@ -1109,7 +1109,7 @@  discard block
 block discarded – undo
1109 1109
     {
1110 1110
         $GLOBALS['log']->debug('MSSQL about to wakeup FTS');
1111 1111
 
1112
-        if($this->getDatabase()) {
1112
+        if ($this->getDatabase()) {
1113 1113
                 //create wakeup catalog
1114 1114
                 $FTSqry[] = "if not exists(  select * from sys.fulltext_catalogs where name ='wakeup_catalog' )
1115 1115
                 CREATE FULLTEXT CATALOG wakeup_catalog
@@ -1149,7 +1149,7 @@  discard block
 block discarded – undo
1149 1149
                 $FTSqry[] = 'ALTER FULLTEXT INDEX ON fts_wakeup START FULL POPULATION';
1150 1150
                 $FTSqry[] = 'ALTER FULLTEXT INDEX ON fts_wakeup SET CHANGE_TRACKING AUTO';
1151 1151
 
1152
-                foreach($FTSqry as $q){
1152
+                foreach ($FTSqry as $q) {
1153 1153
                     sleep(3);
1154 1154
                     $this->query($q);
1155 1155
                 }
@@ -1172,12 +1172,12 @@  discard block
 block discarded – undo
1172 1172
     {
1173 1173
         // convert the parameters array into a comma delimited string
1174 1174
         if (!empty($additional_parameters)) {
1175
-            $additional_parameters_string = ','.implode(',',$additional_parameters);
1175
+            $additional_parameters_string = ','.implode(',', $additional_parameters);
1176 1176
         } else {
1177 1177
             $additional_parameters_string = '';
1178 1178
         }
1179 1179
         $all_parameters = $additional_parameters;
1180
-        if(is_array($string)) {
1180
+        if (is_array($string)) {
1181 1181
             $all_parameters = array_merge($string, $all_parameters);
1182 1182
         } elseif (!is_null($string)) {
1183 1183
             array_unshift($all_parameters, $string);
@@ -1189,22 +1189,22 @@  discard block
 block discarded – undo
1189 1189
             case 'left':
1190 1190
                 return "LEFT($string$additional_parameters_string)";
1191 1191
             case 'date_format':
1192
-                if(!empty($additional_parameters[0]) && $additional_parameters[0][0] == "'") {
1192
+                if (!empty($additional_parameters[0]) && $additional_parameters[0][0] == "'") {
1193 1193
                     $additional_parameters[0] = trim($additional_parameters[0], "'");
1194 1194
                 }
1195
-                if(!empty($additional_parameters) && isset($this->date_formats[$additional_parameters[0]])) {
1195
+                if (!empty($additional_parameters) && isset($this->date_formats[$additional_parameters[0]])) {
1196 1196
                     $len = $this->date_formats[$additional_parameters[0]];
1197
-                    return "LEFT(CONVERT(varchar($len),". $string . ",120),$len)";
1197
+                    return "LEFT(CONVERT(varchar($len),".$string.",120),$len)";
1198 1198
                 } else {
1199
-                   return "LEFT(CONVERT(varchar(10),". $string . ",120),10)";
1199
+                   return "LEFT(CONVERT(varchar(10),".$string.",120),10)";
1200 1200
                 }
1201 1201
             case 'ifnull':
1202
-                if(empty($additional_parameters_string)) {
1202
+                if (empty($additional_parameters_string)) {
1203 1203
                     $additional_parameters_string = ",''";
1204 1204
                 }
1205 1205
                 return "ISNULL($string$additional_parameters_string)";
1206 1206
             case 'concat':
1207
-                return implode("+",$all_parameters);
1207
+                return implode("+", $all_parameters);
1208 1208
             case 'text2char':
1209 1209
                 return "CAST($string AS varchar(8000))";
1210 1210
             case 'quarter':
@@ -1220,7 +1220,7 @@  discard block
 block discarded – undo
1220 1220
             case 'add_tz_offset' :
1221 1221
                 $getUserUTCOffset = $GLOBALS['timedate']->getUserUTCOffset();
1222 1222
                 $operation = $getUserUTCOffset < 0 ? '-' : '+';
1223
-                return 'DATEADD(minute, ' . $operation . abs($getUserUTCOffset) . ', ' . $string. ')';
1223
+                return 'DATEADD(minute, '.$operation.abs($getUserUTCOffset).', '.$string.')';
1224 1224
             case 'avg':
1225 1225
                 return "avg($string)";
1226 1226
         }
@@ -1233,9 +1233,9 @@  discard block
 block discarded – undo
1233 1233
      */
1234 1234
     public function fromConvert($string, $type)
1235 1235
     {
1236
-        switch($type) {
1236
+        switch ($type) {
1237 1237
             case 'datetimecombo':
1238
-            case 'datetime': return substr($string, 0,19);
1238
+            case 'datetime': return substr($string, 0, 19);
1239 1239
             case 'date': return substr($string, 0, 10);
1240 1240
             case 'time': return substr($string, 11);
1241 1241
 		}
@@ -1264,8 +1264,8 @@  discard block
 block discarded – undo
1264 1264
     public function isTextType($type)
1265 1265
     {
1266 1266
         $type = strtolower($type);
1267
-        if(!isset($this->type_map[$type])) return false;
1268
-        return in_array($this->type_map[$type], array('ntext','text','image', 'nvarchar(max)'));
1267
+        if (!isset($this->type_map[$type])) return false;
1268
+        return in_array($this->type_map[$type], array('ntext', 'text', 'image', 'nvarchar(max)'));
1269 1269
     }
1270 1270
 
1271 1271
     /**
@@ -1275,13 +1275,13 @@  discard block
 block discarded – undo
1275 1275
     public function emptyValue($type)
1276 1276
     {
1277 1277
         $ctype = $this->getColumnType($type);
1278
-        if($ctype == "datetime") {
1278
+        if ($ctype == "datetime") {
1279 1279
             return $this->convert($this->quoted("1970-01-01 00:00:00"), "datetime");
1280 1280
         }
1281
-        if($ctype == "date") {
1281
+        if ($ctype == "date") {
1282 1282
             return $this->convert($this->quoted("1970-01-01"), "datetime");
1283 1283
         }
1284
-        if($ctype == "time") {
1284
+        if ($ctype == "time") {
1285 1285
             return $this->convert($this->quoted("00:00:00"), "time");
1286 1286
         }
1287 1287
         return parent::emptyValue($type);
@@ -1304,21 +1304,21 @@  discard block
 block discarded – undo
1304 1304
      */
1305 1305
     protected function alterSQLRep($action, array $def, $ignoreRequired, $tablename)
1306 1306
     {
1307
-        switch($action){
1307
+        switch ($action) {
1308 1308
         case 'add':
1309
-             $f_def=$this->oneColumnSQLRep($def, $ignoreRequired,$tablename,false);
1310
-            return "ADD " . $f_def;
1309
+             $f_def = $this->oneColumnSQLRep($def, $ignoreRequired, $tablename, false);
1310
+            return "ADD ".$f_def;
1311 1311
             break;
1312 1312
         case 'drop':
1313
-            return "DROP COLUMN " . $def['name'];
1313
+            return "DROP COLUMN ".$def['name'];
1314 1314
             break;
1315 1315
         case 'modify':
1316 1316
             //You cannot specify a default value for a column for MSSQL
1317
-            $f_def  = $this->oneColumnSQLRep($def, $ignoreRequired,$tablename, true);
1317
+            $f_def  = $this->oneColumnSQLRep($def, $ignoreRequired, $tablename, true);
1318 1318
             $f_stmt = "ALTER COLUMN ".$f_def['name'].' '.$f_def['colType'].' '.
1319 1319
                         $f_def['required'].' '.$f_def['auto_increment']."\n";
1320
-            if (!empty( $f_def['default']))
1321
-                $f_stmt .= " ALTER TABLE " . $tablename .  " ADD  ". $f_def['default'] . " FOR " . $def['name'];
1320
+            if (!empty($f_def['default']))
1321
+                $f_stmt .= " ALTER TABLE ".$tablename." ADD  ".$f_def['default']." FOR ".$def['name'];
1322 1322
             return $f_stmt;
1323 1323
             break;
1324 1324
         default:
@@ -1334,7 +1334,7 @@  discard block
 block discarded – undo
1334 1334
      */
1335 1335
     protected function changeColumnSQL($tablename, $fieldDefs, $action, $ignoreRequired = false)
1336 1336
     {
1337
-        $sql=$sql2='';
1337
+        $sql = $sql2 = '';
1338 1338
         $constraints = $this->get_field_default_constraint_name($tablename);
1339 1339
         $columns = array();
1340 1340
         if ($this->isFieldArray($fieldDefs)) {
@@ -1343,41 +1343,41 @@  discard block
 block discarded – undo
1343 1343
           		//if the column is being modified drop the default value
1344 1344
           		//constraint if it exists. alterSQLRep will add the constraint back
1345 1345
           		if (!empty($constraints[$def['name']])) {
1346
-          			$sql.=" ALTER TABLE " . $tablename . " DROP CONSTRAINT " . $constraints[$def['name']];
1346
+          			$sql .= " ALTER TABLE ".$tablename." DROP CONSTRAINT ".$constraints[$def['name']];
1347 1347
           		}
1348 1348
           		//check to see if we need to drop related indexes before the alter
1349 1349
           		$indices = $this->get_indices($tablename);
1350
-                foreach ( $indices as $index ) {
1351
-                    if ( in_array($def['name'],$index['fields']) ) {
1352
-                        $sql  .= ' ' . $this->add_drop_constraint($tablename,$index,true).' ';
1353
-                        $sql2 .= ' ' . $this->add_drop_constraint($tablename,$index,false).' ';
1350
+                foreach ($indices as $index) {
1351
+                    if (in_array($def['name'], $index['fields'])) {
1352
+                        $sql  .= ' '.$this->add_drop_constraint($tablename, $index, true).' ';
1353
+                        $sql2 .= ' '.$this->add_drop_constraint($tablename, $index, false).' ';
1354 1354
                     }
1355 1355
                 }
1356 1356
 
1357
-          		$columns[] = $this->alterSQLRep($action, $def, $ignoreRequired,$tablename);
1357
+          		$columns[] = $this->alterSQLRep($action, $def, $ignoreRequired, $tablename);
1358 1358
       		}
1359 1359
         }
1360 1360
         else {
1361 1361
             //if the column is being modified drop the default value
1362 1362
       		//constraint if it exists. alterSQLRep will add the constraint back
1363 1363
       		if (!empty($constraints[$fieldDefs['name']])) {
1364
-      			$sql.=" ALTER TABLE " . $tablename . " DROP CONSTRAINT " . $constraints[$fieldDefs['name']];
1364
+      			$sql .= " ALTER TABLE ".$tablename." DROP CONSTRAINT ".$constraints[$fieldDefs['name']];
1365 1365
       		}
1366 1366
       		//check to see if we need to drop related indexes before the alter
1367 1367
             $indices = $this->get_indices($tablename);
1368
-            foreach ( $indices as $index ) {
1369
-                if ( in_array($fieldDefs['name'],$index['fields']) ) {
1370
-                    $sql  .= ' ' . $this->add_drop_constraint($tablename,$index,true).' ';
1371
-                    $sql2 .= ' ' . $this->add_drop_constraint($tablename,$index,false).' ';
1368
+            foreach ($indices as $index) {
1369
+                if (in_array($fieldDefs['name'], $index['fields'])) {
1370
+                    $sql  .= ' '.$this->add_drop_constraint($tablename, $index, true).' ';
1371
+                    $sql2 .= ' '.$this->add_drop_constraint($tablename, $index, false).' ';
1372 1372
                 }
1373 1373
             }
1374 1374
 
1375 1375
 
1376
-          	$columns[] = $this->alterSQLRep($action, $fieldDefs, $ignoreRequired,$tablename);
1376
+          	$columns[] = $this->alterSQLRep($action, $fieldDefs, $ignoreRequired, $tablename);
1377 1377
         }
1378 1378
 
1379 1379
         $columns = implode(", ", $columns);
1380
-        $sql .= " ALTER TABLE $tablename $columns " . $sql2;
1380
+        $sql .= " ALTER TABLE $tablename $columns ".$sql2;
1381 1381
 
1382 1382
         return $sql;
1383 1383
     }
@@ -1392,7 +1392,7 @@  discard block
 block discarded – undo
1392 1392
      */
1393 1393
     public function setAutoIncrementStart($table, $field_name, $start_value)
1394 1394
     {
1395
-        if($start_value > 1)
1395
+        if ($start_value > 1)
1396 1396
             $start_value -= 1;
1397 1397
 		$this->query("DBCC CHECKIDENT ('$table', RESEED, $start_value) WITH NO_INFOMSGS");
1398 1398
         return true;
@@ -1427,11 +1427,11 @@  discard block
 block discarded – undo
1427 1427
         $result = $this->query($query);
1428 1428
 
1429 1429
         $indices = array();
1430
-        while (($row=$this->fetchByAssoc($result)) != null) {
1430
+        while (($row = $this->fetchByAssoc($result)) != null) {
1431 1431
             $index_type = 'index';
1432 1432
             if ($row['is_primary_key'] == '1')
1433 1433
                 $index_type = 'primary';
1434
-            elseif ($row['is_unique'] == 1 )
1434
+            elseif ($row['is_unique'] == 1)
1435 1435
                 $index_type = 'unique';
1436 1436
             $name = strtolower($row['index_name']);
1437 1437
             $indices[$name]['name']     = $name;
@@ -1450,36 +1450,36 @@  discard block
 block discarded – undo
1450 1450
         $result = $this->query("sp_columns $tablename");
1451 1451
 
1452 1452
         $columns = array();
1453
-        while (($row=$this->fetchByAssoc($result)) !=null) {
1453
+        while (($row = $this->fetchByAssoc($result)) != null) {
1454 1454
             $column_name = strtolower($row['COLUMN_NAME']);
1455
-            $columns[$column_name]['name']=$column_name;
1456
-            $columns[$column_name]['type']=strtolower($row['TYPE_NAME']);
1457
-            if ( $row['TYPE_NAME'] == 'decimal' ) {
1458
-                $columns[$column_name]['len']=strtolower($row['PRECISION']);
1459
-                $columns[$column_name]['len'].=','.strtolower($row['SCALE']);
1455
+            $columns[$column_name]['name'] = $column_name;
1456
+            $columns[$column_name]['type'] = strtolower($row['TYPE_NAME']);
1457
+            if ($row['TYPE_NAME'] == 'decimal') {
1458
+                $columns[$column_name]['len'] = strtolower($row['PRECISION']);
1459
+                $columns[$column_name]['len'] .= ','.strtolower($row['SCALE']);
1460 1460
             }
1461
-			elseif ( in_array($row['TYPE_NAME'],array('nchar','nvarchar')) )
1462
-				$columns[$column_name]['len']=strtolower($row['PRECISION']);
1463
-            elseif ( !in_array($row['TYPE_NAME'],array('datetime','text')) )
1464
-                $columns[$column_name]['len']=strtolower($row['LENGTH']);
1465
-            if ( stristr($row['TYPE_NAME'],'identity') ) {
1461
+			elseif (in_array($row['TYPE_NAME'], array('nchar', 'nvarchar')))
1462
+				$columns[$column_name]['len'] = strtolower($row['PRECISION']);
1463
+            elseif (!in_array($row['TYPE_NAME'], array('datetime', 'text')))
1464
+                $columns[$column_name]['len'] = strtolower($row['LENGTH']);
1465
+            if (stristr($row['TYPE_NAME'], 'identity')) {
1466 1466
                 $columns[$column_name]['auto_increment'] = '1';
1467
-                $columns[$column_name]['type']=str_replace(' identity','',strtolower($row['TYPE_NAME']));
1467
+                $columns[$column_name]['type'] = str_replace(' identity', '', strtolower($row['TYPE_NAME']));
1468 1468
             }
1469 1469
 
1470
-            if (!empty($row['IS_NULLABLE']) && $row['IS_NULLABLE'] == 'NO' && (empty($row['KEY']) || !stristr($row['KEY'],'PRI')))
1470
+            if (!empty($row['IS_NULLABLE']) && $row['IS_NULLABLE'] == 'NO' && (empty($row['KEY']) || !stristr($row['KEY'], 'PRI')))
1471 1471
                 $columns[strtolower($row['COLUMN_NAME'])]['required'] = 'true';
1472 1472
 
1473 1473
             $column_def = 1;
1474
-            if ( strtolower($tablename) == 'relationships' ) {
1474
+            if (strtolower($tablename) == 'relationships') {
1475 1475
                 $column_def = $this->getOne("select cdefault from syscolumns where id = object_id('relationships') and name = '$column_name'");
1476 1476
             }
1477
-            if ( $column_def != 0 && ($row['COLUMN_DEF'] != null)) {	// NOTE Not using !empty as an empty string may be a viable default value.
1477
+            if ($column_def != 0 && ($row['COLUMN_DEF'] != null)) {	// NOTE Not using !empty as an empty string may be a viable default value.
1478 1478
                 $matches = array();
1479
-                $row['COLUMN_DEF'] = html_entity_decode($row['COLUMN_DEF'],ENT_QUOTES);
1480
-                if ( preg_match('/\([\(|\'](.*)[\)|\']\)/i',$row['COLUMN_DEF'],$matches) )
1479
+                $row['COLUMN_DEF'] = html_entity_decode($row['COLUMN_DEF'], ENT_QUOTES);
1480
+                if (preg_match('/\([\(|\'](.*)[\)|\']\)/i', $row['COLUMN_DEF'], $matches))
1481 1481
                     $columns[$column_name]['default'] = $matches[1];
1482
-                elseif ( preg_match('/\(N\'(.*)\'\)/i',$row['COLUMN_DEF'],$matches) )
1482
+                elseif (preg_match('/\(N\'(.*)\'\)/i', $row['COLUMN_DEF'], $matches))
1483 1483
                     $columns[$column_name]['default'] = $matches[1];
1484 1484
                 else
1485 1485
                     $columns[$column_name]['default'] = $row['COLUMN_DEF'];
@@ -1494,7 +1494,7 @@  discard block
 block discarded – undo
1494 1494
      */
1495 1495
     protected function ftsCatalogName()
1496 1496
     {
1497
-        if(isset($this->connectOptions['db_name'])) {
1497
+        if (isset($this->connectOptions['db_name'])) {
1498 1498
             return $this->connectOptions['db_name']."_fts_catalog";
1499 1499
         }
1500 1500
         return 'sugar_fts_catalog';
@@ -1506,11 +1506,11 @@  discard block
 block discarded – undo
1506 1506
     public function add_drop_constraint($table, $definition, $drop = false)
1507 1507
     {
1508 1508
         $type         = $definition['type'];
1509
-        $fields       = is_array($definition['fields'])?implode(',',$definition['fields']):$definition['fields'];
1509
+        $fields       = is_array($definition['fields']) ? implode(',', $definition['fields']) : $definition['fields'];
1510 1510
         $name         = $definition['name'];
1511 1511
         $sql          = '';
1512 1512
 
1513
-        switch ($type){
1513
+        switch ($type) {
1514 1514
         // generic indices
1515 1515
         case 'index':
1516 1516
         case 'alternate_key':
@@ -1548,13 +1548,13 @@  discard block
 block discarded – undo
1548 1548
             if ($this->full_text_indexing_enabled() && $drop) {
1549 1549
                 $sql = "DROP FULLTEXT INDEX ON {$table}";
1550 1550
             } elseif ($this->full_text_indexing_enabled()) {
1551
-                $catalog_name=$this->ftsCatalogName();
1552
-                if ( isset($definition['catalog_name']) && $definition['catalog_name'] != 'default')
1551
+                $catalog_name = $this->ftsCatalogName();
1552
+                if (isset($definition['catalog_name']) && $definition['catalog_name'] != 'default')
1553 1553
                     $catalog_name = $definition['catalog_name'];
1554 1554
 
1555 1555
                 $language = "Language 1033";
1556 1556
                 if (isset($definition['language']) && !empty($definition['language']))
1557
-                    $language = "Language " . $definition['language'];
1557
+                    $language = "Language ".$definition['language'];
1558 1558
 
1559 1559
                 $key_index = $definition['key_index'];
1560 1560
 
@@ -1562,7 +1562,7 @@  discard block
 block discarded – undo
1562 1562
                 if (isset($definition['change_tracking']) && !empty($definition['change_tracking']))
1563 1563
                     $change_tracking = $definition['change_tracking'];
1564 1564
 
1565
-                $sql = " CREATE FULLTEXT INDEX ON $table ($fields $language) KEY INDEX $key_index ON $catalog_name WITH CHANGE_TRACKING $change_tracking" ;
1565
+                $sql = " CREATE FULLTEXT INDEX ON $table ($fields $language) KEY INDEX $key_index ON $catalog_name WITH CHANGE_TRACKING $change_tracking";
1566 1566
             }
1567 1567
             break;
1568 1568
         }
@@ -1586,11 +1586,11 @@  discard block
 block discarded – undo
1586 1586
     protected function full_text_indexing_enabled($dbname = null)
1587 1587
     {
1588 1588
         // check to see if we already have install setting in session
1589
-    	if(!isset($_SESSION['IsFulltextInstalled']))
1589
+    	if (!isset($_SESSION['IsFulltextInstalled']))
1590 1590
             $_SESSION['IsFulltextInstalled'] = $this->full_text_indexing_installed();
1591 1591
 
1592 1592
         // check to see if FTS Indexing service is installed
1593
-        if(empty($_SESSION['IsFulltextInstalled']))
1593
+        if (empty($_SESSION['IsFulltextInstalled']))
1594 1594
             return false;
1595 1595
 
1596 1596
         // grab the dbname if it was not passed through
@@ -1640,7 +1640,7 @@  discard block
 block discarded – undo
1640 1640
     {
1641 1641
         static $results = array();
1642 1642
 
1643
-        if ( empty($column) && isset($results[$table]) )
1643
+        if (empty($column) && isset($results[$table]))
1644 1644
             return $results[$table];
1645 1645
 
1646 1646
         $query = <<<EOQ
@@ -1654,17 +1654,17 @@  discard block
 block discarded – undo
1654 1654
             on s.schema_id = o.schema_id
1655 1655
     where o.name = '$table'
1656 1656
 EOQ;
1657
-        if ( !empty($column) )
1657
+        if (!empty($column))
1658 1658
             $query .= " and c.name = '$column'";
1659 1659
         $res = $this->query($query);
1660
-        if ( !empty($column) ) {
1660
+        if (!empty($column)) {
1661 1661
             $row = $this->fetchByAssoc($res);
1662 1662
             if (!empty($row))
1663 1663
                 return $row['ctrt'];
1664 1664
         }
1665 1665
         else {
1666 1666
             $returnResult = array();
1667
-            while ( $row = $this->fetchByAssoc($res) )
1667
+            while ($row = $this->fetchByAssoc($res))
1668 1668
                 $returnResult[$row['dtrt']] = $row['ctrt'];
1669 1669
             $results[$table] = $returnResult;
1670 1670
             return $returnResult;
@@ -1678,14 +1678,14 @@  discard block
 block discarded – undo
1678 1678
      */
1679 1679
     public function massageFieldDef(&$fieldDef, $tablename)
1680 1680
     {
1681
-        parent::massageFieldDef($fieldDef,$tablename);
1681
+        parent::massageFieldDef($fieldDef, $tablename);
1682 1682
 
1683 1683
         if ($fieldDef['type'] == 'int')
1684 1684
             $fieldDef['len'] = '4';
1685 1685
 
1686
-        if(empty($fieldDef['len']))
1686
+        if (empty($fieldDef['len']))
1687 1687
         {
1688
-            switch($fieldDef['type']) {
1688
+            switch ($fieldDef['type']) {
1689 1689
                 case 'bit'      :
1690 1690
                 case 'bool'     : $fieldDef['len'] = '1'; break;
1691 1691
                 case 'smallint' : $fieldDef['len'] = '2'; break;
@@ -1695,22 +1695,22 @@  discard block
 block discarded – undo
1695 1695
                                   $fieldDef['len'] = $this->isTextType($fieldDef['dbType']) ? 'max' : '255';
1696 1696
                                   break;
1697 1697
                 case 'image'    : $fieldDef['len'] = '2147483647'; break;
1698
-                case 'ntext'    : $fieldDef['len'] = '2147483646'; break;   // Note: this is from legacy code, don't know if this is correct
1698
+                case 'ntext'    : $fieldDef['len'] = '2147483646'; break; // Note: this is from legacy code, don't know if this is correct
1699 1699
             }
1700 1700
         }
1701
-        if($fieldDef['type'] == 'decimal'
1701
+        if ($fieldDef['type'] == 'decimal'
1702 1702
            && empty($fieldDef['precision'])
1703 1703
            && !strpos($fieldDef['len'], ','))
1704 1704
         {
1705 1705
              $fieldDef['len'] .= ',0'; // Adding 0 precision if it is not specified
1706 1706
         }
1707 1707
 
1708
-        if(empty($fieldDef['default'])
1709
-            && in_array($fieldDef['type'],array('bit','bool')))
1708
+        if (empty($fieldDef['default'])
1709
+            && in_array($fieldDef['type'], array('bit', 'bool')))
1710 1710
         {
1711 1711
             $fieldDef['default'] = '0';
1712 1712
         }
1713
-		if (isset($fieldDef['required']) && $fieldDef['required'] && !isset($fieldDef['default']) )
1713
+		if (isset($fieldDef['required']) && $fieldDef['required'] && !isset($fieldDef['default']))
1714 1714
 			$fieldDef['default'] = '';
1715 1715
 //        if ($fieldDef['type'] == 'bit' && empty($fieldDef['len']) )
1716 1716
 //            $fieldDef['len'] = '1';
@@ -1741,13 +1741,13 @@  discard block
 block discarded – undo
1741 1741
     protected function oneColumnSQLRep($fieldDef, $ignoreRequired = false, $table = '', $return_as_array = false)
1742 1742
     {
1743 1743
     	//Bug 25814
1744
-		if(isset($fieldDef['name'])){
1744
+		if (isset($fieldDef['name'])) {
1745 1745
 		    $colType = $this->getFieldType($fieldDef);
1746
-        	if(stristr($this->getFieldType($fieldDef), 'decimal') && isset($fieldDef['len'])){
1747
-				$fieldDef['len'] = min($fieldDef['len'],38);
1746
+        	if (stristr($this->getFieldType($fieldDef), 'decimal') && isset($fieldDef['len'])) {
1747
+				$fieldDef['len'] = min($fieldDef['len'], 38);
1748 1748
 			}
1749 1749
 		    //bug: 39690 float(8) is interpreted as real and this generates a diff when doing repair
1750
-			if(stristr($colType, 'float') && isset($fieldDef['len']) && $fieldDef['len'] == 8){
1750
+			if (stristr($colType, 'float') && isset($fieldDef['len']) && $fieldDef['len'] == 8) {
1751 1751
 				unset($fieldDef['len']);
1752 1752
 			}
1753 1753
 		}
@@ -1756,10 +1756,10 @@  discard block
 block discarded – undo
1756 1756
 		$ref = parent::oneColumnSQLRep($fieldDef, $ignoreRequired, $table, true);
1757 1757
 
1758 1758
 		// Bug 24307 - Don't add precision for float fields.
1759
-		if ( stristr($ref['colType'],'float') )
1760
-			$ref['colType'] = preg_replace('/(,\d+)/','',$ref['colType']);
1759
+		if (stristr($ref['colType'], 'float'))
1760
+			$ref['colType'] = preg_replace('/(,\d+)/', '', $ref['colType']);
1761 1761
 
1762
-        if ( $return_as_array )
1762
+        if ($return_as_array)
1763 1763
             return $ref;
1764 1764
         else
1765 1765
             return "{$ref['name']} {$ref['colType']} {$ref['default']} {$ref['required']} {$ref['auto_increment']}";
@@ -1774,10 +1774,10 @@  discard block
 block discarded – undo
1774 1774
     public function save_audit_records(SugarBean $bean, $changes)
1775 1775
 	{
1776 1776
 		//Bug 25078 fixed by Martin Hu: sqlserver haven't 'date' type, trim extra "00:00:00"
1777
-		if($changes['data_type'] == 'date'){
1778
-			$changes['before'] = str_replace(' 00:00:00','',$changes['before']);
1777
+		if ($changes['data_type'] == 'date') {
1778
+			$changes['before'] = str_replace(' 00:00:00', '', $changes['before']);
1779 1779
 		}
1780
-		parent::save_audit_records($bean,$changes);
1780
+		parent::save_audit_records($bean, $changes);
1781 1781
 	}
1782 1782
 
1783 1783
     /**
@@ -1788,7 +1788,7 @@  discard block
 block discarded – undo
1788 1788
     public function disconnect()
1789 1789
     {
1790 1790
     	$GLOBALS['log']->debug('Calling Mssql::disconnect()');
1791
-        if(!empty($this->database)){
1791
+        if (!empty($this->database)) {
1792 1792
             $this->freeResult();
1793 1793
             mssql_close($this->database);
1794 1794
             $this->database = null;
@@ -1800,7 +1800,7 @@  discard block
 block discarded – undo
1800 1800
      */
1801 1801
     protected function freeDbResult($dbResult)
1802 1802
     {
1803
-        if(!empty($dbResult))
1803
+        if (!empty($dbResult))
1804 1804
             mssql_free_result($dbResult);
1805 1805
     }
1806 1806
 
@@ -1811,11 +1811,11 @@  discard block
 block discarded – undo
1811 1811
     public function lastDbError()
1812 1812
     {
1813 1813
         $sqlmsg = mssql_get_last_message();
1814
-        if(empty($sqlmsg)) return false;
1814
+        if (empty($sqlmsg)) return false;
1815 1815
         global $app_strings;
1816 1816
         if (empty($app_strings)
1817 1817
 		    or !isset($app_strings['ERR_MSSQL_DB_CONTEXT'])
1818
-			or !isset($app_strings['ERR_MSSQL_WARNING']) ) {
1818
+			or !isset($app_strings['ERR_MSSQL_WARNING'])) {
1819 1819
         //ignore the message from sql-server if $app_strings array is empty. This will happen
1820 1820
         //only if connection if made before language is set.
1821 1821
 		    return false;
@@ -1824,7 +1824,7 @@  discard block
 block discarded – undo
1824 1824
         $sqlpos = strpos($sqlmsg, 'Changed database context to');
1825 1825
         $sqlpos2 = strpos($sqlmsg, 'Warning:');
1826 1826
         $sqlpos3 = strpos($sqlmsg, 'Checking identity information:');
1827
-        if ( $sqlpos !== false || $sqlpos2 !== false || $sqlpos3 !== false ) {
1827
+        if ($sqlpos !== false || $sqlpos2 !== false || $sqlpos3 !== false) {
1828 1828
             return false;
1829 1829
         } else {
1830 1830
         	global $app_strings;
@@ -1832,18 +1832,18 @@  discard block
 block discarded – undo
1832 1832
             if (empty($app_strings) or !isset($app_strings['ERR_MSSQL_DB_CONTEXT'])) {
1833 1833
                 //ignore the message from sql-server if $app_strings array is empty. This will happen
1834 1834
                 //only if connection if made before languge is set.
1835
-                $GLOBALS['log']->debug("Ignoring this database message: " . $sqlmsg);
1835
+                $GLOBALS['log']->debug("Ignoring this database message: ".$sqlmsg);
1836 1836
                 return false;
1837 1837
             }
1838 1838
             else {
1839 1839
                 $sqlpos = strpos($sqlmsg, $app_strings['ERR_MSSQL_DB_CONTEXT']);
1840
-                if ( $sqlpos !== false )
1840
+                if ($sqlpos !== false)
1841 1841
                     return false;
1842 1842
             }
1843 1843
         }
1844 1844
 
1845
-        if ( strlen($sqlmsg) > 2 ) {
1846
-        	return "SQL Server error: " . $sqlmsg;
1845
+        if (strlen($sqlmsg) > 2) {
1846
+        	return "SQL Server error: ".$sqlmsg;
1847 1847
         }
1848 1848
 
1849 1849
         return false;
@@ -1864,7 +1864,7 @@  discard block
 block discarded – undo
1864 1864
      */
1865 1865
     public function validateQuery($query)
1866 1866
     {
1867
-        if(!$this->isSelect($query)) {
1867
+        if (!$this->isSelect($query)) {
1868 1868
             return false;
1869 1869
         }
1870 1870
         $this->query("SET SHOWPLAN_TEXT ON");
@@ -1888,7 +1888,7 @@  discard block
 block discarded – undo
1888 1888
 
1889 1889
         // Flag if there are odd number of single quotes, just continue without trying to append N
1890 1890
         if ((substr_count($sql, "'") & 1)) {
1891
-            $GLOBALS['log']->error("SQL statement[" . $sql . "] has odd number of single quotes.");
1891
+            $GLOBALS['log']->error("SQL statement[".$sql."] has odd number of single quotes.");
1892 1892
             return $sql;
1893 1893
         }
1894 1894
 
@@ -1918,7 +1918,7 @@  discard block
 block discarded – undo
1918 1918
                 // We are assuming that all nvarchar columns are no more than 200 characters in length
1919 1919
                 // One problem we face is the image column type in reports which cannot accept nvarchar data
1920 1920
                 if (!empty($value) && !is_numeric(trim(str_replace(array("'", ","), "", $value))) && !preg_match('/^\'[\,]\'$/', $value)) {
1921
-                    $replace[$value] = 'N' . trim($value, "N");
1921
+                    $replace[$value] = 'N'.trim($value, "N");
1922 1922
                 }
1923 1923
             }
1924 1924
         }
@@ -1929,7 +1929,7 @@  discard block
 block discarded – undo
1929 1929
         if (!empty($pairs))
1930 1930
             $sql = str_replace(array_keys($pairs), $pairs, $sql);
1931 1931
 
1932
-        if(strpos($sql, "<@#@#@PAIR@#@#@>"))
1932
+        if (strpos($sql, "<@#@#@PAIR@#@#@>"))
1933 1933
             $sql = str_replace(array('<@#@#@PAIR@#@#@>'), array("''"), $sql);
1934 1934
 
1935 1935
         return $sql;
@@ -1956,22 +1956,22 @@  discard block
 block discarded – undo
1956 1956
     public function getFulltextQuery($field, $terms, $must_terms = array(), $exclude_terms = array())
1957 1957
     {
1958 1958
         $condition = $or_condition = array();
1959
-        foreach($must_terms as $term) {
1959
+        foreach ($must_terms as $term) {
1960 1960
             $condition[] = $this->quoteTerm($term);
1961 1961
         }
1962 1962
 
1963
-        foreach($terms as $term) {
1963
+        foreach ($terms as $term) {
1964 1964
             $or_condition[] = $this->quoteTerm($term);
1965 1965
         }
1966 1966
 
1967
-        if(!empty($or_condition)) {
1967
+        if (!empty($or_condition)) {
1968 1968
             $condition[] = "(".join(" | ", $or_condition).")";
1969 1969
         }
1970 1970
 
1971
-        foreach($exclude_terms as $term) {
1971
+        foreach ($exclude_terms as $term) {
1972 1972
             $condition[] = " NOT ".$this->quoteTerm($term);
1973 1973
         }
1974
-        $condition = $this->quoted(join(" AND ",$condition));
1974
+        $condition = $this->quoted(join(" AND ", $condition));
1975 1975
         return "CONTAINS($field, $condition)";
1976 1976
     }
1977 1977
 
@@ -2060,7 +2060,7 @@  discard block
 block discarded – undo
2060 2060
     public function isDatabaseNameValid($name)
2061 2061
     {
2062 2062
         // No funny chars, does not begin with number
2063
-        return preg_match('/^[0-9#@]+|[\"\'\*\/\\?\:\\<\>\-\ \&\!\(\)\[\]\{\}\;\,\.\`\~\|\\\\]+/', $name)==0;
2063
+        return preg_match('/^[0-9#@]+|[\"\'\*\/\\?\:\\<\>\-\ \&\!\(\)\[\]\{\}\;\,\.\`\~\|\\\\]+/', $name) == 0;
2064 2064
     }
2065 2065
 
2066 2066
     public function installConfig()
Please login to merge, or discard this patch.
include/database/MysqlManager.php 4 patches
Indentation   +1344 added lines, -1344 removed lines patch added patch discarded remove patch
@@ -96,368 +96,368 @@  discard block
 block discarded – undo
96 96
  */
97 97
 class MysqlManager extends DBManager
98 98
 {
99
-	/**
100
-	 * @see DBManager::$dbType
101
-	 */
102
-	public $dbType = 'mysql';
103
-	public $variant = 'mysql';
104
-	public $dbName = 'MySQL';
105
-	public $label = 'LBL_MYSQL';
106
-
107
-	protected $maxNameLengths = array(
108
-		'table' => 64,
109
-		'column' => 64,
110
-		'index' => 64,
111
-		'alias' => 256
112
-	);
113
-
114
-	protected $type_map = array(
115
-			'int'      => 'int',
116
-			'double'   => 'double',
117
-			'float'    => 'float',
118
-			'uint'     => 'int unsigned',
119
-			'ulong'    => 'bigint unsigned',
120
-			'long'     => 'bigint',
121
-			'short'    => 'smallint',
122
-			'varchar'  => 'varchar',
123
-			'text'     => 'text',
124
-			'longtext' => 'longtext',
125
-			'date'     => 'date',
126
-			'enum'     => 'varchar',
127
-			'relate'   => 'varchar',
128
-			'multienum'=> 'text',
129
-			'html'     => 'text',
130
-			'longhtml' => 'longtext',
131
-			'datetime' => 'datetime',
132
-			'datetimecombo' => 'datetime',
133
-			'time'     => 'time',
134
-			'bool'     => 'bool',
135
-			'tinyint'  => 'tinyint',
136
-			'char'     => 'char',
137
-			'blob'     => 'blob',
138
-			'longblob' => 'longblob',
139
-			'currency' => 'decimal(26,6)',
140
-			'decimal'  => 'decimal',
141
-			'decimal2' => 'decimal',
142
-			'id'       => 'char(36)',
143
-			'url'      => 'varchar',
144
-			'encrypt'  => 'varchar',
145
-			'file'     => 'varchar',
146
-			'decimal_tpl' => 'decimal(%d, %d)',
147
-
148
-	);
149
-
150
-	protected $capabilities = array(
151
-		"affected_rows" => true,
152
-		"select_rows" => true,
153
-		"inline_keys" => true,
154
-		"create_user" => true,
155
-		"fulltext" => true,
156
-	    "collation" => true,
157
-	    "create_db" => true,
158
-	    "disable_keys" => true,
159
-	);
160
-
161
-	/**
162
-	 * Parses and runs queries
163
-	 *
164
-	 * @param  string   $sql        SQL Statement to execute
165
-	 * @param  bool     $dieOnError True if we want to call die if the query returns errors
166
-	 * @param  string   $msg        Message to log if error occurs
167
-	 * @param  bool     $suppress   Flag to suppress all error output unless in debug logging mode.
168
-	 * @param  bool     $keepResult True if we want to push this result into the $lastResult array.
169
-	 * @return resource result set
170
-	 */
171
-	public function query($sql, $dieOnError = false, $msg = '', $suppress = false, $keepResult = false)
172
-	{
173
-		if(is_array($sql)) {
174
-			return $this->queryArray($sql, $dieOnError, $msg, $suppress);
175
-		}
176
-
177
-		parent::countQuery($sql);
178
-		$GLOBALS['log']->info('Query:' . $sql);
179
-		$this->checkConnection();
180
-		$this->query_time = microtime(true);
181
-		$this->lastsql = $sql;
182
-		$result = $suppress?@mysql_query($sql, $this->database):mysql_query($sql, $this->database);
183
-
184
-		$this->query_time = microtime(true) - $this->query_time;
185
-		$GLOBALS['log']->info('Query Execution Time:'.$this->query_time);
186
-
187
-
188
-		if($keepResult)
189
-			$this->lastResult = $result;
190
-
191
-		$this->checkError($msg.' Query Failed:' . $sql . '::', $dieOnError);
192
-		return $result;
193
-	}
99
+    /**
100
+     * @see DBManager::$dbType
101
+     */
102
+    public $dbType = 'mysql';
103
+    public $variant = 'mysql';
104
+    public $dbName = 'MySQL';
105
+    public $label = 'LBL_MYSQL';
106
+
107
+    protected $maxNameLengths = array(
108
+        'table' => 64,
109
+        'column' => 64,
110
+        'index' => 64,
111
+        'alias' => 256
112
+    );
113
+
114
+    protected $type_map = array(
115
+            'int'      => 'int',
116
+            'double'   => 'double',
117
+            'float'    => 'float',
118
+            'uint'     => 'int unsigned',
119
+            'ulong'    => 'bigint unsigned',
120
+            'long'     => 'bigint',
121
+            'short'    => 'smallint',
122
+            'varchar'  => 'varchar',
123
+            'text'     => 'text',
124
+            'longtext' => 'longtext',
125
+            'date'     => 'date',
126
+            'enum'     => 'varchar',
127
+            'relate'   => 'varchar',
128
+            'multienum'=> 'text',
129
+            'html'     => 'text',
130
+            'longhtml' => 'longtext',
131
+            'datetime' => 'datetime',
132
+            'datetimecombo' => 'datetime',
133
+            'time'     => 'time',
134
+            'bool'     => 'bool',
135
+            'tinyint'  => 'tinyint',
136
+            'char'     => 'char',
137
+            'blob'     => 'blob',
138
+            'longblob' => 'longblob',
139
+            'currency' => 'decimal(26,6)',
140
+            'decimal'  => 'decimal',
141
+            'decimal2' => 'decimal',
142
+            'id'       => 'char(36)',
143
+            'url'      => 'varchar',
144
+            'encrypt'  => 'varchar',
145
+            'file'     => 'varchar',
146
+            'decimal_tpl' => 'decimal(%d, %d)',
147
+
148
+    );
149
+
150
+    protected $capabilities = array(
151
+        "affected_rows" => true,
152
+        "select_rows" => true,
153
+        "inline_keys" => true,
154
+        "create_user" => true,
155
+        "fulltext" => true,
156
+        "collation" => true,
157
+        "create_db" => true,
158
+        "disable_keys" => true,
159
+    );
160
+
161
+    /**
162
+     * Parses and runs queries
163
+     *
164
+     * @param  string   $sql        SQL Statement to execute
165
+     * @param  bool     $dieOnError True if we want to call die if the query returns errors
166
+     * @param  string   $msg        Message to log if error occurs
167
+     * @param  bool     $suppress   Flag to suppress all error output unless in debug logging mode.
168
+     * @param  bool     $keepResult True if we want to push this result into the $lastResult array.
169
+     * @return resource result set
170
+     */
171
+    public function query($sql, $dieOnError = false, $msg = '', $suppress = false, $keepResult = false)
172
+    {
173
+        if(is_array($sql)) {
174
+            return $this->queryArray($sql, $dieOnError, $msg, $suppress);
175
+        }
176
+
177
+        parent::countQuery($sql);
178
+        $GLOBALS['log']->info('Query:' . $sql);
179
+        $this->checkConnection();
180
+        $this->query_time = microtime(true);
181
+        $this->lastsql = $sql;
182
+        $result = $suppress?@mysql_query($sql, $this->database):mysql_query($sql, $this->database);
183
+
184
+        $this->query_time = microtime(true) - $this->query_time;
185
+        $GLOBALS['log']->info('Query Execution Time:'.$this->query_time);
186
+
187
+
188
+        if($keepResult)
189
+            $this->lastResult = $result;
190
+
191
+        $this->checkError($msg.' Query Failed:' . $sql . '::', $dieOnError);
192
+        return $result;
193
+    }
194 194
 
195 195
     /**
196 196
      * Returns the number of rows affected by the last query
197 197
      * @param $result
198 198
      * @return int
199 199
      */
200
-	public function getAffectedRowCount($result)
201
-	{
202
-		return mysql_affected_rows($this->getDatabase());
203
-	}
204
-
205
-	/**
206
-	 * Returns the number of rows returned by the result
207
-	 *
208
-	 * This function can't be reliably implemented on most DB, do not use it.
209
-	 * @abstract
210
-	 * @deprecated
211
-	 * @param  resource $result
212
-	 * @return int
213
-	 */
214
-	public function getRowCount($result)
215
-	{
216
-	    return mysql_num_rows($result);
217
-	}
218
-
219
-	/**
220
-	 * Disconnects from the database
221
-	 *
222
-	 * Also handles any cleanup needed
223
-	 */
224
-	public function disconnect()
225
-	{
226
-		$GLOBALS['log']->debug('Calling MySQL::disconnect()');
227
-		if(!empty($this->database)){
228
-			$this->freeResult();
229
-			mysql_close($this->database);
230
-			$this->database = null;
231
-		}
232
-	}
233
-
234
-	/**
235
-	 * @see DBManager::freeDbResult()
236
-	 */
237
-	protected function freeDbResult($dbResult)
238
-	{
239
-		if(!empty($dbResult))
240
-			mysql_free_result($dbResult);
241
-	}
242
-
243
-
244
-	/**
245
-	 * @abstract
246
-	 * Check if query has LIMIT clause
247
-	 * Relevant for now only for Mysql
248
-	 * @param string $sql
249
-	 * @return bool
250
-	 */
251
-	protected function hasLimit($sql)
252
-	{
253
-	    return stripos($sql, " limit ") !== false;
254
-	}
255
-
256
-	/**
257
-	 * @see DBManager::limitQuery()
258
-	 */
259
-	public function limitQuery($sql, $start, $count, $dieOnError = false, $msg = '', $execute = true)
260
-	{
200
+    public function getAffectedRowCount($result)
201
+    {
202
+        return mysql_affected_rows($this->getDatabase());
203
+    }
204
+
205
+    /**
206
+     * Returns the number of rows returned by the result
207
+     *
208
+     * This function can't be reliably implemented on most DB, do not use it.
209
+     * @abstract
210
+     * @deprecated
211
+     * @param  resource $result
212
+     * @return int
213
+     */
214
+    public function getRowCount($result)
215
+    {
216
+        return mysql_num_rows($result);
217
+    }
218
+
219
+    /**
220
+     * Disconnects from the database
221
+     *
222
+     * Also handles any cleanup needed
223
+     */
224
+    public function disconnect()
225
+    {
226
+        $GLOBALS['log']->debug('Calling MySQL::disconnect()');
227
+        if(!empty($this->database)){
228
+            $this->freeResult();
229
+            mysql_close($this->database);
230
+            $this->database = null;
231
+        }
232
+    }
233
+
234
+    /**
235
+     * @see DBManager::freeDbResult()
236
+     */
237
+    protected function freeDbResult($dbResult)
238
+    {
239
+        if(!empty($dbResult))
240
+            mysql_free_result($dbResult);
241
+    }
242
+
243
+
244
+    /**
245
+     * @abstract
246
+     * Check if query has LIMIT clause
247
+     * Relevant for now only for Mysql
248
+     * @param string $sql
249
+     * @return bool
250
+     */
251
+    protected function hasLimit($sql)
252
+    {
253
+        return stripos($sql, " limit ") !== false;
254
+    }
255
+
256
+    /**
257
+     * @see DBManager::limitQuery()
258
+     */
259
+    public function limitQuery($sql, $start, $count, $dieOnError = false, $msg = '', $execute = true)
260
+    {
261 261
         $start = (int)$start;
262 262
         $count = (int)$count;
263
-	    if ($start < 0)
264
-			$start = 0;
265
-		$GLOBALS['log']->debug('Limit Query:' . $sql. ' Start: ' .$start . ' count: ' . $count);
266
-
267
-	    $sql = "$sql LIMIT $start,$count";
268
-		$this->lastsql = $sql;
269
-
270
-		if(!empty($GLOBALS['sugar_config']['check_query'])){
271
-			$this->checkQuery($sql);
272
-		}
273
-		if(!$execute) {
274
-			return $sql;
275
-		}
276
-
277
-		return $this->query($sql, $dieOnError, $msg);
278
-	}
279
-
280
-
281
-	/**
282
-	 * @see DBManager::checkQuery()
283
-	 */
284
-	protected function checkQuery($sql, $object_name = false)
285
-	{
286
-		$result   = $this->query('EXPLAIN ' . $sql);
287
-		$badQuery = array();
288
-		while ($row = $this->fetchByAssoc($result)) {
289
-			if (empty($row['table']))
290
-				continue;
291
-			$badQuery[$row['table']] = '';
292
-			if (strtoupper($row['type']) == 'ALL')
293
-				$badQuery[$row['table']]  .=  ' Full Table Scan;';
294
-			if (empty($row['key']))
295
-				$badQuery[$row['table']] .= ' No Index Key Used;';
296
-			if (!empty($row['Extra']) && substr_count($row['Extra'], 'Using filesort') > 0)
297
-				$badQuery[$row['table']] .= ' Using FileSort;';
298
-			if (!empty($row['Extra']) && substr_count($row['Extra'], 'Using temporary') > 0)
299
-				$badQuery[$row['table']] .= ' Using Temporary Table;';
300
-		}
301
-
302
-		if ( empty($badQuery) )
303
-			return true;
304
-
305
-		foreach($badQuery as $table=>$data ){
306
-			if(!empty($data)){
307
-				$warning = ' Table:' . $table . ' Data:' . $data;
308
-				if(!empty($GLOBALS['sugar_config']['check_query_log'])){
309
-					$GLOBALS['log']->fatal($sql);
310
-					$GLOBALS['log']->fatal('CHECK QUERY:' .$warning);
311
-				}
312
-				else{
313
-					$GLOBALS['log']->warn('CHECK QUERY:' .$warning);
314
-				}
315
-			}
316
-		}
317
-
318
-		return false;
319
-	}
320
-
321
-	/**
322
-	 * @see DBManager::get_columns()
323
-	 */
324
-	public function get_columns($tablename)
325
-	{
326
-		//find all unique indexes and primary keys.
327
-		$result = $this->query("DESCRIBE $tablename");
328
-
329
-		$columns = array();
330
-		while (($row=$this->fetchByAssoc($result)) !=null) {
331
-			$name = strtolower($row['Field']);
332
-			$columns[$name]['name']=$name;
333
-			$matches = array();
334
-			preg_match_all('/(\w+)(?:\(([0-9]+,?[0-9]*)\)|)( unsigned)?/i', $row['Type'], $matches);
335
-			$columns[$name]['type']=strtolower($matches[1][0]);
336
-			if ( isset($matches[2][0]) && in_array(strtolower($matches[1][0]),array('varchar','char','varchar2','int','decimal','float')) )
337
-				$columns[$name]['len']=strtolower($matches[2][0]);
338
-			if ( stristr($row['Extra'],'auto_increment') )
339
-				$columns[$name]['auto_increment'] = '1';
340
-			if ($row['Null'] == 'NO' && !stristr($row['Key'],'PRI'))
341
-				$columns[$name]['required'] = 'true';
342
-			if (!empty($row['Default']) )
343
-				$columns[$name]['default'] = $row['Default'];
344
-		}
345
-		return $columns;
346
-	}
347
-
348
-	/**
349
-	 * @see DBManager::getFieldsArray()
350
-	 */
351
-	public function getFieldsArray($result, $make_lower_case=false)
352
-	{
353
-		$field_array = array();
354
-
355
-		if(empty($result))
356
-			return 0;
357
-
358
-		$fields = mysql_num_fields($result);
359
-		for ($i=0; $i < $fields; $i++) {
360
-			$meta = mysql_fetch_field($result, $i);
361
-			if (!$meta)
362
-				return array();
363
-
364
-			if($make_lower_case == true)
365
-				$meta->name = strtolower($meta->name);
366
-
367
-			$field_array[] = $meta->name;
368
-		}
369
-
370
-		return $field_array;
371
-	}
372
-
373
-	/**
374
-	 * @see DBManager::fetchRow()
375
-	 */
376
-	public function fetchRow($result)
377
-	{
378
-		if (empty($result))	return false;
379
-
380
-		return mysql_fetch_assoc($result);
381
-	}
382
-
383
-	/**
384
-	 * @see DBManager::getTablesArray()
385
-	 */
386
-	public function getTablesArray()
387
-	{
388
-		$this->log->debug('Fetching table list');
389
-
390
-		if ($this->getDatabase()) {
391
-			$tables = array();
392
-			$r = $this->query('SHOW TABLES');
393
-			if (!empty($r)) {
394
-				while ($a = $this->fetchByAssoc($r)) {
395
-					$row = array_values($a);
396
-					$tables[]=$row[0];
397
-				}
398
-				return $tables;
399
-			}
400
-		}
401
-
402
-		return false; // no database available
403
-	}
404
-
405
-	/**
406
-	 * @see DBManager::version()
407
-	 */
408
-	public function version()
409
-	{
410
-		return $this->getOne("SELECT version() version");
411
-	}
412
-
413
-	/**
414
-	 * @see DBManager::tableExists()
415
-	 */
416
-	public function tableExists($tableName)
417
-	{
418
-		$this->log->info("tableExists: $tableName");
419
-
420
-		if ($this->getDatabase()) {
421
-			$result = $this->query("SHOW TABLES LIKE ".$this->quoted($tableName));
422
-			if(empty($result)) return false;
423
-			$row = $this->fetchByAssoc($result);
424
-			return !empty($row);
425
-		}
426
-
427
-		return false;
428
-	}
429
-
430
-	/**
431
-	 * Get tables like expression
432
-	 * @param $like string
433
-	 * @return array
434
-	 */
435
-	public function tablesLike($like)
436
-	{
437
-		if ($this->getDatabase()) {
438
-			$tables = array();
439
-			$r = $this->query('SHOW TABLES LIKE '.$this->quoted($like));
440
-			if (!empty($r)) {
441
-				while ($a = $this->fetchByAssoc($r)) {
442
-					$row = array_values($a);
443
-					$tables[]=$row[0];
444
-				}
445
-				return $tables;
446
-			}
447
-		}
448
-		return false;
449
-	}
450
-
451
-	/**
452
-	 * @see DBManager::quote()
453
-	 */
454
-	public function quote($string)
455
-	{
456
-		if(is_array($string)) {
457
-			return $this->arrayQuote($string);
458
-		}
459
-		return mysql_real_escape_string($this->quoteInternal($string), $this->getDatabase());
460
-	}
263
+        if ($start < 0)
264
+            $start = 0;
265
+        $GLOBALS['log']->debug('Limit Query:' . $sql. ' Start: ' .$start . ' count: ' . $count);
266
+
267
+        $sql = "$sql LIMIT $start,$count";
268
+        $this->lastsql = $sql;
269
+
270
+        if(!empty($GLOBALS['sugar_config']['check_query'])){
271
+            $this->checkQuery($sql);
272
+        }
273
+        if(!$execute) {
274
+            return $sql;
275
+        }
276
+
277
+        return $this->query($sql, $dieOnError, $msg);
278
+    }
279
+
280
+
281
+    /**
282
+     * @see DBManager::checkQuery()
283
+     */
284
+    protected function checkQuery($sql, $object_name = false)
285
+    {
286
+        $result   = $this->query('EXPLAIN ' . $sql);
287
+        $badQuery = array();
288
+        while ($row = $this->fetchByAssoc($result)) {
289
+            if (empty($row['table']))
290
+                continue;
291
+            $badQuery[$row['table']] = '';
292
+            if (strtoupper($row['type']) == 'ALL')
293
+                $badQuery[$row['table']]  .=  ' Full Table Scan;';
294
+            if (empty($row['key']))
295
+                $badQuery[$row['table']] .= ' No Index Key Used;';
296
+            if (!empty($row['Extra']) && substr_count($row['Extra'], 'Using filesort') > 0)
297
+                $badQuery[$row['table']] .= ' Using FileSort;';
298
+            if (!empty($row['Extra']) && substr_count($row['Extra'], 'Using temporary') > 0)
299
+                $badQuery[$row['table']] .= ' Using Temporary Table;';
300
+        }
301
+
302
+        if ( empty($badQuery) )
303
+            return true;
304
+
305
+        foreach($badQuery as $table=>$data ){
306
+            if(!empty($data)){
307
+                $warning = ' Table:' . $table . ' Data:' . $data;
308
+                if(!empty($GLOBALS['sugar_config']['check_query_log'])){
309
+                    $GLOBALS['log']->fatal($sql);
310
+                    $GLOBALS['log']->fatal('CHECK QUERY:' .$warning);
311
+                }
312
+                else{
313
+                    $GLOBALS['log']->warn('CHECK QUERY:' .$warning);
314
+                }
315
+            }
316
+        }
317
+
318
+        return false;
319
+    }
320
+
321
+    /**
322
+     * @see DBManager::get_columns()
323
+     */
324
+    public function get_columns($tablename)
325
+    {
326
+        //find all unique indexes and primary keys.
327
+        $result = $this->query("DESCRIBE $tablename");
328
+
329
+        $columns = array();
330
+        while (($row=$this->fetchByAssoc($result)) !=null) {
331
+            $name = strtolower($row['Field']);
332
+            $columns[$name]['name']=$name;
333
+            $matches = array();
334
+            preg_match_all('/(\w+)(?:\(([0-9]+,?[0-9]*)\)|)( unsigned)?/i', $row['Type'], $matches);
335
+            $columns[$name]['type']=strtolower($matches[1][0]);
336
+            if ( isset($matches[2][0]) && in_array(strtolower($matches[1][0]),array('varchar','char','varchar2','int','decimal','float')) )
337
+                $columns[$name]['len']=strtolower($matches[2][0]);
338
+            if ( stristr($row['Extra'],'auto_increment') )
339
+                $columns[$name]['auto_increment'] = '1';
340
+            if ($row['Null'] == 'NO' && !stristr($row['Key'],'PRI'))
341
+                $columns[$name]['required'] = 'true';
342
+            if (!empty($row['Default']) )
343
+                $columns[$name]['default'] = $row['Default'];
344
+        }
345
+        return $columns;
346
+    }
347
+
348
+    /**
349
+     * @see DBManager::getFieldsArray()
350
+     */
351
+    public function getFieldsArray($result, $make_lower_case=false)
352
+    {
353
+        $field_array = array();
354
+
355
+        if(empty($result))
356
+            return 0;
357
+
358
+        $fields = mysql_num_fields($result);
359
+        for ($i=0; $i < $fields; $i++) {
360
+            $meta = mysql_fetch_field($result, $i);
361
+            if (!$meta)
362
+                return array();
363
+
364
+            if($make_lower_case == true)
365
+                $meta->name = strtolower($meta->name);
366
+
367
+            $field_array[] = $meta->name;
368
+        }
369
+
370
+        return $field_array;
371
+    }
372
+
373
+    /**
374
+     * @see DBManager::fetchRow()
375
+     */
376
+    public function fetchRow($result)
377
+    {
378
+        if (empty($result))	return false;
379
+
380
+        return mysql_fetch_assoc($result);
381
+    }
382
+
383
+    /**
384
+     * @see DBManager::getTablesArray()
385
+     */
386
+    public function getTablesArray()
387
+    {
388
+        $this->log->debug('Fetching table list');
389
+
390
+        if ($this->getDatabase()) {
391
+            $tables = array();
392
+            $r = $this->query('SHOW TABLES');
393
+            if (!empty($r)) {
394
+                while ($a = $this->fetchByAssoc($r)) {
395
+                    $row = array_values($a);
396
+                    $tables[]=$row[0];
397
+                }
398
+                return $tables;
399
+            }
400
+        }
401
+
402
+        return false; // no database available
403
+    }
404
+
405
+    /**
406
+     * @see DBManager::version()
407
+     */
408
+    public function version()
409
+    {
410
+        return $this->getOne("SELECT version() version");
411
+    }
412
+
413
+    /**
414
+     * @see DBManager::tableExists()
415
+     */
416
+    public function tableExists($tableName)
417
+    {
418
+        $this->log->info("tableExists: $tableName");
419
+
420
+        if ($this->getDatabase()) {
421
+            $result = $this->query("SHOW TABLES LIKE ".$this->quoted($tableName));
422
+            if(empty($result)) return false;
423
+            $row = $this->fetchByAssoc($result);
424
+            return !empty($row);
425
+        }
426
+
427
+        return false;
428
+    }
429
+
430
+    /**
431
+     * Get tables like expression
432
+     * @param $like string
433
+     * @return array
434
+     */
435
+    public function tablesLike($like)
436
+    {
437
+        if ($this->getDatabase()) {
438
+            $tables = array();
439
+            $r = $this->query('SHOW TABLES LIKE '.$this->quoted($like));
440
+            if (!empty($r)) {
441
+                while ($a = $this->fetchByAssoc($r)) {
442
+                    $row = array_values($a);
443
+                    $tables[]=$row[0];
444
+                }
445
+                return $tables;
446
+            }
447
+        }
448
+        return false;
449
+    }
450
+
451
+    /**
452
+     * @see DBManager::quote()
453
+     */
454
+    public function quote($string)
455
+    {
456
+        if(is_array($string)) {
457
+            return $this->arrayQuote($string);
458
+        }
459
+        return mysql_real_escape_string($this->quoteInternal($string), $this->getDatabase());
460
+    }
461 461
 
462 462
     /**
463 463
      * @see DBManager::quoteIdentifier()
@@ -467,272 +467,272 @@  discard block
 block discarded – undo
467 467
         return '`'.$string.'`';
468 468
     }
469 469
 
470
-	/**
471
-	 * @see DBManager::connect()
472
-	 */
473
-	public function connect(array $configOptions = null, $dieOnError = false)
474
-	{
475
-		global $sugar_config;
476
-
477
-		if(is_null($configOptions))
478
-			$configOptions = $sugar_config['dbconfig'];
479
-
480
-		if ($this->getOption('persistent')) {
481
-			$this->database = @mysql_pconnect(
482
-				$configOptions['db_host_name'],
483
-				$configOptions['db_user_name'],
484
-				$configOptions['db_password']
485
-				);
486
-		}
487
-
488
-		if (!$this->database) {
489
-			$this->database = mysql_connect(
490
-					$configOptions['db_host_name'],
491
-					$configOptions['db_user_name'],
492
-					$configOptions['db_password']
493
-					);
494
-			if(empty($this->database)) {
495
-				$GLOBALS['log']->fatal("Could not connect to server ".$configOptions['db_host_name']." as ".$configOptions['db_user_name'].":".mysql_error());
496
-				if($dieOnError) {
497
-					if(isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
498
-						sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
499
-					} else {
500
-						sugar_die("Could not connect to the database. Please refer to suitecrm.log for details.");
501
-					}
502
-				} else {
503
-					return false;
504
-				}
505
-			}
506
-			// Do not pass connection information because we have not connected yet
507
-			if($this->database  && $this->getOption('persistent')){
508
-				$_SESSION['administrator_error'] = "<b>Severe Performance Degradation: Persistent Database Connections "
509
-					. "not working.  Please set \$sugar_config['dbconfigoption']['persistent'] to false "
510
-					. "in your config.php file</b>";
511
-			}
512
-		}
513
-		if(!empty($configOptions['db_name']) && !@mysql_select_db($configOptions['db_name'])) {
514
-			$GLOBALS['log']->fatal( "Unable to select database {$configOptions['db_name']}: " . mysql_error($this->database));
515
-			if($dieOnError) {
516
-				sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
517
-			} else {
518
-				return false;
519
-			}
520
-		}
521
-
522
-		// cn: using direct calls to prevent this from spamming the Logs
523
-	    mysql_query("SET CHARACTER SET utf8", $this->database);
524
-	    $names = "SET NAMES 'utf8'";
525
-	    $collation = $this->getOption('collation');
526
-	    if(!empty($collation)) {
527
-	        $names .= " COLLATE '$collation'";
528
-		}
529
-	    mysql_query($names, $this->database);
530
-
531
-		if(!$this->checkError('Could Not Connect:', $dieOnError))
532
-			$GLOBALS['log']->info("connected to db");
533
-		$this->connectOptions = $configOptions;
534
-
535
-		$GLOBALS['log']->info("Connect:".$this->database);
536
-		return true;
537
-	}
538
-
539
-	/**
540
-	 * @see DBManager::repairTableParams()
541
-	 *
542
-	 * For MySQL, we can write the ALTER TABLE statement all in one line, which speeds things
543
-	 * up quite a bit. So here, we'll parse the returned SQL into a single ALTER TABLE command.
544
-	 */
545
-	public function repairTableParams($tablename, $fielddefs, $indices, $execute = true, $engine = null)
546
-	{
547
-		$sql = parent::repairTableParams($tablename,$fielddefs,$indices,false,$engine);
548
-
549
-		if ( $sql == '' )
550
-			return '';
551
-
552
-		if ( stristr($sql,'create table') )
553
-		{
554
-			if ($execute) {
555
-				$msg = "Error creating table: ".$tablename. ":";
556
-				$this->query($sql,true,$msg);
557
-			}
558
-			return $sql;
559
-		}
560
-
561
-		// first, parse out all the comments
562
-		$match = array();
563
-		preg_match_all('!/\*.*?\*/!is', $sql, $match);
564
-		$commentBlocks = $match[0];
565
-		$sql = preg_replace('!/\*.*?\*/!is','', $sql);
566
-
567
-		// now, we should only have alter table statements
568
-		// let's replace the 'alter table name' part with a comma
569
-		$sql = preg_replace("!alter table $tablename!is",', ', $sql);
570
-
571
-		// re-add it at the beginning
572
-		$sql = substr_replace($sql,'',strpos($sql,','),1);
573
-		$sql = str_replace(";","",$sql);
574
-		$sql = str_replace("\n","",$sql);
575
-		$sql = "ALTER TABLE $tablename $sql";
576
-
577
-		if ( $execute )
578
-			$this->query($sql,'Error with MySQL repair table');
579
-
580
-		// and re-add the comments at the beginning
581
-		$sql = implode("\n",$commentBlocks) . "\n". $sql . "\n";
582
-
583
-		return $sql;
584
-	}
585
-
586
-	/**
587
-	 * @see DBManager::convert()
588
-	 */
589
-	public function convert($string, $type, array $additional_parameters = array())
590
-	{
591
-		$all_parameters = $additional_parameters;
592
-		if(is_array($string)) {
593
-			$all_parameters = array_merge($string, $all_parameters);
594
-		} elseif (!is_null($string)) {
595
-			array_unshift($all_parameters, $string);
596
-		}
597
-		$all_strings = implode(',', $all_parameters);
598
-
599
-		switch (strtolower($type)) {
600
-			case 'today':
601
-				return "CURDATE()";
602
-			case 'left':
603
-				return "LEFT($all_strings)";
604
-			case 'date_format':
605
-				if(empty($additional_parameters)) {
606
-					return "DATE_FORMAT($string,'%Y-%m-%d')";
607
-				} else {
608
-					$format = $additional_parameters[0];
609
-					if($format[0] != "'") {
610
-						$format = $this->quoted($format);
611
-					}
612
-					return "DATE_FORMAT($string,$format)";
613
-				}
614
-			case 'ifnull':
615
-				if(empty($additional_parameters) && !strstr($all_strings, ",")) {
616
-					$all_strings .= ",''";
617
-				}
618
-				return "IFNULL($all_strings)";
619
-			case 'concat':
620
-				return "CONCAT($all_strings)";
621
-			case 'quarter':
622
-					return "QUARTER($string)";
623
-			case "length":
624
-					return "LENGTH($string)";
625
-			case 'month':
626
-					return "MONTH($string)";
627
-			case 'add_date':
628
-					return "DATE_ADD($string, INTERVAL {$additional_parameters[0]} {$additional_parameters[1]})";
629
-			case 'add_time':
630
-					return "DATE_ADD($string, INTERVAL + CONCAT({$additional_parameters[0]}, ':', {$additional_parameters[1]}) HOUR_MINUTE)";
470
+    /**
471
+     * @see DBManager::connect()
472
+     */
473
+    public function connect(array $configOptions = null, $dieOnError = false)
474
+    {
475
+        global $sugar_config;
476
+
477
+        if(is_null($configOptions))
478
+            $configOptions = $sugar_config['dbconfig'];
479
+
480
+        if ($this->getOption('persistent')) {
481
+            $this->database = @mysql_pconnect(
482
+                $configOptions['db_host_name'],
483
+                $configOptions['db_user_name'],
484
+                $configOptions['db_password']
485
+                );
486
+        }
487
+
488
+        if (!$this->database) {
489
+            $this->database = mysql_connect(
490
+                    $configOptions['db_host_name'],
491
+                    $configOptions['db_user_name'],
492
+                    $configOptions['db_password']
493
+                    );
494
+            if(empty($this->database)) {
495
+                $GLOBALS['log']->fatal("Could not connect to server ".$configOptions['db_host_name']." as ".$configOptions['db_user_name'].":".mysql_error());
496
+                if($dieOnError) {
497
+                    if(isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
498
+                        sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
499
+                    } else {
500
+                        sugar_die("Could not connect to the database. Please refer to suitecrm.log for details.");
501
+                    }
502
+                } else {
503
+                    return false;
504
+                }
505
+            }
506
+            // Do not pass connection information because we have not connected yet
507
+            if($this->database  && $this->getOption('persistent')){
508
+                $_SESSION['administrator_error'] = "<b>Severe Performance Degradation: Persistent Database Connections "
509
+                    . "not working.  Please set \$sugar_config['dbconfigoption']['persistent'] to false "
510
+                    . "in your config.php file</b>";
511
+            }
512
+        }
513
+        if(!empty($configOptions['db_name']) && !@mysql_select_db($configOptions['db_name'])) {
514
+            $GLOBALS['log']->fatal( "Unable to select database {$configOptions['db_name']}: " . mysql_error($this->database));
515
+            if($dieOnError) {
516
+                sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
517
+            } else {
518
+                return false;
519
+            }
520
+        }
521
+
522
+        // cn: using direct calls to prevent this from spamming the Logs
523
+        mysql_query("SET CHARACTER SET utf8", $this->database);
524
+        $names = "SET NAMES 'utf8'";
525
+        $collation = $this->getOption('collation');
526
+        if(!empty($collation)) {
527
+            $names .= " COLLATE '$collation'";
528
+        }
529
+        mysql_query($names, $this->database);
530
+
531
+        if(!$this->checkError('Could Not Connect:', $dieOnError))
532
+            $GLOBALS['log']->info("connected to db");
533
+        $this->connectOptions = $configOptions;
534
+
535
+        $GLOBALS['log']->info("Connect:".$this->database);
536
+        return true;
537
+    }
538
+
539
+    /**
540
+     * @see DBManager::repairTableParams()
541
+     *
542
+     * For MySQL, we can write the ALTER TABLE statement all in one line, which speeds things
543
+     * up quite a bit. So here, we'll parse the returned SQL into a single ALTER TABLE command.
544
+     */
545
+    public function repairTableParams($tablename, $fielddefs, $indices, $execute = true, $engine = null)
546
+    {
547
+        $sql = parent::repairTableParams($tablename,$fielddefs,$indices,false,$engine);
548
+
549
+        if ( $sql == '' )
550
+            return '';
551
+
552
+        if ( stristr($sql,'create table') )
553
+        {
554
+            if ($execute) {
555
+                $msg = "Error creating table: ".$tablename. ":";
556
+                $this->query($sql,true,$msg);
557
+            }
558
+            return $sql;
559
+        }
560
+
561
+        // first, parse out all the comments
562
+        $match = array();
563
+        preg_match_all('!/\*.*?\*/!is', $sql, $match);
564
+        $commentBlocks = $match[0];
565
+        $sql = preg_replace('!/\*.*?\*/!is','', $sql);
566
+
567
+        // now, we should only have alter table statements
568
+        // let's replace the 'alter table name' part with a comma
569
+        $sql = preg_replace("!alter table $tablename!is",', ', $sql);
570
+
571
+        // re-add it at the beginning
572
+        $sql = substr_replace($sql,'',strpos($sql,','),1);
573
+        $sql = str_replace(";","",$sql);
574
+        $sql = str_replace("\n","",$sql);
575
+        $sql = "ALTER TABLE $tablename $sql";
576
+
577
+        if ( $execute )
578
+            $this->query($sql,'Error with MySQL repair table');
579
+
580
+        // and re-add the comments at the beginning
581
+        $sql = implode("\n",$commentBlocks) . "\n". $sql . "\n";
582
+
583
+        return $sql;
584
+    }
585
+
586
+    /**
587
+     * @see DBManager::convert()
588
+     */
589
+    public function convert($string, $type, array $additional_parameters = array())
590
+    {
591
+        $all_parameters = $additional_parameters;
592
+        if(is_array($string)) {
593
+            $all_parameters = array_merge($string, $all_parameters);
594
+        } elseif (!is_null($string)) {
595
+            array_unshift($all_parameters, $string);
596
+        }
597
+        $all_strings = implode(',', $all_parameters);
598
+
599
+        switch (strtolower($type)) {
600
+            case 'today':
601
+                return "CURDATE()";
602
+            case 'left':
603
+                return "LEFT($all_strings)";
604
+            case 'date_format':
605
+                if(empty($additional_parameters)) {
606
+                    return "DATE_FORMAT($string,'%Y-%m-%d')";
607
+                } else {
608
+                    $format = $additional_parameters[0];
609
+                    if($format[0] != "'") {
610
+                        $format = $this->quoted($format);
611
+                    }
612
+                    return "DATE_FORMAT($string,$format)";
613
+                }
614
+            case 'ifnull':
615
+                if(empty($additional_parameters) && !strstr($all_strings, ",")) {
616
+                    $all_strings .= ",''";
617
+                }
618
+                return "IFNULL($all_strings)";
619
+            case 'concat':
620
+                return "CONCAT($all_strings)";
621
+            case 'quarter':
622
+                    return "QUARTER($string)";
623
+            case "length":
624
+                    return "LENGTH($string)";
625
+            case 'month':
626
+                    return "MONTH($string)";
627
+            case 'add_date':
628
+                    return "DATE_ADD($string, INTERVAL {$additional_parameters[0]} {$additional_parameters[1]})";
629
+            case 'add_time':
630
+                    return "DATE_ADD($string, INTERVAL + CONCAT({$additional_parameters[0]}, ':', {$additional_parameters[1]}) HOUR_MINUTE)";
631 631
             case 'add_tz_offset' :
632 632
                 $getUserUTCOffset = $GLOBALS['timedate']->getUserUTCOffset();
633 633
                 $operation = $getUserUTCOffset < 0 ? '-' : '+';
634 634
                 return $string . ' ' . $operation . ' INTERVAL ' . abs($getUserUTCOffset) . ' MINUTE';
635 635
             case 'avg':
636 636
                 return "avg($string)";
637
-		}
638
-
639
-		return $string;
640
-	}
641
-
642
-	/**
643
-	 * (non-PHPdoc)
644
-	 * @see DBManager::fromConvert()
645
-	 */
646
-	public function fromConvert($string, $type)
647
-	{
648
-		return $string;
649
-	}
650
-
651
-	/**
652
-	 * Returns the name of the engine to use or null if we are to use the default
653
-	 *
654
-	 * @param  object $bean SugarBean instance
655
-	 * @return string
656
-	 */
657
-	protected function getEngine($bean)
658
-	{
659
-		global $dictionary;
660
-		$engine = null;
661
-		if (isset($dictionary[$bean->getObjectName()]['engine'])) {
662
-			$engine = $dictionary[$bean->getObjectName()]['engine'];
663
-		}
664
-		return $engine;
665
-	}
666
-
667
-	/**
668
-	 * Returns true if the engine given is enabled in the backend
669
-	 *
670
-	 * @param  string $engine
671
-	 * @return bool
672
-	 */
673
-	protected function isEngineEnabled($engine)
674
-	{
675
-		if(!is_string($engine)) return false;
676
-
677
-		$engine = strtoupper($engine);
678
-
679
-		$r = $this->query("SHOW ENGINES");
680
-
681
-		while ( $row = $this->fetchByAssoc($r) )
682
-			if ( strtoupper($row['Engine']) == $engine )
683
-				return ($row['Support']=='YES' || $row['Support']=='DEFAULT');
684
-
685
-		return false;
686
-	}
687
-
688
-	/**
689
-	 * @see DBManager::createTableSQL()
690
-	 */
691
-	public function createTableSQL(SugarBean $bean)
692
-	{
693
-		$tablename = $bean->getTableName();
694
-		$fieldDefs = $bean->getFieldDefinitions();
695
-		$indices   = $bean->getIndices();
696
-		$engine    = $this->getEngine($bean);
697
-		return $this->createTableSQLParams($tablename, $fieldDefs, $indices, $engine);
698
-	}
699
-
700
-	/**
701
-	 * Generates sql for create table statement for a bean.
702
-	 *
703
-	 * @param  string $tablename
704
-	 * @param  array  $fieldDefs
705
-	 * @param  array  $indices
706
-	 * @param  string $engine optional, MySQL engine to use
707
-	 * @return string SQL Create Table statement
708
-	*/
709
-	public function createTableSQLParams($tablename, $fieldDefs, $indices, $engine = null)
710
-	{
711
-		if ( empty($engine) && isset($fieldDefs['engine']))
712
-			$engine = $fieldDefs['engine'];
713
-		if ( !$this->isEngineEnabled($engine) )
714
-			$engine = '';
715
-
716
-		$columns = $this->columnSQLRep($fieldDefs, false, $tablename);
717
-		if (empty($columns))
718
-			return false;
719
-
720
-		$keys = $this->keysSQL($indices);
721
-		if (!empty($keys))
722
-			$keys = ",$keys";
723
-
724
-		// cn: bug 9873 - module tables do not get created in utf8 with assoc collation
725
-		$collation = $this->getOption('collation');
726
-		if(empty($collation)) {
727
-		    $collation = 'utf8_general_ci';
728
-		}
729
-		$sql = "CREATE TABLE $tablename ($columns $keys) CHARACTER SET utf8 COLLATE $collation";
730
-
731
-		if (!empty($engine))
732
-			$sql.= " ENGINE=$engine";
733
-
734
-		return $sql;
735
-	}
637
+        }
638
+
639
+        return $string;
640
+    }
641
+
642
+    /**
643
+     * (non-PHPdoc)
644
+     * @see DBManager::fromConvert()
645
+     */
646
+    public function fromConvert($string, $type)
647
+    {
648
+        return $string;
649
+    }
650
+
651
+    /**
652
+     * Returns the name of the engine to use or null if we are to use the default
653
+     *
654
+     * @param  object $bean SugarBean instance
655
+     * @return string
656
+     */
657
+    protected function getEngine($bean)
658
+    {
659
+        global $dictionary;
660
+        $engine = null;
661
+        if (isset($dictionary[$bean->getObjectName()]['engine'])) {
662
+            $engine = $dictionary[$bean->getObjectName()]['engine'];
663
+        }
664
+        return $engine;
665
+    }
666
+
667
+    /**
668
+     * Returns true if the engine given is enabled in the backend
669
+     *
670
+     * @param  string $engine
671
+     * @return bool
672
+     */
673
+    protected function isEngineEnabled($engine)
674
+    {
675
+        if(!is_string($engine)) return false;
676
+
677
+        $engine = strtoupper($engine);
678
+
679
+        $r = $this->query("SHOW ENGINES");
680
+
681
+        while ( $row = $this->fetchByAssoc($r) )
682
+            if ( strtoupper($row['Engine']) == $engine )
683
+                return ($row['Support']=='YES' || $row['Support']=='DEFAULT');
684
+
685
+        return false;
686
+    }
687
+
688
+    /**
689
+     * @see DBManager::createTableSQL()
690
+     */
691
+    public function createTableSQL(SugarBean $bean)
692
+    {
693
+        $tablename = $bean->getTableName();
694
+        $fieldDefs = $bean->getFieldDefinitions();
695
+        $indices   = $bean->getIndices();
696
+        $engine    = $this->getEngine($bean);
697
+        return $this->createTableSQLParams($tablename, $fieldDefs, $indices, $engine);
698
+    }
699
+
700
+    /**
701
+     * Generates sql for create table statement for a bean.
702
+     *
703
+     * @param  string $tablename
704
+     * @param  array  $fieldDefs
705
+     * @param  array  $indices
706
+     * @param  string $engine optional, MySQL engine to use
707
+     * @return string SQL Create Table statement
708
+     */
709
+    public function createTableSQLParams($tablename, $fieldDefs, $indices, $engine = null)
710
+    {
711
+        if ( empty($engine) && isset($fieldDefs['engine']))
712
+            $engine = $fieldDefs['engine'];
713
+        if ( !$this->isEngineEnabled($engine) )
714
+            $engine = '';
715
+
716
+        $columns = $this->columnSQLRep($fieldDefs, false, $tablename);
717
+        if (empty($columns))
718
+            return false;
719
+
720
+        $keys = $this->keysSQL($indices);
721
+        if (!empty($keys))
722
+            $keys = ",$keys";
723
+
724
+        // cn: bug 9873 - module tables do not get created in utf8 with assoc collation
725
+        $collation = $this->getOption('collation');
726
+        if(empty($collation)) {
727
+            $collation = 'utf8_general_ci';
728
+        }
729
+        $sql = "CREATE TABLE $tablename ($columns $keys) CHARACTER SET utf8 COLLATE $collation";
730
+
731
+        if (!empty($engine))
732
+            $sql.= " ENGINE=$engine";
733
+
734
+        return $sql;
735
+    }
736 736
 
737 737
     /**
738 738
      * Does this type represent text (i.e., non-varchar) value?
@@ -744,745 +744,745 @@  discard block
 block discarded – undo
744 744
         return in_array($type, array('blob','text','longblob', 'longtext'));
745 745
     }
746 746
 
747
-	/**
748
-	 * @see DBManager::oneColumnSQLRep()
749
-	 */
750
-	protected function oneColumnSQLRep($fieldDef, $ignoreRequired = false, $table = '', $return_as_array = false)
751
-	{
752
-		// always return as array for post-processing
753
-		$ref = parent::oneColumnSQLRep($fieldDef, $ignoreRequired, $table, true);
747
+    /**
748
+     * @see DBManager::oneColumnSQLRep()
749
+     */
750
+    protected function oneColumnSQLRep($fieldDef, $ignoreRequired = false, $table = '', $return_as_array = false)
751
+    {
752
+        // always return as array for post-processing
753
+        $ref = parent::oneColumnSQLRep($fieldDef, $ignoreRequired, $table, true);
754 754
 
755
-		if ( $ref['colType'] == 'int' && !empty($fieldDef['len']) ) {
756
-			$ref['colType'] .= "(".$fieldDef['len'].")";
757
-		}
755
+        if ( $ref['colType'] == 'int' && !empty($fieldDef['len']) ) {
756
+            $ref['colType'] .= "(".$fieldDef['len'].")";
757
+        }
758 758
 
759
-		// bug 22338 - don't set a default value on text or blob fields
760
-		if ( isset($ref['default']) &&
759
+        // bug 22338 - don't set a default value on text or blob fields
760
+        if ( isset($ref['default']) &&
761 761
             in_array($ref['colBaseType'], array('text', 'blob', 'longtext', 'longblob')))
762
-			    $ref['default'] = '';
763
-
764
-		if ( $return_as_array )
765
-			return $ref;
766
-		else
767
-			return "{$ref['name']} {$ref['colType']} {$ref['default']} {$ref['required']} {$ref['auto_increment']}";
768
-	}
769
-
770
-	/**
771
-	 * @see DBManager::changeColumnSQL()
772
-	 */
773
-	protected function changeColumnSQL($tablename, $fieldDefs, $action, $ignoreRequired = false)
774
-	{
775
-		$columns = array();
776
-		if ($this->isFieldArray($fieldDefs)){
777
-			foreach ($fieldDefs as $def){
778
-				if ($action == 'drop')
779
-					$columns[] = $def['name'];
780
-				else
781
-					$columns[] = $this->oneColumnSQLRep($def, $ignoreRequired);
782
-			}
783
-		} else {
784
-			if ($action == 'drop')
785
-				$columns[] = $fieldDefs['name'];
786
-		else
787
-			$columns[] = $this->oneColumnSQLRep($fieldDefs);
788
-		}
789
-
790
-		return "ALTER TABLE $tablename $action COLUMN ".implode(",$action column ", $columns);
791
-	}
792
-
793
-	/**
794
-	 * Generates SQL for key specification inside CREATE TABLE statement
795
-	 *
796
-	 * The passes array is an array of field definitions or a field definition
797
-	 * itself. The keys generated will be either primary, foreign, unique, index
798
-	 * or none at all depending on the setting of the "key" parameter of a field definition
799
-	 *
800
-	 * @param  array  $indices
801
-	 * @param  bool   $alter_table
802
-	 * @param  string $alter_action
803
-	 * @return string SQL Statement
804
-	 */
805
-	protected function keysSQL($indices, $alter_table = false, $alter_action = '')
806
-	{
807
-	// check if the passed value is an array of fields.
808
-	// if not, convert it into an array
809
-	if (!$this->isFieldArray($indices))
810
-		$indices[] = $indices;
811
-
812
-	$columns = array();
813
-	foreach ($indices as $index) {
814
-		if(!empty($index['db']) && $index['db'] != $this->dbType)
815
-			continue;
816
-		if (isset($index['source']) && $index['source'] != 'db')
817
-			continue;
818
-
819
-		$type = $index['type'];
820
-		$name = $index['name'];
821
-
822
-		if (is_array($index['fields']))
823
-			$fields = implode(", ", $index['fields']);
824
-		else
825
-			$fields = $index['fields'];
826
-
827
-		switch ($type) {
828
-		case 'unique':
829
-			$columns[] = " UNIQUE $name ($fields)";
830
-			break;
831
-		case 'primary':
832
-			$columns[] = " PRIMARY KEY ($fields)";
833
-			break;
834
-		case 'index':
835
-		case 'foreign':
836
-		case 'clustered':
837
-		case 'alternate_key':
838
-			/**
839
-				* @todo here it is assumed that the primary key of the foreign
840
-				* table will always be named 'id'. It must be noted though
841
-				* that this can easily be fixed by referring to db dictionary
842
-				* to find the correct primary field name
843
-				*/
844
-			if ( $alter_table )
845
-				$columns[] = " INDEX $name ($fields)";
846
-			else
847
-				$columns[] = " KEY $name ($fields)";
848
-			break;
849
-		case 'fulltext':
850
-			if ($this->full_text_indexing_installed())
851
-				$columns[] = " FULLTEXT ($fields)";
852
-			else
853
-				$GLOBALS['log']->debug('MYISAM engine is not available/enabled, full-text indexes will be skipped. Skipping:',$name);
854
-			break;
855
-		}
856
-	}
857
-	$columns = implode(", $alter_action ", $columns);
858
-	if(!empty($alter_action)){
859
-		$columns = $alter_action . ' '. $columns;
860
-	}
861
-	return $columns;
862
-	}
863
-
864
-	/**
865
-	 * @see DBManager::setAutoIncrement()
866
-	 */
867
-	protected function setAutoIncrement($table, $field_name)
868
-	{
869
-		return "auto_increment";
870
-	}
871
-
872
-	/**
873
-	 * Sets the next auto-increment value of a column to a specific value.
874
-	 *
875
-	 * @param  string $table tablename
876
-	 * @param  string $field_name
877
-	 */
878
-	public function setAutoIncrementStart($table, $field_name, $start_value)
879
-	{
880
-		$start_value = (int)$start_value;
881
-		return $this->query( "ALTER TABLE $table AUTO_INCREMENT = $start_value;");
882
-	}
883
-
884
-	/**
885
-	 * Returns the next value for an auto increment
886
-	 *
887
-	 * @param  string $table tablename
888
-	 * @param  string $field_name
889
-	 * @return string
890
-	 */
891
-	public function getAutoIncrement($table, $field_name)
892
-	{
893
-		$result = $this->query("SHOW TABLE STATUS LIKE '$table'");
894
-		$row = $this->fetchByAssoc($result);
895
-		if (!empty($row['Auto_increment']))
896
-			return $row['Auto_increment'];
897
-
898
-		return "";
899
-	}
900
-
901
-	/**
902
-	 * @see DBManager::get_indices()
903
-	 */
904
-	public function get_indices($tablename)
905
-	{
906
-		//find all unique indexes and primary keys.
907
-		$result = $this->query("SHOW INDEX FROM $tablename");
908
-
909
-		$indices = array();
910
-		while (($row=$this->fetchByAssoc($result)) !=null) {
911
-			$index_type='index';
912
-			if ($row['Key_name'] =='PRIMARY') {
913
-				$index_type='primary';
914
-			}
915
-			elseif ( $row['Non_unique'] == '0' ) {
916
-				$index_type='unique';
917
-			}
918
-			$name = strtolower($row['Key_name']);
919
-			$indices[$name]['name']=$name;
920
-			$indices[$name]['type']=$index_type;
921
-			$indices[$name]['fields'][]=strtolower($row['Column_name']);
922
-		}
923
-		return $indices;
924
-	}
925
-
926
-	/**
927
-	 * @see DBManager::add_drop_constraint()
928
-	 */
929
-	public function add_drop_constraint($table, $definition, $drop = false)
930
-	{
931
-		$type         = $definition['type'];
932
-		$fields       = implode(',',$definition['fields']);
933
-		$name         = $definition['name'];
934
-		$sql          = '';
935
-
936
-		switch ($type){
937
-		// generic indices
938
-		case 'index':
939
-		case 'alternate_key':
940
-		case 'clustered':
941
-			if ($drop)
942
-				$sql = "ALTER TABLE {$table} DROP INDEX {$name} ";
943
-			else
944
-				$sql = "ALTER TABLE {$table} ADD INDEX {$name} ({$fields})";
945
-			break;
946
-		// constraints as indices
947
-		case 'unique':
948
-			if ($drop)
949
-				$sql = "ALTER TABLE {$table} DROP INDEX $name";
950
-			else
951
-				$sql = "ALTER TABLE {$table} ADD CONSTRAINT UNIQUE {$name} ({$fields})";
952
-			break;
953
-		case 'primary':
954
-			if ($drop)
955
-				$sql = "ALTER TABLE {$table} DROP PRIMARY KEY";
956
-			else
957
-				$sql = "ALTER TABLE {$table} ADD CONSTRAINT PRIMARY KEY ({$fields})";
958
-			break;
959
-		case 'foreign':
960
-			if ($drop)
961
-				$sql = "ALTER TABLE {$table} DROP FOREIGN KEY ({$fields})";
962
-			else
963
-				$sql = "ALTER TABLE {$table} ADD CONSTRAINT FOREIGN KEY {$name} ({$fields}) REFERENCES {$definition['foreignTable']}({$definition['foreignField']})";
964
-			break;
965
-		}
966
-		return $sql;
967
-	}
968
-
969
-	/**
970
-	 * Runs a query and returns a single row
971
-	 *
972
-	 * @param  string   $sql        SQL Statement to execute
973
-	 * @param  bool     $dieOnError True if we want to call die if the query returns errors
974
-	 * @param  string   $msg        Message to log if error occurs
975
-	 * @param  bool     $suppress   Message to log if error occurs
976
-	 * @return array    single row from the query
977
-	 */
978
-	public function fetchOne($sql, $dieOnError = false, $msg = '', $suppress = false)
979
-	{
980
-		if(stripos($sql, ' LIMIT ') === false) {
981
-			// little optimization to just fetch one row
982
-			$sql .= " LIMIT 0,1";
983
-		}
984
-		return parent::fetchOne($sql, $dieOnError, $msg, $suppress);
985
-	}
986
-
987
-	/**
988
-	 * @see DBManager::full_text_indexing_installed()
989
-	 */
990
-	public function full_text_indexing_installed($dbname = null)
991
-	{
992
-		return $this->isEngineEnabled('MyISAM');
993
-	}
994
-
995
-	/**
996
-	 * @see DBManager::massageFieldDef()
997
-	 */
998
-	public function massageFieldDef(&$fieldDef, $tablename)
999
-	{
1000
-		parent::massageFieldDef($fieldDef,$tablename);
1001
-
1002
-		if ( isset($fieldDef['default']) &&
1003
-			($fieldDef['dbType'] == 'text'
1004
-				|| $fieldDef['dbType'] == 'blob'
1005
-				|| $fieldDef['dbType'] == 'longtext'
1006
-				|| $fieldDef['dbType'] == 'longblob' ))
1007
-			unset($fieldDef['default']);
1008
-		if ($fieldDef['dbType'] == 'uint')
1009
-			$fieldDef['len'] = '10';
1010
-		if ($fieldDef['dbType'] == 'ulong')
1011
-			$fieldDef['len'] = '20';
1012
-		if ($fieldDef['dbType'] == 'bool')
1013
-			$fieldDef['type'] = 'tinyint';
1014
-		if ($fieldDef['dbType'] == 'bool' && empty($fieldDef['default']) )
1015
-			$fieldDef['default'] = '0';
1016
-		if (($fieldDef['dbType'] == 'varchar' || $fieldDef['dbType'] == 'enum') && empty($fieldDef['len']) )
1017
-			$fieldDef['len'] = '255';
1018
-		if ($fieldDef['dbType'] == 'uint')
1019
-			$fieldDef['len'] = '10';
1020
-		if ($fieldDef['dbType'] == 'int' && empty($fieldDef['len']) )
1021
-			$fieldDef['len'] = '11';
1022
-
1023
-		if($fieldDef['dbType'] == 'decimal') {
1024
-			if(isset($fieldDef['len'])) {
1025
-				if(strstr($fieldDef['len'], ",") === false) {
1026
-					$fieldDef['len'] .= ",0";
1027
-				}
1028
-			} else {
1029
-				$fieldDef['len']  = '10,0';
1030
-			}
1031
-		}
1032
-	}
1033
-
1034
-	/**
1035
-	 * Generates SQL for dropping a table.
1036
-	 *
1037
-	 * @param  string $name table name
1038
-	 * @return string SQL statement
1039
-	 */
1040
-	public function dropTableNameSQL($name)
1041
-	{
1042
-		return "DROP TABLE IF EXISTS ".$name;
1043
-	}
1044
-
1045
-	public function dropIndexes($tablename, $indexes, $execute = true)
1046
-	{
1047
-		$sql = array();
1048
-		foreach ($indexes as $index) {
1049
-			$name =$index['name'];
1050
-			if($execute) {
1051
-			unset(self::$index_descriptions[$tablename][$name]);
1052
-			}
1053
-			if ($index['type'] == 'primary') {
1054
-				$sql[] = 'DROP PRIMARY KEY';
1055
-			} else {
1056
-				$sql[] = "DROP INDEX $name";
1057
-			}
1058
-		}
1059
-		if (!empty($sql)) {
762
+                $ref['default'] = '';
763
+
764
+        if ( $return_as_array )
765
+            return $ref;
766
+        else
767
+            return "{$ref['name']} {$ref['colType']} {$ref['default']} {$ref['required']} {$ref['auto_increment']}";
768
+    }
769
+
770
+    /**
771
+     * @see DBManager::changeColumnSQL()
772
+     */
773
+    protected function changeColumnSQL($tablename, $fieldDefs, $action, $ignoreRequired = false)
774
+    {
775
+        $columns = array();
776
+        if ($this->isFieldArray($fieldDefs)){
777
+            foreach ($fieldDefs as $def){
778
+                if ($action == 'drop')
779
+                    $columns[] = $def['name'];
780
+                else
781
+                    $columns[] = $this->oneColumnSQLRep($def, $ignoreRequired);
782
+            }
783
+        } else {
784
+            if ($action == 'drop')
785
+                $columns[] = $fieldDefs['name'];
786
+        else
787
+            $columns[] = $this->oneColumnSQLRep($fieldDefs);
788
+        }
789
+
790
+        return "ALTER TABLE $tablename $action COLUMN ".implode(",$action column ", $columns);
791
+    }
792
+
793
+    /**
794
+     * Generates SQL for key specification inside CREATE TABLE statement
795
+     *
796
+     * The passes array is an array of field definitions or a field definition
797
+     * itself. The keys generated will be either primary, foreign, unique, index
798
+     * or none at all depending on the setting of the "key" parameter of a field definition
799
+     *
800
+     * @param  array  $indices
801
+     * @param  bool   $alter_table
802
+     * @param  string $alter_action
803
+     * @return string SQL Statement
804
+     */
805
+    protected function keysSQL($indices, $alter_table = false, $alter_action = '')
806
+    {
807
+    // check if the passed value is an array of fields.
808
+    // if not, convert it into an array
809
+    if (!$this->isFieldArray($indices))
810
+        $indices[] = $indices;
811
+
812
+    $columns = array();
813
+    foreach ($indices as $index) {
814
+        if(!empty($index['db']) && $index['db'] != $this->dbType)
815
+            continue;
816
+        if (isset($index['source']) && $index['source'] != 'db')
817
+            continue;
818
+
819
+        $type = $index['type'];
820
+        $name = $index['name'];
821
+
822
+        if (is_array($index['fields']))
823
+            $fields = implode(", ", $index['fields']);
824
+        else
825
+            $fields = $index['fields'];
826
+
827
+        switch ($type) {
828
+        case 'unique':
829
+            $columns[] = " UNIQUE $name ($fields)";
830
+            break;
831
+        case 'primary':
832
+            $columns[] = " PRIMARY KEY ($fields)";
833
+            break;
834
+        case 'index':
835
+        case 'foreign':
836
+        case 'clustered':
837
+        case 'alternate_key':
838
+            /**
839
+             * @todo here it is assumed that the primary key of the foreign
840
+             * table will always be named 'id'. It must be noted though
841
+             * that this can easily be fixed by referring to db dictionary
842
+             * to find the correct primary field name
843
+             */
844
+            if ( $alter_table )
845
+                $columns[] = " INDEX $name ($fields)";
846
+            else
847
+                $columns[] = " KEY $name ($fields)";
848
+            break;
849
+        case 'fulltext':
850
+            if ($this->full_text_indexing_installed())
851
+                $columns[] = " FULLTEXT ($fields)";
852
+            else
853
+                $GLOBALS['log']->debug('MYISAM engine is not available/enabled, full-text indexes will be skipped. Skipping:',$name);
854
+            break;
855
+        }
856
+    }
857
+    $columns = implode(", $alter_action ", $columns);
858
+    if(!empty($alter_action)){
859
+        $columns = $alter_action . ' '. $columns;
860
+    }
861
+    return $columns;
862
+    }
863
+
864
+    /**
865
+     * @see DBManager::setAutoIncrement()
866
+     */
867
+    protected function setAutoIncrement($table, $field_name)
868
+    {
869
+        return "auto_increment";
870
+    }
871
+
872
+    /**
873
+     * Sets the next auto-increment value of a column to a specific value.
874
+     *
875
+     * @param  string $table tablename
876
+     * @param  string $field_name
877
+     */
878
+    public function setAutoIncrementStart($table, $field_name, $start_value)
879
+    {
880
+        $start_value = (int)$start_value;
881
+        return $this->query( "ALTER TABLE $table AUTO_INCREMENT = $start_value;");
882
+    }
883
+
884
+    /**
885
+     * Returns the next value for an auto increment
886
+     *
887
+     * @param  string $table tablename
888
+     * @param  string $field_name
889
+     * @return string
890
+     */
891
+    public function getAutoIncrement($table, $field_name)
892
+    {
893
+        $result = $this->query("SHOW TABLE STATUS LIKE '$table'");
894
+        $row = $this->fetchByAssoc($result);
895
+        if (!empty($row['Auto_increment']))
896
+            return $row['Auto_increment'];
897
+
898
+        return "";
899
+    }
900
+
901
+    /**
902
+     * @see DBManager::get_indices()
903
+     */
904
+    public function get_indices($tablename)
905
+    {
906
+        //find all unique indexes and primary keys.
907
+        $result = $this->query("SHOW INDEX FROM $tablename");
908
+
909
+        $indices = array();
910
+        while (($row=$this->fetchByAssoc($result)) !=null) {
911
+            $index_type='index';
912
+            if ($row['Key_name'] =='PRIMARY') {
913
+                $index_type='primary';
914
+            }
915
+            elseif ( $row['Non_unique'] == '0' ) {
916
+                $index_type='unique';
917
+            }
918
+            $name = strtolower($row['Key_name']);
919
+            $indices[$name]['name']=$name;
920
+            $indices[$name]['type']=$index_type;
921
+            $indices[$name]['fields'][]=strtolower($row['Column_name']);
922
+        }
923
+        return $indices;
924
+    }
925
+
926
+    /**
927
+     * @see DBManager::add_drop_constraint()
928
+     */
929
+    public function add_drop_constraint($table, $definition, $drop = false)
930
+    {
931
+        $type         = $definition['type'];
932
+        $fields       = implode(',',$definition['fields']);
933
+        $name         = $definition['name'];
934
+        $sql          = '';
935
+
936
+        switch ($type){
937
+        // generic indices
938
+        case 'index':
939
+        case 'alternate_key':
940
+        case 'clustered':
941
+            if ($drop)
942
+                $sql = "ALTER TABLE {$table} DROP INDEX {$name} ";
943
+            else
944
+                $sql = "ALTER TABLE {$table} ADD INDEX {$name} ({$fields})";
945
+            break;
946
+        // constraints as indices
947
+        case 'unique':
948
+            if ($drop)
949
+                $sql = "ALTER TABLE {$table} DROP INDEX $name";
950
+            else
951
+                $sql = "ALTER TABLE {$table} ADD CONSTRAINT UNIQUE {$name} ({$fields})";
952
+            break;
953
+        case 'primary':
954
+            if ($drop)
955
+                $sql = "ALTER TABLE {$table} DROP PRIMARY KEY";
956
+            else
957
+                $sql = "ALTER TABLE {$table} ADD CONSTRAINT PRIMARY KEY ({$fields})";
958
+            break;
959
+        case 'foreign':
960
+            if ($drop)
961
+                $sql = "ALTER TABLE {$table} DROP FOREIGN KEY ({$fields})";
962
+            else
963
+                $sql = "ALTER TABLE {$table} ADD CONSTRAINT FOREIGN KEY {$name} ({$fields}) REFERENCES {$definition['foreignTable']}({$definition['foreignField']})";
964
+            break;
965
+        }
966
+        return $sql;
967
+    }
968
+
969
+    /**
970
+     * Runs a query and returns a single row
971
+     *
972
+     * @param  string   $sql        SQL Statement to execute
973
+     * @param  bool     $dieOnError True if we want to call die if the query returns errors
974
+     * @param  string   $msg        Message to log if error occurs
975
+     * @param  bool     $suppress   Message to log if error occurs
976
+     * @return array    single row from the query
977
+     */
978
+    public function fetchOne($sql, $dieOnError = false, $msg = '', $suppress = false)
979
+    {
980
+        if(stripos($sql, ' LIMIT ') === false) {
981
+            // little optimization to just fetch one row
982
+            $sql .= " LIMIT 0,1";
983
+        }
984
+        return parent::fetchOne($sql, $dieOnError, $msg, $suppress);
985
+    }
986
+
987
+    /**
988
+     * @see DBManager::full_text_indexing_installed()
989
+     */
990
+    public function full_text_indexing_installed($dbname = null)
991
+    {
992
+        return $this->isEngineEnabled('MyISAM');
993
+    }
994
+
995
+    /**
996
+     * @see DBManager::massageFieldDef()
997
+     */
998
+    public function massageFieldDef(&$fieldDef, $tablename)
999
+    {
1000
+        parent::massageFieldDef($fieldDef,$tablename);
1001
+
1002
+        if ( isset($fieldDef['default']) &&
1003
+            ($fieldDef['dbType'] == 'text'
1004
+                || $fieldDef['dbType'] == 'blob'
1005
+                || $fieldDef['dbType'] == 'longtext'
1006
+                || $fieldDef['dbType'] == 'longblob' ))
1007
+            unset($fieldDef['default']);
1008
+        if ($fieldDef['dbType'] == 'uint')
1009
+            $fieldDef['len'] = '10';
1010
+        if ($fieldDef['dbType'] == 'ulong')
1011
+            $fieldDef['len'] = '20';
1012
+        if ($fieldDef['dbType'] == 'bool')
1013
+            $fieldDef['type'] = 'tinyint';
1014
+        if ($fieldDef['dbType'] == 'bool' && empty($fieldDef['default']) )
1015
+            $fieldDef['default'] = '0';
1016
+        if (($fieldDef['dbType'] == 'varchar' || $fieldDef['dbType'] == 'enum') && empty($fieldDef['len']) )
1017
+            $fieldDef['len'] = '255';
1018
+        if ($fieldDef['dbType'] == 'uint')
1019
+            $fieldDef['len'] = '10';
1020
+        if ($fieldDef['dbType'] == 'int' && empty($fieldDef['len']) )
1021
+            $fieldDef['len'] = '11';
1022
+
1023
+        if($fieldDef['dbType'] == 'decimal') {
1024
+            if(isset($fieldDef['len'])) {
1025
+                if(strstr($fieldDef['len'], ",") === false) {
1026
+                    $fieldDef['len'] .= ",0";
1027
+                }
1028
+            } else {
1029
+                $fieldDef['len']  = '10,0';
1030
+            }
1031
+        }
1032
+    }
1033
+
1034
+    /**
1035
+     * Generates SQL for dropping a table.
1036
+     *
1037
+     * @param  string $name table name
1038
+     * @return string SQL statement
1039
+     */
1040
+    public function dropTableNameSQL($name)
1041
+    {
1042
+        return "DROP TABLE IF EXISTS ".$name;
1043
+    }
1044
+
1045
+    public function dropIndexes($tablename, $indexes, $execute = true)
1046
+    {
1047
+        $sql = array();
1048
+        foreach ($indexes as $index) {
1049
+            $name =$index['name'];
1050
+            if($execute) {
1051
+            unset(self::$index_descriptions[$tablename][$name]);
1052
+            }
1053
+            if ($index['type'] == 'primary') {
1054
+                $sql[] = 'DROP PRIMARY KEY';
1055
+            } else {
1056
+                $sql[] = "DROP INDEX $name";
1057
+            }
1058
+        }
1059
+        if (!empty($sql)) {
1060 1060
             $sql = "ALTER TABLE $tablename " . join(",", $sql) . ";";
1061
-			if($execute)
1062
-				$this->query($sql);
1063
-		} else {
1064
-			$sql = '';
1065
-		}
1066
-		return $sql;
1067
-	}
1068
-
1069
-	/**
1070
-	 * List of available collation settings
1071
-	 * @return string
1072
-	 */
1073
-	public function getDefaultCollation()
1074
-	{
1075
-		return "utf8_general_ci";
1076
-	}
1077
-
1078
-	/**
1079
-	 * List of available collation settings
1080
-	 * @return array
1081
-	 */
1082
-	public function getCollationList()
1083
-	{
1084
-		$q = "SHOW COLLATION LIKE 'utf8%'";
1085
-		$r = $this->query($q);
1086
-		$res = array();
1087
-		while($a = $this->fetchByAssoc($r)) {
1088
-			$res[] = $a['Collation'];
1089
-		}
1090
-		return $res;
1091
-	}
1092
-
1093
-	/**
1094
-	 * (non-PHPdoc)
1095
-	 * @see DBManager::renameColumnSQL()
1096
-	 */
1097
-	public function renameColumnSQL($tablename, $column, $newname)
1098
-	{
1099
-		$field = $this->describeField($column, $tablename);
1100
-		$field['name'] = $newname;
1101
-		return "ALTER TABLE $tablename CHANGE COLUMN $column ".$this->oneColumnSQLRep($field);
1102
-	}
1103
-
1104
-	public function emptyValue($type)
1105
-	{
1106
-		$ctype = $this->getColumnType($type);
1107
-		if($ctype == "datetime") {
1108
-			return $this->convert($this->quoted("0000-00-00 00:00:00"), "datetime");
1109
-		}
1110
-		if($ctype == "date") {
1111
-			return $this->convert($this->quoted("0000-00-00"), "date");
1112
-		}
1113
-		if($ctype == "time") {
1114
-			return $this->convert($this->quoted("00:00:00"), "time");
1115
-		}
1116
-		return parent::emptyValue($type);
1117
-	}
1118
-
1119
-	/**
1120
-	 * (non-PHPdoc)
1121
-	 * @see DBManager::lastDbError()
1122
-	 */
1123
-	public function lastDbError()
1124
-	{
1125
-		if($this->database) {
1126
-		    if(mysql_errno($this->database)) {
1127
-			    return "MySQL error ".mysql_errno($this->database).": ".mysql_error($this->database);
1128
-		    }
1129
-		} else {
1130
-			$err =  mysql_error();
1131
-			if($err) {
1132
-			    return $err;
1133
-			}
1134
-		}
1061
+            if($execute)
1062
+                $this->query($sql);
1063
+        } else {
1064
+            $sql = '';
1065
+        }
1066
+        return $sql;
1067
+    }
1068
+
1069
+    /**
1070
+     * List of available collation settings
1071
+     * @return string
1072
+     */
1073
+    public function getDefaultCollation()
1074
+    {
1075
+        return "utf8_general_ci";
1076
+    }
1077
+
1078
+    /**
1079
+     * List of available collation settings
1080
+     * @return array
1081
+     */
1082
+    public function getCollationList()
1083
+    {
1084
+        $q = "SHOW COLLATION LIKE 'utf8%'";
1085
+        $r = $this->query($q);
1086
+        $res = array();
1087
+        while($a = $this->fetchByAssoc($r)) {
1088
+            $res[] = $a['Collation'];
1089
+        }
1090
+        return $res;
1091
+    }
1092
+
1093
+    /**
1094
+     * (non-PHPdoc)
1095
+     * @see DBManager::renameColumnSQL()
1096
+     */
1097
+    public function renameColumnSQL($tablename, $column, $newname)
1098
+    {
1099
+        $field = $this->describeField($column, $tablename);
1100
+        $field['name'] = $newname;
1101
+        return "ALTER TABLE $tablename CHANGE COLUMN $column ".$this->oneColumnSQLRep($field);
1102
+    }
1103
+
1104
+    public function emptyValue($type)
1105
+    {
1106
+        $ctype = $this->getColumnType($type);
1107
+        if($ctype == "datetime") {
1108
+            return $this->convert($this->quoted("0000-00-00 00:00:00"), "datetime");
1109
+        }
1110
+        if($ctype == "date") {
1111
+            return $this->convert($this->quoted("0000-00-00"), "date");
1112
+        }
1113
+        if($ctype == "time") {
1114
+            return $this->convert($this->quoted("00:00:00"), "time");
1115
+        }
1116
+        return parent::emptyValue($type);
1117
+    }
1118
+
1119
+    /**
1120
+     * (non-PHPdoc)
1121
+     * @see DBManager::lastDbError()
1122
+     */
1123
+    public function lastDbError()
1124
+    {
1125
+        if($this->database) {
1126
+            if(mysql_errno($this->database)) {
1127
+                return "MySQL error ".mysql_errno($this->database).": ".mysql_error($this->database);
1128
+            }
1129
+        } else {
1130
+            $err =  mysql_error();
1131
+            if($err) {
1132
+                return $err;
1133
+            }
1134
+        }
1135 1135
         return false;
1136 1136
     }
1137 1137
 
1138
-	/**
1139
-	 * Quote MySQL search term
1140
-	 * @param unknown_type $term
1141
-	 */
1142
-	protected function quoteTerm($term)
1143
-	{
1144
-		if(strpos($term, ' ') !== false) {
1145
-			return '"'.$term.'"';
1146
-		}
1147
-		return $term;
1148
-	}
1149
-
1150
-	/**
1151
-	 * Generate fulltext query from set of terms
1152
-	 * @param string $fields Field to search against
1153
-	 * @param array $terms Search terms that may be or not be in the result
1154
-	 * @param array $must_terms Search terms that have to be in the result
1155
-	 * @param array $exclude_terms Search terms that have to be not in the result
1156
-	 */
1157
-	public function getFulltextQuery($field, $terms, $must_terms = array(), $exclude_terms = array())
1158
-	{
1159
-		$condition = array();
1160
-		foreach($terms as $term) {
1161
-			$condition[] = $this->quoteTerm($term);
1162
-		}
1163
-		foreach($must_terms as $term) {
1164
-			$condition[] = "+".$this->quoteTerm($term);
1165
-		}
1166
-		foreach($exclude_terms as $term) {
1167
-			$condition[] = "-".$this->quoteTerm($term);
1168
-		}
1169
-		$condition = $this->quoted(join(" ",$condition));
1170
-		return "MATCH($field) AGAINST($condition IN BOOLEAN MODE)";
1171
-	}
1172
-
1173
-	/**
1174
-	 * Get list of all defined charsets
1175
-	 * @return array
1176
-	 */
1177
-	protected function getCharsetInfo()
1178
-	{
1179
-		$charsets = array();
1180
-		$res = $this->query("show variables like 'character\\_set\\_%'");
1181
-		while($row = $this->fetchByAssoc($res)) {
1182
-			$charsets[$row['Variable_name']] = $row['Value'];
1183
-		}
1184
-		return $charsets;
1185
-	}
1186
-
1187
-	public function getDbInfo()
1188
-	{
1189
-		$charsets = $this->getCharsetInfo();
1190
-		$charset_str = array();
1191
-		foreach($charsets as $name => $value) {
1192
-			$charset_str[] = "$name = $value";
1193
-		}
1194
-		return array(
1195
-			"MySQL Version" => @mysql_get_client_info(),
1196
-			"MySQL Host Info" => @mysql_get_host_info($this->database),
1197
-			"MySQL Server Info" => @mysql_get_server_info($this->database),
1198
-			"MySQL Client Encoding" =>  @mysql_client_encoding($this->database),
1199
-			"MySQL Character Set Settings" => join(", ", $charset_str),
1200
-		);
1201
-	}
1202
-
1203
-	public function validateQuery($query)
1204
-	{
1205
-		$res = $this->query("EXPLAIN $query");
1206
-		return !empty($res);
1207
-	}
1208
-
1209
-	protected function makeTempTableCopy($table)
1210
-	{
1211
-		$this->log->debug("creating temp table for [$table]...");
1212
-		$result = $this->query("SHOW CREATE TABLE {$table}");
1213
-		if(empty($result)) {
1214
-			return false;
1215
-		}
1216
-		$row = $this->fetchByAssoc($result);
1217
-		if(empty($row) || empty($row['Create Table'])) {
1218
-		    return false;
1219
-		}
1220
-		$create = $row['Create Table'];
1221
-		// rewrite DDL with _temp name
1222
-		$tempTableQuery = str_replace("CREATE TABLE `{$table}`", "CREATE TABLE `{$table}__uw_temp`", $create);
1223
-		$r2 = $this->query($tempTableQuery);
1224
-		if(empty($r2)) {
1225
-			return false;
1226
-		}
1227
-
1228
-		// get sample data into the temp table to test for data/constraint conflicts
1229
-		$this->log->debug('inserting temp dataset...');
1230
-		$q3 = "INSERT INTO `{$table}__uw_temp` SELECT * FROM `{$table}` LIMIT 10";
1231
-		$this->query($q3, false, "Preflight Failed for: {$q3}");
1232
-		return true;
1233
-	}
1234
-
1235
-	/**
1236
-	 * Tests an ALTER TABLE query
1237
-	 * @param string table The table name to get DDL
1238
-	 * @param string query The query to test.
1239
-	 * @return string Non-empty if error found
1240
-	 */
1241
-	protected function verifyAlterTable($table, $query)
1242
-	{
1243
-		$this->log->debug("verifying ALTER TABLE");
1244
-		// Skipping ALTER TABLE [table] DROP PRIMARY KEY because primary keys are not being copied
1245
-		// over to the temp tables
1246
-		if(strpos(strtoupper($query), 'DROP PRIMARY KEY') !== false) {
1247
-			$this->log->debug("Skipping DROP PRIMARY KEY");
1248
-			return '';
1249
-		}
1250
-		if(!$this->makeTempTableCopy($table)) {
1251
-			return 'Could not create temp table copy';
1252
-		}
1253
-
1254
-		// test the query on the test table
1255
-		$this->log->debug('testing query: ['.$query.']');
1256
-		$tempTableTestQuery = str_replace("ALTER TABLE `{$table}`", "ALTER TABLE `{$table}__uw_temp`", $query);
1257
-		if (strpos($tempTableTestQuery, 'idx') === false) {
1258
-			if(strpos($tempTableTestQuery, '__uw_temp') === false) {
1259
-				return 'Could not use a temp table to test query!';
1260
-			}
1261
-
1262
-			$this->log->debug('testing query on temp table: ['.$tempTableTestQuery.']');
1263
-			$this->query($tempTableTestQuery, false, "Preflight Failed for: {$query}");
1264
-		} else {
1265
-			// test insertion of an index on a table
1266
-			$tempTableTestQuery_idx = str_replace("ADD INDEX `idx_", "ADD INDEX `temp_idx_", $tempTableTestQuery);
1267
-			$this->log->debug('testing query on temp table: ['.$tempTableTestQuery_idx.']');
1268
-			$this->query($tempTableTestQuery_idx, false, "Preflight Failed for: {$query}");
1269
-		}
1270
-		$mysqlError = $this->getL();
1271
-		if(!empty($mysqlError)) {
1272
-			return $mysqlError;
1273
-		}
1274
-		$this->dropTableName("{$table}__uw_temp");
1275
-
1276
-		return '';
1277
-	}
1278
-
1279
-	protected function verifyGenericReplaceQuery($querytype, $table, $query)
1280
-	{
1281
-		$this->log->debug("verifying $querytype statement");
1282
-
1283
-		if(!$this->makeTempTableCopy($table)) {
1284
-			return 'Could not create temp table copy';
1285
-		}
1286
-		// test the query on the test table
1287
-		$this->log->debug('testing query: ['.$query.']');
1288
-		$tempTableTestQuery = str_replace("$querytype `{$table}`", "$querytype `{$table}__uw_temp`", $query);
1289
-		if(strpos($tempTableTestQuery, '__uw_temp') === false) {
1290
-			return 'Could not use a temp table to test query!';
1291
-		}
1292
-
1293
-		$this->query($tempTableTestQuery, false, "Preflight Failed for: {$query}");
1294
-		$error = $this->lastError(); // empty on no-errors
1295
-		$this->dropTableName("{$table}__uw_temp"); // just in case
1296
-		return $error;
1297
-	}
1298
-
1299
-	/**
1300
-	 * Tests a DROP TABLE query
1301
-	 * @param string table The table name to get DDL
1302
-	 * @param string query The query to test.
1303
-	 * @return string Non-empty if error found
1304
-	 */
1305
-	public function verifyDropTable($table, $query)
1306
-	{
1307
-		return $this->verifyGenericReplaceQuery("DROP TABLE", $table, $query);
1308
-	}
1309
-
1310
-	/**
1311
-	 * Tests an INSERT INTO query
1312
-	 * @param string table The table name to get DDL
1313
-	 * @param string query The query to test.
1314
-	 * @return string Non-empty if error found
1315
-	 */
1316
-	public function verifyInsertInto($table, $query)
1317
-	{
1318
-		return $this->verifyGenericReplaceQuery("INSERT INTO", $table, $query);
1319
-	}
1320
-
1321
-	/**
1322
-	 * Tests an UPDATE query
1323
-	 * @param string table The table name to get DDL
1324
-	 * @param string query The query to test.
1325
-	 * @return string Non-empty if error found
1326
-	 */
1327
-	public function verifyUpdate($table, $query)
1328
-	{
1329
-		return $this->verifyGenericReplaceQuery("UPDATE", $table, $query);
1330
-	}
1331
-
1332
-	/**
1333
-	 * Tests an DELETE FROM query
1334
-	 * @param string table The table name to get DDL
1335
-	 * @param string query The query to test.
1336
-	 * @return string Non-empty if error found
1337
-	 */
1338
-	public function verifyDeleteFrom($table, $query)
1339
-	{
1340
-		return $this->verifyGenericReplaceQuery("DELETE FROM", $table, $query);
1341
-	}
1342
-
1343
-	/**
1344
-	 * Check if certain database exists
1345
-	 * @param string $dbname
1346
-	 */
1347
-	public function dbExists($dbname)
1348
-	{
1349
-		$db = $this->getOne("SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = ".$this->quoted($dbname));
1350
-		return !empty($db);
1351
-	}
1352
-
1353
-	/**
1354
-	 * Select database
1355
-	 * @param string $dbname
1356
-	 */
1357
-	protected function selectDb($dbname)
1358
-	{
1359
-		return mysql_select_db($dbname);
1360
-	}
1361
-
1362
-	/**
1363
-	 * Check if certain DB user exists
1364
-	 * @param string $username
1365
-	 */
1366
-	public function userExists($username)
1367
-	{
1368
-		$db = $this->getOne("SELECT DATABASE()");
1369
-		if(!$this->selectDb("mysql")) {
1370
-			return false;
1371
-		}
1372
-		$user = $this->getOne("select count(*) from user where user = ".$this->quoted($username));
1373
-		if(!$this->selectDb($db)) {
1374
-			$this->checkError("Cannot select database $db", true);
1375
-		}
1376
-		return !empty($user);
1377
-	}
1378
-
1379
-	/**
1380
-	 * Create DB user
1381
-	 * @param string $database_name
1382
-	 * @param string $host_name
1383
-	 * @param string $user
1384
-	 * @param string $password
1385
-	 */
1386
-	public function createDbUser($database_name, $host_name, $user, $password)
1387
-	{
1388
-		$qpassword = $this->quote($password);
1389
-		$this->query("GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX
1138
+    /**
1139
+     * Quote MySQL search term
1140
+     * @param unknown_type $term
1141
+     */
1142
+    protected function quoteTerm($term)
1143
+    {
1144
+        if(strpos($term, ' ') !== false) {
1145
+            return '"'.$term.'"';
1146
+        }
1147
+        return $term;
1148
+    }
1149
+
1150
+    /**
1151
+     * Generate fulltext query from set of terms
1152
+     * @param string $fields Field to search against
1153
+     * @param array $terms Search terms that may be or not be in the result
1154
+     * @param array $must_terms Search terms that have to be in the result
1155
+     * @param array $exclude_terms Search terms that have to be not in the result
1156
+     */
1157
+    public function getFulltextQuery($field, $terms, $must_terms = array(), $exclude_terms = array())
1158
+    {
1159
+        $condition = array();
1160
+        foreach($terms as $term) {
1161
+            $condition[] = $this->quoteTerm($term);
1162
+        }
1163
+        foreach($must_terms as $term) {
1164
+            $condition[] = "+".$this->quoteTerm($term);
1165
+        }
1166
+        foreach($exclude_terms as $term) {
1167
+            $condition[] = "-".$this->quoteTerm($term);
1168
+        }
1169
+        $condition = $this->quoted(join(" ",$condition));
1170
+        return "MATCH($field) AGAINST($condition IN BOOLEAN MODE)";
1171
+    }
1172
+
1173
+    /**
1174
+     * Get list of all defined charsets
1175
+     * @return array
1176
+     */
1177
+    protected function getCharsetInfo()
1178
+    {
1179
+        $charsets = array();
1180
+        $res = $this->query("show variables like 'character\\_set\\_%'");
1181
+        while($row = $this->fetchByAssoc($res)) {
1182
+            $charsets[$row['Variable_name']] = $row['Value'];
1183
+        }
1184
+        return $charsets;
1185
+    }
1186
+
1187
+    public function getDbInfo()
1188
+    {
1189
+        $charsets = $this->getCharsetInfo();
1190
+        $charset_str = array();
1191
+        foreach($charsets as $name => $value) {
1192
+            $charset_str[] = "$name = $value";
1193
+        }
1194
+        return array(
1195
+            "MySQL Version" => @mysql_get_client_info(),
1196
+            "MySQL Host Info" => @mysql_get_host_info($this->database),
1197
+            "MySQL Server Info" => @mysql_get_server_info($this->database),
1198
+            "MySQL Client Encoding" =>  @mysql_client_encoding($this->database),
1199
+            "MySQL Character Set Settings" => join(", ", $charset_str),
1200
+        );
1201
+    }
1202
+
1203
+    public function validateQuery($query)
1204
+    {
1205
+        $res = $this->query("EXPLAIN $query");
1206
+        return !empty($res);
1207
+    }
1208
+
1209
+    protected function makeTempTableCopy($table)
1210
+    {
1211
+        $this->log->debug("creating temp table for [$table]...");
1212
+        $result = $this->query("SHOW CREATE TABLE {$table}");
1213
+        if(empty($result)) {
1214
+            return false;
1215
+        }
1216
+        $row = $this->fetchByAssoc($result);
1217
+        if(empty($row) || empty($row['Create Table'])) {
1218
+            return false;
1219
+        }
1220
+        $create = $row['Create Table'];
1221
+        // rewrite DDL with _temp name
1222
+        $tempTableQuery = str_replace("CREATE TABLE `{$table}`", "CREATE TABLE `{$table}__uw_temp`", $create);
1223
+        $r2 = $this->query($tempTableQuery);
1224
+        if(empty($r2)) {
1225
+            return false;
1226
+        }
1227
+
1228
+        // get sample data into the temp table to test for data/constraint conflicts
1229
+        $this->log->debug('inserting temp dataset...');
1230
+        $q3 = "INSERT INTO `{$table}__uw_temp` SELECT * FROM `{$table}` LIMIT 10";
1231
+        $this->query($q3, false, "Preflight Failed for: {$q3}");
1232
+        return true;
1233
+    }
1234
+
1235
+    /**
1236
+     * Tests an ALTER TABLE query
1237
+     * @param string table The table name to get DDL
1238
+     * @param string query The query to test.
1239
+     * @return string Non-empty if error found
1240
+     */
1241
+    protected function verifyAlterTable($table, $query)
1242
+    {
1243
+        $this->log->debug("verifying ALTER TABLE");
1244
+        // Skipping ALTER TABLE [table] DROP PRIMARY KEY because primary keys are not being copied
1245
+        // over to the temp tables
1246
+        if(strpos(strtoupper($query), 'DROP PRIMARY KEY') !== false) {
1247
+            $this->log->debug("Skipping DROP PRIMARY KEY");
1248
+            return '';
1249
+        }
1250
+        if(!$this->makeTempTableCopy($table)) {
1251
+            return 'Could not create temp table copy';
1252
+        }
1253
+
1254
+        // test the query on the test table
1255
+        $this->log->debug('testing query: ['.$query.']');
1256
+        $tempTableTestQuery = str_replace("ALTER TABLE `{$table}`", "ALTER TABLE `{$table}__uw_temp`", $query);
1257
+        if (strpos($tempTableTestQuery, 'idx') === false) {
1258
+            if(strpos($tempTableTestQuery, '__uw_temp') === false) {
1259
+                return 'Could not use a temp table to test query!';
1260
+            }
1261
+
1262
+            $this->log->debug('testing query on temp table: ['.$tempTableTestQuery.']');
1263
+            $this->query($tempTableTestQuery, false, "Preflight Failed for: {$query}");
1264
+        } else {
1265
+            // test insertion of an index on a table
1266
+            $tempTableTestQuery_idx = str_replace("ADD INDEX `idx_", "ADD INDEX `temp_idx_", $tempTableTestQuery);
1267
+            $this->log->debug('testing query on temp table: ['.$tempTableTestQuery_idx.']');
1268
+            $this->query($tempTableTestQuery_idx, false, "Preflight Failed for: {$query}");
1269
+        }
1270
+        $mysqlError = $this->getL();
1271
+        if(!empty($mysqlError)) {
1272
+            return $mysqlError;
1273
+        }
1274
+        $this->dropTableName("{$table}__uw_temp");
1275
+
1276
+        return '';
1277
+    }
1278
+
1279
+    protected function verifyGenericReplaceQuery($querytype, $table, $query)
1280
+    {
1281
+        $this->log->debug("verifying $querytype statement");
1282
+
1283
+        if(!$this->makeTempTableCopy($table)) {
1284
+            return 'Could not create temp table copy';
1285
+        }
1286
+        // test the query on the test table
1287
+        $this->log->debug('testing query: ['.$query.']');
1288
+        $tempTableTestQuery = str_replace("$querytype `{$table}`", "$querytype `{$table}__uw_temp`", $query);
1289
+        if(strpos($tempTableTestQuery, '__uw_temp') === false) {
1290
+            return 'Could not use a temp table to test query!';
1291
+        }
1292
+
1293
+        $this->query($tempTableTestQuery, false, "Preflight Failed for: {$query}");
1294
+        $error = $this->lastError(); // empty on no-errors
1295
+        $this->dropTableName("{$table}__uw_temp"); // just in case
1296
+        return $error;
1297
+    }
1298
+
1299
+    /**
1300
+     * Tests a DROP TABLE query
1301
+     * @param string table The table name to get DDL
1302
+     * @param string query The query to test.
1303
+     * @return string Non-empty if error found
1304
+     */
1305
+    public function verifyDropTable($table, $query)
1306
+    {
1307
+        return $this->verifyGenericReplaceQuery("DROP TABLE", $table, $query);
1308
+    }
1309
+
1310
+    /**
1311
+     * Tests an INSERT INTO query
1312
+     * @param string table The table name to get DDL
1313
+     * @param string query The query to test.
1314
+     * @return string Non-empty if error found
1315
+     */
1316
+    public function verifyInsertInto($table, $query)
1317
+    {
1318
+        return $this->verifyGenericReplaceQuery("INSERT INTO", $table, $query);
1319
+    }
1320
+
1321
+    /**
1322
+     * Tests an UPDATE query
1323
+     * @param string table The table name to get DDL
1324
+     * @param string query The query to test.
1325
+     * @return string Non-empty if error found
1326
+     */
1327
+    public function verifyUpdate($table, $query)
1328
+    {
1329
+        return $this->verifyGenericReplaceQuery("UPDATE", $table, $query);
1330
+    }
1331
+
1332
+    /**
1333
+     * Tests an DELETE FROM query
1334
+     * @param string table The table name to get DDL
1335
+     * @param string query The query to test.
1336
+     * @return string Non-empty if error found
1337
+     */
1338
+    public function verifyDeleteFrom($table, $query)
1339
+    {
1340
+        return $this->verifyGenericReplaceQuery("DELETE FROM", $table, $query);
1341
+    }
1342
+
1343
+    /**
1344
+     * Check if certain database exists
1345
+     * @param string $dbname
1346
+     */
1347
+    public function dbExists($dbname)
1348
+    {
1349
+        $db = $this->getOne("SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = ".$this->quoted($dbname));
1350
+        return !empty($db);
1351
+    }
1352
+
1353
+    /**
1354
+     * Select database
1355
+     * @param string $dbname
1356
+     */
1357
+    protected function selectDb($dbname)
1358
+    {
1359
+        return mysql_select_db($dbname);
1360
+    }
1361
+
1362
+    /**
1363
+     * Check if certain DB user exists
1364
+     * @param string $username
1365
+     */
1366
+    public function userExists($username)
1367
+    {
1368
+        $db = $this->getOne("SELECT DATABASE()");
1369
+        if(!$this->selectDb("mysql")) {
1370
+            return false;
1371
+        }
1372
+        $user = $this->getOne("select count(*) from user where user = ".$this->quoted($username));
1373
+        if(!$this->selectDb($db)) {
1374
+            $this->checkError("Cannot select database $db", true);
1375
+        }
1376
+        return !empty($user);
1377
+    }
1378
+
1379
+    /**
1380
+     * Create DB user
1381
+     * @param string $database_name
1382
+     * @param string $host_name
1383
+     * @param string $user
1384
+     * @param string $password
1385
+     */
1386
+    public function createDbUser($database_name, $host_name, $user, $password)
1387
+    {
1388
+        $qpassword = $this->quote($password);
1389
+        $this->query("GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX
1390 1390
 							ON `$database_name`.*
1391 1391
 							TO \"$user\"@\"$host_name\"
1392 1392
 							IDENTIFIED BY '{$qpassword}';", true);
1393 1393
 
1394
-		$this->query("SET PASSWORD FOR \"{$user}\"@\"{$host_name}\" = password('{$qpassword}');", true);
1395
-		if($host_name != 'localhost') {
1396
-			$this->createDbUser($database_name, "localhost", $user, $password);
1397
-		}
1398
-	}
1399
-
1400
-	/**
1401
-	 * Create a database
1402
-	 * @param string $dbname
1403
-	 */
1404
-	public function createDatabase($dbname)
1405
-	{
1406
-		$this->query("CREATE DATABASE `$dbname` CHARACTER SET utf8 COLLATE utf8_general_ci", true);
1407
-	}
1408
-
1409
-	public function preInstall()
1410
-	{
1411
-		$db->query("ALTER DATABASE `{$setup_db_database_name}` DEFAULT CHARACTER SET utf8", true);
1412
-		$db->query("ALTER DATABASE `{$setup_db_database_name}` DEFAULT COLLATE utf8_general_ci", true);
1413
-
1414
-	}
1415
-
1416
-	/**
1417
-	 * Drop a database
1418
-	 * @param string $dbname
1419
-	 */
1420
-	public function dropDatabase($dbname)
1421
-	{
1422
-		return $this->query("DROP DATABASE IF EXISTS `$dbname`", true);
1423
-	}
1424
-
1425
-	/**
1426
-	 * Check if this driver can be used
1427
-	 * @return bool
1428
-	 */
1429
-	public function valid()
1430
-	{
1431
-		return function_exists("mysql_connect");
1432
-	}
1433
-
1434
-	/**
1435
-	 * Check DB version
1436
-	 * @see DBManager::canInstall()
1437
-	 */
1438
-	public function canInstall()
1439
-	{
1440
-		$db_version = $this->version();
1441
-		if(empty($db_version)) {
1442
-			return array('ERR_DB_VERSION_FAILURE');
1443
-		}
1444
-		if(version_compare($db_version, '4.1.2') < 0) {
1445
-			return array('ERR_DB_MYSQL_VERSION', $db_version);
1446
-		}
1447
-		return true;
1448
-	}
1449
-
1450
-	public function installConfig()
1451
-	{
1452
-		return array(
1453
-			'LBL_DBCONFIG_MSG3' =>  array(
1454
-				"setup_db_database_name" => array("label" => 'LBL_DBCONF_DB_NAME', "required" => true),
1455
-			),
1456
-			'LBL_DBCONFIG_MSG2' =>  array(
1457
-				"setup_db_host_name" => array("label" => 'LBL_DBCONF_HOST_NAME', "required" => true),
1458
-			),
1459
-			'LBL_DBCONF_TITLE_USER_INFO' => array(),
1460
-			'LBL_DBCONFIG_B_MSG1' => array(
1461
-				"setup_db_admin_user_name" => array("label" => 'LBL_DBCONF_DB_ADMIN_USER', "required" => true),
1462
-				"setup_db_admin_password" => array("label" => 'LBL_DBCONF_DB_ADMIN_PASSWORD', "type" => "password"),
1463
-			)
1464
-		);
1465
-	}
1466
-
1467
-	/**
1468
-	 * Disable keys on the table
1469
-	 * @abstract
1470
-	 * @param string $tableName
1471
-	 */
1472
-	public function disableKeys($tableName)
1473
-	{
1474
-	    return $this->query('ALTER TABLE '.$tableName.' DISABLE KEYS');
1475
-	}
1476
-
1477
-	/**
1478
-	 * Re-enable keys on the table
1479
-	 * @abstract
1480
-	 * @param string $tableName
1481
-	 */
1482
-	public function enableKeys($tableName)
1483
-	{
1484
-	    return $this->query('ALTER TABLE '.$tableName.' ENABLE KEYS');
1485
-	}
1394
+        $this->query("SET PASSWORD FOR \"{$user}\"@\"{$host_name}\" = password('{$qpassword}');", true);
1395
+        if($host_name != 'localhost') {
1396
+            $this->createDbUser($database_name, "localhost", $user, $password);
1397
+        }
1398
+    }
1399
+
1400
+    /**
1401
+     * Create a database
1402
+     * @param string $dbname
1403
+     */
1404
+    public function createDatabase($dbname)
1405
+    {
1406
+        $this->query("CREATE DATABASE `$dbname` CHARACTER SET utf8 COLLATE utf8_general_ci", true);
1407
+    }
1408
+
1409
+    public function preInstall()
1410
+    {
1411
+        $db->query("ALTER DATABASE `{$setup_db_database_name}` DEFAULT CHARACTER SET utf8", true);
1412
+        $db->query("ALTER DATABASE `{$setup_db_database_name}` DEFAULT COLLATE utf8_general_ci", true);
1413
+
1414
+    }
1415
+
1416
+    /**
1417
+     * Drop a database
1418
+     * @param string $dbname
1419
+     */
1420
+    public function dropDatabase($dbname)
1421
+    {
1422
+        return $this->query("DROP DATABASE IF EXISTS `$dbname`", true);
1423
+    }
1424
+
1425
+    /**
1426
+     * Check if this driver can be used
1427
+     * @return bool
1428
+     */
1429
+    public function valid()
1430
+    {
1431
+        return function_exists("mysql_connect");
1432
+    }
1433
+
1434
+    /**
1435
+     * Check DB version
1436
+     * @see DBManager::canInstall()
1437
+     */
1438
+    public function canInstall()
1439
+    {
1440
+        $db_version = $this->version();
1441
+        if(empty($db_version)) {
1442
+            return array('ERR_DB_VERSION_FAILURE');
1443
+        }
1444
+        if(version_compare($db_version, '4.1.2') < 0) {
1445
+            return array('ERR_DB_MYSQL_VERSION', $db_version);
1446
+        }
1447
+        return true;
1448
+    }
1449
+
1450
+    public function installConfig()
1451
+    {
1452
+        return array(
1453
+            'LBL_DBCONFIG_MSG3' =>  array(
1454
+                "setup_db_database_name" => array("label" => 'LBL_DBCONF_DB_NAME', "required" => true),
1455
+            ),
1456
+            'LBL_DBCONFIG_MSG2' =>  array(
1457
+                "setup_db_host_name" => array("label" => 'LBL_DBCONF_HOST_NAME', "required" => true),
1458
+            ),
1459
+            'LBL_DBCONF_TITLE_USER_INFO' => array(),
1460
+            'LBL_DBCONFIG_B_MSG1' => array(
1461
+                "setup_db_admin_user_name" => array("label" => 'LBL_DBCONF_DB_ADMIN_USER', "required" => true),
1462
+                "setup_db_admin_password" => array("label" => 'LBL_DBCONF_DB_ADMIN_PASSWORD', "type" => "password"),
1463
+            )
1464
+        );
1465
+    }
1466
+
1467
+    /**
1468
+     * Disable keys on the table
1469
+     * @abstract
1470
+     * @param string $tableName
1471
+     */
1472
+    public function disableKeys($tableName)
1473
+    {
1474
+        return $this->query('ALTER TABLE '.$tableName.' DISABLE KEYS');
1475
+    }
1476
+
1477
+    /**
1478
+     * Re-enable keys on the table
1479
+     * @abstract
1480
+     * @param string $tableName
1481
+     */
1482
+    public function enableKeys($tableName)
1483
+    {
1484
+        return $this->query('ALTER TABLE '.$tableName.' ENABLE KEYS');
1485
+    }
1486 1486
 
1487 1487
     /**
1488 1488
      * Returns a DB specific FROM clause which can be used to select against functions.
@@ -1501,8 +1501,8 @@  discard block
 block discarded – undo
1501 1501
      * @return string
1502 1502
      */
1503 1503
 
1504
-	public function getGuidSQL()
1504
+    public function getGuidSQL()
1505 1505
     {
1506
-      	return 'UUID()';
1506
+            return 'UUID()';
1507 1507
     }
1508 1508
 }
Please login to merge, or discard this patch.
Switch Indentation   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -825,33 +825,33 @@  discard block
 block discarded – undo
825 825
 			$fields = $index['fields'];
826 826
 
827 827
 		switch ($type) {
828
-		case 'unique':
829
-			$columns[] = " UNIQUE $name ($fields)";
830
-			break;
831
-		case 'primary':
832
-			$columns[] = " PRIMARY KEY ($fields)";
833
-			break;
834
-		case 'index':
835
-		case 'foreign':
836
-		case 'clustered':
837
-		case 'alternate_key':
838
-			/**
828
+		    case 'unique':
829
+			    $columns[] = " UNIQUE $name ($fields)";
830
+			    break;
831
+		    case 'primary':
832
+			    $columns[] = " PRIMARY KEY ($fields)";
833
+			    break;
834
+		    case 'index':
835
+		    case 'foreign':
836
+		    case 'clustered':
837
+		    case 'alternate_key':
838
+			    /**
839 839
 				* @todo here it is assumed that the primary key of the foreign
840 840
 				* table will always be named 'id'. It must be noted though
841 841
 				* that this can easily be fixed by referring to db dictionary
842 842
 				* to find the correct primary field name
843 843
 				*/
844
-			if ( $alter_table )
845
-				$columns[] = " INDEX $name ($fields)";
846
-			else
847
-				$columns[] = " KEY $name ($fields)";
848
-			break;
849
-		case 'fulltext':
850
-			if ($this->full_text_indexing_installed())
851
-				$columns[] = " FULLTEXT ($fields)";
852
-			else
853
-				$GLOBALS['log']->debug('MYISAM engine is not available/enabled, full-text indexes will be skipped. Skipping:',$name);
854
-			break;
844
+			    if ( $alter_table )
845
+				    $columns[] = " INDEX $name ($fields)";
846
+			    else
847
+				    $columns[] = " KEY $name ($fields)";
848
+			    break;
849
+		    case 'fulltext':
850
+			    if ($this->full_text_indexing_installed())
851
+				    $columns[] = " FULLTEXT ($fields)";
852
+			    else
853
+				    $GLOBALS['log']->debug('MYISAM engine is not available/enabled, full-text indexes will be skipped. Skipping:',$name);
854
+			    break;
855 855
 		}
856 856
 	}
857 857
 	$columns = implode(", $alter_action ", $columns);
@@ -935,33 +935,33 @@  discard block
 block discarded – undo
935 935
 
936 936
 		switch ($type){
937 937
 		// generic indices
938
-		case 'index':
939
-		case 'alternate_key':
940
-		case 'clustered':
941
-			if ($drop)
942
-				$sql = "ALTER TABLE {$table} DROP INDEX {$name} ";
943
-			else
944
-				$sql = "ALTER TABLE {$table} ADD INDEX {$name} ({$fields})";
945
-			break;
946
-		// constraints as indices
947
-		case 'unique':
948
-			if ($drop)
949
-				$sql = "ALTER TABLE {$table} DROP INDEX $name";
950
-			else
951
-				$sql = "ALTER TABLE {$table} ADD CONSTRAINT UNIQUE {$name} ({$fields})";
952
-			break;
953
-		case 'primary':
954
-			if ($drop)
955
-				$sql = "ALTER TABLE {$table} DROP PRIMARY KEY";
956
-			else
957
-				$sql = "ALTER TABLE {$table} ADD CONSTRAINT PRIMARY KEY ({$fields})";
958
-			break;
959
-		case 'foreign':
960
-			if ($drop)
961
-				$sql = "ALTER TABLE {$table} DROP FOREIGN KEY ({$fields})";
962
-			else
963
-				$sql = "ALTER TABLE {$table} ADD CONSTRAINT FOREIGN KEY {$name} ({$fields}) REFERENCES {$definition['foreignTable']}({$definition['foreignField']})";
964
-			break;
938
+		    case 'index':
939
+		    case 'alternate_key':
940
+		    case 'clustered':
941
+			    if ($drop)
942
+				    $sql = "ALTER TABLE {$table} DROP INDEX {$name} ";
943
+			    else
944
+				    $sql = "ALTER TABLE {$table} ADD INDEX {$name} ({$fields})";
945
+			    break;
946
+		    // constraints as indices
947
+		    case 'unique':
948
+			    if ($drop)
949
+				    $sql = "ALTER TABLE {$table} DROP INDEX $name";
950
+			    else
951
+				    $sql = "ALTER TABLE {$table} ADD CONSTRAINT UNIQUE {$name} ({$fields})";
952
+			    break;
953
+		    case 'primary':
954
+			    if ($drop)
955
+				    $sql = "ALTER TABLE {$table} DROP PRIMARY KEY";
956
+			    else
957
+				    $sql = "ALTER TABLE {$table} ADD CONSTRAINT PRIMARY KEY ({$fields})";
958
+			    break;
959
+		    case 'foreign':
960
+			    if ($drop)
961
+				    $sql = "ALTER TABLE {$table} DROP FOREIGN KEY ({$fields})";
962
+			    else
963
+				    $sql = "ALTER TABLE {$table} ADD CONSTRAINT FOREIGN KEY {$name} ({$fields}) REFERENCES {$definition['foreignTable']}({$definition['foreignField']})";
964
+			    break;
965 965
 		}
966 966
 		return $sql;
967 967
 	}
Please login to merge, or discard this patch.
Spacing   +140 added lines, -140 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 3
 /*********************************************************************************
4 4
  * SugarCRM Community Edition is a customer relationship management program developed by
5 5
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -170,25 +170,25 @@  discard block
 block discarded – undo
170 170
 	 */
171 171
 	public function query($sql, $dieOnError = false, $msg = '', $suppress = false, $keepResult = false)
172 172
 	{
173
-		if(is_array($sql)) {
173
+		if (is_array($sql)) {
174 174
 			return $this->queryArray($sql, $dieOnError, $msg, $suppress);
175 175
 		}
176 176
 
177 177
 		parent::countQuery($sql);
178
-		$GLOBALS['log']->info('Query:' . $sql);
178
+		$GLOBALS['log']->info('Query:'.$sql);
179 179
 		$this->checkConnection();
180 180
 		$this->query_time = microtime(true);
181 181
 		$this->lastsql = $sql;
182
-		$result = $suppress?@mysql_query($sql, $this->database):mysql_query($sql, $this->database);
182
+		$result = $suppress ? @mysql_query($sql, $this->database) : mysql_query($sql, $this->database);
183 183
 
184 184
 		$this->query_time = microtime(true) - $this->query_time;
185 185
 		$GLOBALS['log']->info('Query Execution Time:'.$this->query_time);
186 186
 
187 187
 
188
-		if($keepResult)
188
+		if ($keepResult)
189 189
 			$this->lastResult = $result;
190 190
 
191
-		$this->checkError($msg.' Query Failed:' . $sql . '::', $dieOnError);
191
+		$this->checkError($msg.' Query Failed:'.$sql.'::', $dieOnError);
192 192
 		return $result;
193 193
 	}
194 194
 
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
 	public function disconnect()
225 225
 	{
226 226
 		$GLOBALS['log']->debug('Calling MySQL::disconnect()');
227
-		if(!empty($this->database)){
227
+		if (!empty($this->database)) {
228 228
 			$this->freeResult();
229 229
 			mysql_close($this->database);
230 230
 			$this->database = null;
@@ -236,7 +236,7 @@  discard block
 block discarded – undo
236 236
 	 */
237 237
 	protected function freeDbResult($dbResult)
238 238
 	{
239
-		if(!empty($dbResult))
239
+		if (!empty($dbResult))
240 240
 			mysql_free_result($dbResult);
241 241
 	}
242 242
 
@@ -262,15 +262,15 @@  discard block
 block discarded – undo
262 262
         $count = (int)$count;
263 263
 	    if ($start < 0)
264 264
 			$start = 0;
265
-		$GLOBALS['log']->debug('Limit Query:' . $sql. ' Start: ' .$start . ' count: ' . $count);
265
+		$GLOBALS['log']->debug('Limit Query:'.$sql.' Start: '.$start.' count: '.$count);
266 266
 
267 267
 	    $sql = "$sql LIMIT $start,$count";
268 268
 		$this->lastsql = $sql;
269 269
 
270
-		if(!empty($GLOBALS['sugar_config']['check_query'])){
270
+		if (!empty($GLOBALS['sugar_config']['check_query'])) {
271 271
 			$this->checkQuery($sql);
272 272
 		}
273
-		if(!$execute) {
273
+		if (!$execute) {
274 274
 			return $sql;
275 275
 		}
276 276
 
@@ -283,14 +283,14 @@  discard block
 block discarded – undo
283 283
 	 */
284 284
 	protected function checkQuery($sql, $object_name = false)
285 285
 	{
286
-		$result   = $this->query('EXPLAIN ' . $sql);
286
+		$result   = $this->query('EXPLAIN '.$sql);
287 287
 		$badQuery = array();
288 288
 		while ($row = $this->fetchByAssoc($result)) {
289 289
 			if (empty($row['table']))
290 290
 				continue;
291 291
 			$badQuery[$row['table']] = '';
292 292
 			if (strtoupper($row['type']) == 'ALL')
293
-				$badQuery[$row['table']]  .=  ' Full Table Scan;';
293
+				$badQuery[$row['table']] .= ' Full Table Scan;';
294 294
 			if (empty($row['key']))
295 295
 				$badQuery[$row['table']] .= ' No Index Key Used;';
296 296
 			if (!empty($row['Extra']) && substr_count($row['Extra'], 'Using filesort') > 0)
@@ -299,18 +299,18 @@  discard block
 block discarded – undo
299 299
 				$badQuery[$row['table']] .= ' Using Temporary Table;';
300 300
 		}
301 301
 
302
-		if ( empty($badQuery) )
302
+		if (empty($badQuery))
303 303
 			return true;
304 304
 
305
-		foreach($badQuery as $table=>$data ){
306
-			if(!empty($data)){
307
-				$warning = ' Table:' . $table . ' Data:' . $data;
308
-				if(!empty($GLOBALS['sugar_config']['check_query_log'])){
305
+		foreach ($badQuery as $table=>$data) {
306
+			if (!empty($data)) {
307
+				$warning = ' Table:'.$table.' Data:'.$data;
308
+				if (!empty($GLOBALS['sugar_config']['check_query_log'])) {
309 309
 					$GLOBALS['log']->fatal($sql);
310
-					$GLOBALS['log']->fatal('CHECK QUERY:' .$warning);
310
+					$GLOBALS['log']->fatal('CHECK QUERY:'.$warning);
311 311
 				}
312
-				else{
313
-					$GLOBALS['log']->warn('CHECK QUERY:' .$warning);
312
+				else {
313
+					$GLOBALS['log']->warn('CHECK QUERY:'.$warning);
314 314
 				}
315 315
 			}
316 316
 		}
@@ -327,19 +327,19 @@  discard block
 block discarded – undo
327 327
 		$result = $this->query("DESCRIBE $tablename");
328 328
 
329 329
 		$columns = array();
330
-		while (($row=$this->fetchByAssoc($result)) !=null) {
330
+		while (($row = $this->fetchByAssoc($result)) != null) {
331 331
 			$name = strtolower($row['Field']);
332
-			$columns[$name]['name']=$name;
332
+			$columns[$name]['name'] = $name;
333 333
 			$matches = array();
334 334
 			preg_match_all('/(\w+)(?:\(([0-9]+,?[0-9]*)\)|)( unsigned)?/i', $row['Type'], $matches);
335
-			$columns[$name]['type']=strtolower($matches[1][0]);
336
-			if ( isset($matches[2][0]) && in_array(strtolower($matches[1][0]),array('varchar','char','varchar2','int','decimal','float')) )
337
-				$columns[$name]['len']=strtolower($matches[2][0]);
338
-			if ( stristr($row['Extra'],'auto_increment') )
335
+			$columns[$name]['type'] = strtolower($matches[1][0]);
336
+			if (isset($matches[2][0]) && in_array(strtolower($matches[1][0]), array('varchar', 'char', 'varchar2', 'int', 'decimal', 'float')))
337
+				$columns[$name]['len'] = strtolower($matches[2][0]);
338
+			if (stristr($row['Extra'], 'auto_increment'))
339 339
 				$columns[$name]['auto_increment'] = '1';
340
-			if ($row['Null'] == 'NO' && !stristr($row['Key'],'PRI'))
340
+			if ($row['Null'] == 'NO' && !stristr($row['Key'], 'PRI'))
341 341
 				$columns[$name]['required'] = 'true';
342
-			if (!empty($row['Default']) )
342
+			if (!empty($row['Default']))
343 343
 				$columns[$name]['default'] = $row['Default'];
344 344
 		}
345 345
 		return $columns;
@@ -348,20 +348,20 @@  discard block
 block discarded – undo
348 348
 	/**
349 349
 	 * @see DBManager::getFieldsArray()
350 350
 	 */
351
-	public function getFieldsArray($result, $make_lower_case=false)
351
+	public function getFieldsArray($result, $make_lower_case = false)
352 352
 	{
353 353
 		$field_array = array();
354 354
 
355
-		if(empty($result))
355
+		if (empty($result))
356 356
 			return 0;
357 357
 
358 358
 		$fields = mysql_num_fields($result);
359
-		for ($i=0; $i < $fields; $i++) {
359
+		for ($i = 0; $i < $fields; $i++) {
360 360
 			$meta = mysql_fetch_field($result, $i);
361 361
 			if (!$meta)
362 362
 				return array();
363 363
 
364
-			if($make_lower_case == true)
364
+			if ($make_lower_case == true)
365 365
 				$meta->name = strtolower($meta->name);
366 366
 
367 367
 			$field_array[] = $meta->name;
@@ -393,7 +393,7 @@  discard block
 block discarded – undo
393 393
 			if (!empty($r)) {
394 394
 				while ($a = $this->fetchByAssoc($r)) {
395 395
 					$row = array_values($a);
396
-					$tables[]=$row[0];
396
+					$tables[] = $row[0];
397 397
 				}
398 398
 				return $tables;
399 399
 			}
@@ -419,7 +419,7 @@  discard block
 block discarded – undo
419 419
 
420 420
 		if ($this->getDatabase()) {
421 421
 			$result = $this->query("SHOW TABLES LIKE ".$this->quoted($tableName));
422
-			if(empty($result)) return false;
422
+			if (empty($result)) return false;
423 423
 			$row = $this->fetchByAssoc($result);
424 424
 			return !empty($row);
425 425
 		}
@@ -440,7 +440,7 @@  discard block
 block discarded – undo
440 440
 			if (!empty($r)) {
441 441
 				while ($a = $this->fetchByAssoc($r)) {
442 442
 					$row = array_values($a);
443
-					$tables[]=$row[0];
443
+					$tables[] = $row[0];
444 444
 				}
445 445
 				return $tables;
446 446
 			}
@@ -453,7 +453,7 @@  discard block
 block discarded – undo
453 453
 	 */
454 454
 	public function quote($string)
455 455
 	{
456
-		if(is_array($string)) {
456
+		if (is_array($string)) {
457 457
 			return $this->arrayQuote($string);
458 458
 		}
459 459
 		return mysql_real_escape_string($this->quoteInternal($string), $this->getDatabase());
@@ -474,7 +474,7 @@  discard block
 block discarded – undo
474 474
 	{
475 475
 		global $sugar_config;
476 476
 
477
-		if(is_null($configOptions))
477
+		if (is_null($configOptions))
478 478
 			$configOptions = $sugar_config['dbconfig'];
479 479
 
480 480
 		if ($this->getOption('persistent')) {
@@ -491,10 +491,10 @@  discard block
 block discarded – undo
491 491
 					$configOptions['db_user_name'],
492 492
 					$configOptions['db_password']
493 493
 					);
494
-			if(empty($this->database)) {
494
+			if (empty($this->database)) {
495 495
 				$GLOBALS['log']->fatal("Could not connect to server ".$configOptions['db_host_name']." as ".$configOptions['db_user_name'].":".mysql_error());
496
-				if($dieOnError) {
497
-					if(isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
496
+				if ($dieOnError) {
497
+					if (isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
498 498
 						sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
499 499
 					} else {
500 500
 						sugar_die("Could not connect to the database. Please refer to suitecrm.log for details.");
@@ -504,15 +504,15 @@  discard block
 block discarded – undo
504 504
 				}
505 505
 			}
506 506
 			// Do not pass connection information because we have not connected yet
507
-			if($this->database  && $this->getOption('persistent')){
507
+			if ($this->database && $this->getOption('persistent')) {
508 508
 				$_SESSION['administrator_error'] = "<b>Severe Performance Degradation: Persistent Database Connections "
509 509
 					. "not working.  Please set \$sugar_config['dbconfigoption']['persistent'] to false "
510 510
 					. "in your config.php file</b>";
511 511
 			}
512 512
 		}
513
-		if(!empty($configOptions['db_name']) && !@mysql_select_db($configOptions['db_name'])) {
514
-			$GLOBALS['log']->fatal( "Unable to select database {$configOptions['db_name']}: " . mysql_error($this->database));
515
-			if($dieOnError) {
513
+		if (!empty($configOptions['db_name']) && !@mysql_select_db($configOptions['db_name'])) {
514
+			$GLOBALS['log']->fatal("Unable to select database {$configOptions['db_name']}: ".mysql_error($this->database));
515
+			if ($dieOnError) {
516 516
 				sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
517 517
 			} else {
518 518
 				return false;
@@ -523,12 +523,12 @@  discard block
 block discarded – undo
523 523
 	    mysql_query("SET CHARACTER SET utf8", $this->database);
524 524
 	    $names = "SET NAMES 'utf8'";
525 525
 	    $collation = $this->getOption('collation');
526
-	    if(!empty($collation)) {
526
+	    if (!empty($collation)) {
527 527
 	        $names .= " COLLATE '$collation'";
528 528
 		}
529 529
 	    mysql_query($names, $this->database);
530 530
 
531
-		if(!$this->checkError('Could Not Connect:', $dieOnError))
531
+		if (!$this->checkError('Could Not Connect:', $dieOnError))
532 532
 			$GLOBALS['log']->info("connected to db");
533 533
 		$this->connectOptions = $configOptions;
534 534
 
@@ -544,16 +544,16 @@  discard block
 block discarded – undo
544 544
 	 */
545 545
 	public function repairTableParams($tablename, $fielddefs, $indices, $execute = true, $engine = null)
546 546
 	{
547
-		$sql = parent::repairTableParams($tablename,$fielddefs,$indices,false,$engine);
547
+		$sql = parent::repairTableParams($tablename, $fielddefs, $indices, false, $engine);
548 548
 
549
-		if ( $sql == '' )
549
+		if ($sql == '')
550 550
 			return '';
551 551
 
552
-		if ( stristr($sql,'create table') )
552
+		if (stristr($sql, 'create table'))
553 553
 		{
554 554
 			if ($execute) {
555
-				$msg = "Error creating table: ".$tablename. ":";
556
-				$this->query($sql,true,$msg);
555
+				$msg = "Error creating table: ".$tablename.":";
556
+				$this->query($sql, true, $msg);
557 557
 			}
558 558
 			return $sql;
559 559
 		}
@@ -562,23 +562,23 @@  discard block
 block discarded – undo
562 562
 		$match = array();
563 563
 		preg_match_all('!/\*.*?\*/!is', $sql, $match);
564 564
 		$commentBlocks = $match[0];
565
-		$sql = preg_replace('!/\*.*?\*/!is','', $sql);
565
+		$sql = preg_replace('!/\*.*?\*/!is', '', $sql);
566 566
 
567 567
 		// now, we should only have alter table statements
568 568
 		// let's replace the 'alter table name' part with a comma
569
-		$sql = preg_replace("!alter table $tablename!is",', ', $sql);
569
+		$sql = preg_replace("!alter table $tablename!is", ', ', $sql);
570 570
 
571 571
 		// re-add it at the beginning
572
-		$sql = substr_replace($sql,'',strpos($sql,','),1);
573
-		$sql = str_replace(";","",$sql);
574
-		$sql = str_replace("\n","",$sql);
572
+		$sql = substr_replace($sql, '', strpos($sql, ','), 1);
573
+		$sql = str_replace(";", "", $sql);
574
+		$sql = str_replace("\n", "", $sql);
575 575
 		$sql = "ALTER TABLE $tablename $sql";
576 576
 
577
-		if ( $execute )
578
-			$this->query($sql,'Error with MySQL repair table');
577
+		if ($execute)
578
+			$this->query($sql, 'Error with MySQL repair table');
579 579
 
580 580
 		// and re-add the comments at the beginning
581
-		$sql = implode("\n",$commentBlocks) . "\n". $sql . "\n";
581
+		$sql = implode("\n", $commentBlocks)."\n".$sql."\n";
582 582
 
583 583
 		return $sql;
584 584
 	}
@@ -589,7 +589,7 @@  discard block
 block discarded – undo
589 589
 	public function convert($string, $type, array $additional_parameters = array())
590 590
 	{
591 591
 		$all_parameters = $additional_parameters;
592
-		if(is_array($string)) {
592
+		if (is_array($string)) {
593 593
 			$all_parameters = array_merge($string, $all_parameters);
594 594
 		} elseif (!is_null($string)) {
595 595
 			array_unshift($all_parameters, $string);
@@ -602,17 +602,17 @@  discard block
 block discarded – undo
602 602
 			case 'left':
603 603
 				return "LEFT($all_strings)";
604 604
 			case 'date_format':
605
-				if(empty($additional_parameters)) {
605
+				if (empty($additional_parameters)) {
606 606
 					return "DATE_FORMAT($string,'%Y-%m-%d')";
607 607
 				} else {
608 608
 					$format = $additional_parameters[0];
609
-					if($format[0] != "'") {
609
+					if ($format[0] != "'") {
610 610
 						$format = $this->quoted($format);
611 611
 					}
612 612
 					return "DATE_FORMAT($string,$format)";
613 613
 				}
614 614
 			case 'ifnull':
615
-				if(empty($additional_parameters) && !strstr($all_strings, ",")) {
615
+				if (empty($additional_parameters) && !strstr($all_strings, ",")) {
616 616
 					$all_strings .= ",''";
617 617
 				}
618 618
 				return "IFNULL($all_strings)";
@@ -631,7 +631,7 @@  discard block
 block discarded – undo
631 631
             case 'add_tz_offset' :
632 632
                 $getUserUTCOffset = $GLOBALS['timedate']->getUserUTCOffset();
633 633
                 $operation = $getUserUTCOffset < 0 ? '-' : '+';
634
-                return $string . ' ' . $operation . ' INTERVAL ' . abs($getUserUTCOffset) . ' MINUTE';
634
+                return $string.' '.$operation.' INTERVAL '.abs($getUserUTCOffset).' MINUTE';
635 635
             case 'avg':
636 636
                 return "avg($string)";
637 637
 		}
@@ -672,15 +672,15 @@  discard block
 block discarded – undo
672 672
 	 */
673 673
 	protected function isEngineEnabled($engine)
674 674
 	{
675
-		if(!is_string($engine)) return false;
675
+		if (!is_string($engine)) return false;
676 676
 
677 677
 		$engine = strtoupper($engine);
678 678
 
679 679
 		$r = $this->query("SHOW ENGINES");
680 680
 
681
-		while ( $row = $this->fetchByAssoc($r) )
682
-			if ( strtoupper($row['Engine']) == $engine )
683
-				return ($row['Support']=='YES' || $row['Support']=='DEFAULT');
681
+		while ($row = $this->fetchByAssoc($r))
682
+			if (strtoupper($row['Engine']) == $engine)
683
+				return ($row['Support'] == 'YES' || $row['Support'] == 'DEFAULT');
684 684
 
685 685
 		return false;
686 686
 	}
@@ -708,9 +708,9 @@  discard block
 block discarded – undo
708 708
 	*/
709 709
 	public function createTableSQLParams($tablename, $fieldDefs, $indices, $engine = null)
710 710
 	{
711
-		if ( empty($engine) && isset($fieldDefs['engine']))
711
+		if (empty($engine) && isset($fieldDefs['engine']))
712 712
 			$engine = $fieldDefs['engine'];
713
-		if ( !$this->isEngineEnabled($engine) )
713
+		if (!$this->isEngineEnabled($engine))
714 714
 			$engine = '';
715 715
 
716 716
 		$columns = $this->columnSQLRep($fieldDefs, false, $tablename);
@@ -723,13 +723,13 @@  discard block
 block discarded – undo
723 723
 
724 724
 		// cn: bug 9873 - module tables do not get created in utf8 with assoc collation
725 725
 		$collation = $this->getOption('collation');
726
-		if(empty($collation)) {
726
+		if (empty($collation)) {
727 727
 		    $collation = 'utf8_general_ci';
728 728
 		}
729 729
 		$sql = "CREATE TABLE $tablename ($columns $keys) CHARACTER SET utf8 COLLATE $collation";
730 730
 
731 731
 		if (!empty($engine))
732
-			$sql.= " ENGINE=$engine";
732
+			$sql .= " ENGINE=$engine";
733 733
 
734 734
 		return $sql;
735 735
 	}
@@ -741,7 +741,7 @@  discard block
 block discarded – undo
741 741
     public function isTextType($type)
742 742
     {
743 743
         $type = $this->getColumnType(strtolower($type));
744
-        return in_array($type, array('blob','text','longblob', 'longtext'));
744
+        return in_array($type, array('blob', 'text', 'longblob', 'longtext'));
745 745
     }
746 746
 
747 747
 	/**
@@ -752,16 +752,16 @@  discard block
 block discarded – undo
752 752
 		// always return as array for post-processing
753 753
 		$ref = parent::oneColumnSQLRep($fieldDef, $ignoreRequired, $table, true);
754 754
 
755
-		if ( $ref['colType'] == 'int' && !empty($fieldDef['len']) ) {
755
+		if ($ref['colType'] == 'int' && !empty($fieldDef['len'])) {
756 756
 			$ref['colType'] .= "(".$fieldDef['len'].")";
757 757
 		}
758 758
 
759 759
 		// bug 22338 - don't set a default value on text or blob fields
760
-		if ( isset($ref['default']) &&
760
+		if (isset($ref['default']) &&
761 761
             in_array($ref['colBaseType'], array('text', 'blob', 'longtext', 'longblob')))
762 762
 			    $ref['default'] = '';
763 763
 
764
-		if ( $return_as_array )
764
+		if ($return_as_array)
765 765
 			return $ref;
766 766
 		else
767 767
 			return "{$ref['name']} {$ref['colType']} {$ref['default']} {$ref['required']} {$ref['auto_increment']}";
@@ -773,8 +773,8 @@  discard block
 block discarded – undo
773 773
 	protected function changeColumnSQL($tablename, $fieldDefs, $action, $ignoreRequired = false)
774 774
 	{
775 775
 		$columns = array();
776
-		if ($this->isFieldArray($fieldDefs)){
777
-			foreach ($fieldDefs as $def){
776
+		if ($this->isFieldArray($fieldDefs)) {
777
+			foreach ($fieldDefs as $def) {
778 778
 				if ($action == 'drop')
779 779
 					$columns[] = $def['name'];
780 780
 				else
@@ -811,7 +811,7 @@  discard block
 block discarded – undo
811 811
 
812 812
 	$columns = array();
813 813
 	foreach ($indices as $index) {
814
-		if(!empty($index['db']) && $index['db'] != $this->dbType)
814
+		if (!empty($index['db']) && $index['db'] != $this->dbType)
815 815
 			continue;
816 816
 		if (isset($index['source']) && $index['source'] != 'db')
817 817
 			continue;
@@ -841,7 +841,7 @@  discard block
 block discarded – undo
841 841
 				* that this can easily be fixed by referring to db dictionary
842 842
 				* to find the correct primary field name
843 843
 				*/
844
-			if ( $alter_table )
844
+			if ($alter_table)
845 845
 				$columns[] = " INDEX $name ($fields)";
846 846
 			else
847 847
 				$columns[] = " KEY $name ($fields)";
@@ -850,13 +850,13 @@  discard block
 block discarded – undo
850 850
 			if ($this->full_text_indexing_installed())
851 851
 				$columns[] = " FULLTEXT ($fields)";
852 852
 			else
853
-				$GLOBALS['log']->debug('MYISAM engine is not available/enabled, full-text indexes will be skipped. Skipping:',$name);
853
+				$GLOBALS['log']->debug('MYISAM engine is not available/enabled, full-text indexes will be skipped. Skipping:', $name);
854 854
 			break;
855 855
 		}
856 856
 	}
857 857
 	$columns = implode(", $alter_action ", $columns);
858
-	if(!empty($alter_action)){
859
-		$columns = $alter_action . ' '. $columns;
858
+	if (!empty($alter_action)) {
859
+		$columns = $alter_action.' '.$columns;
860 860
 	}
861 861
 	return $columns;
862 862
 	}
@@ -878,7 +878,7 @@  discard block
 block discarded – undo
878 878
 	public function setAutoIncrementStart($table, $field_name, $start_value)
879 879
 	{
880 880
 		$start_value = (int)$start_value;
881
-		return $this->query( "ALTER TABLE $table AUTO_INCREMENT = $start_value;");
881
+		return $this->query("ALTER TABLE $table AUTO_INCREMENT = $start_value;");
882 882
 	}
883 883
 
884 884
 	/**
@@ -907,18 +907,18 @@  discard block
 block discarded – undo
907 907
 		$result = $this->query("SHOW INDEX FROM $tablename");
908 908
 
909 909
 		$indices = array();
910
-		while (($row=$this->fetchByAssoc($result)) !=null) {
911
-			$index_type='index';
912
-			if ($row['Key_name'] =='PRIMARY') {
913
-				$index_type='primary';
910
+		while (($row = $this->fetchByAssoc($result)) != null) {
911
+			$index_type = 'index';
912
+			if ($row['Key_name'] == 'PRIMARY') {
913
+				$index_type = 'primary';
914 914
 			}
915
-			elseif ( $row['Non_unique'] == '0' ) {
916
-				$index_type='unique';
915
+			elseif ($row['Non_unique'] == '0') {
916
+				$index_type = 'unique';
917 917
 			}
918 918
 			$name = strtolower($row['Key_name']);
919
-			$indices[$name]['name']=$name;
920
-			$indices[$name]['type']=$index_type;
921
-			$indices[$name]['fields'][]=strtolower($row['Column_name']);
919
+			$indices[$name]['name'] = $name;
920
+			$indices[$name]['type'] = $index_type;
921
+			$indices[$name]['fields'][] = strtolower($row['Column_name']);
922 922
 		}
923 923
 		return $indices;
924 924
 	}
@@ -929,11 +929,11 @@  discard block
 block discarded – undo
929 929
 	public function add_drop_constraint($table, $definition, $drop = false)
930 930
 	{
931 931
 		$type         = $definition['type'];
932
-		$fields       = implode(',',$definition['fields']);
932
+		$fields       = implode(',', $definition['fields']);
933 933
 		$name         = $definition['name'];
934 934
 		$sql          = '';
935 935
 
936
-		switch ($type){
936
+		switch ($type) {
937 937
 		// generic indices
938 938
 		case 'index':
939 939
 		case 'alternate_key':
@@ -977,7 +977,7 @@  discard block
 block discarded – undo
977 977
 	 */
978 978
 	public function fetchOne($sql, $dieOnError = false, $msg = '', $suppress = false)
979 979
 	{
980
-		if(stripos($sql, ' LIMIT ') === false) {
980
+		if (stripos($sql, ' LIMIT ') === false) {
981 981
 			// little optimization to just fetch one row
982 982
 			$sql .= " LIMIT 0,1";
983 983
 		}
@@ -997,13 +997,13 @@  discard block
 block discarded – undo
997 997
 	 */
998 998
 	public function massageFieldDef(&$fieldDef, $tablename)
999 999
 	{
1000
-		parent::massageFieldDef($fieldDef,$tablename);
1000
+		parent::massageFieldDef($fieldDef, $tablename);
1001 1001
 
1002
-		if ( isset($fieldDef['default']) &&
1002
+		if (isset($fieldDef['default']) &&
1003 1003
 			($fieldDef['dbType'] == 'text'
1004 1004
 				|| $fieldDef['dbType'] == 'blob'
1005 1005
 				|| $fieldDef['dbType'] == 'longtext'
1006
-				|| $fieldDef['dbType'] == 'longblob' ))
1006
+				|| $fieldDef['dbType'] == 'longblob'))
1007 1007
 			unset($fieldDef['default']);
1008 1008
 		if ($fieldDef['dbType'] == 'uint')
1009 1009
 			$fieldDef['len'] = '10';
@@ -1011,22 +1011,22 @@  discard block
 block discarded – undo
1011 1011
 			$fieldDef['len'] = '20';
1012 1012
 		if ($fieldDef['dbType'] == 'bool')
1013 1013
 			$fieldDef['type'] = 'tinyint';
1014
-		if ($fieldDef['dbType'] == 'bool' && empty($fieldDef['default']) )
1014
+		if ($fieldDef['dbType'] == 'bool' && empty($fieldDef['default']))
1015 1015
 			$fieldDef['default'] = '0';
1016
-		if (($fieldDef['dbType'] == 'varchar' || $fieldDef['dbType'] == 'enum') && empty($fieldDef['len']) )
1016
+		if (($fieldDef['dbType'] == 'varchar' || $fieldDef['dbType'] == 'enum') && empty($fieldDef['len']))
1017 1017
 			$fieldDef['len'] = '255';
1018 1018
 		if ($fieldDef['dbType'] == 'uint')
1019 1019
 			$fieldDef['len'] = '10';
1020
-		if ($fieldDef['dbType'] == 'int' && empty($fieldDef['len']) )
1020
+		if ($fieldDef['dbType'] == 'int' && empty($fieldDef['len']))
1021 1021
 			$fieldDef['len'] = '11';
1022 1022
 
1023
-		if($fieldDef['dbType'] == 'decimal') {
1024
-			if(isset($fieldDef['len'])) {
1025
-				if(strstr($fieldDef['len'], ",") === false) {
1023
+		if ($fieldDef['dbType'] == 'decimal') {
1024
+			if (isset($fieldDef['len'])) {
1025
+				if (strstr($fieldDef['len'], ",") === false) {
1026 1026
 					$fieldDef['len'] .= ",0";
1027 1027
 				}
1028 1028
 			} else {
1029
-				$fieldDef['len']  = '10,0';
1029
+				$fieldDef['len'] = '10,0';
1030 1030
 			}
1031 1031
 		}
1032 1032
 	}
@@ -1046,8 +1046,8 @@  discard block
 block discarded – undo
1046 1046
 	{
1047 1047
 		$sql = array();
1048 1048
 		foreach ($indexes as $index) {
1049
-			$name =$index['name'];
1050
-			if($execute) {
1049
+			$name = $index['name'];
1050
+			if ($execute) {
1051 1051
 			unset(self::$index_descriptions[$tablename][$name]);
1052 1052
 			}
1053 1053
 			if ($index['type'] == 'primary') {
@@ -1057,8 +1057,8 @@  discard block
 block discarded – undo
1057 1057
 			}
1058 1058
 		}
1059 1059
 		if (!empty($sql)) {
1060
-            $sql = "ALTER TABLE $tablename " . join(",", $sql) . ";";
1061
-			if($execute)
1060
+            $sql = "ALTER TABLE $tablename ".join(",", $sql).";";
1061
+			if ($execute)
1062 1062
 				$this->query($sql);
1063 1063
 		} else {
1064 1064
 			$sql = '';
@@ -1084,7 +1084,7 @@  discard block
 block discarded – undo
1084 1084
 		$q = "SHOW COLLATION LIKE 'utf8%'";
1085 1085
 		$r = $this->query($q);
1086 1086
 		$res = array();
1087
-		while($a = $this->fetchByAssoc($r)) {
1087
+		while ($a = $this->fetchByAssoc($r)) {
1088 1088
 			$res[] = $a['Collation'];
1089 1089
 		}
1090 1090
 		return $res;
@@ -1104,13 +1104,13 @@  discard block
 block discarded – undo
1104 1104
 	public function emptyValue($type)
1105 1105
 	{
1106 1106
 		$ctype = $this->getColumnType($type);
1107
-		if($ctype == "datetime") {
1107
+		if ($ctype == "datetime") {
1108 1108
 			return $this->convert($this->quoted("0000-00-00 00:00:00"), "datetime");
1109 1109
 		}
1110
-		if($ctype == "date") {
1110
+		if ($ctype == "date") {
1111 1111
 			return $this->convert($this->quoted("0000-00-00"), "date");
1112 1112
 		}
1113
-		if($ctype == "time") {
1113
+		if ($ctype == "time") {
1114 1114
 			return $this->convert($this->quoted("00:00:00"), "time");
1115 1115
 		}
1116 1116
 		return parent::emptyValue($type);
@@ -1122,13 +1122,13 @@  discard block
 block discarded – undo
1122 1122
 	 */
1123 1123
 	public function lastDbError()
1124 1124
 	{
1125
-		if($this->database) {
1126
-		    if(mysql_errno($this->database)) {
1125
+		if ($this->database) {
1126
+		    if (mysql_errno($this->database)) {
1127 1127
 			    return "MySQL error ".mysql_errno($this->database).": ".mysql_error($this->database);
1128 1128
 		    }
1129 1129
 		} else {
1130
-			$err =  mysql_error();
1131
-			if($err) {
1130
+			$err = mysql_error();
1131
+			if ($err) {
1132 1132
 			    return $err;
1133 1133
 			}
1134 1134
 		}
@@ -1141,7 +1141,7 @@  discard block
 block discarded – undo
1141 1141
 	 */
1142 1142
 	protected function quoteTerm($term)
1143 1143
 	{
1144
-		if(strpos($term, ' ') !== false) {
1144
+		if (strpos($term, ' ') !== false) {
1145 1145
 			return '"'.$term.'"';
1146 1146
 		}
1147 1147
 		return $term;
@@ -1157,16 +1157,16 @@  discard block
 block discarded – undo
1157 1157
 	public function getFulltextQuery($field, $terms, $must_terms = array(), $exclude_terms = array())
1158 1158
 	{
1159 1159
 		$condition = array();
1160
-		foreach($terms as $term) {
1160
+		foreach ($terms as $term) {
1161 1161
 			$condition[] = $this->quoteTerm($term);
1162 1162
 		}
1163
-		foreach($must_terms as $term) {
1163
+		foreach ($must_terms as $term) {
1164 1164
 			$condition[] = "+".$this->quoteTerm($term);
1165 1165
 		}
1166
-		foreach($exclude_terms as $term) {
1166
+		foreach ($exclude_terms as $term) {
1167 1167
 			$condition[] = "-".$this->quoteTerm($term);
1168 1168
 		}
1169
-		$condition = $this->quoted(join(" ",$condition));
1169
+		$condition = $this->quoted(join(" ", $condition));
1170 1170
 		return "MATCH($field) AGAINST($condition IN BOOLEAN MODE)";
1171 1171
 	}
1172 1172
 
@@ -1178,7 +1178,7 @@  discard block
 block discarded – undo
1178 1178
 	{
1179 1179
 		$charsets = array();
1180 1180
 		$res = $this->query("show variables like 'character\\_set\\_%'");
1181
-		while($row = $this->fetchByAssoc($res)) {
1181
+		while ($row = $this->fetchByAssoc($res)) {
1182 1182
 			$charsets[$row['Variable_name']] = $row['Value'];
1183 1183
 		}
1184 1184
 		return $charsets;
@@ -1188,7 +1188,7 @@  discard block
 block discarded – undo
1188 1188
 	{
1189 1189
 		$charsets = $this->getCharsetInfo();
1190 1190
 		$charset_str = array();
1191
-		foreach($charsets as $name => $value) {
1191
+		foreach ($charsets as $name => $value) {
1192 1192
 			$charset_str[] = "$name = $value";
1193 1193
 		}
1194 1194
 		return array(
@@ -1210,18 +1210,18 @@  discard block
 block discarded – undo
1210 1210
 	{
1211 1211
 		$this->log->debug("creating temp table for [$table]...");
1212 1212
 		$result = $this->query("SHOW CREATE TABLE {$table}");
1213
-		if(empty($result)) {
1213
+		if (empty($result)) {
1214 1214
 			return false;
1215 1215
 		}
1216 1216
 		$row = $this->fetchByAssoc($result);
1217
-		if(empty($row) || empty($row['Create Table'])) {
1217
+		if (empty($row) || empty($row['Create Table'])) {
1218 1218
 		    return false;
1219 1219
 		}
1220 1220
 		$create = $row['Create Table'];
1221 1221
 		// rewrite DDL with _temp name
1222 1222
 		$tempTableQuery = str_replace("CREATE TABLE `{$table}`", "CREATE TABLE `{$table}__uw_temp`", $create);
1223 1223
 		$r2 = $this->query($tempTableQuery);
1224
-		if(empty($r2)) {
1224
+		if (empty($r2)) {
1225 1225
 			return false;
1226 1226
 		}
1227 1227
 
@@ -1243,11 +1243,11 @@  discard block
 block discarded – undo
1243 1243
 		$this->log->debug("verifying ALTER TABLE");
1244 1244
 		// Skipping ALTER TABLE [table] DROP PRIMARY KEY because primary keys are not being copied
1245 1245
 		// over to the temp tables
1246
-		if(strpos(strtoupper($query), 'DROP PRIMARY KEY') !== false) {
1246
+		if (strpos(strtoupper($query), 'DROP PRIMARY KEY') !== false) {
1247 1247
 			$this->log->debug("Skipping DROP PRIMARY KEY");
1248 1248
 			return '';
1249 1249
 		}
1250
-		if(!$this->makeTempTableCopy($table)) {
1250
+		if (!$this->makeTempTableCopy($table)) {
1251 1251
 			return 'Could not create temp table copy';
1252 1252
 		}
1253 1253
 
@@ -1255,7 +1255,7 @@  discard block
 block discarded – undo
1255 1255
 		$this->log->debug('testing query: ['.$query.']');
1256 1256
 		$tempTableTestQuery = str_replace("ALTER TABLE `{$table}`", "ALTER TABLE `{$table}__uw_temp`", $query);
1257 1257
 		if (strpos($tempTableTestQuery, 'idx') === false) {
1258
-			if(strpos($tempTableTestQuery, '__uw_temp') === false) {
1258
+			if (strpos($tempTableTestQuery, '__uw_temp') === false) {
1259 1259
 				return 'Could not use a temp table to test query!';
1260 1260
 			}
1261 1261
 
@@ -1268,7 +1268,7 @@  discard block
 block discarded – undo
1268 1268
 			$this->query($tempTableTestQuery_idx, false, "Preflight Failed for: {$query}");
1269 1269
 		}
1270 1270
 		$mysqlError = $this->getL();
1271
-		if(!empty($mysqlError)) {
1271
+		if (!empty($mysqlError)) {
1272 1272
 			return $mysqlError;
1273 1273
 		}
1274 1274
 		$this->dropTableName("{$table}__uw_temp");
@@ -1280,13 +1280,13 @@  discard block
 block discarded – undo
1280 1280
 	{
1281 1281
 		$this->log->debug("verifying $querytype statement");
1282 1282
 
1283
-		if(!$this->makeTempTableCopy($table)) {
1283
+		if (!$this->makeTempTableCopy($table)) {
1284 1284
 			return 'Could not create temp table copy';
1285 1285
 		}
1286 1286
 		// test the query on the test table
1287 1287
 		$this->log->debug('testing query: ['.$query.']');
1288 1288
 		$tempTableTestQuery = str_replace("$querytype `{$table}`", "$querytype `{$table}__uw_temp`", $query);
1289
-		if(strpos($tempTableTestQuery, '__uw_temp') === false) {
1289
+		if (strpos($tempTableTestQuery, '__uw_temp') === false) {
1290 1290
 			return 'Could not use a temp table to test query!';
1291 1291
 		}
1292 1292
 
@@ -1366,11 +1366,11 @@  discard block
 block discarded – undo
1366 1366
 	public function userExists($username)
1367 1367
 	{
1368 1368
 		$db = $this->getOne("SELECT DATABASE()");
1369
-		if(!$this->selectDb("mysql")) {
1369
+		if (!$this->selectDb("mysql")) {
1370 1370
 			return false;
1371 1371
 		}
1372 1372
 		$user = $this->getOne("select count(*) from user where user = ".$this->quoted($username));
1373
-		if(!$this->selectDb($db)) {
1373
+		if (!$this->selectDb($db)) {
1374 1374
 			$this->checkError("Cannot select database $db", true);
1375 1375
 		}
1376 1376
 		return !empty($user);
@@ -1392,7 +1392,7 @@  discard block
 block discarded – undo
1392 1392
 							IDENTIFIED BY '{$qpassword}';", true);
1393 1393
 
1394 1394
 		$this->query("SET PASSWORD FOR \"{$user}\"@\"{$host_name}\" = password('{$qpassword}');", true);
1395
-		if($host_name != 'localhost') {
1395
+		if ($host_name != 'localhost') {
1396 1396
 			$this->createDbUser($database_name, "localhost", $user, $password);
1397 1397
 		}
1398 1398
 	}
@@ -1438,10 +1438,10 @@  discard block
 block discarded – undo
1438 1438
 	public function canInstall()
1439 1439
 	{
1440 1440
 		$db_version = $this->version();
1441
-		if(empty($db_version)) {
1441
+		if (empty($db_version)) {
1442 1442
 			return array('ERR_DB_VERSION_FAILURE');
1443 1443
 		}
1444
-		if(version_compare($db_version, '4.1.2') < 0) {
1444
+		if (version_compare($db_version, '4.1.2') < 0) {
1445 1445
 			return array('ERR_DB_MYSQL_VERSION', $db_version);
1446 1446
 		}
1447 1447
 		return true;
Please login to merge, or discard this patch.
Braces   +184 added lines, -128 removed lines patch added patch discarded remove patch
@@ -1,5 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if(!defined('sugarEntry') || !sugarEntry) {
3
+    die('Not A Valid Entry Point');
4
+}
3 5
 /*********************************************************************************
4 6
  * SugarCRM Community Edition is a customer relationship management program developed by
5 7
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -185,8 +187,9 @@  discard block
 block discarded – undo
185 187
 		$GLOBALS['log']->info('Query Execution Time:'.$this->query_time);
186 188
 
187 189
 
188
-		if($keepResult)
189
-			$this->lastResult = $result;
190
+		if($keepResult) {
191
+					$this->lastResult = $result;
192
+		}
190 193
 
191 194
 		$this->checkError($msg.' Query Failed:' . $sql . '::', $dieOnError);
192 195
 		return $result;
@@ -236,8 +239,9 @@  discard block
 block discarded – undo
236 239
 	 */
237 240
 	protected function freeDbResult($dbResult)
238 241
 	{
239
-		if(!empty($dbResult))
240
-			mysql_free_result($dbResult);
242
+		if(!empty($dbResult)) {
243
+					mysql_free_result($dbResult);
244
+		}
241 245
 	}
242 246
 
243 247
 
@@ -260,8 +264,9 @@  discard block
 block discarded – undo
260 264
 	{
261 265
         $start = (int)$start;
262 266
         $count = (int)$count;
263
-	    if ($start < 0)
264
-			$start = 0;
267
+	    if ($start < 0) {
268
+	    			$start = 0;
269
+	    }
265 270
 		$GLOBALS['log']->debug('Limit Query:' . $sql. ' Start: ' .$start . ' count: ' . $count);
266 271
 
267 272
 	    $sql = "$sql LIMIT $start,$count";
@@ -286,21 +291,27 @@  discard block
 block discarded – undo
286 291
 		$result   = $this->query('EXPLAIN ' . $sql);
287 292
 		$badQuery = array();
288 293
 		while ($row = $this->fetchByAssoc($result)) {
289
-			if (empty($row['table']))
290
-				continue;
294
+			if (empty($row['table'])) {
295
+							continue;
296
+			}
291 297
 			$badQuery[$row['table']] = '';
292
-			if (strtoupper($row['type']) == 'ALL')
293
-				$badQuery[$row['table']]  .=  ' Full Table Scan;';
294
-			if (empty($row['key']))
295
-				$badQuery[$row['table']] .= ' No Index Key Used;';
296
-			if (!empty($row['Extra']) && substr_count($row['Extra'], 'Using filesort') > 0)
297
-				$badQuery[$row['table']] .= ' Using FileSort;';
298
-			if (!empty($row['Extra']) && substr_count($row['Extra'], 'Using temporary') > 0)
299
-				$badQuery[$row['table']] .= ' Using Temporary Table;';
298
+			if (strtoupper($row['type']) == 'ALL') {
299
+							$badQuery[$row['table']]  .=  ' Full Table Scan;';
300
+			}
301
+			if (empty($row['key'])) {
302
+							$badQuery[$row['table']] .= ' No Index Key Used;';
303
+			}
304
+			if (!empty($row['Extra']) && substr_count($row['Extra'], 'Using filesort') > 0) {
305
+							$badQuery[$row['table']] .= ' Using FileSort;';
306
+			}
307
+			if (!empty($row['Extra']) && substr_count($row['Extra'], 'Using temporary') > 0) {
308
+							$badQuery[$row['table']] .= ' Using Temporary Table;';
309
+			}
300 310
 		}
301 311
 
302
-		if ( empty($badQuery) )
303
-			return true;
312
+		if ( empty($badQuery) ) {
313
+					return true;
314
+		}
304 315
 
305 316
 		foreach($badQuery as $table=>$data ){
306 317
 			if(!empty($data)){
@@ -308,8 +319,7 @@  discard block
 block discarded – undo
308 319
 				if(!empty($GLOBALS['sugar_config']['check_query_log'])){
309 320
 					$GLOBALS['log']->fatal($sql);
310 321
 					$GLOBALS['log']->fatal('CHECK QUERY:' .$warning);
311
-				}
312
-				else{
322
+				} else{
313 323
 					$GLOBALS['log']->warn('CHECK QUERY:' .$warning);
314 324
 				}
315 325
 			}
@@ -333,14 +343,18 @@  discard block
 block discarded – undo
333 343
 			$matches = array();
334 344
 			preg_match_all('/(\w+)(?:\(([0-9]+,?[0-9]*)\)|)( unsigned)?/i', $row['Type'], $matches);
335 345
 			$columns[$name]['type']=strtolower($matches[1][0]);
336
-			if ( isset($matches[2][0]) && in_array(strtolower($matches[1][0]),array('varchar','char','varchar2','int','decimal','float')) )
337
-				$columns[$name]['len']=strtolower($matches[2][0]);
338
-			if ( stristr($row['Extra'],'auto_increment') )
339
-				$columns[$name]['auto_increment'] = '1';
340
-			if ($row['Null'] == 'NO' && !stristr($row['Key'],'PRI'))
341
-				$columns[$name]['required'] = 'true';
342
-			if (!empty($row['Default']) )
343
-				$columns[$name]['default'] = $row['Default'];
346
+			if ( isset($matches[2][0]) && in_array(strtolower($matches[1][0]),array('varchar','char','varchar2','int','decimal','float')) ) {
347
+							$columns[$name]['len']=strtolower($matches[2][0]);
348
+			}
349
+			if ( stristr($row['Extra'],'auto_increment') ) {
350
+							$columns[$name]['auto_increment'] = '1';
351
+			}
352
+			if ($row['Null'] == 'NO' && !stristr($row['Key'],'PRI')) {
353
+							$columns[$name]['required'] = 'true';
354
+			}
355
+			if (!empty($row['Default']) ) {
356
+							$columns[$name]['default'] = $row['Default'];
357
+			}
344 358
 		}
345 359
 		return $columns;
346 360
 	}
@@ -352,17 +366,20 @@  discard block
 block discarded – undo
352 366
 	{
353 367
 		$field_array = array();
354 368
 
355
-		if(empty($result))
356
-			return 0;
369
+		if(empty($result)) {
370
+					return 0;
371
+		}
357 372
 
358 373
 		$fields = mysql_num_fields($result);
359 374
 		for ($i=0; $i < $fields; $i++) {
360 375
 			$meta = mysql_fetch_field($result, $i);
361
-			if (!$meta)
362
-				return array();
376
+			if (!$meta) {
377
+							return array();
378
+			}
363 379
 
364
-			if($make_lower_case == true)
365
-				$meta->name = strtolower($meta->name);
380
+			if($make_lower_case == true) {
381
+							$meta->name = strtolower($meta->name);
382
+			}
366 383
 
367 384
 			$field_array[] = $meta->name;
368 385
 		}
@@ -375,7 +392,9 @@  discard block
 block discarded – undo
375 392
 	 */
376 393
 	public function fetchRow($result)
377 394
 	{
378
-		if (empty($result))	return false;
395
+		if (empty($result)) {
396
+		    return false;
397
+		}
379 398
 
380 399
 		return mysql_fetch_assoc($result);
381 400
 	}
@@ -419,7 +438,9 @@  discard block
 block discarded – undo
419 438
 
420 439
 		if ($this->getDatabase()) {
421 440
 			$result = $this->query("SHOW TABLES LIKE ".$this->quoted($tableName));
422
-			if(empty($result)) return false;
441
+			if(empty($result)) {
442
+			    return false;
443
+			}
423 444
 			$row = $this->fetchByAssoc($result);
424 445
 			return !empty($row);
425 446
 		}
@@ -474,8 +495,9 @@  discard block
 block discarded – undo
474 495
 	{
475 496
 		global $sugar_config;
476 497
 
477
-		if(is_null($configOptions))
478
-			$configOptions = $sugar_config['dbconfig'];
498
+		if(is_null($configOptions)) {
499
+					$configOptions = $sugar_config['dbconfig'];
500
+		}
479 501
 
480 502
 		if ($this->getOption('persistent')) {
481 503
 			$this->database = @mysql_pconnect(
@@ -528,8 +550,9 @@  discard block
 block discarded – undo
528 550
 		}
529 551
 	    mysql_query($names, $this->database);
530 552
 
531
-		if(!$this->checkError('Could Not Connect:', $dieOnError))
532
-			$GLOBALS['log']->info("connected to db");
553
+		if(!$this->checkError('Could Not Connect:', $dieOnError)) {
554
+					$GLOBALS['log']->info("connected to db");
555
+		}
533 556
 		$this->connectOptions = $configOptions;
534 557
 
535 558
 		$GLOBALS['log']->info("Connect:".$this->database);
@@ -546,8 +569,9 @@  discard block
 block discarded – undo
546 569
 	{
547 570
 		$sql = parent::repairTableParams($tablename,$fielddefs,$indices,false,$engine);
548 571
 
549
-		if ( $sql == '' )
550
-			return '';
572
+		if ( $sql == '' ) {
573
+					return '';
574
+		}
551 575
 
552 576
 		if ( stristr($sql,'create table') )
553 577
 		{
@@ -574,8 +598,9 @@  discard block
 block discarded – undo
574 598
 		$sql = str_replace("\n","",$sql);
575 599
 		$sql = "ALTER TABLE $tablename $sql";
576 600
 
577
-		if ( $execute )
578
-			$this->query($sql,'Error with MySQL repair table');
601
+		if ( $execute ) {
602
+					$this->query($sql,'Error with MySQL repair table');
603
+		}
579 604
 
580 605
 		// and re-add the comments at the beginning
581 606
 		$sql = implode("\n",$commentBlocks) . "\n". $sql . "\n";
@@ -672,15 +697,18 @@  discard block
 block discarded – undo
672 697
 	 */
673 698
 	protected function isEngineEnabled($engine)
674 699
 	{
675
-		if(!is_string($engine)) return false;
700
+		if(!is_string($engine)) {
701
+		    return false;
702
+		}
676 703
 
677 704
 		$engine = strtoupper($engine);
678 705
 
679 706
 		$r = $this->query("SHOW ENGINES");
680 707
 
681
-		while ( $row = $this->fetchByAssoc($r) )
682
-			if ( strtoupper($row['Engine']) == $engine )
708
+		while ( $row = $this->fetchByAssoc($r) ) {
709
+					if ( strtoupper($row['Engine']) == $engine )
683 710
 				return ($row['Support']=='YES' || $row['Support']=='DEFAULT');
711
+		}
684 712
 
685 713
 		return false;
686 714
 	}
@@ -708,18 +736,22 @@  discard block
 block discarded – undo
708 736
 	*/
709 737
 	public function createTableSQLParams($tablename, $fieldDefs, $indices, $engine = null)
710 738
 	{
711
-		if ( empty($engine) && isset($fieldDefs['engine']))
712
-			$engine = $fieldDefs['engine'];
713
-		if ( !$this->isEngineEnabled($engine) )
714
-			$engine = '';
739
+		if ( empty($engine) && isset($fieldDefs['engine'])) {
740
+					$engine = $fieldDefs['engine'];
741
+		}
742
+		if ( !$this->isEngineEnabled($engine) ) {
743
+					$engine = '';
744
+		}
715 745
 
716 746
 		$columns = $this->columnSQLRep($fieldDefs, false, $tablename);
717
-		if (empty($columns))
718
-			return false;
747
+		if (empty($columns)) {
748
+					return false;
749
+		}
719 750
 
720 751
 		$keys = $this->keysSQL($indices);
721
-		if (!empty($keys))
722
-			$keys = ",$keys";
752
+		if (!empty($keys)) {
753
+					$keys = ",$keys";
754
+		}
723 755
 
724 756
 		// cn: bug 9873 - module tables do not get created in utf8 with assoc collation
725 757
 		$collation = $this->getOption('collation');
@@ -728,8 +760,9 @@  discard block
 block discarded – undo
728 760
 		}
729 761
 		$sql = "CREATE TABLE $tablename ($columns $keys) CHARACTER SET utf8 COLLATE $collation";
730 762
 
731
-		if (!empty($engine))
732
-			$sql.= " ENGINE=$engine";
763
+		if (!empty($engine)) {
764
+					$sql.= " ENGINE=$engine";
765
+		}
733 766
 
734 767
 		return $sql;
735 768
 	}
@@ -758,13 +791,15 @@  discard block
 block discarded – undo
758 791
 
759 792
 		// bug 22338 - don't set a default value on text or blob fields
760 793
 		if ( isset($ref['default']) &&
761
-            in_array($ref['colBaseType'], array('text', 'blob', 'longtext', 'longblob')))
762
-			    $ref['default'] = '';
794
+            in_array($ref['colBaseType'], array('text', 'blob', 'longtext', 'longblob'))) {
795
+					    $ref['default'] = '';
796
+		}
763 797
 
764
-		if ( $return_as_array )
765
-			return $ref;
766
-		else
767
-			return "{$ref['name']} {$ref['colType']} {$ref['default']} {$ref['required']} {$ref['auto_increment']}";
798
+		if ( $return_as_array ) {
799
+					return $ref;
800
+		} else {
801
+					return "{$ref['name']} {$ref['colType']} {$ref['default']} {$ref['required']} {$ref['auto_increment']}";
802
+		}
768 803
 	}
769 804
 
770 805
 	/**
@@ -775,16 +810,18 @@  discard block
 block discarded – undo
775 810
 		$columns = array();
776 811
 		if ($this->isFieldArray($fieldDefs)){
777 812
 			foreach ($fieldDefs as $def){
778
-				if ($action == 'drop')
779
-					$columns[] = $def['name'];
780
-				else
781
-					$columns[] = $this->oneColumnSQLRep($def, $ignoreRequired);
813
+				if ($action == 'drop') {
814
+									$columns[] = $def['name'];
815
+				} else {
816
+									$columns[] = $this->oneColumnSQLRep($def, $ignoreRequired);
817
+				}
782 818
 			}
783 819
 		} else {
784
-			if ($action == 'drop')
785
-				$columns[] = $fieldDefs['name'];
786
-		else
787
-			$columns[] = $this->oneColumnSQLRep($fieldDefs);
820
+			if ($action == 'drop') {
821
+							$columns[] = $fieldDefs['name'];
822
+			} else {
823
+					$columns[] = $this->oneColumnSQLRep($fieldDefs);
824
+		}
788 825
 		}
789 826
 
790 827
 		return "ALTER TABLE $tablename $action COLUMN ".implode(",$action column ", $columns);
@@ -806,23 +843,27 @@  discard block
 block discarded – undo
806 843
 	{
807 844
 	// check if the passed value is an array of fields.
808 845
 	// if not, convert it into an array
809
-	if (!$this->isFieldArray($indices))
810
-		$indices[] = $indices;
846
+	if (!$this->isFieldArray($indices)) {
847
+			$indices[] = $indices;
848
+	}
811 849
 
812 850
 	$columns = array();
813 851
 	foreach ($indices as $index) {
814
-		if(!empty($index['db']) && $index['db'] != $this->dbType)
815
-			continue;
816
-		if (isset($index['source']) && $index['source'] != 'db')
817
-			continue;
852
+		if(!empty($index['db']) && $index['db'] != $this->dbType) {
853
+					continue;
854
+		}
855
+		if (isset($index['source']) && $index['source'] != 'db') {
856
+					continue;
857
+		}
818 858
 
819 859
 		$type = $index['type'];
820 860
 		$name = $index['name'];
821 861
 
822
-		if (is_array($index['fields']))
823
-			$fields = implode(", ", $index['fields']);
824
-		else
825
-			$fields = $index['fields'];
862
+		if (is_array($index['fields'])) {
863
+					$fields = implode(", ", $index['fields']);
864
+		} else {
865
+					$fields = $index['fields'];
866
+		}
826 867
 
827 868
 		switch ($type) {
828 869
 		case 'unique':
@@ -841,16 +882,18 @@  discard block
 block discarded – undo
841 882
 				* that this can easily be fixed by referring to db dictionary
842 883
 				* to find the correct primary field name
843 884
 				*/
844
-			if ( $alter_table )
845
-				$columns[] = " INDEX $name ($fields)";
846
-			else
847
-				$columns[] = " KEY $name ($fields)";
885
+			if ( $alter_table ) {
886
+							$columns[] = " INDEX $name ($fields)";
887
+			} else {
888
+							$columns[] = " KEY $name ($fields)";
889
+			}
848 890
 			break;
849 891
 		case 'fulltext':
850
-			if ($this->full_text_indexing_installed())
851
-				$columns[] = " FULLTEXT ($fields)";
852
-			else
853
-				$GLOBALS['log']->debug('MYISAM engine is not available/enabled, full-text indexes will be skipped. Skipping:',$name);
892
+			if ($this->full_text_indexing_installed()) {
893
+							$columns[] = " FULLTEXT ($fields)";
894
+			} else {
895
+							$GLOBALS['log']->debug('MYISAM engine is not available/enabled, full-text indexes will be skipped. Skipping:',$name);
896
+			}
854 897
 			break;
855 898
 		}
856 899
 	}
@@ -892,8 +935,9 @@  discard block
 block discarded – undo
892 935
 	{
893 936
 		$result = $this->query("SHOW TABLE STATUS LIKE '$table'");
894 937
 		$row = $this->fetchByAssoc($result);
895
-		if (!empty($row['Auto_increment']))
896
-			return $row['Auto_increment'];
938
+		if (!empty($row['Auto_increment'])) {
939
+					return $row['Auto_increment'];
940
+		}
897 941
 
898 942
 		return "";
899 943
 	}
@@ -911,8 +955,7 @@  discard block
 block discarded – undo
911 955
 			$index_type='index';
912 956
 			if ($row['Key_name'] =='PRIMARY') {
913 957
 				$index_type='primary';
914
-			}
915
-			elseif ( $row['Non_unique'] == '0' ) {
958
+			} elseif ( $row['Non_unique'] == '0' ) {
916 959
 				$index_type='unique';
917 960
 			}
918 961
 			$name = strtolower($row['Key_name']);
@@ -938,29 +981,33 @@  discard block
 block discarded – undo
938 981
 		case 'index':
939 982
 		case 'alternate_key':
940 983
 		case 'clustered':
941
-			if ($drop)
942
-				$sql = "ALTER TABLE {$table} DROP INDEX {$name} ";
943
-			else
944
-				$sql = "ALTER TABLE {$table} ADD INDEX {$name} ({$fields})";
984
+			if ($drop) {
985
+							$sql = "ALTER TABLE {$table} DROP INDEX {$name} ";
986
+			} else {
987
+							$sql = "ALTER TABLE {$table} ADD INDEX {$name} ({$fields})";
988
+			}
945 989
 			break;
946 990
 		// constraints as indices
947 991
 		case 'unique':
948
-			if ($drop)
949
-				$sql = "ALTER TABLE {$table} DROP INDEX $name";
950
-			else
951
-				$sql = "ALTER TABLE {$table} ADD CONSTRAINT UNIQUE {$name} ({$fields})";
992
+			if ($drop) {
993
+							$sql = "ALTER TABLE {$table} DROP INDEX $name";
994
+			} else {
995
+							$sql = "ALTER TABLE {$table} ADD CONSTRAINT UNIQUE {$name} ({$fields})";
996
+			}
952 997
 			break;
953 998
 		case 'primary':
954
-			if ($drop)
955
-				$sql = "ALTER TABLE {$table} DROP PRIMARY KEY";
956
-			else
957
-				$sql = "ALTER TABLE {$table} ADD CONSTRAINT PRIMARY KEY ({$fields})";
999
+			if ($drop) {
1000
+							$sql = "ALTER TABLE {$table} DROP PRIMARY KEY";
1001
+			} else {
1002
+							$sql = "ALTER TABLE {$table} ADD CONSTRAINT PRIMARY KEY ({$fields})";
1003
+			}
958 1004
 			break;
959 1005
 		case 'foreign':
960
-			if ($drop)
961
-				$sql = "ALTER TABLE {$table} DROP FOREIGN KEY ({$fields})";
962
-			else
963
-				$sql = "ALTER TABLE {$table} ADD CONSTRAINT FOREIGN KEY {$name} ({$fields}) REFERENCES {$definition['foreignTable']}({$definition['foreignField']})";
1006
+			if ($drop) {
1007
+							$sql = "ALTER TABLE {$table} DROP FOREIGN KEY ({$fields})";
1008
+			} else {
1009
+							$sql = "ALTER TABLE {$table} ADD CONSTRAINT FOREIGN KEY {$name} ({$fields}) REFERENCES {$definition['foreignTable']}({$definition['foreignField']})";
1010
+			}
964 1011
 			break;
965 1012
 		}
966 1013
 		return $sql;
@@ -1003,22 +1050,30 @@  discard block
 block discarded – undo
1003 1050
 			($fieldDef['dbType'] == 'text'
1004 1051
 				|| $fieldDef['dbType'] == 'blob'
1005 1052
 				|| $fieldDef['dbType'] == 'longtext'
1006
-				|| $fieldDef['dbType'] == 'longblob' ))
1007
-			unset($fieldDef['default']);
1008
-		if ($fieldDef['dbType'] == 'uint')
1009
-			$fieldDef['len'] = '10';
1010
-		if ($fieldDef['dbType'] == 'ulong')
1011
-			$fieldDef['len'] = '20';
1012
-		if ($fieldDef['dbType'] == 'bool')
1013
-			$fieldDef['type'] = 'tinyint';
1014
-		if ($fieldDef['dbType'] == 'bool' && empty($fieldDef['default']) )
1015
-			$fieldDef['default'] = '0';
1016
-		if (($fieldDef['dbType'] == 'varchar' || $fieldDef['dbType'] == 'enum') && empty($fieldDef['len']) )
1017
-			$fieldDef['len'] = '255';
1018
-		if ($fieldDef['dbType'] == 'uint')
1019
-			$fieldDef['len'] = '10';
1020
-		if ($fieldDef['dbType'] == 'int' && empty($fieldDef['len']) )
1021
-			$fieldDef['len'] = '11';
1053
+				|| $fieldDef['dbType'] == 'longblob' )) {
1054
+					unset($fieldDef['default']);
1055
+		}
1056
+		if ($fieldDef['dbType'] == 'uint') {
1057
+					$fieldDef['len'] = '10';
1058
+		}
1059
+		if ($fieldDef['dbType'] == 'ulong') {
1060
+					$fieldDef['len'] = '20';
1061
+		}
1062
+		if ($fieldDef['dbType'] == 'bool') {
1063
+					$fieldDef['type'] = 'tinyint';
1064
+		}
1065
+		if ($fieldDef['dbType'] == 'bool' && empty($fieldDef['default']) ) {
1066
+					$fieldDef['default'] = '0';
1067
+		}
1068
+		if (($fieldDef['dbType'] == 'varchar' || $fieldDef['dbType'] == 'enum') && empty($fieldDef['len']) ) {
1069
+					$fieldDef['len'] = '255';
1070
+		}
1071
+		if ($fieldDef['dbType'] == 'uint') {
1072
+					$fieldDef['len'] = '10';
1073
+		}
1074
+		if ($fieldDef['dbType'] == 'int' && empty($fieldDef['len']) ) {
1075
+					$fieldDef['len'] = '11';
1076
+		}
1022 1077
 
1023 1078
 		if($fieldDef['dbType'] == 'decimal') {
1024 1079
 			if(isset($fieldDef['len'])) {
@@ -1058,8 +1113,9 @@  discard block
 block discarded – undo
1058 1113
 		}
1059 1114
 		if (!empty($sql)) {
1060 1115
             $sql = "ALTER TABLE $tablename " . join(",", $sql) . ";";
1061
-			if($execute)
1062
-				$this->query($sql);
1116
+			if($execute) {
1117
+							$this->query($sql);
1118
+			}
1063 1119
 		} else {
1064 1120
 			$sql = '';
1065 1121
 		}
Please login to merge, or discard this patch.
include/database/MysqliManager.php 3 patches
Braces   +34 added lines, -19 removed lines patch added patch discarded remove patch
@@ -1,5 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if(!defined('sugarEntry') || !sugarEntry) {
3
+    die('Not A Valid Entry Point');
4
+}
3 5
 /*********************************************************************************
4 6
  * SugarCRM Community Edition is a customer relationship management program developed by
5 7
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -135,8 +137,9 @@  discard block
 block discarded – undo
135 137
 		$result = $suppress?@mysqli_query($this->database,$sql):mysqli_query($this->database,$sql);
136 138
 		$md5 = md5($sql);
137 139
 
138
-		if (empty($queryMD5[$md5]))
139
-			$queryMD5[$md5] = true;
140
+		if (empty($queryMD5[$md5])) {
141
+					$queryMD5[$md5] = true;
142
+		}
140 143
 
141 144
 		$this->query_time = microtime(true) - $this->query_time;
142 145
 		$GLOBALS['log']->info('Query Execution Time:'.$this->query_time);
@@ -154,8 +157,9 @@  discard block
 block discarded – undo
154 157
 		*/
155 158
 
156 159
 
157
-		if($keepResult)
158
-			$this->lastResult = $result;
160
+		if($keepResult) {
161
+					$this->lastResult = $result;
162
+		}
159 163
 		$this->checkError($msg.' Query Failed: ' . $sql, $dieOnError);
160 164
 
161 165
 		return $result;
@@ -208,8 +212,9 @@  discard block
 block discarded – undo
208 212
 	 */
209 213
 	protected function freeDbResult($dbResult)
210 214
 	{
211
-		if(!empty($dbResult))
212
-			mysqli_free_result($dbResult);
215
+		if(!empty($dbResult)) {
216
+					mysqli_free_result($dbResult);
217
+		}
213 218
 	}
214 219
 
215 220
 	/**
@@ -219,17 +224,20 @@  discard block
 block discarded – undo
219 224
 	{
220 225
 		$field_array = array();
221 226
 
222
-		if (!isset($result) || empty($result))
223
-			return 0;
227
+		if (!isset($result) || empty($result)) {
228
+					return 0;
229
+		}
224 230
 
225 231
 		$i = 0;
226 232
 		while ($i < mysqli_num_fields($result)) {
227 233
 			$meta = mysqli_fetch_field_direct($result, $i);
228
-			if (!$meta)
229
-				return 0;
234
+			if (!$meta) {
235
+							return 0;
236
+			}
230 237
 
231
-			if($make_lower_case == true)
232
-				$meta->name = strtolower($meta->name);
238
+			if($make_lower_case == true) {
239
+							$meta->name = strtolower($meta->name);
240
+			}
233 241
 
234 242
 			$field_array[] = $meta->name;
235 243
 
@@ -244,10 +252,15 @@  discard block
 block discarded – undo
244 252
 	 */
245 253
 	public function fetchRow($result)
246 254
 	{
247
-		if (empty($result))	return false;
255
+		if (empty($result)) {
256
+		    return false;
257
+		}
248 258
 
249 259
 		$row = mysqli_fetch_assoc($result);
250
-		if($row == null) $row = false; //Make sure MySQLi driver results are consistent with other database drivers
260
+		if($row == null) {
261
+		    $row = false;
262
+		}
263
+		//Make sure MySQLi driver results are consistent with other database drivers
251 264
 		return $row;
252 265
 	}
253 266
 
@@ -266,8 +279,9 @@  discard block
 block discarded – undo
266 279
 	{
267 280
 		global $sugar_config;
268 281
 
269
-		if (is_null($configOptions))
270
-			$configOptions = $sugar_config['dbconfig'];
282
+		if (is_null($configOptions)) {
283
+					$configOptions = $sugar_config['dbconfig'];
284
+		}
271 285
 
272 286
 		if(!isset($this->database)) {
273 287
 
@@ -318,8 +332,9 @@  discard block
 block discarded – undo
318 332
 		}
319 333
 	    mysqli_query($this->database,$names);
320 334
 
321
-		if($this->checkError('Could Not Connect', $dieOnError))
322
-			$GLOBALS['log']->info("connected to db");
335
+		if($this->checkError('Could Not Connect', $dieOnError)) {
336
+					$GLOBALS['log']->info("connected to db");
337
+		}
323 338
 
324 339
 		$this->connectOptions = $configOptions;
325 340
 		return true;
Please login to merge, or discard this patch.
Indentation   +252 added lines, -252 removed lines patch added patch discarded remove patch
@@ -98,51 +98,51 @@  discard block
 block discarded – undo
98 98
  */
99 99
 class MysqliManager extends MysqlManager
100 100
 {
101
-	/**
102
-	 * @see DBManager::$dbType
103
-	 */
104
-	public $dbType = 'mysql';
105
-	public $variant = 'mysqli';
106
-	public $priority = 10;
107
-	public $label = 'LBL_MYSQLI';
108
-
109
-	/**
110
-	 * @see DBManager::$backendFunctions
111
-	 */
112
-	protected $backendFunctions = array(
113
-		'free_result'        => 'mysqli_free_result',
114
-		'close'              => 'mysqli_close',
115
-		'row_count'          => 'mysqli_num_rows',
116
-		'affected_row_count' => 'mysqli_affected_rows',
117
-		);
118
-
119
-	/**
120
-	 * @see MysqlManager::query()
121
-	 */
122
-	public function query($sql, $dieOnError = false, $msg = '', $suppress = false, $keepResult = false)
123
-	{
124
-		if(is_array($sql)) {
125
-			return $this->queryArray($sql, $dieOnError, $msg, $suppress);
101
+    /**
102
+     * @see DBManager::$dbType
103
+     */
104
+    public $dbType = 'mysql';
105
+    public $variant = 'mysqli';
106
+    public $priority = 10;
107
+    public $label = 'LBL_MYSQLI';
108
+
109
+    /**
110
+     * @see DBManager::$backendFunctions
111
+     */
112
+    protected $backendFunctions = array(
113
+        'free_result'        => 'mysqli_free_result',
114
+        'close'              => 'mysqli_close',
115
+        'row_count'          => 'mysqli_num_rows',
116
+        'affected_row_count' => 'mysqli_affected_rows',
117
+        );
118
+
119
+    /**
120
+     * @see MysqlManager::query()
121
+     */
122
+    public function query($sql, $dieOnError = false, $msg = '', $suppress = false, $keepResult = false)
123
+    {
124
+        if(is_array($sql)) {
125
+            return $this->queryArray($sql, $dieOnError, $msg, $suppress);
126 126
         }
127 127
 
128
-		static $queryMD5 = array();
128
+        static $queryMD5 = array();
129 129
 
130
-		parent::countQuery($sql);
131
-		$GLOBALS['log']->info('Query:' . $sql);
132
-		$this->checkConnection();
133
-		$this->query_time = microtime(true);
134
-		$this->lastsql = $sql;
135
-		$result = $suppress?@mysqli_query($this->database,$sql):mysqli_query($this->database,$sql);
136
-		$md5 = md5($sql);
130
+        parent::countQuery($sql);
131
+        $GLOBALS['log']->info('Query:' . $sql);
132
+        $this->checkConnection();
133
+        $this->query_time = microtime(true);
134
+        $this->lastsql = $sql;
135
+        $result = $suppress?@mysqli_query($this->database,$sql):mysqli_query($this->database,$sql);
136
+        $md5 = md5($sql);
137 137
 
138
-		if (empty($queryMD5[$md5]))
139
-			$queryMD5[$md5] = true;
138
+        if (empty($queryMD5[$md5]))
139
+            $queryMD5[$md5] = true;
140 140
 
141
-		$this->query_time = microtime(true) - $this->query_time;
142
-		$GLOBALS['log']->info('Query Execution Time:'.$this->query_time);
141
+        $this->query_time = microtime(true) - $this->query_time;
142
+        $GLOBALS['log']->info('Query Execution Time:'.$this->query_time);
143 143
 
144
-		// This is some heavy duty debugging, leave commented out unless you need this:
145
-		/*
144
+        // This is some heavy duty debugging, leave commented out unless you need this:
145
+        /*
146 146
 		$bt = debug_backtrace();
147 147
 		for ( $i = count($bt) ; $i-- ; $i > 0 ) {
148 148
 			if ( strpos('MysqliManager.php',$bt[$i]['file']) === false ) {
@@ -154,228 +154,228 @@  discard block
 block discarded – undo
154 154
 		*/
155 155
 
156 156
 
157
-		if($keepResult)
158
-			$this->lastResult = $result;
159
-		$this->checkError($msg.' Query Failed: ' . $sql, $dieOnError);
160
-
161
-		return $result;
162
-	}
163
-
164
-	/**
165
-	 * Returns the number of rows affected by the last query
166
-	 *
167
-	 * @return int
168
-	 */
169
-	public function getAffectedRowCount($result)
170
-	{
171
-		return mysqli_affected_rows($this->getDatabase());
172
-	}
173
-
174
-	/**
175
-	 * Returns the number of rows returned by the result
176
-	 *
177
-	 * This function can't be reliably implemented on most DB, do not use it.
178
-	 * @abstract
179
-	 * @deprecated
180
-	 * @param  resource $result
181
-	 * @return int
182
-	 */
183
-	public function getRowCount($result)
184
-	{
185
-	    return mysqli_num_rows($result);
186
-	}
157
+        if($keepResult)
158
+            $this->lastResult = $result;
159
+        $this->checkError($msg.' Query Failed: ' . $sql, $dieOnError);
187 160
 
161
+        return $result;
162
+    }
188 163
 
189 164
     /**
190
-	 * Disconnects from the database
191
-	 *
192
-	 * Also handles any cleanup needed
193
-	 */
194
-	public function disconnect()
195
-	{
196
-		if(isset($GLOBALS['log']) && !is_null($GLOBALS['log'])) {
197
-			$GLOBALS['log']->debug('Calling MySQLi::disconnect()');
198
-		}
199
-		if(!empty($this->database)){
200
-			$this->freeResult();
201
-			mysqli_close($this->database);
202
-			$this->database = null;
203
-		}
204
-	}
205
-
206
-	/**
207
-	 * @see DBManager::freeDbResult()
208
-	 */
209
-	protected function freeDbResult($dbResult)
210
-	{
211
-		if(!empty($dbResult))
212
-			mysqli_free_result($dbResult);
213
-	}
214
-
215
-	/**
216
-	 * @see DBManager::getFieldsArray()
217
-	 */
218
-	public function getFieldsArray($result, $make_lower_case = false)
219
-	{
220
-		$field_array = array();
221
-
222
-		if (!isset($result) || empty($result))
223
-			return 0;
224
-
225
-		$i = 0;
226
-		while ($i < mysqli_num_fields($result)) {
227
-			$meta = mysqli_fetch_field_direct($result, $i);
228
-			if (!$meta)
229
-				return 0;
230
-
231
-			if($make_lower_case == true)
232
-				$meta->name = strtolower($meta->name);
233
-
234
-			$field_array[] = $meta->name;
235
-
236
-			$i++;
237
-		}
165
+     * Returns the number of rows affected by the last query
166
+     *
167
+     * @return int
168
+     */
169
+    public function getAffectedRowCount($result)
170
+    {
171
+        return mysqli_affected_rows($this->getDatabase());
172
+    }
173
+
174
+    /**
175
+     * Returns the number of rows returned by the result
176
+     *
177
+     * This function can't be reliably implemented on most DB, do not use it.
178
+     * @abstract
179
+     * @deprecated
180
+     * @param  resource $result
181
+     * @return int
182
+     */
183
+    public function getRowCount($result)
184
+    {
185
+        return mysqli_num_rows($result);
186
+    }
187
+
188
+
189
+    /**
190
+     * Disconnects from the database
191
+     *
192
+     * Also handles any cleanup needed
193
+     */
194
+    public function disconnect()
195
+    {
196
+        if(isset($GLOBALS['log']) && !is_null($GLOBALS['log'])) {
197
+            $GLOBALS['log']->debug('Calling MySQLi::disconnect()');
198
+        }
199
+        if(!empty($this->database)){
200
+            $this->freeResult();
201
+            mysqli_close($this->database);
202
+            $this->database = null;
203
+        }
204
+    }
205
+
206
+    /**
207
+     * @see DBManager::freeDbResult()
208
+     */
209
+    protected function freeDbResult($dbResult)
210
+    {
211
+        if(!empty($dbResult))
212
+            mysqli_free_result($dbResult);
213
+    }
214
+
215
+    /**
216
+     * @see DBManager::getFieldsArray()
217
+     */
218
+    public function getFieldsArray($result, $make_lower_case = false)
219
+    {
220
+        $field_array = array();
221
+
222
+        if (!isset($result) || empty($result))
223
+            return 0;
224
+
225
+        $i = 0;
226
+        while ($i < mysqli_num_fields($result)) {
227
+            $meta = mysqli_fetch_field_direct($result, $i);
228
+            if (!$meta)
229
+                return 0;
230
+
231
+            if($make_lower_case == true)
232
+                $meta->name = strtolower($meta->name);
233
+
234
+            $field_array[] = $meta->name;
235
+
236
+            $i++;
237
+        }
238
+
239
+        return $field_array;
240
+    }
241
+
242
+    /**
243
+     * @see DBManager::fetchRow()
244
+     */
245
+    public function fetchRow($result)
246
+    {
247
+        if (empty($result))	return false;
248
+
249
+        $row = mysqli_fetch_assoc($result);
250
+        if($row == null) $row = false; //Make sure MySQLi driver results are consistent with other database drivers
251
+        return $row;
252
+    }
238 253
 
239
-		return $field_array;
240
-	}
241
-
242
-	/**
243
-	 * @see DBManager::fetchRow()
244
-	 */
245
-	public function fetchRow($result)
246
-	{
247
-		if (empty($result))	return false;
248
-
249
-		$row = mysqli_fetch_assoc($result);
250
-		if($row == null) $row = false; //Make sure MySQLi driver results are consistent with other database drivers
251
-		return $row;
252
-	}
253
-
254
-	/**
255
-	 * @see DBManager::quote()
256
-	 */
257
-	public function quote($string)
258
-	{
259
-		return mysqli_real_escape_string($this->getDatabase(),$this->quoteInternal($string));
260
-	}
261
-
262
-	/**
263
-	 * @see DBManager::connect()
264
-	 */
265
-	public function connect(array $configOptions = null, $dieOnError = false)
266
-	{
267
-		global $sugar_config;
268
-
269
-		if (is_null($configOptions))
270
-			$configOptions = $sugar_config['dbconfig'];
271
-
272
-		if(!isset($this->database)) {
273
-
274
-			//mysqli connector has a separate parameter for port.. We need to separate it out from the host name
275
-			$dbhost=$configOptions['db_host_name'];
254
+    /**
255
+     * @see DBManager::quote()
256
+     */
257
+    public function quote($string)
258
+    {
259
+        return mysqli_real_escape_string($this->getDatabase(),$this->quoteInternal($string));
260
+    }
261
+
262
+    /**
263
+     * @see DBManager::connect()
264
+     */
265
+    public function connect(array $configOptions = null, $dieOnError = false)
266
+    {
267
+        global $sugar_config;
268
+
269
+        if (is_null($configOptions))
270
+            $configOptions = $sugar_config['dbconfig'];
271
+
272
+        if(!isset($this->database)) {
273
+
274
+            //mysqli connector has a separate parameter for port.. We need to separate it out from the host name
275
+            $dbhost=$configOptions['db_host_name'];
276 276
             $dbport=isset($configOptions['db_port']) ? ($configOptions['db_port'] == '' ? null : $configOptions['db_port']) : null;
277 277
 			
278
-			$pos=strpos($configOptions['db_host_name'],':');
279
-			if ($pos !== false) {
280
-				$dbhost=substr($configOptions['db_host_name'],0,$pos);
281
-				$dbport=substr($configOptions['db_host_name'],$pos+1);
282
-			}
283
-
284
-			$this->database = @mysqli_connect($dbhost,$configOptions['db_user_name'],$configOptions['db_password'],isset($configOptions['db_name'])?$configOptions['db_name']:'',$dbport);
285
-			if(empty($this->database)) {
286
-				$GLOBALS['log']->fatal("Could not connect to DB server ".$dbhost." as ".$configOptions['db_user_name'].". port " .$dbport . ": " . mysqli_connect_error());
287
-				if($dieOnError) {
288
-					if(isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
289
-						sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
290
-					} else {
291
-						sugar_die("Could not connect to the database. Please refer to suitecrm.log for details.");
292
-					}
293
-				} else {
294
-					return false;
295
-				}
296
-			}
297
-		}
278
+            $pos=strpos($configOptions['db_host_name'],':');
279
+            if ($pos !== false) {
280
+                $dbhost=substr($configOptions['db_host_name'],0,$pos);
281
+                $dbport=substr($configOptions['db_host_name'],$pos+1);
282
+            }
283
+
284
+            $this->database = @mysqli_connect($dbhost,$configOptions['db_user_name'],$configOptions['db_password'],isset($configOptions['db_name'])?$configOptions['db_name']:'',$dbport);
285
+            if(empty($this->database)) {
286
+                $GLOBALS['log']->fatal("Could not connect to DB server ".$dbhost." as ".$configOptions['db_user_name'].". port " .$dbport . ": " . mysqli_connect_error());
287
+                if($dieOnError) {
288
+                    if(isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
289
+                        sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
290
+                    } else {
291
+                        sugar_die("Could not connect to the database. Please refer to suitecrm.log for details.");
292
+                    }
293
+                } else {
294
+                    return false;
295
+                }
296
+            }
297
+        }
298 298
 
299
-		if(!empty($configOptions['db_name']) && !@mysqli_select_db($this->database,$configOptions['db_name'])) {
300
-			$GLOBALS['log']->fatal( "Unable to select database {$configOptions['db_name']}: " . mysqli_connect_error());
301
-			if($dieOnError) {
302
-					if(isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
303
-						sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
304
-					} else {
305
-						sugar_die("Could not connect to the database. Please refer to suitecrm.log for details.");
306
-					}
307
-			} else {
308
-				return false;
309
-			}
310
-	    }
299
+        if(!empty($configOptions['db_name']) && !@mysqli_select_db($this->database,$configOptions['db_name'])) {
300
+            $GLOBALS['log']->fatal( "Unable to select database {$configOptions['db_name']}: " . mysqli_connect_error());
301
+            if($dieOnError) {
302
+                    if(isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
303
+                        sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
304
+                    } else {
305
+                        sugar_die("Could not connect to the database. Please refer to suitecrm.log for details.");
306
+                    }
307
+            } else {
308
+                return false;
309
+            }
310
+        }
311 311
 
312
-		// cn: using direct calls to prevent this from spamming the Logs
312
+        // cn: using direct calls to prevent this from spamming the Logs
313 313
 	    
314
-	    $collation = $this->getOption('collation');
315
-	    if(!empty($collation)) {
316
-	    	$names = "SET NAMES 'utf8' COLLATE '$collation'";
317
-	    	mysqli_query($this->database,$names);
318
-		}
319
-	    mysqli_set_charset ($this->database , "utf8" );
320
-
321
-		if($this->checkError('Could Not Connect', $dieOnError))
322
-			$GLOBALS['log']->info("connected to db");
323
-
324
-		$this->connectOptions = $configOptions;
325
-		return true;
326
-	}
327
-
328
-	/**
329
-	 * (non-PHPdoc)
330
-	 * @see MysqlManager::lastDbError()
331
-	 */
332
-	public function lastDbError()
333
-	{
334
-		if($this->database) {
335
-		    if(mysqli_errno($this->database)) {
336
-			    return "MySQL error ".mysqli_errno($this->database).": ".mysqli_error($this->database);
337
-		    }
338
-		} else {
339
-			$err =  mysqli_connect_error();
340
-			if($err) {
341
-			    return $err;
342
-			}
343
-		}
314
+        $collation = $this->getOption('collation');
315
+        if(!empty($collation)) {
316
+            $names = "SET NAMES 'utf8' COLLATE '$collation'";
317
+            mysqli_query($this->database,$names);
318
+        }
319
+        mysqli_set_charset ($this->database , "utf8" );
344 320
 
345
-		return false;
346
-	}
321
+        if($this->checkError('Could Not Connect', $dieOnError))
322
+            $GLOBALS['log']->info("connected to db");
347 323
 
348
-	public function getDbInfo()
349
-	{
350
-		$charsets = $this->getCharsetInfo();
351
-		$charset_str = array();
352
-		foreach($charsets as $name => $value) {
353
-			$charset_str[] = "$name = $value";
354
-		}
355
-		return array(
356
-			"MySQLi Version" => @mysqli_get_client_info(),
357
-			"MySQLi Host Info" => @mysqli_get_host_info($this->database),
358
-			"MySQLi Server Info" => @mysqli_get_server_info($this->database),
359
-			"MySQLi Client Encoding" =>  @mysqli_client_encoding($this->database),
360
-			"MySQL Character Set Settings" => join(", ", $charset_str),
361
-		);
362
-	}
363
-
364
-	/**
365
-	 * Select database
366
-	 * @param string $dbname
367
-	 */
368
-	protected function selectDb($dbname)
369
-	{
370
-		return mysqli_select_db($this->getDatabase(), $dbname);
371
-	}
372
-
373
-	/**
374
-	 * Check if this driver can be used
375
-	 * @return bool
376
-	 */
377
-	public function valid()
378
-	{
379
-		return function_exists("mysqli_connect") && empty($GLOBALS['sugar_config']['mysqli_disabled']);
380
-	}
324
+        $this->connectOptions = $configOptions;
325
+        return true;
326
+    }
327
+
328
+    /**
329
+     * (non-PHPdoc)
330
+     * @see MysqlManager::lastDbError()
331
+     */
332
+    public function lastDbError()
333
+    {
334
+        if($this->database) {
335
+            if(mysqli_errno($this->database)) {
336
+                return "MySQL error ".mysqli_errno($this->database).": ".mysqli_error($this->database);
337
+            }
338
+        } else {
339
+            $err =  mysqli_connect_error();
340
+            if($err) {
341
+                return $err;
342
+            }
343
+        }
344
+
345
+        return false;
346
+    }
347
+
348
+    public function getDbInfo()
349
+    {
350
+        $charsets = $this->getCharsetInfo();
351
+        $charset_str = array();
352
+        foreach($charsets as $name => $value) {
353
+            $charset_str[] = "$name = $value";
354
+        }
355
+        return array(
356
+            "MySQLi Version" => @mysqli_get_client_info(),
357
+            "MySQLi Host Info" => @mysqli_get_host_info($this->database),
358
+            "MySQLi Server Info" => @mysqli_get_server_info($this->database),
359
+            "MySQLi Client Encoding" =>  @mysqli_client_encoding($this->database),
360
+            "MySQL Character Set Settings" => join(", ", $charset_str),
361
+        );
362
+    }
363
+
364
+    /**
365
+     * Select database
366
+     * @param string $dbname
367
+     */
368
+    protected function selectDb($dbname)
369
+    {
370
+        return mysqli_select_db($this->getDatabase(), $dbname);
371
+    }
372
+
373
+    /**
374
+     * Check if this driver can be used
375
+     * @return bool
376
+     */
377
+    public function valid()
378
+    {
379
+        return function_exists("mysqli_connect") && empty($GLOBALS['sugar_config']['mysqli_disabled']);
380
+    }
381 381
 }
Please login to merge, or discard this patch.
Spacing   +36 added lines, -36 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 3
 /*********************************************************************************
4 4
  * SugarCRM Community Edition is a customer relationship management program developed by
5 5
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -121,18 +121,18 @@  discard block
 block discarded – undo
121 121
 	 */
122 122
 	public function query($sql, $dieOnError = false, $msg = '', $suppress = false, $keepResult = false)
123 123
 	{
124
-		if(is_array($sql)) {
124
+		if (is_array($sql)) {
125 125
 			return $this->queryArray($sql, $dieOnError, $msg, $suppress);
126 126
         }
127 127
 
128 128
 		static $queryMD5 = array();
129 129
 
130 130
 		parent::countQuery($sql);
131
-		$GLOBALS['log']->info('Query:' . $sql);
131
+		$GLOBALS['log']->info('Query:'.$sql);
132 132
 		$this->checkConnection();
133 133
 		$this->query_time = microtime(true);
134 134
 		$this->lastsql = $sql;
135
-		$result = $suppress?@mysqli_query($this->database,$sql):mysqli_query($this->database,$sql);
135
+		$result = $suppress ? @mysqli_query($this->database, $sql) : mysqli_query($this->database, $sql);
136 136
 		$md5 = md5($sql);
137 137
 
138 138
 		if (empty($queryMD5[$md5]))
@@ -154,9 +154,9 @@  discard block
 block discarded – undo
154 154
 		*/
155 155
 
156 156
 
157
-		if($keepResult)
157
+		if ($keepResult)
158 158
 			$this->lastResult = $result;
159
-		$this->checkError($msg.' Query Failed: ' . $sql, $dieOnError);
159
+		$this->checkError($msg.' Query Failed: '.$sql, $dieOnError);
160 160
 
161 161
 		return $result;
162 162
 	}
@@ -193,10 +193,10 @@  discard block
 block discarded – undo
193 193
 	 */
194 194
 	public function disconnect()
195 195
 	{
196
-		if(isset($GLOBALS['log']) && !is_null($GLOBALS['log'])) {
196
+		if (isset($GLOBALS['log']) && !is_null($GLOBALS['log'])) {
197 197
 			$GLOBALS['log']->debug('Calling MySQLi::disconnect()');
198 198
 		}
199
-		if(!empty($this->database)){
199
+		if (!empty($this->database)) {
200 200
 			$this->freeResult();
201 201
 			mysqli_close($this->database);
202 202
 			$this->database = null;
@@ -208,7 +208,7 @@  discard block
 block discarded – undo
208 208
 	 */
209 209
 	protected function freeDbResult($dbResult)
210 210
 	{
211
-		if(!empty($dbResult))
211
+		if (!empty($dbResult))
212 212
 			mysqli_free_result($dbResult);
213 213
 	}
214 214
 
@@ -228,7 +228,7 @@  discard block
 block discarded – undo
228 228
 			if (!$meta)
229 229
 				return 0;
230 230
 
231
-			if($make_lower_case == true)
231
+			if ($make_lower_case == true)
232 232
 				$meta->name = strtolower($meta->name);
233 233
 
234 234
 			$field_array[] = $meta->name;
@@ -247,7 +247,7 @@  discard block
 block discarded – undo
247 247
 		if (empty($result))	return false;
248 248
 
249 249
 		$row = mysqli_fetch_assoc($result);
250
-		if($row == null) $row = false; //Make sure MySQLi driver results are consistent with other database drivers
250
+		if ($row == null) $row = false; //Make sure MySQLi driver results are consistent with other database drivers
251 251
 		return $row;
252 252
 	}
253 253
 
@@ -256,7 +256,7 @@  discard block
 block discarded – undo
256 256
 	 */
257 257
 	public function quote($string)
258 258
 	{
259
-		return mysqli_real_escape_string($this->getDatabase(),$this->quoteInternal($string));
259
+		return mysqli_real_escape_string($this->getDatabase(), $this->quoteInternal($string));
260 260
 	}
261 261
 
262 262
 	/**
@@ -269,23 +269,23 @@  discard block
 block discarded – undo
269 269
 		if (is_null($configOptions))
270 270
 			$configOptions = $sugar_config['dbconfig'];
271 271
 
272
-		if(!isset($this->database)) {
272
+		if (!isset($this->database)) {
273 273
 
274 274
 			//mysqli connector has a separate parameter for port.. We need to separate it out from the host name
275
-			$dbhost=$configOptions['db_host_name'];
276
-            $dbport=isset($configOptions['db_port']) ? ($configOptions['db_port'] == '' ? null : $configOptions['db_port']) : null;
275
+			$dbhost = $configOptions['db_host_name'];
276
+            $dbport = isset($configOptions['db_port']) ? ($configOptions['db_port'] == '' ? null : $configOptions['db_port']) : null;
277 277
 			
278
-			$pos=strpos($configOptions['db_host_name'],':');
278
+			$pos = strpos($configOptions['db_host_name'], ':');
279 279
 			if ($pos !== false) {
280
-				$dbhost=substr($configOptions['db_host_name'],0,$pos);
281
-				$dbport=substr($configOptions['db_host_name'],$pos+1);
280
+				$dbhost = substr($configOptions['db_host_name'], 0, $pos);
281
+				$dbport = substr($configOptions['db_host_name'], $pos + 1);
282 282
 			}
283 283
 
284
-			$this->database = @mysqli_connect($dbhost,$configOptions['db_user_name'],$configOptions['db_password'],isset($configOptions['db_name'])?$configOptions['db_name']:'',$dbport);
285
-			if(empty($this->database)) {
286
-				$GLOBALS['log']->fatal("Could not connect to DB server ".$dbhost." as ".$configOptions['db_user_name'].". port " .$dbport . ": " . mysqli_connect_error());
287
-				if($dieOnError) {
288
-					if(isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
284
+			$this->database = @mysqli_connect($dbhost, $configOptions['db_user_name'], $configOptions['db_password'], isset($configOptions['db_name']) ? $configOptions['db_name'] : '', $dbport);
285
+			if (empty($this->database)) {
286
+				$GLOBALS['log']->fatal("Could not connect to DB server ".$dbhost." as ".$configOptions['db_user_name'].". port ".$dbport.": ".mysqli_connect_error());
287
+				if ($dieOnError) {
288
+					if (isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
289 289
 						sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
290 290
 					} else {
291 291
 						sugar_die("Could not connect to the database. Please refer to suitecrm.log for details.");
@@ -296,10 +296,10 @@  discard block
 block discarded – undo
296 296
 			}
297 297
 		}
298 298
 
299
-		if(!empty($configOptions['db_name']) && !@mysqli_select_db($this->database,$configOptions['db_name'])) {
300
-			$GLOBALS['log']->fatal( "Unable to select database {$configOptions['db_name']}: " . mysqli_connect_error());
301
-			if($dieOnError) {
302
-					if(isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
299
+		if (!empty($configOptions['db_name']) && !@mysqli_select_db($this->database, $configOptions['db_name'])) {
300
+			$GLOBALS['log']->fatal("Unable to select database {$configOptions['db_name']}: ".mysqli_connect_error());
301
+			if ($dieOnError) {
302
+					if (isset($GLOBALS['app_strings']['ERR_NO_DB'])) {
303 303
 						sugar_die($GLOBALS['app_strings']['ERR_NO_DB']);
304 304
 					} else {
305 305
 						sugar_die("Could not connect to the database. Please refer to suitecrm.log for details.");
@@ -312,13 +312,13 @@  discard block
 block discarded – undo
312 312
 		// cn: using direct calls to prevent this from spamming the Logs
313 313
 	    
314 314
 	    $collation = $this->getOption('collation');
315
-	    if(!empty($collation)) {
315
+	    if (!empty($collation)) {
316 316
 	    	$names = "SET NAMES 'utf8' COLLATE '$collation'";
317
-	    	mysqli_query($this->database,$names);
317
+	    	mysqli_query($this->database, $names);
318 318
 		}
319
-	    mysqli_set_charset ($this->database , "utf8" );
319
+	    mysqli_set_charset($this->database, "utf8");
320 320
 
321
-		if($this->checkError('Could Not Connect', $dieOnError))
321
+		if ($this->checkError('Could Not Connect', $dieOnError))
322 322
 			$GLOBALS['log']->info("connected to db");
323 323
 
324 324
 		$this->connectOptions = $configOptions;
@@ -331,13 +331,13 @@  discard block
 block discarded – undo
331 331
 	 */
332 332
 	public function lastDbError()
333 333
 	{
334
-		if($this->database) {
335
-		    if(mysqli_errno($this->database)) {
334
+		if ($this->database) {
335
+		    if (mysqli_errno($this->database)) {
336 336
 			    return "MySQL error ".mysqli_errno($this->database).": ".mysqli_error($this->database);
337 337
 		    }
338 338
 		} else {
339
-			$err =  mysqli_connect_error();
340
-			if($err) {
339
+			$err = mysqli_connect_error();
340
+			if ($err) {
341 341
 			    return $err;
342 342
 			}
343 343
 		}
@@ -349,7 +349,7 @@  discard block
 block discarded – undo
349 349
 	{
350 350
 		$charsets = $this->getCharsetInfo();
351 351
 		$charset_str = array();
352
-		foreach($charsets as $name => $value) {
352
+		foreach ($charsets as $name => $value) {
353 353
 			$charset_str[] = "$name = $value";
354 354
 		}
355 355
 		return array(
Please login to merge, or discard this patch.
include/database/DBManagerFactory.php 3 patches
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -80,7 +80,7 @@  discard block
 block discarded – undo
80 80
                     }
81 81
                     break;
82 82
                 case "mssql":
83
-                  	if ( function_exists('sqlsrv_connect')
83
+                      if ( function_exists('sqlsrv_connect')
84 84
                                 && (empty($config['db_mssql_force_driver']) || $config['db_mssql_force_driver'] == 'sqlsrv' )) {
85 85
                         $my_db_manager = 'SqlsrvManager';
86 86
                     } elseif (self::isFreeTDS()
@@ -122,20 +122,20 @@  discard block
 block discarded – undo
122 122
     }
123 123
 
124 124
     /**
125
-	 * Returns a reference to the DB object for instance $instanceName, or the default
125
+     * Returns a reference to the DB object for instance $instanceName, or the default
126 126
      * instance if one is not specified
127 127
      *
128 128
      * @param  string $instanceName optional, name of the instance
129 129
      * @return object DBManager instance
130 130
      */
131
-	public static function getInstance($instanceName = '')
131
+    public static function getInstance($instanceName = '')
132 132
     {
133 133
         global $sugar_config;
134 134
         static $count = 0, $old_count = 0;
135 135
 
136 136
         //fall back to the default instance name
137 137
         if(empty($sugar_config['db'][$instanceName])){
138
-        	$instanceName = '';
138
+            $instanceName = '';
139 139
         }
140 140
         if(!isset(self::$instances[$instanceName])){
141 141
             $config = $sugar_config['dbconfig'];
@@ -248,7 +248,7 @@  discard block
 block discarded – undo
248 248
     /**
249 249
      * Check if we have freeTDS driver installed
250 250
      * Invoked when connected to mssql. checks if we have freetds version of mssql library.
251
-	 * the response is put into a global variable.
251
+     * the response is put into a global variable.
252 252
      * @return bool
253 253
      */
254 254
     public static function isFreeTDS()
@@ -256,14 +256,14 @@  discard block
 block discarded – undo
256 256
         static $is_freetds = null;
257 257
 
258 258
         if($is_freetds === null) {
259
-    		ob_start();
260
-    		phpinfo(INFO_MODULES);
261
-    		$info=ob_get_contents();
262
-    		ob_end_clean();
259
+            ob_start();
260
+            phpinfo(INFO_MODULES);
261
+            $info=ob_get_contents();
262
+            ob_end_clean();
263 263
 
264
-    		$is_freetds = (strpos($info,'FreeTDS') !== false);
264
+            $is_freetds = (strpos($info,'FreeTDS') !== false);
265 265
         }
266 266
 
267 267
         return $is_freetds;
268
-     }
268
+        }
269 269
 }
270 270
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +30 added lines, -30 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 3
 /*********************************************************************************
4 4
  * SugarCRM Community Edition is a customer relationship management program developed by
5 5
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -69,9 +69,9 @@  discard block
 block discarded – undo
69 69
     {
70 70
         global $sugar_config;
71 71
 
72
-        if(empty($config['db_manager'])) {
72
+        if (empty($config['db_manager'])) {
73 73
             // standard types
74
-            switch($type) {
74
+            switch ($type) {
75 75
                 case "mysql":
76 76
                     if (empty($sugar_config['mysqli_disabled']) && function_exists('mysqli_connect')) {
77 77
                         $my_db_manager = 'MysqliManager';
@@ -80,11 +80,11 @@  discard block
 block discarded – undo
80 80
                     }
81 81
                     break;
82 82
                 case "mssql":
83
-                  	if ( function_exists('sqlsrv_connect')
84
-                                && (empty($config['db_mssql_force_driver']) || $config['db_mssql_force_driver'] == 'sqlsrv' )) {
83
+                  	if (function_exists('sqlsrv_connect')
84
+                                && (empty($config['db_mssql_force_driver']) || $config['db_mssql_force_driver'] == 'sqlsrv')) {
85 85
                         $my_db_manager = 'SqlsrvManager';
86 86
                     } elseif (self::isFreeTDS()
87
-                                && (empty($config['db_mssql_force_driver']) || $config['db_mssql_force_driver'] == 'freetds' )) {
87
+                                && (empty($config['db_mssql_force_driver']) || $config['db_mssql_force_driver'] == 'freetds')) {
88 88
                         $my_db_manager = 'FreeTDSManager';
89 89
                     } else {
90 90
                         $my_db_manager = 'MssqlManager';
@@ -92,7 +92,7 @@  discard block
 block discarded – undo
92 92
                     break;
93 93
                 default:
94 94
                     $my_db_manager = self::getManagerByType($type, false);
95
-                    if(empty($my_db_manager)) {
95
+                    if (empty($my_db_manager)) {
96 96
                         $GLOBALS['log']->fatal("unable to load DB manager for: $type");
97 97
                         sugar_die("Cannot load DB manager");
98 98
                     }
@@ -104,17 +104,17 @@  discard block
 block discarded – undo
104 104
         // sanitize the name
105 105
         $my_db_manager = preg_replace("/[^A-Za-z0-9_-]/", "", $my_db_manager);
106 106
 
107
-        if(!empty($config['db_manager_class'])){
107
+        if (!empty($config['db_manager_class'])) {
108 108
             $my_db_manager = $config['db_manager_class'];
109 109
         } else {
110
-            if(file_exists("custom/include/database/{$my_db_manager}.php")) {
110
+            if (file_exists("custom/include/database/{$my_db_manager}.php")) {
111 111
                 require_once("custom/include/database/{$my_db_manager}.php");
112 112
             } else {
113 113
                 require_once("include/database/{$my_db_manager}.php");
114 114
             }
115 115
         }
116 116
 
117
-        if(class_exists($my_db_manager)) {
117
+        if (class_exists($my_db_manager)) {
118 118
             return new $my_db_manager();
119 119
         } else {
120 120
             return null;
@@ -134,14 +134,14 @@  discard block
 block discarded – undo
134 134
         static $count = 0, $old_count = 0;
135 135
 
136 136
         //fall back to the default instance name
137
-        if(empty($sugar_config['db'][$instanceName])){
137
+        if (empty($sugar_config['db'][$instanceName])) {
138 138
         	$instanceName = '';
139 139
         }
140
-        if(!isset(self::$instances[$instanceName])){
140
+        if (!isset(self::$instances[$instanceName])) {
141 141
             $config = $sugar_config['dbconfig'];
142 142
             $count++;
143 143
                 self::$instances[$instanceName] = self::getTypeInstance($config['db_type'], $config);
144
-                if(!empty($sugar_config['dbconfigoption'])) {
144
+                if (!empty($sugar_config['dbconfigoption'])) {
145 145
                     self::$instances[$instanceName]->setOptions($sugar_config['dbconfigoption']);
146 146
                 }
147 147
                 self::$instances[$instanceName]->connect($config, true);
@@ -159,7 +159,7 @@  discard block
 block discarded – undo
159 159
      */
160 160
     public static function disconnectAll()
161 161
     {
162
-        foreach(self::$instances as $instance) {
162
+        foreach (self::$instances as $instance) {
163 163
             $instance->disconnect();
164 164
         }
165 165
         self::$instances = array();
@@ -177,7 +177,7 @@  discard block
 block discarded – undo
177 177
     public static function getManagerByType($type, $validate = true)
178 178
     {
179 179
         $drivers = self::getDbDrivers($validate);
180
-        if(!empty($drivers[$type])) {
180
+        if (!empty($drivers[$type])) {
181 181
             return get_class($drivers[$type]);
182 182
         }
183 183
         return false;
@@ -191,19 +191,19 @@  discard block
 block discarded – undo
191 191
      */
192 192
     protected static function scanDriverDir($dir, &$drivers, $validate = true)
193 193
     {
194
-        if(!is_dir($dir)) return;
194
+        if (!is_dir($dir)) return;
195 195
         $scandir = opendir($dir);
196
-        if($scandir === false) return;
197
-        while(($name = readdir($scandir)) !== false) {
198
-            if(substr($name, -11) != "Manager.php") continue;
199
-            if($name == "DBManager.php") continue;
196
+        if ($scandir === false) return;
197
+        while (($name = readdir($scandir)) !== false) {
198
+            if (substr($name, -11) != "Manager.php") continue;
199
+            if ($name == "DBManager.php") continue;
200 200
             require_once("$dir/$name");
201 201
             $classname = substr($name, 0, -4);
202
-            if(!class_exists($classname)) continue;
202
+            if (!class_exists($classname)) continue;
203 203
             $driver = new $classname;
204
-            if(!$validate || $driver->valid()) {
205
-                if(empty($drivers[$driver->dbType])) {
206
-                    $drivers[$driver->dbType]  = array();
204
+            if (!$validate || $driver->valid()) {
205
+                if (empty($drivers[$driver->dbType])) {
206
+                    $drivers[$driver->dbType] = array();
207 207
                 }
208 208
                 $drivers[$driver->dbType][] = $driver;
209 209
             }
@@ -235,9 +235,9 @@  discard block
 block discarded – undo
235 235
         self::scanDriverDir("custom/include/database", $drivers, $validate);
236 236
 
237 237
         $result = array();
238
-        foreach($drivers as $type => $tdrivers) {
239
-            if(empty($tdrivers)) continue;
240
-            if(count($tdrivers) > 1) {
238
+        foreach ($drivers as $type => $tdrivers) {
239
+            if (empty($tdrivers)) continue;
240
+            if (count($tdrivers) > 1) {
241 241
                 usort($tdrivers, array(__CLASS__, "_compareDrivers"));
242 242
             }
243 243
             $result[$type] = $tdrivers[0];
@@ -255,13 +255,13 @@  discard block
 block discarded – undo
255 255
     {
256 256
         static $is_freetds = null;
257 257
 
258
-        if($is_freetds === null) {
258
+        if ($is_freetds === null) {
259 259
     		ob_start();
260 260
     		phpinfo(INFO_MODULES);
261
-    		$info=ob_get_contents();
261
+    		$info = ob_get_contents();
262 262
     		ob_end_clean();
263 263
 
264
-    		$is_freetds = (strpos($info,'FreeTDS') !== false);
264
+    		$is_freetds = (strpos($info, 'FreeTDS') !== false);
265 265
         }
266 266
 
267 267
         return $is_freetds;
Please login to merge, or discard this patch.
Braces   +21 added lines, -7 removed lines patch added patch discarded remove patch
@@ -1,5 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if(!defined('sugarEntry') || !sugarEntry) {
3
+    die('Not A Valid Entry Point');
4
+}
3 5
 /*********************************************************************************
4 6
  * SugarCRM Community Edition is a customer relationship management program developed by
5 7
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -191,15 +193,25 @@  discard block
 block discarded – undo
191 193
      */
192 194
     protected static function scanDriverDir($dir, &$drivers, $validate = true)
193 195
     {
194
-        if(!is_dir($dir)) return;
196
+        if(!is_dir($dir)) {
197
+            return;
198
+        }
195 199
         $scandir = opendir($dir);
196
-        if($scandir === false) return;
200
+        if($scandir === false) {
201
+            return;
202
+        }
197 203
         while(($name = readdir($scandir)) !== false) {
198
-            if(substr($name, -11) != "Manager.php") continue;
199
-            if($name == "DBManager.php") continue;
204
+            if(substr($name, -11) != "Manager.php") {
205
+                continue;
206
+            }
207
+            if($name == "DBManager.php") {
208
+                continue;
209
+            }
200 210
             require_once("$dir/$name");
201 211
             $classname = substr($name, 0, -4);
202
-            if(!class_exists($classname)) continue;
212
+            if(!class_exists($classname)) {
213
+                continue;
214
+            }
203 215
             $driver = new $classname;
204 216
             if(!$validate || $driver->valid()) {
205 217
                 if(empty($drivers[$driver->dbType])) {
@@ -236,7 +248,9 @@  discard block
 block discarded – undo
236 248
 
237 249
         $result = array();
238 250
         foreach($drivers as $type => $tdrivers) {
239
-            if(empty($tdrivers)) continue;
251
+            if(empty($tdrivers)) {
252
+                continue;
253
+            }
240 254
             if(count($tdrivers) > 1) {
241 255
                 usort($tdrivers, array(__CLASS__, "_compareDrivers"));
242 256
             }
Please login to merge, or discard this patch.
include/ListView/ListView.php 3 patches
Indentation   +194 added lines, -196 removed lines patch added patch discarded remove patch
@@ -236,8 +236,8 @@  discard block
 block discarded – undo
236 236
  * @param unknown $html_varName
237 237
  * @desc INTERNAL FUNCTION handles the rows
238 238
  */
239
- function process_dynamic_listview_rows($data,$parent_data, $xtemplateSection, $html_varName, $subpanel_def)
240
- {
239
+    function process_dynamic_listview_rows($data,$parent_data, $xtemplateSection, $html_varName, $subpanel_def)
240
+    {
241 241
     global $subpanel_item_count;
242 242
     global $odd_bg;
243 243
     global $even_bg;
@@ -346,7 +346,7 @@  discard block
 block discarded – undo
346 346
             $BG_COLOR =  $even_bg;
347 347
         }
348 348
         $oddRow = !$oddRow;
349
-		$button_contents = array();
349
+        $button_contents = array();
350 350
         $this->xTemplate->assign("ROW_COLOR", $ROW_COLOR);
351 351
         $this->xTemplate->assign("BG_COLOR", $BG_COLOR);
352 352
         $layout_manager = $this->getLayoutManager();
@@ -366,43 +366,43 @@  discard block
 block discarded – undo
366 366
             $thepanel=$subpanel_def;
367 367
         }
368 368
 
369
-		/* BEGIN - SECURITY GROUPS */ 
369
+        /* BEGIN - SECURITY GROUPS */ 
370 370
 
371
-		//This check is costly doing it field by field in the below foreach
372
-		//instead pull up here and do once per record....
373
-		$aclaccess_is_owner = false;
374
-		$aclaccess_in_group = false;
371
+        //This check is costly doing it field by field in the below foreach
372
+        //instead pull up here and do once per record....
373
+        $aclaccess_is_owner = false;
374
+        $aclaccess_in_group = false;
375 375
 
376
-		global $current_user;
377
-		if(is_admin($current_user)) {
378
-			$aclaccess_is_owner = true;
379
-		} else {
380
-			$aclaccess_is_owner = $aItem->isOwner($current_user->id);
381
-		}
376
+        global $current_user;
377
+        if(is_admin($current_user)) {
378
+            $aclaccess_is_owner = true;
379
+        } else {
380
+            $aclaccess_is_owner = $aItem->isOwner($current_user->id);
381
+        }
382 382
 
383
-		require_once("modules/SecurityGroups/SecurityGroup.php");
384
-		$aclaccess_in_group = SecurityGroup::groupHasAccess($aItem->module_dir,$aItem->id);
383
+        require_once("modules/SecurityGroups/SecurityGroup.php");
384
+        $aclaccess_in_group = SecurityGroup::groupHasAccess($aItem->module_dir,$aItem->id);
385 385
         	
386
-    	/* END - SECURITY GROUPS */ 
386
+        /* END - SECURITY GROUPS */ 
387 387
     	
388 388
         //get data source name
389 389
         $linked_field=$thepanel->get_data_source_name();
390 390
         $linked_field_set=$thepanel->get_data_source_name(true);
391 391
         static $count;
392 392
         if(!isset($count))$count = 0;
393
-		/* BEGIN - SECURITY GROUPS */ 
394
-		/**
393
+        /* BEGIN - SECURITY GROUPS */ 
394
+        /**
395 395
         $field_acl['DetailView'] = $aItem->ACLAccess('DetailView');
396 396
         $field_acl['ListView'] = $aItem->ACLAccess('ListView');
397 397
         $field_acl['EditView'] = $aItem->ACLAccess('EditView');
398 398
         $field_acl['Delete'] = $aItem->ACLAccess('Delete');
399
-		*/
400
-		//pass is_owner, in_group...vars defined above
399
+         */
400
+        //pass is_owner, in_group...vars defined above
401 401
         $field_acl['DetailView'] = $aItem->ACLAccess('DetailView',$aclaccess_is_owner,$aclaccess_in_group);
402 402
         $field_acl['ListView'] = $aItem->ACLAccess('ListView',$aclaccess_is_owner,$aclaccess_in_group);
403 403
         $field_acl['EditView'] = $aItem->ACLAccess('EditView',$aclaccess_is_owner,$aclaccess_in_group);
404 404
         $field_acl['Delete'] = $aItem->ACLAccess('Delete',$aclaccess_is_owner,$aclaccess_in_group);
405
-		/* END - SECURITY GROUPS */ 
405
+        /* END - SECURITY GROUPS */ 
406 406
         foreach($thepanel->get_list_fields() as $field_name=>$list_field)
407 407
         {
408 408
             //add linked field attribute to the array.
@@ -469,7 +469,7 @@  discard block
 block discarded – undo
469 469
                         // So we'll populate the field data with the pre-rendered display for the field
470 470
                         $list_field['fields'][$field_name] = $widget_contents;
471 471
                         if('full_name' == $field_name){//bug #32465
472
-                           $list_field['fields'][strtoupper($field_name)] = $widget_contents;
472
+                            $list_field['fields'][strtoupper($field_name)] = $widget_contents;
473 473
                         }
474 474
 
475 475
                         //vardef source is non db, assign the field name to varname for processing of column.
@@ -482,7 +482,7 @@  discard block
 block discarded – undo
482 482
                         $widget_contents = $layout_manager->widgetDisplay($list_field);
483 483
                     }
484 484
 
485
-                 $count++;
485
+                    $count++;
486 486
                 $this->xTemplate->assign('CELL_COUNT', $count);
487 487
                 $this->xTemplate->assign('CLASS', "");
488 488
                 if ( empty($widget_contents) ) $widget_contents = '&nbsp;';
@@ -490,15 +490,15 @@  discard block
 block discarded – undo
490 490
                 $this->xTemplate->parse($xtemplateSection.".row.cell");
491 491
                 } else {
492 492
                     // This handles the edit and remove buttons and icon widget
493
-                	if( isset($list_field['widget_class']) && $list_field['widget_class'] == "SubPanelIcon") {
494
-		                $count++;
495
-		                $widget_contents = $layout_manager->widgetDisplay($list_field);
496
-		                $this->xTemplate->assign('CELL_COUNT', $count);
497
-		                $this->xTemplate->assign('CLASS', "");
498
-		                if ( empty($widget_contents) ) $widget_contents = '&nbsp;';
499
-		                $this->xTemplate->assign('CELL', $widget_contents);
500
-		                $this->xTemplate->parse($xtemplateSection.".row.cell");
501
-                	} elseif (preg_match("/button/i", $list_field['name'])) {
493
+                    if( isset($list_field['widget_class']) && $list_field['widget_class'] == "SubPanelIcon") {
494
+                        $count++;
495
+                        $widget_contents = $layout_manager->widgetDisplay($list_field);
496
+                        $this->xTemplate->assign('CELL_COUNT', $count);
497
+                        $this->xTemplate->assign('CLASS', "");
498
+                        if ( empty($widget_contents) ) $widget_contents = '&nbsp;';
499
+                        $this->xTemplate->assign('CELL', $widget_contents);
500
+                        $this->xTemplate->parse($xtemplateSection.".row.cell");
501
+                    } elseif (preg_match("/button/i", $list_field['name'])) {
502 502
                         if ((($list_field['name'] === 'edit_button' && $field_acl['EditView']) || ($list_field['name'] === 'close_button' && $field_acl['EditView']) || ($list_field['name'] === 'remove_button' && $field_acl['Delete'])) && '' != ($_content = $layout_manager->widgetDisplay($list_field)) )
503 503
                         {
504 504
                             $button_contents[] = $_content;
@@ -508,15 +508,15 @@  discard block
 block discarded – undo
508 508
                         {
509 509
                             $button_contents[] = '';
510 510
                         }
511
-                	} else {
512
-               			$count++;
513
-               			$this->xTemplate->assign('CLASS', "");
514
-               			$widget_contents = $layout_manager->widgetDisplay($list_field);
515
-		                $this->xTemplate->assign('CELL_COUNT', $count);
516
-		                if ( empty($widget_contents) ) $widget_contents = '&nbsp;';
517
-		                $this->xTemplate->assign('CELL', $widget_contents);
518
-		                $this->xTemplate->parse($xtemplateSection.".row.cell");
519
-                	}
511
+                    } else {
512
+                            $count++;
513
+                            $this->xTemplate->assign('CLASS', "");
514
+                            $widget_contents = $layout_manager->widgetDisplay($list_field);
515
+                        $this->xTemplate->assign('CELL_COUNT', $count);
516
+                        if ( empty($widget_contents) ) $widget_contents = '&nbsp;';
517
+                        $this->xTemplate->assign('CELL', $widget_contents);
518
+                        $this->xTemplate->parse($xtemplateSection.".row.cell");
519
+                    }
520 520
                 }
521 521
 
522 522
             }
@@ -579,7 +579,7 @@  discard block
 block discarded – undo
579 579
  * All Rights Reserved.
580 580
  * Contributor(s): ______________________________________.
581 581
 */
582
- function ListView() {
582
+    function ListView() {
583 583
 
584 584
 
585 585
     if(!$this->initialized) {
@@ -598,11 +598,11 @@  discard block
 block discarded – undo
598 598
  * All Rights Reserved.
599 599
  * Contributor(s): ______________________________________.
600 600
 */
601
- function setRecordsPerPage($count) {
601
+    function setRecordsPerPage($count) {
602 602
     $this->records_per_page = $count;
603 603
 }
604 604
 /**sets the header title */
605
- function setHeaderTitle($value) {
605
+    function setHeaderTitle($value) {
606 606
     $this->header_title = $value;
607 607
 }
608 608
 /**sets the header text this is text that's appended to the header table and is usually used for the creation of buttons
@@ -610,7 +610,7 @@  discard block
 block discarded – undo
610 610
  * All Rights Reserved.
611 611
  * Contributor(s): ______________________________________.
612 612
 */
613
- function setHeaderText($value) {
613
+    function setHeaderText($value) {
614 614
     $this->header_text = $value;
615 615
 }
616 616
 /**sets the path for the XTemplate HTML file to be used this is only needed to be set if you are allowing ListView to create the XTemplate
@@ -618,7 +618,7 @@  discard block
 block discarded – undo
618 618
  * All Rights Reserved.
619 619
  * Contributor(s): ______________________________________.
620 620
 */
621
- function setXTemplatePath($value) {
621
+    function setXTemplatePath($value) {
622 622
     $this->xTemplatePath= $value;
623 623
 }
624 624
 
@@ -627,7 +627,7 @@  discard block
 block discarded – undo
627 627
  * All Rights Reserved.
628 628
  * Contributor(s): ______________________________________.
629 629
 */
630
- function initNewXTemplate($XTemplatePath, $modString, $imagePath = null) {
630
+    function initNewXTemplate($XTemplatePath, $modString, $imagePath = null) {
631 631
     $this->setXTemplatePath($XTemplatePath);
632 632
     if(isset($modString))
633 633
         $this->setModStrings($modString);
@@ -728,7 +728,7 @@  discard block
 block discarded – undo
728 728
  * All Rights Reserved.
729 729
  * Contributor(s): ______________________________________.
730 730
 */
731
- function setQuery($where, $limit, $orderBy, $varName, $allowOrderByOveride=true) {
731
+    function setQuery($where, $limit, $orderBy, $varName, $allowOrderByOveride=true) {
732 732
     $this->query_where = $where;
733 733
     if($this->getSessionVariable("query", "where") != $where) {
734 734
         $this->query_where_has_changed = true;
@@ -757,7 +757,7 @@  discard block
 block discarded – undo
757 757
  * All Rights Reserved.
758 758
  * Contributor(s): ______________________________________.
759 759
 */
760
- function setTheme($theme) {
760
+    function setTheme($theme) {
761 761
     $this->local_theme = $theme;
762 762
     if(isset($this->xTemplate))$this->xTemplate->assign("THEME", $this->local_theme);
763 763
 }
@@ -767,7 +767,7 @@  discard block
 block discarded – undo
767 767
  * All Rights Reserved.
768 768
  * Contributor(s): ______________________________________.
769 769
 */
770
- function setAppStrings($app_strings) {
770
+    function setAppStrings($app_strings) {
771 771
     unset($this->local_app_strings);
772 772
     $this->local_app_strings = $app_strings;
773 773
     if(isset($this->xTemplate))$this->xTemplate->assign("APP", $this->local_app_strings);
@@ -778,7 +778,7 @@  discard block
 block discarded – undo
778 778
  * All Rights Reserved.
779 779
  * Contributor(s): ______________________________________.
780 780
 */
781
- function setModStrings($mod_strings) {
781
+    function setModStrings($mod_strings) {
782 782
     unset($this->local_module_strings);
783 783
     $this->local_mod_strings = $mod_strings;
784 784
     if(isset($this->xTemplate))$this->xTemplate->assign("MOD", $this->local_mod_strings);
@@ -789,7 +789,7 @@  discard block
 block discarded – undo
789 789
  * All Rights Reserved.
790 790
  * Contributor(s): ______________________________________.
791 791
 */
792
- function setImagePath($image_path) {
792
+    function setImagePath($image_path) {
793 793
     $this->local_image_path = $image_path;
794 794
     if(empty($this->local_image_path)) {
795 795
         $this->local_image_path = SugarThemeRegistry::get($this->local_theme)->getImagePath();
@@ -802,7 +802,7 @@  discard block
 block discarded – undo
802 802
  * All Rights Reserved.
803 803
  * Contributor(s): ______________________________________.
804 804
 */
805
- function setCurrentModule($currentModule) {
805
+    function setCurrentModule($currentModule) {
806 806
     unset($this->local_current_module);
807 807
     $this->local_current_module = $currentModule;
808 808
     if(isset($this->xTemplate))$this->xTemplate->assign("MODULE_NAME", $this->local_current_module);
@@ -813,7 +813,7 @@  discard block
 block discarded – undo
813 813
  * All Rights Reserved.
814 814
  * Contributor(s): ______________________________________.
815 815
 */
816
- function createXTemplate() {
816
+    function createXTemplate() {
817 817
     if(!isset($this->xTemplate)) {
818 818
         if(isset($this->xTemplatePath)) {
819 819
 
@@ -834,7 +834,7 @@  discard block
 block discarded – undo
834 834
  * All Rights Reserved.
835 835
  * Contributor(s): ______________________________________.
836 836
 */
837
- function setXTemplate($newXTemplate) {
837
+    function setXTemplate($newXTemplate) {
838 838
     $this->xTemplate = $newXTemplate;
839 839
 }
840 840
 
@@ -843,7 +843,7 @@  discard block
 block discarded – undo
843 843
  * All Rights Reserved.
844 844
  * Contributor(s): ______________________________________.
845 845
 */
846
- function getXTemplate() {
846
+    function getXTemplate() {
847 847
     return $this->xTemplate;
848 848
 }
849 849
 
@@ -852,7 +852,7 @@  discard block
 block discarded – undo
852 852
  * All Rights Reserved.
853 853
  * Contributor(s): ______________________________________.
854 854
 */
855
- function xTemplateAssign($name, $value) {
855
+    function xTemplateAssign($name, $value) {
856 856
 
857 857
         if(!isset($this->xTemplate)) {
858 858
             $this->createXTemplate();
@@ -866,15 +866,15 @@  discard block
 block discarded – undo
866 866
  * All Rights Reserved.
867 867
  * Contributor(s): ______________________________________.
868 868
 */
869
- function getOffset($localVarName) {
870
- 	if($this->query_where_has_changed || isset($GLOBALS['record_has_changed'])) {
871
- 		$this->setSessionVariable($localVarName,"offset", 0);
872
- 	}
873
-	$offset = $this->getSessionVariable($localVarName,"offset");
874
-	if(isset($offset)) {
875
-		return $offset;
876
-	}
877
-	return 0;
869
+    function getOffset($localVarName) {
870
+        if($this->query_where_has_changed || isset($GLOBALS['record_has_changed'])) {
871
+            $this->setSessionVariable($localVarName,"offset", 0);
872
+        }
873
+    $offset = $this->getSessionVariable($localVarName,"offset");
874
+    if(isset($offset)) {
875
+        return $offset;
876
+    }
877
+    return 0;
878 878
 }
879 879
 
880 880
 /**INTERNAL FUNCTION sets the offset in the session
@@ -882,7 +882,7 @@  discard block
 block discarded – undo
882 882
  * All Rights Reserved.
883 883
  * Contributor(s): ______________________________________.
884 884
 */
885
- function setOffset($localVarName, $value) {
885
+    function setOffset($localVarName, $value) {
886 886
         $this->setSessionVariable($localVarName, "offset", $value);
887 887
 }
888 888
 
@@ -891,7 +891,7 @@  discard block
 block discarded – undo
891 891
  * All Rights Reserved.
892 892
  * Contributor(s): ______________________________________.
893 893
 */
894
- function setSessionVariable($localVarName,$varName, $value) {
894
+    function setSessionVariable($localVarName,$varName, $value) {
895 895
     $_SESSION[$this->local_current_module."_".$localVarName."_".$varName] = $value;
896 896
 }
897 897
 
@@ -906,7 +906,7 @@  discard block
 block discarded – undo
906 906
  * All Rights Reserved.
907 907
  * Contributor(s): ______________________________________.
908 908
 */
909
- function getSessionVariable($localVarName,$varName) {
909
+    function getSessionVariable($localVarName,$varName) {
910 910
     //Set any variables pass in through request first
911 911
     if(isset($_REQUEST[$this->getSessionVariableName($localVarName, $varName)])) {
912 912
         $this->setSessionVariable($localVarName,$varName,$_REQUEST[$this->getSessionVariableName($localVarName, $varName)]);
@@ -941,10 +941,10 @@  discard block
 block discarded – undo
941 941
     function calculateSortOrder($sortOrderList)
942 942
     {
943 943
         $priority_map = array(
944
-          'request',
945
-          'session',
946
-          'subpaneldefs',
947
-          'default',
944
+            'request',
945
+            'session',
946
+            'subpaneldefs',
947
+            'default',
948 948
         );
949 949
 
950 950
         foreach($priority_map as $p) {
@@ -960,33 +960,31 @@  discard block
 block discarded – undo
960 960
 
961 961
 
962 962
     /**
963
-
964
-    * @return void
965
-    * @param unknown $localVarName
966
-    * @param unknown $varName
967
-    * @desc INTERNAL FUNCTION returns the session/query variable name
968
-    * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
969
-    * All Rights Reserved.
970
-    * Contributor(s): ______________________________________..
971
-    */
963
+     * @return void
964
+     * @param unknown $localVarName
965
+     * @param unknown $varName
966
+     * @desc INTERNAL FUNCTION returns the session/query variable name
967
+     * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
968
+     * All Rights Reserved.
969
+     * Contributor(s): ______________________________________..
970
+     */
972 971
     function getSessionVariableName($localVarName,$varName) {
973 972
         return $this->local_current_module."_".$localVarName."_".$varName;
974 973
     }
975 974
 
976 975
     /**
977
-
978
-    * @return void
979
-    * @param unknown $seed
980
-    * @param unknown $xTemplateSection
981
-    * @param unknown $html_varName
982
-    * @desc INTERNAL FUNCTION Handles List Views using seeds that extend SugarBean
976
+     * @return void
977
+     * @param unknown $seed
978
+     * @param unknown $xTemplateSection
979
+     * @param unknown $html_varName
980
+     * @desc INTERNAL FUNCTION Handles List Views using seeds that extend SugarBean
983 981
         $XTemplateSection is the section in the XTemplate file that should be parsed usually main
984 982
         $html_VarName is the variable name used in the XTemplateFile e.g. TASK
985 983
         $seed is a seed that extends SugarBean
986
-        * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc..
987
-        * All Rights Reserved..
988
-        * Contributor(s): ______________________________________..
989
-    */
984
+     * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc..
985
+     * All Rights Reserved..
986
+     * Contributor(s): ______________________________________..
987
+     */
990 988
     function processSugarBean($xtemplateSection, $html_varName, $seed) {
991 989
         global $list_view_row_count;
992 990
 
@@ -1035,15 +1033,15 @@  discard block
 block discarded – undo
1035 1033
 
1036 1034
     function processUnionBeans($sugarbean, $subpanel_def, $html_var = 'CELL') {
1037 1035
 
1038
-		$last_detailview_record = $this->getSessionVariable("detailview", "record");
1039
-		if(!empty($last_detailview_record) && $last_detailview_record != $sugarbean->id){
1040
-			$GLOBALS['record_has_changed'] = true;
1041
-		}
1042
-		$this->setSessionVariable("detailview", "record", $sugarbean->id);
1036
+        $last_detailview_record = $this->getSessionVariable("detailview", "record");
1037
+        if(!empty($last_detailview_record) && $last_detailview_record != $sugarbean->id){
1038
+            $GLOBALS['record_has_changed'] = true;
1039
+        }
1040
+        $this->setSessionVariable("detailview", "record", $sugarbean->id);
1043 1041
 
1044
-		$current_offset = $this->getOffset($html_var);
1045
-		$module = isset($_REQUEST['module']) ? $_REQUEST['module'] : '';
1046
-		$response = array();
1042
+        $current_offset = $this->getOffset($html_var);
1043
+        $module = isset($_REQUEST['module']) ? $_REQUEST['module'] : '';
1044
+        $response = array();
1047 1045
 
1048 1046
         // choose sort order
1049 1047
         $sort_order = array();
@@ -1088,11 +1086,11 @@  discard block
 block discarded – undo
1088 1086
         $_SESSION['last_sub' .$this->subpanel_module. '_order'] = $this->sort_order;
1089 1087
         $_SESSION['last_sub' .$this->subpanel_module. '_url'] = $this->getBaseURL($html_var);
1090 1088
 
1091
-		// Bug 8139 - Correct Subpanel sorting on 'name', when subpanel sorting default is 'last_name, first_name'
1092
-		if (($this->sortby == 'name' || $this->sortby == 'last_name') &&
1093
-			str_replace(' ', '', trim($subpanel_def->_instance_properties['sort_by'])) == 'last_name,first_name') {
1094
-			$this->sortby = 'last_name '.$this->sort_order.', first_name ';
1095
-		}
1089
+        // Bug 8139 - Correct Subpanel sorting on 'name', when subpanel sorting default is 'last_name, first_name'
1090
+        if (($this->sortby == 'name' || $this->sortby == 'last_name') &&
1091
+            str_replace(' ', '', trim($subpanel_def->_instance_properties['sort_by'])) == 'last_name,first_name') {
1092
+            $this->sortby = 'last_name '.$this->sort_order.', first_name ';
1093
+        }
1096 1094
 
1097 1095
         if(!empty($this->response)){
1098 1096
             $response =& $this->response;
@@ -1168,15 +1166,15 @@  discard block
 block discarded – undo
1168 1166
             return $baseurl;
1169 1167
     }
1170 1168
     /**
1171
-    * @return void
1172
-    * @param unknown $data
1173
-    * @param unknown $xTemplateSection
1174
-    * @param unknown $html_varName
1175
-    * @desc INTERNAL FUNCTION process the List Navigation
1176
-    * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
1177
-    * All Rights Reserved.
1178
-    * Contributor(s): ______________________________________..
1179
-    */
1169
+     * @return void
1170
+     * @param unknown $data
1171
+     * @param unknown $xTemplateSection
1172
+     * @param unknown $html_varName
1173
+     * @desc INTERNAL FUNCTION process the List Navigation
1174
+     * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
1175
+     * All Rights Reserved.
1176
+     * Contributor(s): ______________________________________..
1177
+     */
1180 1178
     function processListNavigation($xtemplateSection, $html_varName, $current_offset, $next_offset, $previous_offset, $row_count, $sugarbean=null, $subpanel_def=null, $col_count = 20) {
1181 1179
 
1182 1180
         global $export_module;
@@ -1316,8 +1314,8 @@  discard block
 block discarded – undo
1316 1314
             $end_record = $end_record-1;
1317 1315
 
1318 1316
 $script_href = "<a style=\'width: 150px\' name=\"thispage\" class=\'menuItem\' onmouseover=\'hiliteItem(this,\"yes\");\' onmouseout=\'unhiliteItem(this);\' onclick=\'if (document.MassUpdate.select_entire_list.value==1){document.MassUpdate.select_entire_list.value=0;sListView.check_all(document.MassUpdate, \"mass[]\", true, $this->records_per_page)}else {sListView.check_all(document.MassUpdate, \"mass[]\", true)};\' href=\'#\'>{$this->local_app_strings['LBL_LISTVIEW_OPTION_CURRENT']}&nbsp;&#x28;{$this->records_per_page}&#x29;&#x200E;</a>"
1319
- . "<a style=\'width: 150px\' name=\"selectall\" class=\'menuItem\' onmouseover=\'hiliteItem(this,\"yes\");\' onmouseout=\'unhiliteItem(this);\' onclick=\'sListView.check_entire_list(document.MassUpdate, \"mass[]\",true,{$row_count});\' href=\'#\'>{$this->local_app_strings['LBL_LISTVIEW_OPTION_ENTIRE']}&nbsp;&#x28;{$row_count}&#x29;&#x200E;</a>"
1320
- . "<a style=\'width: 150px\' name=\"deselect\" class=\'menuItem\' onmouseover=\'hiliteItem(this,\"yes\");\' onmouseout=\'unhiliteItem(this);\' onclick=\'sListView.clear_all(document.MassUpdate, \"mass[]\", false);\' href=\'#\'>{$this->local_app_strings['LBL_LISTVIEW_NONE']}</a>";
1317
+    . "<a style=\'width: 150px\' name=\"selectall\" class=\'menuItem\' onmouseover=\'hiliteItem(this,\"yes\");\' onmouseout=\'unhiliteItem(this);\' onclick=\'sListView.check_entire_list(document.MassUpdate, \"mass[]\",true,{$row_count});\' href=\'#\'>{$this->local_app_strings['LBL_LISTVIEW_OPTION_ENTIRE']}&nbsp;&#x28;{$row_count}&#x29;&#x200E;</a>"
1318
+    . "<a style=\'width: 150px\' name=\"deselect\" class=\'menuItem\' onmouseover=\'hiliteItem(this,\"yes\");\' onmouseout=\'unhiliteItem(this);\' onclick=\'sListView.clear_all(document.MassUpdate, \"mass[]\", false);\' href=\'#\'>{$this->local_app_strings['LBL_LISTVIEW_NONE']}</a>";
1321 1319
 
1322 1320
 $close_inline_img = SugarThemeRegistry::current()->getImage('close_inline', 'border=0', null, null, ".gif", $app_strings['LBL_CLOSEINLINE']);
1323 1321
 
@@ -1548,15 +1546,15 @@  discard block
 block discarded – undo
1548 1546
 
1549 1547
 
1550 1548
     /**
1551
-    * @return void
1552
-    * @param unknown $data
1553
-    * @param unknown $xTemplateSection
1554
-    * @param unknown $html_varName
1555
-    * @desc INTERNAL FUNCTION handles the rows
1556
-    * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
1557
-    * All Rights Reserved.
1558
-    * Contributor(s): ______________________________________..
1559
-    */
1549
+     * @return void
1550
+     * @param unknown $data
1551
+     * @param unknown $xTemplateSection
1552
+     * @param unknown $html_varName
1553
+     * @desc INTERNAL FUNCTION handles the rows
1554
+     * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
1555
+     * All Rights Reserved.
1556
+     * Contributor(s): ______________________________________..
1557
+     */
1560 1558
     function processListRows($data, $xtemplateSection, $html_varName)
1561 1559
     {
1562 1560
         global $odd_bg;
@@ -1753,7 +1751,7 @@  discard block
 block discarded – undo
1753 1751
         {
1754 1752
             $orderBy=  'amount';
1755 1753
         }
1756
-		$buttons = false;
1754
+        $buttons = false;
1757 1755
         $col_count = 0;
1758 1756
         foreach($subpanel_def->get_list_fields() as $column_name=>$widget_args)
1759 1757
         {
@@ -1771,17 +1769,17 @@  discard block
 block discarded – undo
1771 1769
                 }
1772 1770
 
1773 1771
                 if (!preg_match("/_button/i", $column_name)) {
1774
-	                $widget_args['name']=$column_name;
1775
-	                $widget_args['sort'] = $imgArrow;
1776
-	                $widget_args['start_link_wrapper'] = $this->start_link_wrapper;
1777
-	                $widget_args['end_link_wrapper'] = $this->end_link_wrapper;
1778
-	                $widget_args['subpanel_module'] = $this->subpanel_module;
1779
-
1780
-	                $widget_contents = $layout_manager->widgetDisplay($widget_args);
1781
-	                $cell_width = empty($widget_args['width']) ? '' : $widget_args['width'];
1782
-	                $this->xTemplate->assign('HEADER_CELL', $widget_contents);
1783
-	                static $count;
1784
-	            if(!isset($count))$count = 0; else $count++;
1772
+                    $widget_args['name']=$column_name;
1773
+                    $widget_args['sort'] = $imgArrow;
1774
+                    $widget_args['start_link_wrapper'] = $this->start_link_wrapper;
1775
+                    $widget_args['end_link_wrapper'] = $this->end_link_wrapper;
1776
+                    $widget_args['subpanel_module'] = $this->subpanel_module;
1777
+
1778
+                    $widget_contents = $layout_manager->widgetDisplay($widget_args);
1779
+                    $cell_width = empty($widget_args['width']) ? '' : $widget_args['width'];
1780
+                    $this->xTemplate->assign('HEADER_CELL', $widget_contents);
1781
+                    static $count;
1782
+                if(!isset($count))$count = 0; else $count++;
1785 1783
                     if($col_count == 0 || $column_name == 'name') $footable = 'data-toggle="true"';
1786 1784
                     else {
1787 1785
                         $footable = 'data-hide="phone"';
@@ -1789,11 +1787,11 @@  discard block
 block discarded – undo
1789 1787
                         if ($col_count > 4) $footable = 'data-hide="phone,phonelandscape,tablet"';
1790 1788
                     }
1791 1789
                     $this->xTemplate->assign('FOOTABLE', $footable);
1792
-	                $this->xTemplate->assign('CELL_COUNT', $count);
1793
-	                $this->xTemplate->assign('CELL_WIDTH', $cell_width);
1794
-	                $this->xTemplate->parse('dyn_list_view.header_cell');
1790
+                    $this->xTemplate->assign('CELL_COUNT', $count);
1791
+                    $this->xTemplate->assign('CELL_WIDTH', $cell_width);
1792
+                    $this->xTemplate->parse('dyn_list_view.header_cell');
1795 1793
                 } else {
1796
-                	$buttons = true;
1794
+                    $buttons = true;
1797 1795
                 }
1798 1796
             }
1799 1797
             ++$col_count;
@@ -1801,29 +1799,29 @@  discard block
 block discarded – undo
1801 1799
 
1802 1800
         if($buttons) {
1803 1801
                     $this->xTemplate->assign('FOOTABLE', '');
1804
-        			$this->xTemplate->assign('HEADER_CELL', "&nbsp;");
1805
-        			$this->xTemplate->assign('CELL_COUNT', $count);
1806
-	                $this->xTemplate->assign('CELL_WIDTH', $cell_width);
1807
-	                $this->xTemplate->parse('dyn_list_view.header_cell');
1802
+                    $this->xTemplate->assign('HEADER_CELL', "&nbsp;");
1803
+                    $this->xTemplate->assign('CELL_COUNT', $count);
1804
+                    $this->xTemplate->assign('CELL_WIDTH', $cell_width);
1805
+                    $this->xTemplate->parse('dyn_list_view.header_cell');
1808 1806
         }
1809 1807
 
1810 1808
     }
1811 1809
 
1812 1810
 
1813 1811
     /**
1814
-    * @return void
1815
-    * @param unknown $seed
1816
-    * @param unknown $xTemplateSection
1817
-    * @param unknown $html_varName
1818
-    * @desc PUBLIC FUNCTION Handles List Views using seeds that extend SugarBean
1812
+     * @return void
1813
+     * @param unknown $seed
1814
+     * @param unknown $xTemplateSection
1815
+     * @param unknown $html_varName
1816
+     * @desc PUBLIC FUNCTION Handles List Views using seeds that extend SugarBean
1819 1817
         $XTemplateSection is the section in the XTemplate file that should be parsed usually main
1820 1818
         $html_VarName is the variable name used in the XTemplateFile e.g. TASK
1821 1819
         $seed is a seed there are two types of seeds one is a subclass of SugarBean, the other is a list usually created from a sugar bean using get_list
1822 1820
         if no XTemplate is set it will create  a new XTemplate
1823
-        * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc..
1824
-        * All Rights Reserved..
1825
-        * Contributor(s): ______________________________________..
1826
-    */
1821
+     * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc..
1822
+     * All Rights Reserved..
1823
+     * Contributor(s): ______________________________________..
1824
+     */
1827 1825
 
1828 1826
     function processListViewTwo($seed, $xTemplateSection, $html_varName) {
1829 1827
         global $current_user;
@@ -1898,12 +1896,12 @@  discard block
 block discarded – undo
1898 1896
         return "&nbsp;<img border='0' src='".SugarThemeRegistry::current()->getImageURL("arrow{$upDown}.{$ext}")."' ";
1899 1897
     }
1900 1898
 
1901
-	function getArrowEnd() {
1902
-		$imgFileParts = pathinfo(SugarThemeRegistry::current()->getImageURL("arrow.gif"));
1899
+    function getArrowEnd() {
1900
+        $imgFileParts = pathinfo(SugarThemeRegistry::current()->getImageURL("arrow.gif"));
1903 1901
 
1904 1902
         list($width,$height) = ListView::getArrowImageSize();
1905 1903
 
1906
-		return '.'.$imgFileParts['extension']."' width='$width' height='$height' align='absmiddle' alt=".translate('LBL_SORT').">";
1904
+        return '.'.$imgFileParts['extension']."' width='$width' height='$height' align='absmiddle' alt=".translate('LBL_SORT').">";
1907 1905
     }
1908 1906
 
1909 1907
     function getArrowUpDownEnd($upDown) {
@@ -1924,9 +1922,9 @@  discard block
 block discarded – undo
1924 1922
         return " width='$width' height='$height' align='absmiddle' alt='$sortStr'>";
1925 1923
     }
1926 1924
 
1927
-	function getArrowImageSize() {
1928
-	    // jbasicChartDashletsExpColust get the non-sort image's size.. the up and down have be the same.
1929
-		$image = SugarThemeRegistry::current()->getImageURL("arrow.gif",false);
1925
+    function getArrowImageSize() {
1926
+        // jbasicChartDashletsExpColust get the non-sort image's size.. the up and down have be the same.
1927
+        $image = SugarThemeRegistry::current()->getImageURL("arrow.gif",false);
1930 1928
 
1931 1929
         $cache_key = 'arrow_size.'.$image;
1932 1930
 
@@ -1958,13 +1956,13 @@  discard block
 block discarded – undo
1958 1956
         return $result;
1959 1957
     }
1960 1958
 
1961
-	function getOrderByInfo($html_varName)
1962
-	{
1963
-		$orderBy = $this->getSessionVariable($html_varName, "OBL");
1964
-		$desc = $this->getSessionVariable($html_varName, $orderBy.'S');
1965
-		$orderBy = str_replace('.', '_', $orderBy);
1966
-		return array($orderBy,$desc);
1967
-	}
1959
+    function getOrderByInfo($html_varName)
1960
+    {
1961
+        $orderBy = $this->getSessionVariable($html_varName, "OBL");
1962
+        $desc = $this->getSessionVariable($html_varName, $orderBy.'S');
1963
+        $orderBy = str_replace('.', '_', $orderBy);
1964
+        return array($orderBy,$desc);
1965
+    }
1968 1966
 
1969 1967
     function processSortArrows($html_varName)
1970 1968
     {
@@ -1973,25 +1971,25 @@  discard block
 block discarded – undo
1973 1971
 
1974 1972
         list($orderBy,$desc) = $this->getOrderByInfo($html_varName);
1975 1973
 
1976
-		$imgArrow = "_up";
1977
-		if($desc) {
1978
-			$imgArrow = "_down";
1979
-		}
1980
-		/**
1981
-		 * @deprecated only used by legacy opportunites listview, nothing current. Leaving for BC
1982
-		 */
1983
-		if($orderBy == 'amount')
1984
-		{
1985
-			$this->xTemplateAssign('amount_arrow', $imgArrow);
1986
-		}
1987
-		else if($orderBy == 'amount_usdollar')
1988
-		{
1989
-			$this->xTemplateAssign('amount_usdollar_arrow', $imgArrow);
1990
-		}
1991
-		else
1992
-		{
1993
-			$this->xTemplateAssign($orderBy.'_arrow', $imgArrow);
1994
-		}
1974
+        $imgArrow = "_up";
1975
+        if($desc) {
1976
+            $imgArrow = "_down";
1977
+        }
1978
+        /**
1979
+         * @deprecated only used by legacy opportunites listview, nothing current. Leaving for BC
1980
+         */
1981
+        if($orderBy == 'amount')
1982
+        {
1983
+            $this->xTemplateAssign('amount_arrow', $imgArrow);
1984
+        }
1985
+        else if($orderBy == 'amount_usdollar')
1986
+        {
1987
+            $this->xTemplateAssign('amount_usdollar_arrow', $imgArrow);
1988
+        }
1989
+        else
1990
+        {
1991
+            $this->xTemplateAssign($orderBy.'_arrow', $imgArrow);
1992
+        }
1995 1993
 
1996 1994
         $this->xTemplateAssign('arrow_end', $this->getArrowEnd());
1997 1995
     }
@@ -2030,37 +2028,37 @@  discard block
 block discarded – undo
2030 2028
         return sugar_microtime();
2031 2029
     }
2032 2030
 
2033
-     /**INTERNAL FUNCTION sets a session variable keeping it local to the listview
2031
+        /**INTERNAL FUNCTION sets a session variable keeping it local to the listview
2034 2032
      not the current_module
2035 2033
      * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
2036 2034
      * All Rights Reserved.
2037 2035
      * Contributor(s): ______________________________________.
2038 2036
      */
2039
-     function setLocalSessionVariable($localVarName,$varName, $value) {
2037
+        function setLocalSessionVariable($localVarName,$varName, $value) {
2040 2038
         $_SESSION[$localVarName."_".$varName] = $value;
2041
-     }
2039
+        }
2042 2040
 
2043
-     /**INTERNAL FUNCTION returns a session variable that is local to the listview,
2041
+        /**INTERNAL FUNCTION returns a session variable that is local to the listview,
2044 2042
      not the current_module
2045 2043
      * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
2046 2044
      * All Rights Reserved.
2047 2045
      * Contributor(s): ______________________________________.
2048 2046
      */
2049
- function getLocalSessionVariable($localVarName,$varName) {
2047
+    function getLocalSessionVariable($localVarName,$varName) {
2050 2048
     if(isset($_SESSION[$localVarName."_".$varName])) {
2051 2049
         return $_SESSION[$localVarName."_".$varName];
2052 2050
     }
2053 2051
     else{
2054 2052
         return "";
2055 2053
     }
2056
- }
2054
+    }
2057 2055
 
2058
- /* Set to true if you want Additional Details to appear in the listview
2056
+    /* Set to true if you want Additional Details to appear in the listview
2059 2057
   */
2060
- function setAdditionalDetails($value = true, $function = '') {
2058
+    function setAdditionalDetails($value = true, $function = '') {
2061 2059
     if(!empty($function)) $this->additionalDetailsFunction = $function;
2062 2060
     $this->_additionalDetails = $value;
2063
- }
2061
+    }
2064 2062
 
2065 2063
 }
2066 2064
 ?>
Please login to merge, or discard this patch.
Spacing   +373 added lines, -373 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 3
 /*********************************************************************************
4 4
  * SugarCRM Community Edition is a customer relationship management program developed by
5 5
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -45,8 +45,8 @@  discard block
 block discarded – undo
45 45
  */
46 46
 class ListView
47 47
 {
48
-    var $local_theme= null;
49
-    var $local_app_strings= null;
48
+    var $local_theme = null;
49
+    var $local_app_strings = null;
50 50
     var $local_image_path = null;
51 51
     var $local_current_module = null;
52 52
     var $local_mod_strings = null;
@@ -81,12 +81,12 @@  discard block
 block discarded – undo
81 81
     var $child_focus = '';
82 82
     var $layout_manager = null;
83 83
     var $process_for_popups = false;
84
-    var $multi_select_popup=false;
84
+    var $multi_select_popup = false;
85 85
     var $_additionalDetails = false;
86 86
     var $additionalDetailsFunction = null;
87 87
     var $sort_order = '';
88
-    var $force_mass_update=false;
89
-    var $keep_mass_update_form_open=false;
88
+    var $force_mass_update = false;
89
+    var $keep_mass_update_form_open = false;
90 90
     var $ignorePopulateOnly = false;
91 91
 
92 92
 function setDataArray($value) {
@@ -100,7 +100,7 @@  discard block
 block discarded – undo
100 100
     echo "<form name='MassUpdate' method='post' action='index.php'>";
101 101
     $this->processListViewTwo($seed, $xTemplateSection, $html_varName);
102 102
 
103
-    echo "<a href='javascript:" . ((!$this->multi_select_popup) ? 'sListView.' : ''). "check_all(document.MassUpdate, \"mass[]\", true)'>".translate('LBL_CHECKALL')."</a> - <a href='javascript:sListView.check_all(document.MassUpdate, \"mass[]\", false);'>".translate('LBL_CLEARALL')."</a>";
103
+    echo "<a href='javascript:".((!$this->multi_select_popup) ? 'sListView.' : '')."check_all(document.MassUpdate, \"mass[]\", true)'>".translate('LBL_CHECKALL')."</a> - <a href='javascript:sListView.check_all(document.MassUpdate, \"mass[]\", false);'>".translate('LBL_CLEARALL')."</a>";
104 104
     echo '<br><br>';
105 105
 }
106 106
 
@@ -110,109 +110,109 @@  discard block
 block discarded – undo
110 110
     global $sugar_config;
111 111
 
112 112
     $populateOnly = $this->ignorePopulateOnly ? FALSE : (!empty($sugar_config['save_query']) && $sugar_config['save_query'] == 'populate_only');
113
-    if(isset($seed->module_dir) && $populateOnly) {
114
-        if(empty($GLOBALS['displayListView']) && strcmp(strtolower($_REQUEST['action']), 'popup') != 0 && (!empty($_REQUEST['clear_query']) || $_REQUEST['module'] == $seed->module_dir && ((empty($_REQUEST['query']) || $_REQUEST['query'] == 'MSI')&& (empty($_SESSION['last_search_mod']) || $_SESSION['last_search_mod'] != $seed->module_dir)))) {
115
-            $_SESSION['last_search_mod'] = $_REQUEST['module'] ;
113
+    if (isset($seed->module_dir) && $populateOnly) {
114
+        if (empty($GLOBALS['displayListView']) && strcmp(strtolower($_REQUEST['action']), 'popup') != 0 && (!empty($_REQUEST['clear_query']) || $_REQUEST['module'] == $seed->module_dir && ((empty($_REQUEST['query']) || $_REQUEST['query'] == 'MSI') && (empty($_SESSION['last_search_mod']) || $_SESSION['last_search_mod'] != $seed->module_dir)))) {
115
+            $_SESSION['last_search_mod'] = $_REQUEST['module'];
116 116
             return;
117 117
         }
118 118
     }
119
-    if(strcmp(strtolower($_REQUEST['action']), 'popup') != 0){
120
-        $_SESSION['last_search_mod'] = $_REQUEST['module'] ;
119
+    if (strcmp(strtolower($_REQUEST['action']), 'popup') != 0) {
120
+        $_SESSION['last_search_mod'] = $_REQUEST['module'];
121 121
     }
122 122
     //following session variable will track the detail view navigation history.
123 123
     //needs to the reset after each search.
124
-    $this->setLocalSessionVariable($html_varName,"DETAIL_NAV_HISTORY",false);
124
+    $this->setLocalSessionVariable($html_varName, "DETAIL_NAV_HISTORY", false);
125 125
 
126 126
     require_once('include/MassUpdate.php');
127 127
     $mass = new MassUpdate();
128 128
     $add_acl_javascript = false;
129
-    if(!isset($_REQUEST['action'])) {
130
-        $this->shouldProcess=false;
129
+    if (!isset($_REQUEST['action'])) {
130
+        $this->shouldProcess = false;
131 131
     } else {
132 132
     $this->shouldProcess = is_subclass_of($seed, "SugarBean")
133
-        && (($_REQUEST['action'] == 'index') || ('ListView' == substr($_REQUEST['action'],0,8)) /* cn: to include all ListViewXXX.php type views */)
133
+        && (($_REQUEST['action'] == 'index') || ('ListView' == substr($_REQUEST['action'], 0, 8)) /* cn: to include all ListViewXXX.php type views */)
134 134
         && ($_REQUEST['module'] == $seed->module_dir);
135 135
     }
136 136
 
137 137
     //when processing a multi-select popup.
138
-    if($this->process_for_popups && $this->multi_select_popup)  $this->shouldProcess =true;
138
+    if ($this->process_for_popups && $this->multi_select_popup)  $this->shouldProcess = true;
139 139
     //mass update turned off?
140
-    if(!$this->show_mass_update) $this->shouldProcess = false;
141
-    if(is_subclass_of($seed, "SugarBean")) {
142
-        if($seed->bean_implements('ACL')) {
143
-            if(!ACLController::checkAccess($seed->module_dir,'list',true)) {
144
-                if($_REQUEST['module'] != 'Home') {
140
+    if (!$this->show_mass_update) $this->shouldProcess = false;
141
+    if (is_subclass_of($seed, "SugarBean")) {
142
+        if ($seed->bean_implements('ACL')) {
143
+            if (!ACLController::checkAccess($seed->module_dir, 'list', true)) {
144
+                if ($_REQUEST['module'] != 'Home') {
145 145
                     ACLController::displayNoAccess();
146 146
                 }
147 147
                 return;
148 148
             }
149
-            if(!ACLController::checkAccess($seed->module_dir,'export',true)) {
150
-                $sugar_config['disable_export']= true;
149
+            if (!ACLController::checkAccess($seed->module_dir, 'export', true)) {
150
+                $sugar_config['disable_export'] = true;
151 151
             }
152 152
 
153 153
         }
154 154
     }
155 155
 
156 156
     //force mass update form if requested.
157
-    if($this->force_mass_update) {
157
+    if ($this->force_mass_update) {
158 158
         $this->shouldProcess = true;
159 159
     }
160 160
 
161
-    if($this->shouldProcess) {
161
+    if ($this->shouldProcess) {
162 162
         echo $mass->getDisplayMassUpdateForm(true, $this->multi_select_popup);
163 163
         echo $mass->getMassUpdateFormHeader($this->multi_select_popup);
164 164
         $mass->setSugarBean($seed);
165 165
 
166 166
         //C.L. Fix for 10048, do not process handleMassUpdate for multi select popups
167
-        if(!$this->multi_select_popup) {
167
+        if (!$this->multi_select_popup) {
168 168
             $mass->handleMassUpdate();
169 169
         }
170 170
     }
171 171
 
172
-    $this->processListViewTwo($seed,$xTemplateSection, $html_varName);
172
+    $this->processListViewTwo($seed, $xTemplateSection, $html_varName);
173 173
 
174
-    if($this->shouldProcess && empty($this->process_for_popups)) {
174
+    if ($this->shouldProcess && empty($this->process_for_popups)) {
175 175
         //echo "<a href='javascript:sListView.clear_all(document.MassUpdate, \"mass[]\");'>".translate('LBL_CLEARALL')."</a>";
176 176
         // cn: preserves current functionality, exception is InboundEmail
177
-        if($this->show_mass_update_form) {
177
+        if ($this->show_mass_update_form) {
178 178
             echo $mass->getMassUpdateForm();
179 179
         }
180
-        if(!$this->keep_mass_update_form_open) {
180
+        if (!$this->keep_mass_update_form_open) {
181 181
             echo $mass->endMassUpdateForm();
182 182
         }
183 183
     }
184 184
 }
185 185
 
186 186
 
187
-function process_dynamic_listview($source_module, $sugarbean,$subpanel_def)
187
+function process_dynamic_listview($source_module, $sugarbean, $subpanel_def)
188 188
 {
189 189
         $this->source_module = $source_module;
190 190
         $this->subpanel_module = $subpanel_def->name;
191
-        if(!isset($this->xTemplate))
191
+        if (!isset($this->xTemplate))
192 192
             $this->createXTemplate();
193 193
 
194
-        $html_var = $this->subpanel_module . "_CELL";
194
+        $html_var = $this->subpanel_module."_CELL";
195 195
 
196
-        $list_data = $this->processUnionBeans($sugarbean,$subpanel_def, $html_var);
196
+        $list_data = $this->processUnionBeans($sugarbean, $subpanel_def, $html_var);
197 197
 
198 198
         $list = $list_data['list'];
199 199
         $parent_data = $list_data['parent_data'];
200 200
 
201
-        if($subpanel_def->isCollection()) {
202
-            $thepanel=$subpanel_def->get_header_panel_def();
201
+        if ($subpanel_def->isCollection()) {
202
+            $thepanel = $subpanel_def->get_header_panel_def();
203 203
         } else {
204
-            $thepanel=$subpanel_def;
204
+            $thepanel = $subpanel_def;
205 205
         }
206 206
 
207 207
 
208 208
 
209 209
         $this->process_dynamic_listview_header($thepanel->get_module_name(), $thepanel, $html_var);
210
-        $this->process_dynamic_listview_rows($list,$parent_data, 'dyn_list_view', $html_var,$subpanel_def);
210
+        $this->process_dynamic_listview_rows($list, $parent_data, 'dyn_list_view', $html_var, $subpanel_def);
211 211
 
212
-        if($this->display_header_and_footer)
212
+        if ($this->display_header_and_footer)
213 213
         {
214 214
             $this->getAdditionalHeader();
215
-            if(!empty($this->header_title))
215
+            if (!empty($this->header_title))
216 216
             {
217 217
                 echo get_form_header($this->header_title, $this->header_text, false);
218 218
             }
@@ -220,11 +220,11 @@  discard block
 block discarded – undo
220 220
 
221 221
         $this->xTemplate->out('dyn_list_view');
222 222
 
223
-        if(isset($_SESSION['validation']))
223
+        if (isset($_SESSION['validation']))
224 224
         {
225 225
             print base64_decode('PGEgaHJlZj0naHR0cDovL3d3dy5zdWdhcmNybS5jb20nPlBPV0VSRUQmbmJzcDtCWSZuYnNwO1NVR0FSQ1JNPC9hPg==');
226 226
         }
227
-        if(isset($list_data['query'])) {
227
+        if (isset($list_data['query'])) {
228 228
             return ($list_data['query']);
229 229
         }
230 230
     }
@@ -236,7 +236,7 @@  discard block
 block discarded – undo
236 236
  * @param unknown $html_varName
237 237
  * @desc INTERNAL FUNCTION handles the rows
238 238
  */
239
- function process_dynamic_listview_rows($data,$parent_data, $xtemplateSection, $html_varName, $subpanel_def)
239
+ function process_dynamic_listview_rows($data, $parent_data, $xtemplateSection, $html_varName, $subpanel_def)
240 240
  {
241 241
     global $subpanel_item_count;
242 242
     global $odd_bg;
@@ -261,37 +261,37 @@  discard block
 block discarded – undo
261 261
     //Either retrieve the is_fill_in_additional_fields property from the lone
262 262
     //subpanel or visit each subpanel's subpanels to retrieve the is_fill_in_addition_fields
263 263
     //property
264
-    $subpanel_list=array();
265
-    if($subpanel_def->isCollection()) {
266
-        $subpanel_list=$subpanel_def->sub_subpanels;
264
+    $subpanel_list = array();
265
+    if ($subpanel_def->isCollection()) {
266
+        $subpanel_list = $subpanel_def->sub_subpanels;
267 267
     } else {
268
-        $subpanel_list[]= $subpanel_def;
268
+        $subpanel_list[] = $subpanel_def;
269 269
     }
270 270
 
271
-    foreach($subpanel_list as $this_subpanel)
271
+    foreach ($subpanel_list as $this_subpanel)
272 272
     {
273
-        if($this_subpanel->is_fill_in_additional_fields())
273
+        if ($this_subpanel->is_fill_in_additional_fields())
274 274
         {
275 275
             $fill_additional_fields[] = $this_subpanel->bean_name;
276 276
             $fill_additional_fields[$this_subpanel->bean_name] = true;
277 277
         }
278 278
     }
279 279
 
280
-    if ( empty($data) ) {
280
+    if (empty($data)) {
281 281
         $this->xTemplate->assign("ROW_COLOR", 'oddListRow');
282
-        $thepanel=$subpanel_def;
283
-        if($subpanel_def->isCollection())
284
-            $thepanel=$subpanel_def->get_header_panel_def();
282
+        $thepanel = $subpanel_def;
283
+        if ($subpanel_def->isCollection())
284
+            $thepanel = $subpanel_def->get_header_panel_def();
285 285
         $this->xTemplate->assign("COL_COUNT", count($thepanel->get_list_fields()));
286 286
         $this->xTemplate->parse($xtemplateSection.".nodata");
287 287
     }
288
-    while(list($aVal, $aItem) = each($data))
288
+    while (list($aVal, $aItem) = each($data))
289 289
     {
290 290
         $subpanel_item_count++;
291 291
         $aItem->check_date_relationships_load();
292 292
         // TODO: expensive and needs to be removed and done better elsewhere
293 293
 
294
-        if(!empty($fill_additional_fields[$aItem->object_name])
294
+        if (!empty($fill_additional_fields[$aItem->object_name])
295 295
         || ($aItem->object_name == 'Case' && !empty($fill_additional_fields['aCase']))
296 296
         )
297 297
         {
@@ -301,15 +301,15 @@  discard block
 block discarded – undo
301 301
         //rrs bug: 25343
302 302
         $aItem->call_custom_logic("process_record");
303 303
 
304
-        if(isset($parent_data[$aItem->id])) {
304
+        if (isset($parent_data[$aItem->id])) {
305 305
 
306 306
             $aItem->parent_name = $parent_data[$aItem->id]['parent_name'];
307
-            if(!empty($parent_data[$aItem->id]['parent_name_owner'])) {
308
-            $aItem->parent_name_owner =  $parent_data[$aItem->id]['parent_name_owner'];
309
-            $aItem->parent_name_mod =  $parent_data[$aItem->id]['parent_name_mod'];
307
+            if (!empty($parent_data[$aItem->id]['parent_name_owner'])) {
308
+            $aItem->parent_name_owner = $parent_data[$aItem->id]['parent_name_owner'];
309
+            $aItem->parent_name_mod = $parent_data[$aItem->id]['parent_name_mod'];
310 310
         }}
311 311
         $fields = $aItem->get_list_view_data();
312
-        if(isset($processed_ids[$aItem->id])) {
312
+        if (isset($processed_ids[$aItem->id])) {
313 313
             continue;
314 314
 
315 315
         } else {
@@ -320,50 +320,50 @@  discard block
 block discarded – undo
320 320
         //ADD OFFSET TO ARRAY
321 321
         $fields['OFFSET'] = ($offset + $count + 1);
322 322
 
323
-        if($this->shouldProcess) {
324
-            if($aItem->ACLAccess('EditView')) {
325
-            $this->xTemplate->assign('PREROW', "<input type='checkbox' class='checkbox' name='mass[]' value='". $fields['ID']. "' />");
323
+        if ($this->shouldProcess) {
324
+            if ($aItem->ACLAccess('EditView')) {
325
+            $this->xTemplate->assign('PREROW', "<input type='checkbox' class='checkbox' name='mass[]' value='".$fields['ID']."' />");
326 326
             } else {
327 327
                 $this->xTemplate->assign('PREROW', '');
328 328
 
329 329
             }
330
-            if($aItem->ACLAccess('DetailView')) {
331
-                $this->xTemplate->assign('TAG_NAME','a');
330
+            if ($aItem->ACLAccess('DetailView')) {
331
+                $this->xTemplate->assign('TAG_NAME', 'a');
332 332
             } else {
333
-                $this->xTemplate->assign('TAG_NAME','span');
333
+                $this->xTemplate->assign('TAG_NAME', 'span');
334 334
             }
335 335
             $this->xTemplate->assign('CHECKALL', "<input type='checkbox'  title='".$GLOBALS['app_strings']['LBL_SELECT_ALL_TITLE']."' class='checkbox' name='massall' id='massall' value='' onclick='sListView.check_all(document.MassUpdate, \"mass[]\", this.checked);' />");
336 336
         }
337 337
 
338
-        if($oddRow)
338
+        if ($oddRow)
339 339
         {
340 340
             $ROW_COLOR = 'oddListRow';
341
-            $BG_COLOR =  $odd_bg;
341
+            $BG_COLOR = $odd_bg;
342 342
         }
343 343
         else
344 344
         {
345 345
             $ROW_COLOR = 'evenListRow';
346
-            $BG_COLOR =  $even_bg;
346
+            $BG_COLOR = $even_bg;
347 347
         }
348 348
         $oddRow = !$oddRow;
349 349
 		$button_contents = array();
350 350
         $this->xTemplate->assign("ROW_COLOR", $ROW_COLOR);
351 351
         $this->xTemplate->assign("BG_COLOR", $BG_COLOR);
352 352
         $layout_manager = $this->getLayoutManager();
353
-        $layout_manager->setAttribute('context','List');
354
-        $layout_manager->setAttribute('image_path',$this->local_image_path);
353
+        $layout_manager->setAttribute('context', 'List');
354
+        $layout_manager->setAttribute('image_path', $this->local_image_path);
355 355
         $layout_manager->setAttribute('module_name', $subpanel_def->_instance_properties['module']);
356
-        if(!empty($this->child_focus))
357
-            $layout_manager->setAttribute('related_module_name',$this->child_focus->module_dir);
356
+        if (!empty($this->child_focus))
357
+            $layout_manager->setAttribute('related_module_name', $this->child_focus->module_dir);
358 358
 
359 359
         //AG$subpanel_data = $this->list_field_defs;
360 360
         //$bla = array_pop($subpanel_data);
361 361
         //select which sub-panel to display here, the decision will be made based on the type of
362 362
         //the sub-panel and panel in the bean being processed.
363
-        if($subpanel_def->isCollection()) {
364
-            $thepanel=$subpanel_def->sub_subpanels[$aItem->panel_name];
363
+        if ($subpanel_def->isCollection()) {
364
+            $thepanel = $subpanel_def->sub_subpanels[$aItem->panel_name];
365 365
         } else {
366
-            $thepanel=$subpanel_def;
366
+            $thepanel = $subpanel_def;
367 367
         }
368 368
 
369 369
 		/* BEGIN - SECURITY GROUPS */ 
@@ -374,22 +374,22 @@  discard block
 block discarded – undo
374 374
 		$aclaccess_in_group = false;
375 375
 
376 376
 		global $current_user;
377
-		if(is_admin($current_user)) {
377
+		if (is_admin($current_user)) {
378 378
 			$aclaccess_is_owner = true;
379 379
 		} else {
380 380
 			$aclaccess_is_owner = $aItem->isOwner($current_user->id);
381 381
 		}
382 382
 
383 383
 		require_once("modules/SecurityGroups/SecurityGroup.php");
384
-		$aclaccess_in_group = SecurityGroup::groupHasAccess($aItem->module_dir,$aItem->id);
384
+		$aclaccess_in_group = SecurityGroup::groupHasAccess($aItem->module_dir, $aItem->id);
385 385
         	
386 386
     	/* END - SECURITY GROUPS */ 
387 387
     	
388 388
         //get data source name
389
-        $linked_field=$thepanel->get_data_source_name();
390
-        $linked_field_set=$thepanel->get_data_source_name(true);
389
+        $linked_field = $thepanel->get_data_source_name();
390
+        $linked_field_set = $thepanel->get_data_source_name(true);
391 391
         static $count;
392
-        if(!isset($count))$count = 0;
392
+        if (!isset($count))$count = 0;
393 393
 		/* BEGIN - SECURITY GROUPS */ 
394 394
 		/**
395 395
         $field_acl['DetailView'] = $aItem->ACLAccess('DetailView');
@@ -398,19 +398,19 @@  discard block
 block discarded – undo
398 398
         $field_acl['Delete'] = $aItem->ACLAccess('Delete');
399 399
 		*/
400 400
 		//pass is_owner, in_group...vars defined above
401
-        $field_acl['DetailView'] = $aItem->ACLAccess('DetailView',$aclaccess_is_owner,$aclaccess_in_group);
402
-        $field_acl['ListView'] = $aItem->ACLAccess('ListView',$aclaccess_is_owner,$aclaccess_in_group);
403
-        $field_acl['EditView'] = $aItem->ACLAccess('EditView',$aclaccess_is_owner,$aclaccess_in_group);
404
-        $field_acl['Delete'] = $aItem->ACLAccess('Delete',$aclaccess_is_owner,$aclaccess_in_group);
401
+        $field_acl['DetailView'] = $aItem->ACLAccess('DetailView', $aclaccess_is_owner, $aclaccess_in_group);
402
+        $field_acl['ListView'] = $aItem->ACLAccess('ListView', $aclaccess_is_owner, $aclaccess_in_group);
403
+        $field_acl['EditView'] = $aItem->ACLAccess('EditView', $aclaccess_is_owner, $aclaccess_in_group);
404
+        $field_acl['Delete'] = $aItem->ACLAccess('Delete', $aclaccess_is_owner, $aclaccess_in_group);
405 405
 		/* END - SECURITY GROUPS */ 
406
-        foreach($thepanel->get_list_fields() as $field_name=>$list_field)
406
+        foreach ($thepanel->get_list_fields() as $field_name=>$list_field)
407 407
         {
408 408
             //add linked field attribute to the array.
409
-            $list_field['linked_field']=$linked_field;
410
-            $list_field['linked_field_set']=$linked_field_set;
409
+            $list_field['linked_field'] = $linked_field;
410
+            $list_field['linked_field_set'] = $linked_field_set;
411 411
 
412 412
             $usage = empty($list_field['usage']) ? '' : $list_field['usage'];
413
-            if($usage == 'query_only' && !empty($list_field['force_query_only_display'])){
413
+            if ($usage == 'query_only' && !empty($list_field['force_query_only_display'])) {
414 414
                 //if you are here you have column that is query only but needs to be displayed as blank.  This is helpful
415 415
                 //for collections such as Activities where you have a field in only one object and wish to show it in the subpanel list
416 416
                 $count++;
@@ -420,13 +420,13 @@  discard block
 block discarded – undo
420 420
                 $this->xTemplate->assign('CELL', $widget_contents);
421 421
                 $this->xTemplate->parse($xtemplateSection.".row.cell");
422 422
 
423
-            }else if($usage != 'query_only')
423
+            } else if ($usage != 'query_only')
424 424
             {
425
-                $list_field['name']=$field_name;
425
+                $list_field['name'] = $field_name;
426 426
 
427 427
                 $module_field = $field_name.'_mod';
428 428
                 $owner_field = $field_name.'_owner';
429
-                if(!empty($aItem->$module_field)) {
429
+                if (!empty($aItem->$module_field)) {
430 430
 
431 431
                     $list_field['owner_id'] = $aItem->$owner_field;
432 432
                     $list_field['owner_module'] = $aItem->$module_field;
@@ -435,71 +435,71 @@  discard block
 block discarded – undo
435 435
                     $list_field['owner_id'] = false;
436 436
                     $list_field['owner_module'] = false;
437 437
                 }
438
-                if(isset($list_field['alias'])) $list_field['name'] = $list_field['alias'];
439
-                else $list_field['name']=$field_name;
438
+                if (isset($list_field['alias'])) $list_field['name'] = $list_field['alias'];
439
+                else $list_field['name'] = $field_name;
440 440
                 $list_field['fields'] = $fields;
441 441
                 $list_field['module'] = $aItem->module_dir;
442 442
                 $list_field['start_link_wrapper'] = $this->start_link_wrapper;
443 443
                 $list_field['end_link_wrapper'] = $this->end_link_wrapper;
444 444
                 $list_field['subpanel_id'] = $this->subpanel_id;
445 445
                 $list_field += $field_acl;
446
-                if ( isset($aItem->field_defs[strtolower($list_field['name'])])) {
446
+                if (isset($aItem->field_defs[strtolower($list_field['name'])])) {
447 447
                     require_once('include/SugarFields/SugarFieldHandler.php');
448 448
                     // We need to see if a sugar field exists for this field type first,
449 449
                     // if it doesn't, toss it at the old sugarWidgets. This is for
450 450
                     // backwards compatibility and will be removed in a future release
451 451
                     $vardef = $aItem->field_defs[strtolower($list_field['name'])];
452
-                    if ( isset($vardef['type']) ) {
453
-                        $fieldType = isset($vardef['custom_type'])?$vardef['custom_type']:$vardef['type'];
454
-                        $tmpField = SugarFieldHandler::getSugarField($fieldType,true);
452
+                    if (isset($vardef['type'])) {
453
+                        $fieldType = isset($vardef['custom_type']) ? $vardef['custom_type'] : $vardef['type'];
454
+                        $tmpField = SugarFieldHandler::getSugarField($fieldType, true);
455 455
                     } else {
456 456
                         $tmpField = NULL;
457 457
                     }
458 458
 
459
-                    if ( $tmpField != NULL ) {
460
-                        $widget_contents = SugarFieldHandler::displaySmarty($list_field['fields'],$vardef,'ListView',$list_field);
459
+                    if ($tmpField != NULL) {
460
+                        $widget_contents = SugarFieldHandler::displaySmarty($list_field['fields'], $vardef, 'ListView', $list_field);
461 461
                     } else {
462 462
                         // No SugarField for this particular type
463 463
                         // Use the old, icky, SugarWidget for now
464 464
                         $widget_contents = $layout_manager->widgetDisplay($list_field);
465 465
                     }
466 466
 
467
-                    if ( isset($list_field['widget_class']) && $list_field['widget_class'] == 'SubPanelDetailViewLink' ) {
467
+                    if (isset($list_field['widget_class']) && $list_field['widget_class'] == 'SubPanelDetailViewLink') {
468 468
                         // We need to call into the old SugarWidgets for the time being, so it can generate a proper link with all the various corner-cases handled
469 469
                         // So we'll populate the field data with the pre-rendered display for the field
470 470
                         $list_field['fields'][$field_name] = $widget_contents;
471
-                        if('full_name' == $field_name){//bug #32465
471
+                        if ('full_name' == $field_name) {//bug #32465
472 472
                            $list_field['fields'][strtoupper($field_name)] = $widget_contents;
473 473
                         }
474 474
 
475 475
                         //vardef source is non db, assign the field name to varname for processing of column.
476
-                        if(!empty($vardef['source']) && $vardef['source']=='non-db'){
476
+                        if (!empty($vardef['source']) && $vardef['source'] == 'non-db') {
477 477
                             $list_field['varname'] = $field_name;
478 478
 
479 479
                         }
480 480
                         $widget_contents = $layout_manager->widgetDisplay($list_field);
481
-                    } else if(isset($list_field['widget_class']) && $list_field['widget_class'] == 'SubPanelEmailLink' ) {
481
+                    } else if (isset($list_field['widget_class']) && $list_field['widget_class'] == 'SubPanelEmailLink') {
482 482
                         $widget_contents = $layout_manager->widgetDisplay($list_field);
483 483
                     }
484 484
 
485 485
                  $count++;
486 486
                 $this->xTemplate->assign('CELL_COUNT', $count);
487 487
                 $this->xTemplate->assign('CLASS', "");
488
-                if ( empty($widget_contents) ) $widget_contents = '&nbsp;';
488
+                if (empty($widget_contents)) $widget_contents = '&nbsp;';
489 489
                 $this->xTemplate->assign('CELL', $widget_contents);
490 490
                 $this->xTemplate->parse($xtemplateSection.".row.cell");
491 491
                 } else {
492 492
                     // This handles the edit and remove buttons and icon widget
493
-                	if( isset($list_field['widget_class']) && $list_field['widget_class'] == "SubPanelIcon") {
493
+                	if (isset($list_field['widget_class']) && $list_field['widget_class'] == "SubPanelIcon") {
494 494
 		                $count++;
495 495
 		                $widget_contents = $layout_manager->widgetDisplay($list_field);
496 496
 		                $this->xTemplate->assign('CELL_COUNT', $count);
497 497
 		                $this->xTemplate->assign('CLASS', "");
498
-		                if ( empty($widget_contents) ) $widget_contents = '&nbsp;';
498
+		                if (empty($widget_contents)) $widget_contents = '&nbsp;';
499 499
 		                $this->xTemplate->assign('CELL', $widget_contents);
500 500
 		                $this->xTemplate->parse($xtemplateSection.".row.cell");
501 501
                 	} elseif (preg_match("/button/i", $list_field['name'])) {
502
-                        if ((($list_field['name'] === 'edit_button' && $field_acl['EditView']) || ($list_field['name'] === 'close_button' && $field_acl['EditView']) || ($list_field['name'] === 'remove_button' && $field_acl['Delete'])) && '' != ($_content = $layout_manager->widgetDisplay($list_field)) )
502
+                        if ((($list_field['name'] === 'edit_button' && $field_acl['EditView']) || ($list_field['name'] === 'close_button' && $field_acl['EditView']) || ($list_field['name'] === 'remove_button' && $field_acl['Delete'])) && '' != ($_content = $layout_manager->widgetDisplay($list_field)))
503 503
                         {
504 504
                             $button_contents[] = $_content;
505 505
                             unset($_content);
@@ -513,7 +513,7 @@  discard block
 block discarded – undo
513 513
                			$this->xTemplate->assign('CLASS', "");
514 514
                			$widget_contents = $layout_manager->widgetDisplay($list_field);
515 515
 		                $this->xTemplate->assign('CELL_COUNT', $count);
516
-		                if ( empty($widget_contents) ) $widget_contents = '&nbsp;';
516
+		                if (empty($widget_contents)) $widget_contents = '&nbsp;';
517 517
 		                $this->xTemplate->assign('CELL', $widget_contents);
518 518
 		                $this->xTemplate->parse($xtemplateSection.".row.cell");
519 519
                 	}
@@ -525,7 +525,7 @@  discard block
 block discarded – undo
525 525
 
526 526
         // Make sure we have at least one button before rendering a column for
527 527
         // the action buttons in a list view. Relevant bugs: #51647 and #51640.
528
-        if(!empty($button_contents))
528
+        if (!empty($button_contents))
529 529
         {
530 530
             $button_contents = array_filter($button_contents);
531 531
             if (!empty($button_contents))
@@ -534,7 +534,7 @@  discard block
 block discarded – undo
534 534
             // bug#51275: smarty widget to help provide the action menu functionality as it is currently sprinkled throughout the app with html
535 535
                 require_once('include/Smarty/plugins/function.sugar_action_menu.php');
536 536
                 $tempid = create_guid();
537
-                array_unshift($button_contents, "<div style='display: inline' id='$tempid'>" . array_shift($button_contents) . "</div>");
537
+                array_unshift($button_contents, "<div style='display: inline' id='$tempid'>".array_shift($button_contents)."</div>");
538 538
                 $action_button = smarty_function_sugar_action_menu(array(
539 539
                     'id' => $tempid,
540 540
                     'buttons' => $button_contents,
@@ -550,7 +550,7 @@  discard block
 block discarded – undo
550 550
             $this->xTemplate->assign('CELL_COUNT', ++$count);
551 551
             //Bug#51275 for beta3 pre_script is not required any more
552 552
             $this->xTemplate->assign('CELL', $action_button);
553
-            $this->xTemplate->parse($xtemplateSection . ".row.cell");
553
+            $this->xTemplate->parse($xtemplateSection.".row.cell");
554 554
         }
555 555
 
556 556
 
@@ -582,13 +582,13 @@  discard block
 block discarded – undo
582 582
  function ListView() {
583 583
 
584 584
 
585
-    if(!$this->initialized) {
585
+    if (!$this->initialized) {
586 586
         global $sugar_config;
587 587
         $this->records_per_page = $sugar_config['list_max_entries_per_page'] + 0;
588 588
         $this->initialized = true;
589 589
         global $app_strings, $currentModule;
590 590
         $this->local_theme = SugarThemeRegistry::current()->__toString();
591
-        $this->local_app_strings =$app_strings;
591
+        $this->local_app_strings = $app_strings;
592 592
         $this->local_image_path = SugarThemeRegistry::current()->getImagePath();
593 593
         $this->local_current_module = $currentModule;
594 594
     }
@@ -619,7 +619,7 @@  discard block
 block discarded – undo
619 619
  * Contributor(s): ______________________________________.
620 620
 */
621 621
  function setXTemplatePath($value) {
622
-    $this->xTemplatePath= $value;
622
+    $this->xTemplatePath = $value;
623 623
 }
624 624
 
625 625
 /**this is a helper function for allowing ListView to create a new XTemplate it groups parameters that should be set into a single function
@@ -629,22 +629,22 @@  discard block
 block discarded – undo
629 629
 */
630 630
  function initNewXTemplate($XTemplatePath, $modString, $imagePath = null) {
631 631
     $this->setXTemplatePath($XTemplatePath);
632
-    if(isset($modString))
632
+    if (isset($modString))
633 633
         $this->setModStrings($modString);
634
-    if(isset($imagePath))
634
+    if (isset($imagePath))
635 635
         $this->setImagePath($imagePath);
636 636
 }
637 637
 
638 638
 
639
-function getOrderBy($varName, $defaultOrderBy='', $force_sortorder='') {
640
-    $sortBy = $this->getSessionVariable($varName, "ORDER_BY") ;
639
+function getOrderBy($varName, $defaultOrderBy = '', $force_sortorder = '') {
640
+    $sortBy = $this->getSessionVariable($varName, "ORDER_BY");
641 641
 
642 642
     $orderByDirection = $this->getSessionVariableName($varName, "order_by_direction");
643 643
     $orderByColumn = $this->getSessionVariableName($varName, "ORDER_BY");
644 644
     $lastEqualsSortBy = false;
645 645
     $defaultOrder = false; //ascending
646 646
 
647
-    if(empty($sortBy)) {
647
+    if (empty($sortBy)) {
648 648
         $this->setUserVariable($varName, "ORDER_BY", $defaultOrderBy);
649 649
         $sortBy = $defaultOrderBy;
650 650
     } else {
@@ -682,7 +682,7 @@  discard block
 block discarded – undo
682 682
         }
683 683
         $desc = $orderByValue == 'desc';
684 684
         $orderByDirectionValue = false;
685
-        $this->setSessionVariable($varName, $sortBy . "S", $desc);
685
+        $this->setSessionVariable($varName, $sortBy."S", $desc);
686 686
         if (!empty($sortBy))
687 687
         {
688 688
             if (empty($force_sortorder))
@@ -693,11 +693,11 @@  discard block
 block discarded – undo
693 693
                     {
694 694
                         $orderByDirectionValue = $desc ? 'asc' : 'desc';
695 695
                     }
696
-                    $this->query_orderby = $sortBy . ' ' . $orderByValue;
696
+                    $this->query_orderby = $sortBy.' '.$orderByValue;
697 697
                 }
698 698
             } else
699 699
             {
700
-                $this->query_orderby = $sortBy . ' ' . $force_sortorder;
700
+                $this->query_orderby = $sortBy.' '.$force_sortorder;
701 701
             }
702 702
             if (!isset($this->appendToBaseUrl))
703 703
             {
@@ -714,7 +714,7 @@  discard block
 block discarded – undo
714 714
             }
715 715
             //Just clear from url...
716 716
             $this->appendToBaseUrl[$orderByColumn] = false;
717
-    }else {
717
+    } else {
718 718
         $this->query_orderby = "";
719 719
     }
720 720
     $this->sortby = $sortBy;
@@ -728,15 +728,15 @@  discard block
 block discarded – undo
728 728
  * All Rights Reserved.
729 729
  * Contributor(s): ______________________________________.
730 730
 */
731
- function setQuery($where, $limit, $orderBy, $varName, $allowOrderByOveride=true) {
731
+ function setQuery($where, $limit, $orderBy, $varName, $allowOrderByOveride = true) {
732 732
     $this->query_where = $where;
733
-    if($this->getSessionVariable("query", "where") != $where) {
733
+    if ($this->getSessionVariable("query", "where") != $where) {
734 734
         $this->query_where_has_changed = true;
735 735
         $this->setSessionVariable("query", "where", $where);
736 736
     }
737 737
 
738 738
     $this->query_limit = $limit;
739
-    if(!$allowOrderByOveride) {
739
+    if (!$allowOrderByOveride) {
740 740
         $this->query_orderby = $orderBy;
741 741
         return;
742 742
     }
@@ -759,7 +759,7 @@  discard block
 block discarded – undo
759 759
 */
760 760
  function setTheme($theme) {
761 761
     $this->local_theme = $theme;
762
-    if(isset($this->xTemplate))$this->xTemplate->assign("THEME", $this->local_theme);
762
+    if (isset($this->xTemplate))$this->xTemplate->assign("THEME", $this->local_theme);
763 763
 }
764 764
 
765 765
 /**sets the AppStrings used only use if it is different from the global
@@ -770,7 +770,7 @@  discard block
 block discarded – undo
770 770
  function setAppStrings($app_strings) {
771 771
     unset($this->local_app_strings);
772 772
     $this->local_app_strings = $app_strings;
773
-    if(isset($this->xTemplate))$this->xTemplate->assign("APP", $this->local_app_strings);
773
+    if (isset($this->xTemplate))$this->xTemplate->assign("APP", $this->local_app_strings);
774 774
 }
775 775
 
776 776
 /**sets the ModStrings used
@@ -781,7 +781,7 @@  discard block
 block discarded – undo
781 781
  function setModStrings($mod_strings) {
782 782
     unset($this->local_module_strings);
783 783
     $this->local_mod_strings = $mod_strings;
784
-    if(isset($this->xTemplate))$this->xTemplate->assign("MOD", $this->local_mod_strings);
784
+    if (isset($this->xTemplate))$this->xTemplate->assign("MOD", $this->local_mod_strings);
785 785
 }
786 786
 
787 787
 /**sets the ImagePath used
@@ -791,10 +791,10 @@  discard block
 block discarded – undo
791 791
 */
792 792
  function setImagePath($image_path) {
793 793
     $this->local_image_path = $image_path;
794
-    if(empty($this->local_image_path)) {
794
+    if (empty($this->local_image_path)) {
795 795
         $this->local_image_path = SugarThemeRegistry::get($this->local_theme)->getImagePath();
796 796
     }
797
-    if(isset($this->xTemplate))$this->xTemplate->assign("IMAGE_PATH", $this->local_image_path);
797
+    if (isset($this->xTemplate))$this->xTemplate->assign("IMAGE_PATH", $this->local_image_path);
798 798
 }
799 799
 
800 800
 /**sets the currentModule only use if this is different from the global
@@ -805,7 +805,7 @@  discard block
 block discarded – undo
805 805
  function setCurrentModule($currentModule) {
806 806
     unset($this->local_current_module);
807 807
     $this->local_current_module = $currentModule;
808
-    if(isset($this->xTemplate))$this->xTemplate->assign("MODULE_NAME", $this->local_current_module);
808
+    if (isset($this->xTemplate))$this->xTemplate->assign("MODULE_NAME", $this->local_current_module);
809 809
 }
810 810
 
811 811
 /**INTERNAL FUNCTION creates an XTemplate DO NOT CALL THIS THIS IS AN INTERNAL FUNCTION
@@ -814,12 +814,12 @@  discard block
 block discarded – undo
814 814
  * Contributor(s): ______________________________________.
815 815
 */
816 816
  function createXTemplate() {
817
-    if(!isset($this->xTemplate)) {
818
-        if(isset($this->xTemplatePath)) {
817
+    if (!isset($this->xTemplate)) {
818
+        if (isset($this->xTemplatePath)) {
819 819
 
820 820
             $this->xTemplate = new XTemplate($this->xTemplatePath);
821 821
             $this->xTemplate->assign("APP", $this->local_app_strings);
822
-            if(isset($this->local_mod_strings))$this->xTemplate->assign("MOD", $this->local_mod_strings);
822
+            if (isset($this->local_mod_strings))$this->xTemplate->assign("MOD", $this->local_mod_strings);
823 823
             $this->xTemplate->assign("THEME", $this->local_theme);
824 824
             $this->xTemplate->assign("IMAGE_PATH", $this->local_image_path);
825 825
             $this->xTemplate->assign("MODULE_NAME", $this->local_current_module);
@@ -854,7 +854,7 @@  discard block
 block discarded – undo
854 854
 */
855 855
  function xTemplateAssign($name, $value) {
856 856
 
857
-        if(!isset($this->xTemplate)) {
857
+        if (!isset($this->xTemplate)) {
858 858
             $this->createXTemplate();
859 859
         }
860 860
         $this->xTemplate->assign($name, $value);
@@ -867,11 +867,11 @@  discard block
 block discarded – undo
867 867
  * Contributor(s): ______________________________________.
868 868
 */
869 869
  function getOffset($localVarName) {
870
- 	if($this->query_where_has_changed || isset($GLOBALS['record_has_changed'])) {
871
- 		$this->setSessionVariable($localVarName,"offset", 0);
870
+ 	if ($this->query_where_has_changed || isset($GLOBALS['record_has_changed'])) {
871
+ 		$this->setSessionVariable($localVarName, "offset", 0);
872 872
  	}
873
-	$offset = $this->getSessionVariable($localVarName,"offset");
874
-	if(isset($offset)) {
873
+	$offset = $this->getSessionVariable($localVarName, "offset");
874
+	if (isset($offset)) {
875 875
 		return $offset;
876 876
 	}
877 877
 	return 0;
@@ -891,12 +891,12 @@  discard block
 block discarded – undo
891 891
  * All Rights Reserved.
892 892
  * Contributor(s): ______________________________________.
893 893
 */
894
- function setSessionVariable($localVarName,$varName, $value) {
894
+ function setSessionVariable($localVarName, $varName, $value) {
895 895
     $_SESSION[$this->local_current_module."_".$localVarName."_".$varName] = $value;
896 896
 }
897 897
 
898
-function setUserVariable($localVarName,$varName, $value) {
899
-        if($this->is_dynamic ||  $localVarName == 'CELL')return;
898
+function setUserVariable($localVarName, $varName, $value) {
899
+        if ($this->is_dynamic || $localVarName == 'CELL')return;
900 900
         global $current_user;
901 901
         $current_user->setPreference($this->local_current_module."_".$localVarName."_".$varName, $value);
902 902
 }
@@ -906,13 +906,13 @@  discard block
 block discarded – undo
906 906
  * All Rights Reserved.
907 907
  * Contributor(s): ______________________________________.
908 908
 */
909
- function getSessionVariable($localVarName,$varName) {
909
+ function getSessionVariable($localVarName, $varName) {
910 910
     //Set any variables pass in through request first
911
-    if(isset($_REQUEST[$this->getSessionVariableName($localVarName, $varName)])) {
912
-        $this->setSessionVariable($localVarName,$varName,$_REQUEST[$this->getSessionVariableName($localVarName, $varName)]);
911
+    if (isset($_REQUEST[$this->getSessionVariableName($localVarName, $varName)])) {
912
+        $this->setSessionVariable($localVarName, $varName, $_REQUEST[$this->getSessionVariableName($localVarName, $varName)]);
913 913
     }
914 914
 
915
-    if(isset($_SESSION[$this->getSessionVariableName($localVarName, $varName)])) {
915
+    if (isset($_SESSION[$this->getSessionVariableName($localVarName, $varName)])) {
916 916
         return $_SESSION[$this->getSessionVariableName($localVarName, $varName)];
917 917
     }
918 918
     return "";
@@ -920,10 +920,10 @@  discard block
 block discarded – undo
920 920
 
921 921
 function getUserVariable($localVarName, $varName) {
922 922
     global $current_user;
923
-    if($this->is_dynamic ||  $localVarName == 'CELL')return;
924
-    if(isset($_REQUEST[$this->getSessionVariableName($localVarName, $varName)])) {
923
+    if ($this->is_dynamic || $localVarName == 'CELL')return;
924
+    if (isset($_REQUEST[$this->getSessionVariableName($localVarName, $varName)])) {
925 925
 
926
-            $this->setUserVariable($localVarName,$varName,$_REQUEST[$this->getSessionVariableName($localVarName, $varName)]);
926
+            $this->setUserVariable($localVarName, $varName, $_REQUEST[$this->getSessionVariableName($localVarName, $varName)]);
927 927
     }
928 928
     return $current_user->getPreference($this->getSessionVariableName($localVarName, $varName));
929 929
 }
@@ -947,7 +947,7 @@  discard block
 block discarded – undo
947 947
           'default',
948 948
         );
949 949
 
950
-        foreach($priority_map as $p) {
950
+        foreach ($priority_map as $p) {
951 951
             if (key_exists($p, $sortOrderList)) {
952 952
                 $order = strtolower($sortOrderList[$p]);
953 953
                 if (in_array($order, array('asc', 'desc'))) {
@@ -969,7 +969,7 @@  discard block
 block discarded – undo
969 969
     * All Rights Reserved.
970 970
     * Contributor(s): ______________________________________..
971 971
     */
972
-    function getSessionVariableName($localVarName,$varName) {
972
+    function getSessionVariableName($localVarName, $varName) {
973 973
         return $this->local_current_module."_".$localVarName."_".$varName;
974 974
     }
975 975
 
@@ -997,22 +997,22 @@  discard block
 block discarded – undo
997 997
         SugarVCR::erase($seed->module_dir);
998 998
         $params = array();
999 999
         //$filter = array('id', 'full_name');
1000
-        $filter=array();
1000
+        $filter = array();
1001 1001
         $ret_array = $seed->create_new_list_query($this->query_orderby, $this->query_where, $filter, $params, 0, '', true, $seed, true);
1002
-        if(!is_array($params)) $params = array();
1003
-        if(!isset($params['custom_select'])) $params['custom_select'] = '';
1004
-        if(!isset($params['custom_from'])) $params['custom_from'] = '';
1005
-        if(!isset($params['custom_where'])) $params['custom_where'] = '';
1006
-        if(!isset($params['custom_order_by'])) $params['custom_order_by'] = '';
1007
-        $main_query = $ret_array['select'] . $params['custom_select'] . $ret_array['from'] . $params['custom_from'] . $ret_array['where'] . $params['custom_where'] . $ret_array['order_by'] . $params['custom_order_by'];
1008
-        SugarVCR::store($seed->module_dir,  $main_query);
1002
+        if (!is_array($params)) $params = array();
1003
+        if (!isset($params['custom_select'])) $params['custom_select'] = '';
1004
+        if (!isset($params['custom_from'])) $params['custom_from'] = '';
1005
+        if (!isset($params['custom_where'])) $params['custom_where'] = '';
1006
+        if (!isset($params['custom_order_by'])) $params['custom_order_by'] = '';
1007
+        $main_query = $ret_array['select'].$params['custom_select'].$ret_array['from'].$params['custom_from'].$ret_array['where'].$params['custom_where'].$ret_array['order_by'].$params['custom_order_by'];
1008
+        SugarVCR::store($seed->module_dir, $main_query);
1009 1009
         //ADDING VCR CONTROL
1010 1010
 
1011
-        if(empty($this->related_field_name)) {
1011
+        if (empty($this->related_field_name)) {
1012 1012
             $response = $seed->get_list($this->query_orderby, $this->query_where, $current_offset, $this->query_limit);
1013 1013
         } else {
1014 1014
             $related_field_name = $this->related_field_name;
1015
-            $response = $seed->get_related_list($this->child_focus,$related_field_name, $this->query_orderby,
1015
+            $response = $seed->get_related_list($this->child_focus, $related_field_name, $this->query_orderby,
1016 1016
             $this->query_where, $current_offset, $this->query_limit);
1017 1017
         }
1018 1018
 
@@ -1021,12 +1021,12 @@  discard block
 block discarded – undo
1021 1021
         $next_offset = $response['next_offset'];
1022 1022
         $previous_offset = $response['previous_offset'];
1023 1023
 
1024
-        if(!empty($response['current_offset'])) {
1024
+        if (!empty($response['current_offset'])) {
1025 1025
             $current_offset = $response['current_offset'];
1026 1026
         }
1027 1027
 
1028 1028
         $list_view_row_count = $row_count;
1029
-        $this->processListNavigation($xtemplateSection,$html_varName, $current_offset, $next_offset, $previous_offset, $row_count, null, null, empty($seed->column_fields) ? null : count($seed->column_fields));
1029
+        $this->processListNavigation($xtemplateSection, $html_varName, $current_offset, $next_offset, $previous_offset, $row_count, null, null, empty($seed->column_fields) ? null : count($seed->column_fields));
1030 1030
 
1031 1031
         return $list;
1032 1032
     }
@@ -1036,7 +1036,7 @@  discard block
 block discarded – undo
1036 1036
     function processUnionBeans($sugarbean, $subpanel_def, $html_var = 'CELL') {
1037 1037
 
1038 1038
 		$last_detailview_record = $this->getSessionVariable("detailview", "record");
1039
-		if(!empty($last_detailview_record) && $last_detailview_record != $sugarbean->id){
1039
+		if (!empty($last_detailview_record) && $last_detailview_record != $sugarbean->id) {
1040 1040
 			$GLOBALS['record_has_changed'] = true;
1041 1041
 		}
1042 1042
 		$this->setSessionVariable("detailview", "record", $sugarbean->id);
@@ -1053,14 +1053,14 @@  discard block
 block discarded – undo
1053 1053
         $sort_order['request'] = isset($_REQUEST['sort_order']) ? $_REQUEST['sort_order'] : null;
1054 1054
 
1055 1055
         // see if the session data has a sort order
1056
-        if (isset($_SESSION['last_sub' . $this->subpanel_module . '_order']))
1056
+        if (isset($_SESSION['last_sub'.$this->subpanel_module.'_order']))
1057 1057
         {
1058
-            $sort_order['session'] = $_SESSION['last_sub' . $this->subpanel_module . '_order'];
1058
+            $sort_order['session'] = $_SESSION['last_sub'.$this->subpanel_module.'_order'];
1059 1059
 
1060 1060
             // We swap the order when the request contains an offset (indicating a column sort issued);
1061 1061
             // otherwise we do not sort.  If we don't make this check, then the subpanel listview will
1062 1062
             // swap ordering each time a new record is entered via quick create forms
1063
-            if (isset($_REQUEST[$module . '_' . $html_var . '_offset']))
1063
+            if (isset($_REQUEST[$module.'_'.$html_var.'_offset']))
1064 1064
             {
1065 1065
                 $sort_order['session'] = $sort_order['session'] == 'asc' ? 'desc' : 'asc';
1066 1066
             }
@@ -1083,10 +1083,10 @@  discard block
 block discarded – undo
1083 1083
             $this->query_orderby = 'id';
1084 1084
         }
1085 1085
 
1086
-        $this->getOrderBy($html_var,$this->query_orderby, $this->sort_order);
1086
+        $this->getOrderBy($html_var, $this->query_orderby, $this->sort_order);
1087 1087
 
1088
-        $_SESSION['last_sub' .$this->subpanel_module. '_order'] = $this->sort_order;
1089
-        $_SESSION['last_sub' .$this->subpanel_module. '_url'] = $this->getBaseURL($html_var);
1088
+        $_SESSION['last_sub'.$this->subpanel_module.'_order'] = $this->sort_order;
1089
+        $_SESSION['last_sub'.$this->subpanel_module.'_url'] = $this->getBaseURL($html_var);
1090 1090
 
1091 1091
 		// Bug 8139 - Correct Subpanel sorting on 'name', when subpanel sorting default is 'last_name, first_name'
1092 1092
 		if (($this->sortby == 'name' || $this->sortby == 'last_name') &&
@@ -1094,21 +1094,21 @@  discard block
 block discarded – undo
1094 1094
 			$this->sortby = 'last_name '.$this->sort_order.', first_name ';
1095 1095
 		}
1096 1096
 
1097
-        if(!empty($this->response)){
1098
-            $response =& $this->response;
1097
+        if (!empty($this->response)) {
1098
+            $response = & $this->response;
1099 1099
             echo 'cached';
1100
-        }else{
1101
-            $response = SugarBean::get_union_related_list($sugarbean,$this->sortby, $this->sort_order, $this->query_where, $current_offset, -1, $this->records_per_page,$this->query_limit,$subpanel_def);
1102
-            $this->response =& $response;
1100
+        } else {
1101
+            $response = SugarBean::get_union_related_list($sugarbean, $this->sortby, $this->sort_order, $this->query_where, $current_offset, -1, $this->records_per_page, $this->query_limit, $subpanel_def);
1102
+            $this->response = & $response;
1103 1103
         }
1104 1104
         $list = $response['list'];
1105 1105
         $row_count = $response['row_count'];
1106 1106
         $next_offset = $response['next_offset'];
1107 1107
         $previous_offset = $response['previous_offset'];
1108
-        if(!empty($response['current_offset']))$current_offset = $response['current_offset'];
1108
+        if (!empty($response['current_offset']))$current_offset = $response['current_offset'];
1109 1109
         global $list_view_row_count;
1110 1110
         $list_view_row_count = $row_count;
1111
-        $this->processListNavigation('dyn_list_view', $html_var, $current_offset, $next_offset, $previous_offset, $row_count, $sugarbean,$subpanel_def);
1111
+        $this->processListNavigation('dyn_list_view', $html_var, $current_offset, $next_offset, $previous_offset, $row_count, $sugarbean, $subpanel_def);
1112 1112
 
1113 1113
         return array('list'=>$list, 'parent_data'=>$response['parent_data'], 'query'=>$response['query']);
1114 1114
     }
@@ -1116,34 +1116,34 @@  discard block
 block discarded – undo
1116 1116
     function getBaseURL($html_varName) {
1117 1117
         static $cache = array();
1118 1118
 
1119
-        if(!empty($cache[$html_varName]))return $cache[$html_varName];
1120
-        $blockVariables = array('mass', 'uid', 'massupdate', 'delete', 'merge', 'selectCount','current_query_by_page');
1121
-        if(!empty($this->base_URL)) {
1119
+        if (!empty($cache[$html_varName]))return $cache[$html_varName];
1120
+        $blockVariables = array('mass', 'uid', 'massupdate', 'delete', 'merge', 'selectCount', 'current_query_by_page');
1121
+        if (!empty($this->base_URL)) {
1122 1122
             return $this->base_URL;
1123 1123
         }
1124 1124
 
1125 1125
             $baseurl = $_SERVER['PHP_SELF'];
1126
-            if(empty($baseurl)) {
1126
+            if (empty($baseurl)) {
1127 1127
                 $baseurl = 'index.php';
1128 1128
             }
1129 1129
 
1130 1130
             /*fixes an issue with deletes when doing a search*/
1131
-            foreach(array_merge($_GET, $_POST) as $name=>$value) {
1131
+            foreach (array_merge($_GET, $_POST) as $name=>$value) {
1132 1132
                 //echo ("$name = $value <br/>");
1133
-                if(!empty($value) && $name != 'sort_order' //&& $name != ListView::getSessionVariableName($html_varName,"ORDER_BY")
1134
-                        && $name != ListView::getSessionVariableName($html_varName,"offset")
1133
+                if (!empty($value) && $name != 'sort_order' //&& $name != ListView::getSessionVariableName($html_varName,"ORDER_BY")
1134
+                        && $name != ListView::getSessionVariableName($html_varName, "offset")
1135 1135
                         /*&& substr_count($name, "ORDER_BY")==0*/ && !in_array($name, $blockVariables))
1136 1136
                 {
1137
-                    if(is_array($value)) {
1138
-                        foreach($value as $valuename=>$valuevalue) {
1139
-                            if(substr_count($baseurl, '?') > 0)
1137
+                    if (is_array($value)) {
1138
+                        foreach ($value as $valuename=>$valuevalue) {
1139
+                            if (substr_count($baseurl, '?') > 0)
1140 1140
                                 $baseurl	.= "&{$name}[]=".$valuevalue;
1141 1141
                             else
1142 1142
                                 $baseurl	.= "?{$name}[]=".$valuevalue;
1143 1143
                         }
1144 1144
                     } else {
1145 1145
                         $value = urlencode($value);
1146
-                        if(substr_count($baseurl, '?') > 0) {
1146
+                        if (substr_count($baseurl, '?') > 0) {
1147 1147
                             $baseurl	.= "&$name=$value";
1148 1148
                         } else {
1149 1149
                             $baseurl	.= "?$name=$value";
@@ -1153,17 +1153,17 @@  discard block
 block discarded – undo
1153 1153
             }
1154 1154
 
1155 1155
 
1156
-            if($_SERVER['REQUEST_METHOD'] == 'POST') {
1156
+            if ($_SERVER['REQUEST_METHOD'] == 'POST') {
1157 1157
                 // at this point it is possible that the above foreach already executed resulting in double ?'s in the url
1158
-                if(substr_count($baseurl, '?') == 0) {
1158
+                if (substr_count($baseurl, '?') == 0) {
1159 1159
                     $baseurl .= '?';
1160 1160
                 }
1161
-                if(isset($_REQUEST['action'])) $baseurl.= '&action='.$_REQUEST['action'];
1162
-                if(isset($_REQUEST['record'])) $baseurl .= '&record='.$_REQUEST['record'];
1163
-                if(isset($_REQUEST['module'])) $baseurl .= '&module='.$_REQUEST['module'];
1161
+                if (isset($_REQUEST['action'])) $baseurl .= '&action='.$_REQUEST['action'];
1162
+                if (isset($_REQUEST['record'])) $baseurl .= '&record='.$_REQUEST['record'];
1163
+                if (isset($_REQUEST['module'])) $baseurl .= '&module='.$_REQUEST['module'];
1164 1164
             }
1165 1165
 
1166
-            $baseurl .= "&".ListView::getSessionVariableName($html_varName,"offset")."=";
1166
+            $baseurl .= "&".ListView::getSessionVariableName($html_varName, "offset")."=";
1167 1167
             $cache[$html_varName] = $baseurl;
1168 1168
             return $baseurl;
1169 1169
     }
@@ -1177,7 +1177,7 @@  discard block
 block discarded – undo
1177 1177
     * All Rights Reserved.
1178 1178
     * Contributor(s): ______________________________________..
1179 1179
     */
1180
-    function processListNavigation($xtemplateSection, $html_varName, $current_offset, $next_offset, $previous_offset, $row_count, $sugarbean=null, $subpanel_def=null, $col_count = 20) {
1180
+    function processListNavigation($xtemplateSection, $html_varName, $current_offset, $next_offset, $previous_offset, $row_count, $sugarbean = null, $subpanel_def = null, $col_count = 20) {
1181 1181
 
1182 1182
         global $export_module;
1183 1183
         global $sugar_config;
@@ -1187,40 +1187,40 @@  discard block
 block discarded – undo
1187 1187
 
1188 1188
         $start_record = $current_offset + 1;
1189 1189
 
1190
-        if(!is_numeric($col_count))
1190
+        if (!is_numeric($col_count))
1191 1191
             $col_count = 20;
1192 1192
 
1193
-        if($row_count == 0)
1193
+        if ($row_count == 0)
1194 1194
             $start_record = 0;
1195 1195
 
1196 1196
         $end_record = $start_record + $this->records_per_page;
1197 1197
         // back up the the last page.
1198
-        if($end_record > $row_count+1) {
1199
-            $end_record = $row_count+1;
1198
+        if ($end_record > $row_count + 1) {
1199
+            $end_record = $row_count + 1;
1200 1200
         }
1201 1201
         // Determine the start location of the last page
1202
-        if($row_count == 0)
1202
+        if ($row_count == 0)
1203 1203
             $number_pages = 0;
1204 1204
         else
1205 1205
             $number_pages = floor(($row_count - 1) / $this->records_per_page);
1206 1206
 
1207 1207
         $last_offset = $number_pages * $this->records_per_page;
1208 1208
 
1209
-        if(empty($this->query_limit)  || $this->query_limit > $this->records_per_page) {
1209
+        if (empty($this->query_limit) || $this->query_limit > $this->records_per_page) {
1210 1210
             $this->base_URL = $this->getBaseURL($html_varName);
1211 1211
             $dynamic_url = '';
1212 1212
 
1213
-            if($this->is_dynamic) {
1214
-                $dynamic_url .='&'. $this->getSessionVariableName($html_varName,'ORDER_BY') . '='. $this->getSessionVariable($html_varName,'ORDER_BY').'&sort_order='.$this->sort_order.'&to_pdf=true&action=SubPanelViewer&subpanel=' . $this->subpanel_module;
1213
+            if ($this->is_dynamic) {
1214
+                $dynamic_url .= '&'.$this->getSessionVariableName($html_varName, 'ORDER_BY').'='.$this->getSessionVariable($html_varName, 'ORDER_BY').'&sort_order='.$this->sort_order.'&to_pdf=true&action=SubPanelViewer&subpanel='.$this->subpanel_module;
1215 1215
             }
1216 1216
 
1217 1217
             $current_URL = htmlentities($this->base_URL.$current_offset.$dynamic_url);
1218 1218
             $start_URL = htmlentities($this->base_URL."0".$dynamic_url);
1219
-            $previous_URL  = htmlentities($this->base_URL.$previous_offset.$dynamic_url);
1219
+            $previous_URL = htmlentities($this->base_URL.$previous_offset.$dynamic_url);
1220 1220
             $next_URL  = htmlentities($this->base_URL.$next_offset.$dynamic_url);
1221
-            $end_URL  = htmlentities($this->base_URL.'end'.$dynamic_url);
1221
+            $end_URL = htmlentities($this->base_URL.'end'.$dynamic_url);
1222 1222
 
1223
-            if(!empty($this->start_link_wrapper)) {
1223
+            if (!empty($this->start_link_wrapper)) {
1224 1224
                 $current_URL = $this->start_link_wrapper.$current_URL.$this->end_link_wrapper;
1225 1225
                 $start_URL = $this->start_link_wrapper.$start_URL.$this->end_link_wrapper;
1226 1226
                 $previous_URL = $this->start_link_wrapper.$previous_URL.$this->end_link_wrapper;
@@ -1230,7 +1230,7 @@  discard block
 block discarded – undo
1230 1230
 
1231 1231
             $moduleString = htmlspecialchars("{$currentModule}_{$html_varName}_offset");
1232 1232
             $moduleStringOrder = htmlspecialchars("{$currentModule}_{$html_varName}_ORDER_BY");
1233
-            if($this->shouldProcess && !$this->multi_select_popup) {
1233
+            if ($this->shouldProcess && !$this->multi_select_popup) {
1234 1234
                 // check the checkboxes onload
1235 1235
                 echo "<script>YAHOO.util.Event.addListener(window, \"load\", sListView.check_boxes);</script>\n";
1236 1236
 
@@ -1238,7 +1238,7 @@  discard block
 block discarded – undo
1238 1238
                 $uids = empty($_REQUEST['uid']) || $massUpdateRun ? '' : $_REQUEST['uid'];
1239 1239
                 $select_entire_list = ($massUpdateRun) ? 0 : (isset($_POST['select_entire_list']) ? $_POST['select_entire_list'] : (isset($_REQUEST['select_entire_list']) ? htmlspecialchars($_REQUEST['select_entire_list']) : 0));
1240 1240
 
1241
-                echo "<textarea style='display: none' name='uid'>{$uids}</textarea>\n" .
1241
+                echo "<textarea style='display: none' name='uid'>{$uids}</textarea>\n".
1242 1242
                     "<input type='hidden' name='select_entire_list' value='{$select_entire_list}'>\n".
1243 1243
                     "<input type='hidden' name='{$moduleString}' value='0'>\n".
1244 1244
                     "<input type='hidden' name='{$moduleStringOrder}' value='0'>\n";
@@ -1248,64 +1248,64 @@  discard block
 block discarded – undo
1248 1248
 
1249 1249
             $GLOBALS['log']->debug("Offsets: (start, previous, next, last)(0, $previous_offset, $next_offset, $last_offset)");
1250 1250
 
1251
-            if(0 == $current_offset) {
1252
-                $start_link = "<button type='button' name='listViewStartButton' title='{$this->local_app_strings['LNK_LIST_START']}' class='button' disabled>".SugarThemeRegistry::current()->getImage("start_off","aborder='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_START'])."</button>";
1253
-                $previous_link = "<button type='button' name='listViewPrevButton' title='{$this->local_app_strings['LNK_LIST_PREVIOUS']}' class='button' disabled>".SugarThemeRegistry::current()->getImage("previous_off","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_PREVIOUS'])."</button>";
1251
+            if (0 == $current_offset) {
1252
+                $start_link = "<button type='button' name='listViewStartButton' title='{$this->local_app_strings['LNK_LIST_START']}' class='button' disabled>".SugarThemeRegistry::current()->getImage("start_off", "aborder='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_START'])."</button>";
1253
+                $previous_link = "<button type='button' name='listViewPrevButton' title='{$this->local_app_strings['LNK_LIST_PREVIOUS']}' class='button' disabled>".SugarThemeRegistry::current()->getImage("previous_off", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_PREVIOUS'])."</button>";
1254 1254
             } else {
1255
-                if($this->multi_select_popup) {// nav links for multiselect popup, submit form to save checks.
1256
-                    $start_link = "<button type='button' class='button' name='listViewStartButton' title='{$this->local_app_strings['LNK_LIST_START']}' onClick='javascript:save_checks(0, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("start","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_START'])."</button>";
1257
-                    $previous_link = "<button type='button' class='button' name='listViewPrevButton' title='{$this->local_app_strings['LNK_LIST_PREVIOUS']}' onClick='javascript:save_checks($previous_offset, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("previous","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_PREVIOUS'])."</button>";
1258
-                } elseif($this->shouldProcess) {
1259
-                    $start_link = "<button type='button' class='button' name='listViewStartButton' title='{$this->local_app_strings['LNK_LIST_START']}' onClick='location.href=\"$start_URL\"; sListView.save_checks(0, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("start","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_START'])."</button>";
1260
-                    $previous_link = "<button type='button' class='button' name='listViewPrevButton' title='{$this->local_app_strings['LNK_LIST_PREVIOUS']}' onClick='location.href=\"$previous_URL\"; sListView.save_checks($previous_offset, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("previous","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_PREVIOUS'])."</button>";
1255
+                if ($this->multi_select_popup) {// nav links for multiselect popup, submit form to save checks.
1256
+                    $start_link = "<button type='button' class='button' name='listViewStartButton' title='{$this->local_app_strings['LNK_LIST_START']}' onClick='javascript:save_checks(0, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("start", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_START'])."</button>";
1257
+                    $previous_link = "<button type='button' class='button' name='listViewPrevButton' title='{$this->local_app_strings['LNK_LIST_PREVIOUS']}' onClick='javascript:save_checks($previous_offset, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("previous", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_PREVIOUS'])."</button>";
1258
+                } elseif ($this->shouldProcess) {
1259
+                    $start_link = "<button type='button' class='button' name='listViewStartButton' title='{$this->local_app_strings['LNK_LIST_START']}' onClick='location.href=\"$start_URL\"; sListView.save_checks(0, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("start", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_START'])."</button>";
1260
+                    $previous_link = "<button type='button' class='button' name='listViewPrevButton' title='{$this->local_app_strings['LNK_LIST_PREVIOUS']}' onClick='location.href=\"$previous_URL\"; sListView.save_checks($previous_offset, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("previous", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_PREVIOUS'])."</button>";
1261 1261
                 } else {
1262 1262
                     $onClick = '';
1263
-                    if(0 != preg_match('/javascript.*/', $start_URL)){
1263
+                    if (0 != preg_match('/javascript.*/', $start_URL)) {
1264 1264
                         $onClick = "\"$start_URL;\"";
1265
-                    }else{
1266
-                        $onClick ="'location.href=\"$start_URL\";'";
1265
+                    } else {
1266
+                        $onClick = "'location.href=\"$start_URL\";'";
1267 1267
                     }
1268
-                    $start_link = "<button type='button' class='button' name='listViewStartButton' title='{$this->local_app_strings['LNK_LIST_START']}' onClick=".$onClick.">".SugarThemeRegistry::current()->getImage("start","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_START'])."</button>";
1268
+                    $start_link = "<button type='button' class='button' name='listViewStartButton' title='{$this->local_app_strings['LNK_LIST_START']}' onClick=".$onClick.">".SugarThemeRegistry::current()->getImage("start", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_START'])."</button>";
1269 1269
 
1270 1270
                     $onClick = '';
1271
-                    if(0 != preg_match('/javascript.*/', $previous_URL)){
1271
+                    if (0 != preg_match('/javascript.*/', $previous_URL)) {
1272 1272
                         $onClick = "\"$previous_URL;\"";
1273
-                    }else{
1273
+                    } else {
1274 1274
                         $onClick = "'location.href=\"$previous_URL\";'";
1275 1275
                     }
1276
-                    $previous_link = "<button type='button' class='button' name='listViewPrevButton' title='{$this->local_app_strings['LNK_LIST_PREVIOUS']}' onClick=".$onClick.">".SugarThemeRegistry::current()->getImage("previous","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_PREVIOUS'])."</button>";
1276
+                    $previous_link = "<button type='button' class='button' name='listViewPrevButton' title='{$this->local_app_strings['LNK_LIST_PREVIOUS']}' onClick=".$onClick.">".SugarThemeRegistry::current()->getImage("previous", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_PREVIOUS'])."</button>";
1277 1277
                 }
1278 1278
             }
1279 1279
 
1280
-            if($last_offset <= $current_offset) {
1281
-                $end_link = "<button type='button' name='listViewEndButton' title='{$this->local_app_strings['LNK_LIST_END']}' class='button' disabled>".SugarThemeRegistry::current()->getImage("end_off","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_END'])."</button>";
1282
-                $next_link = "<button type='button' name='listViewNextButton' title='{$this->local_app_strings['LNK_LIST_NEXT']}' class='button' disabled>".SugarThemeRegistry::current()->getImage("next_off","aborder='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_NEXT'])."</button>";
1280
+            if ($last_offset <= $current_offset) {
1281
+                $end_link = "<button type='button' name='listViewEndButton' title='{$this->local_app_strings['LNK_LIST_END']}' class='button' disabled>".SugarThemeRegistry::current()->getImage("end_off", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_END'])."</button>";
1282
+                $next_link = "<button type='button' name='listViewNextButton' title='{$this->local_app_strings['LNK_LIST_NEXT']}' class='button' disabled>".SugarThemeRegistry::current()->getImage("next_off", "aborder='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_NEXT'])."</button>";
1283 1283
             } else {
1284
-                if($this->multi_select_popup) { // nav links for multiselect popup, submit form to save checks.
1285
-                    $end_link = "<button type='button' name='listViewEndButton' class='button' title='{$this->local_app_strings['LNK_LIST_END']}' onClick='javascript:save_checks($last_offset, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("end","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_END'])."</button>";
1286
-                    if(!empty($sugar_config['disable_count_query'])) {
1284
+                if ($this->multi_select_popup) { // nav links for multiselect popup, submit form to save checks.
1285
+                    $end_link = "<button type='button' name='listViewEndButton' class='button' title='{$this->local_app_strings['LNK_LIST_END']}' onClick='javascript:save_checks($last_offset, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("end", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_END'])."</button>";
1286
+                    if (!empty($sugar_config['disable_count_query'])) {
1287 1287
                         $end_link = '';
1288 1288
                     }
1289
-                    $next_link = "<button type='button' name='listViewNextButton' title='{$this->local_app_strings['LNK_LIST_NEXT']}' class='button' onClick='javascript:save_checks($next_offset, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("next","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_NEXT'])."</button>";
1290
-                } elseif($this->shouldProcess) {
1291
-                    $end_link = "<button type='button' name='listViewEndButton' class='button' title='{$this->local_app_strings['LNK_LIST_END']}' onClick='location.href=\"$end_URL\"; sListView.save_checks(\"end\", \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("end","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_END'])."</button>";
1292
-                    $next_link = "<button type='button' name='listViewNextButton' class='button' title='{$this->local_app_strings['LNK_LIST_NEXT']}' onClick='location.href=\"$next_URL\"; sListView.save_checks($next_offset, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("next","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_NEXT'])."</button>";
1289
+                    $next_link = "<button type='button' name='listViewNextButton' title='{$this->local_app_strings['LNK_LIST_NEXT']}' class='button' onClick='javascript:save_checks($next_offset, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("next", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_NEXT'])."</button>";
1290
+                } elseif ($this->shouldProcess) {
1291
+                    $end_link = "<button type='button' name='listViewEndButton' class='button' title='{$this->local_app_strings['LNK_LIST_END']}' onClick='location.href=\"$end_URL\"; sListView.save_checks(\"end\", \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("end", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_END'])."</button>";
1292
+                    $next_link = "<button type='button' name='listViewNextButton' class='button' title='{$this->local_app_strings['LNK_LIST_NEXT']}' onClick='location.href=\"$next_URL\"; sListView.save_checks($next_offset, \"{$moduleString}\");'>".SugarThemeRegistry::current()->getImage("next", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_NEXT'])."</button>";
1293 1293
                 } else {
1294 1294
                     $onClick = '';
1295
-                    if(0 != preg_match('/javascript.*/', $next_URL)){
1295
+                    if (0 != preg_match('/javascript.*/', $next_URL)) {
1296 1296
                         $onClick = "\"$next_URL;\"";
1297
-                    }else{
1298
-                        $onClick ="'location.href=\"$next_URL\";'";
1297
+                    } else {
1298
+                        $onClick = "'location.href=\"$next_URL\";'";
1299 1299
                     }
1300
-                    $next_link = "<button type='button' name='listViewNextButton' class='button' title='{$this->local_app_strings['LNK_LIST_NEXT']}' onClick=".$onClick.">".SugarThemeRegistry::current()->getImage("next","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_NEXT'])."</button>";
1300
+                    $next_link = "<button type='button' name='listViewNextButton' class='button' title='{$this->local_app_strings['LNK_LIST_NEXT']}' onClick=".$onClick.">".SugarThemeRegistry::current()->getImage("next", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_NEXT'])."</button>";
1301 1301
 
1302 1302
                     $onClick = '';
1303
-                    if(0 != preg_match('/javascript.*/', $end_URL)){
1303
+                    if (0 != preg_match('/javascript.*/', $end_URL)) {
1304 1304
                         $onClick = "\"$end_URL;\"";
1305
-                    }else{
1305
+                    } else {
1306 1306
                         $onClick = "'location.href=\"$end_URL\";'";
1307 1307
                     }
1308
-                    $end_link = "<button type='button' name='listViewEndButton' class='button' title='{$this->local_app_strings['LNK_LIST_END']}' onClick=".$onClick.">".SugarThemeRegistry::current()->getImage("end","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_END'])."</button>";
1308
+                    $end_link = "<button type='button' name='listViewEndButton' class='button' title='{$this->local_app_strings['LNK_LIST_END']}' onClick=".$onClick.">".SugarThemeRegistry::current()->getImage("end", "border='0' align='absmiddle'", null, null, '.gif', $this->local_app_strings['LNK_LIST_END'])."</button>";
1309 1309
 
1310 1310
                 }
1311 1311
             }
@@ -1313,7 +1313,7 @@  discard block
 block discarded – undo
1313 1313
             $GLOBALS['log']->info("Offset (next, current, prev)($next_offset, $current_offset, $previous_offset)");
1314 1314
             $GLOBALS['log']->info("Start/end records ($start_record, $end_record)");
1315 1315
 
1316
-            $end_record = $end_record-1;
1316
+            $end_record = $end_record - 1;
1317 1317
 
1318 1318
 $script_href = "<a style=\'width: 150px\' name=\"thispage\" class=\'menuItem\' onmouseover=\'hiliteItem(this,\"yes\");\' onmouseout=\'unhiliteItem(this);\' onclick=\'if (document.MassUpdate.select_entire_list.value==1){document.MassUpdate.select_entire_list.value=0;sListView.check_all(document.MassUpdate, \"mass[]\", true, $this->records_per_page)}else {sListView.check_all(document.MassUpdate, \"mass[]\", true)};\' href=\'#\'>{$this->local_app_strings['LBL_LISTVIEW_OPTION_CURRENT']}&nbsp;&#x28;{$this->records_per_page}&#x29;&#x200E;</a>"
1319 1319
  . "<a style=\'width: 150px\' name=\"selectall\" class=\'menuItem\' onmouseover=\'hiliteItem(this,\"yes\");\' onmouseout=\'unhiliteItem(this);\' onclick=\'sListView.check_entire_list(document.MassUpdate, \"mass[]\",true,{$row_count});\' href=\'#\'>{$this->local_app_strings['LBL_LISTVIEW_OPTION_ENTIRE']}&nbsp;&#x28;{$row_count}&#x29;&#x200E;</a>"
@@ -1336,14 +1336,14 @@  discard block
 block discarded – undo
1336 1336
                 }
1337 1337
                 </script>";
1338 1338
 
1339
-            if($this->show_select_menu)
1339
+            if ($this->show_select_menu)
1340 1340
             {
1341 1341
                 $total_label = "";
1342 1342
                 $total = $row_count;
1343 1343
                 $pageTotal = ($row_count > 0) ? $end_record - $start_record + 1 : 0;
1344 1344
                 if (!empty($GLOBALS['sugar_config']['disable_count_query']) && $GLOBALS['sugar_config']['disable_count_query'] === true && $total > $pageTotal) {
1345 1345
                     $this->show_plus = true;
1346
-                    $total =  $pageTotal;
1346
+                    $total = $pageTotal;
1347 1347
                     $total_label = $total.'+';
1348 1348
                 } else {
1349 1349
                     $this->show_plus = false;
@@ -1365,16 +1365,16 @@  discard block
 block discarded – undo
1365 1365
                     'id' => 'selectLink',
1366 1366
                     'buttons' => $menuItems,
1367 1367
                     'flat' => false,
1368
-                ),$this->xTemplate);
1368
+                ), $this->xTemplate);
1369 1369
 
1370 1370
             } else {
1371 1371
                 $select_link = "&nbsp;";
1372 1372
             }
1373 1373
 
1374
-            $export_link = '<input class="button" type="button" value="'.$this->local_app_strings['LBL_EXPORT'].'" ' .
1374
+            $export_link = '<input class="button" type="button" value="'.$this->local_app_strings['LBL_EXPORT'].'" '.
1375 1375
                     'onclick="return sListView.send_form(true, \''.$_REQUEST['module'].'\', \'index.php?entryPoint=export\',\''.$this->local_app_strings['LBL_LISTVIEW_NO_SELECTED'].'\')">';
1376 1376
 
1377
-            if($this->show_delete_button) {
1377
+            if ($this->show_delete_button) {
1378 1378
                 $delete_link = '<input class="button" type="button" id="delete_button" name="Delete" value="'.$this->local_app_strings['LBL_DELETE_BUTTON_LABEL'].'" onclick="return sListView.send_mass_update(\'selected\',\''.$this->local_app_strings['LBL_LISTVIEW_NO_SELECTED'].'\', 1)">';
1379 1379
             } else {
1380 1380
                 $delete_link = '&nbsp;';
@@ -1384,7 +1384,7 @@  discard block
 block discarded – undo
1384 1384
             $admin->retrieveSettings('system');
1385 1385
 
1386 1386
             $user_merge = $current_user->getPreference('mailmerge_on');
1387
-            if($user_merge == 'on' && isset($admin->settings['system_mailmerge_on']) && $admin->settings['system_mailmerge_on']) {
1387
+            if ($user_merge == 'on' && isset($admin->settings['system_mailmerge_on']) && $admin->settings['system_mailmerge_on']) {
1388 1388
                 echo "<script>
1389 1389
                 function mailmerge_dialog(el) {
1390 1390
                    	var \$dialog = \$('<div></div>')
@@ -1393,7 +1393,7 @@  discard block
 block discarded – undo
1393 1393
                         . "<a style=\'width: 150px\' class=\'menuItem\' onmouseover=\'hiliteItem(this,\"yes\");\' onmouseout=\'unhiliteItem(this);\' href=\'index.php?action=index&module=MailMerge&entire=true\'>{$this->local_app_strings['LBL_LISTVIEW_OPTION_ENTIRE']}</a>')
1394 1394
 					.dialog({
1395 1395
 						autoOpen: false,
1396
-						title: '". $this->local_app_strings['LBL_MAILMERGE']."',
1396
+						title: '".$this->local_app_strings['LBL_MAILMERGE']."',
1397 1397
 						width: 150,
1398 1398
 						position: {
1399 1399
 						    my: myPos,
@@ -1409,16 +1409,16 @@  discard block
 block discarded – undo
1409 1409
                 $merge_link = "&nbsp;";
1410 1410
             }
1411 1411
 
1412
-            $selected_objects_span = "&nbsp;|&nbsp;{$this->local_app_strings['LBL_LISTVIEW_SELECTED_OBJECTS']}<input  style='border: 0px; background: transparent; font-size: inherit; color: inherit' type='text' readonly name='selectCount[]' value='" . ((isset($_POST['mass'])) ? count($_POST['mass']): 0) . "' />";
1412
+            $selected_objects_span = "&nbsp;|&nbsp;{$this->local_app_strings['LBL_LISTVIEW_SELECTED_OBJECTS']}<input  style='border: 0px; background: transparent; font-size: inherit; color: inherit' type='text' readonly name='selectCount[]' value='".((isset($_POST['mass'])) ? count($_POST['mass']) : 0)."' />";
1413 1413
 
1414
-            if($_REQUEST['module'] == 'Home' || $this->local_current_module == 'Import'
1414
+            if ($_REQUEST['module'] == 'Home' || $this->local_current_module == 'Import'
1415 1415
                 || $this->show_export_button == false
1416 1416
                 || (!empty($sugar_config['disable_export']))
1417 1417
                 || (!empty($sugar_config['admin_export_only'])
1418 1418
                 && !(
1419 1419
                         is_admin($current_user)
1420 1420
                         || (ACLController::moduleSupportsACL($_REQUEST['module'])
1421
-                            && ACLAction::getUserAccessLevel($current_user->id,$_REQUEST['module'], 'access') == ACL_ALLOW_ENABLED
1421
+                            && ACLAction::getUserAccessLevel($current_user->id, $_REQUEST['module'], 'access') == ACL_ALLOW_ENABLED
1422 1422
                             && (ACLAction::getUserAccessLevel($current_user->id, $_REQUEST['module'], 'admin') == ACL_ALLOW_ADMIN ||
1423 1423
                                 ACLAction::getUserAccessLevel($current_user->id, $_REQUEST['module'], 'admin') == ACL_ALLOW_ADMIN_DEV)))))
1424 1424
             {
@@ -1427,13 +1427,13 @@  discard block
 block discarded – undo
1427 1427
                 }
1428 1428
                 $export_link = "&nbsp;";
1429 1429
                 $merge_link = "&nbsp;";
1430
-            } elseif($_REQUEST['module'] != "Accounts" && $_REQUEST['module'] != "Cases" && $_REQUEST['module'] != "Contacts" && $_REQUEST['module'] != "Leads" && $_REQUEST['module'] != "Opportunities") {
1430
+            } elseif ($_REQUEST['module'] != "Accounts" && $_REQUEST['module'] != "Cases" && $_REQUEST['module'] != "Contacts" && $_REQUEST['module'] != "Leads" && $_REQUEST['module'] != "Opportunities") {
1431 1431
                 $merge_link = "&nbsp;";
1432 1432
             }
1433 1433
 
1434
-            if($this->show_paging == true) {
1435
-                if(!empty($sugar_config['disable_count_query'])) {
1436
-                    if($row_count > $end_record) {
1434
+            if ($this->show_paging == true) {
1435
+                if (!empty($sugar_config['disable_count_query'])) {
1436
+                    if ($row_count > $end_record) {
1437 1437
                         $row_count .= '+';
1438 1438
                     }
1439 1439
                 }
@@ -1449,16 +1449,16 @@  discard block
 block discarded – undo
1449 1449
                     $html_text .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr><td align=\"left\"  >";
1450 1450
 
1451 1451
                     //attempt to get the query to recreate this subpanel
1452
-                    if(!empty($this->response)){
1453
-                        $response =& $this->response;
1454
-                    }else{
1455
-                        $response = SugarBean::get_union_related_list($sugarbean,$this->sortby, $this->sort_order, $this->query_where, $current_offset, -1, $this->records_per_page,$this->query_limit,$subpanel_def);
1452
+                    if (!empty($this->response)) {
1453
+                        $response = & $this->response;
1454
+                    } else {
1455
+                        $response = SugarBean::get_union_related_list($sugarbean, $this->sortby, $this->sort_order, $this->query_where, $current_offset, -1, $this->records_per_page, $this->query_limit, $subpanel_def);
1456 1456
                         $this->response = $response;
1457 1457
                     }
1458 1458
                     //if query is present, then pass it in as parameter
1459
-                    if (isset($response['query']) && !empty($response['query'])){
1459
+                    if (isset($response['query']) && !empty($response['query'])) {
1460 1460
                         $html_text .= $subpanelTiles->get_buttons($subpanel_def, $response['query']);
1461
-                    }else{
1461
+                    } else {
1462 1462
                         $html_text .= $subpanelTiles->get_buttons($subpanel_def);
1463 1463
                     }
1464 1464
                 }
@@ -1468,11 +1468,11 @@  discard block
 block discarded – undo
1468 1468
                 $html_text .= "</td>\n<td nowrap align=\"right\">".$start_link."&nbsp;&nbsp;".$previous_link."&nbsp;&nbsp;<span class='pageNumbers'>(".$start_record." - ".$end_record." ".$this->local_app_strings['LBL_LIST_OF']." ".$row_count.")</span>&nbsp;&nbsp;".$next_link."&nbsp;&nbsp;".$end_link."</td></tr></table>\n";
1469 1469
                 $html_text .= "</td>\n";
1470 1470
                 $html_text .= "</tr>\n";
1471
-                $this->xTemplate->assign("PAGINATION",$html_text);
1471
+                $this->xTemplate->assign("PAGINATION", $html_text);
1472 1472
             }
1473 1473
 
1474 1474
             //C.L. - Fix for 23461
1475
-            if(empty($_REQUEST['action']) || $_REQUEST['action'] != 'Popup') {
1475
+            if (empty($_REQUEST['action']) || $_REQUEST['action'] != 'Popup') {
1476 1476
                 $_SESSION['export_where'] = $this->query_where;
1477 1477
             }
1478 1478
             $this->xTemplate->parse($xtemplateSection.".list_nav_row");
@@ -1481,24 +1481,24 @@  discard block
 block discarded – undo
1481 1481
 
1482 1482
     function processOrderBy($html_varName) {
1483 1483
 
1484
-        if(!isset($this->base_URL)) {
1484
+        if (!isset($this->base_URL)) {
1485 1485
             $this->base_URL = $_SERVER['PHP_SELF'];
1486 1486
 
1487
-            if(isset($_SERVER['QUERY_STRING'])) {
1488
-                $this->base_URL = preg_replace("/\&".$this->getSessionVariableName($html_varName,"ORDER_BY")."=[0-9a-zA-Z\_\.]*/","",$this->base_URL .'?'.$_SERVER['QUERY_STRING']);
1489
-                $this->base_URL = preg_replace("/\&".$this->getSessionVariableName($html_varName,"offset")."=[0-9]*/","",$this->base_URL);
1487
+            if (isset($_SERVER['QUERY_STRING'])) {
1488
+                $this->base_URL = preg_replace("/\&".$this->getSessionVariableName($html_varName, "ORDER_BY")."=[0-9a-zA-Z\_\.]*/", "", $this->base_URL.'?'.$_SERVER['QUERY_STRING']);
1489
+                $this->base_URL = preg_replace("/\&".$this->getSessionVariableName($html_varName, "offset")."=[0-9]*/", "", $this->base_URL);
1490 1490
             }
1491
-            if($_SERVER['REQUEST_METHOD'] == 'POST') {
1491
+            if ($_SERVER['REQUEST_METHOD'] == 'POST') {
1492 1492
                 $this->base_URL .= '?';
1493
-                if(isset($_REQUEST['action'])) $this->base_URL .= '&action='.$_REQUEST['action'];
1494
-                if(isset($_REQUEST['record'])) $this->base_URL .= '&record='.$_REQUEST['record'];
1495
-                if(isset($_REQUEST['module'])) $this->base_URL .= '&module='.$_REQUEST['module'];
1493
+                if (isset($_REQUEST['action'])) $this->base_URL .= '&action='.$_REQUEST['action'];
1494
+                if (isset($_REQUEST['record'])) $this->base_URL .= '&record='.$_REQUEST['record'];
1495
+                if (isset($_REQUEST['module'])) $this->base_URL .= '&module='.$_REQUEST['module'];
1496 1496
             }
1497
-            $this->base_URL .= "&".$this->getSessionVariableName($html_varName,"offset")."=";
1497
+            $this->base_URL .= "&".$this->getSessionVariableName($html_varName, "offset")."=";
1498 1498
         }
1499 1499
 
1500
-        if($this->is_dynamic) {
1501
-            $this->base_URL.='&to_pdf=true&action=SubPanelViewer&subpanel=' . $this->source_module;
1500
+        if ($this->is_dynamic) {
1501
+            $this->base_URL .= '&to_pdf=true&action=SubPanelViewer&subpanel='.$this->source_module;
1502 1502
         }
1503 1503
 
1504 1504
         //bug43465 start
@@ -1506,19 +1506,19 @@  discard block
 block discarded – undo
1506 1506
         {
1507 1507
             foreach ($this->appendToBaseUrl as $key => $value)
1508 1508
             {
1509
-                $fullRequestString = $key . '=' . $value;
1509
+                $fullRequestString = $key.'='.$value;
1510 1510
 
1511 1511
                 if ($this->base_URL == "/index.php")
1512 1512
                 {
1513 1513
                     $this->base_URL .= "?";
1514 1514
                 } else
1515 1515
                 {
1516
-                    if ($fullRequestString == substr($this->baseURL, '-' . strlen($fullRequestString)))
1516
+                    if ($fullRequestString == substr($this->baseURL, '-'.strlen($fullRequestString)))
1517 1517
                     {
1518
-                        $this->base_URL = preg_replace("/&" . $key . "\=.*/", "", $this->base_URL);
1518
+                        $this->base_URL = preg_replace("/&".$key."\=.*/", "", $this->base_URL);
1519 1519
                     } else
1520 1520
                     {
1521
-                        $this->base_URL = preg_replace("/&" . $key . "\=.*?&/", "&", $this->base_URL);
1521
+                        $this->base_URL = preg_replace("/&".$key."\=.*?&/", "&", $this->base_URL);
1522 1522
                     }
1523 1523
                     $this->base_URL .= "&";
1524 1524
                 }
@@ -1530,9 +1530,9 @@  discard block
 block discarded – undo
1530 1530
         }
1531 1531
         //bug43465 end
1532 1532
 
1533
-        $sort_URL_base = $this->base_URL. "&".$this->getSessionVariableName($html_varName,"ORDER_BY")."=";
1533
+        $sort_URL_base = $this->base_URL."&".$this->getSessionVariableName($html_varName, "ORDER_BY")."=";
1534 1534
 
1535
-        if($sort_URL_base !== "")
1535
+        if ($sort_URL_base !== "")
1536 1536
         {
1537 1537
             $this->xTemplate->assign("ORDER_BY", $sort_URL_base);
1538 1538
             return $sort_URL_base;
@@ -1583,19 +1583,19 @@  discard block
 block discarded – undo
1583 1583
         $mergeList = array();
1584 1584
         $module = '';
1585 1585
         //todo what is this?  It is using an array as a boolean
1586
-        while(list($aVal, $aItem) = each($data))
1586
+        while (list($aVal, $aItem) = each($data))
1587 1587
         {
1588
-            if(isset($this->data_array)) {
1588
+            if (isset($this->data_array)) {
1589 1589
                 $fields = $this->data_array;
1590 1590
             } else {
1591 1591
                 $aItem->check_date_relationships_load();
1592 1592
                 $fields = $aItem->get_list_view_data();
1593 1593
             }
1594 1594
 
1595
-            if(is_object($aItem)) { // cn: bug 5349
1595
+            if (is_object($aItem)) { // cn: bug 5349
1596 1596
                 //add item id to merge list, if the button is clicked
1597 1597
                 $mergeList[] = $aItem->id;
1598
-                if(empty($module)) {
1598
+                if (empty($module)) {
1599 1599
                     $module = $aItem->module_dir;
1600 1600
                 }
1601 1601
             }
@@ -1604,37 +1604,37 @@  discard block
 block discarded – undo
1604 1604
                 $fields['OFFSET'] = ($offset + $count + 1);
1605 1605
 
1606 1606
             $fields['STAMP'] = $timeStamp;
1607
-            if($this->shouldProcess) {
1607
+            if ($this->shouldProcess) {
1608 1608
 
1609 1609
             $prerow = '';
1610
-            if(!isset($this->data_array)) {
1611
-                $prerow .= "<input onclick='sListView.check_item(this, document.MassUpdate)' type='checkbox' class='checkbox' name='mass[]' value='". $fields['ID']. "'>";
1610
+            if (!isset($this->data_array)) {
1611
+                $prerow .= "<input onclick='sListView.check_item(this, document.MassUpdate)' type='checkbox' class='checkbox' name='mass[]' value='".$fields['ID']."'>";
1612 1612
             }
1613 1613
             $this->xTemplate->assign('PREROW', $prerow);
1614 1614
 
1615 1615
             $this->xTemplate->assign('CHECKALL', "<input type='checkbox' class='checkbox'  title='".$GLOBALS['app_strings']['LBL_SELECT_ALL_TITLE']."'  name='massall' id='massall' value='' onclick='sListView.check_all(document.MassUpdate, \"mass[]\", this.checked)'>");
1616 1616
             }
1617
-            if(!isset($this->data_array)) {
1617
+            if (!isset($this->data_array)) {
1618 1618
                 $tag = $aItem->listviewACLHelper();
1619
-                $this->xTemplate->assign('TAG',$tag) ;
1619
+                $this->xTemplate->assign('TAG', $tag);
1620 1620
             }
1621 1621
 
1622
-            if($oddRow)
1622
+            if ($oddRow)
1623 1623
             {
1624 1624
                 $ROW_COLOR = 'oddListRow';
1625
-                $BG_COLOR =  $odd_bg;
1625
+                $BG_COLOR = $odd_bg;
1626 1626
             }
1627 1627
             else
1628 1628
             {
1629 1629
                 $ROW_COLOR = 'evenListRow';
1630
-                $BG_COLOR =  $even_bg;
1630
+                $BG_COLOR = $even_bg;
1631 1631
             }
1632 1632
             $oddRow = !$oddRow;
1633 1633
 
1634 1634
             $this->xTemplate->assign('ROW_COLOR', $ROW_COLOR);
1635 1635
             $this->xTemplate->assign('BG_COLOR', $BG_COLOR);
1636 1636
 
1637
-            if(isset($this->data_array))
1637
+            if (isset($this->data_array))
1638 1638
             {
1639 1639
                 $this->xTemplate->assign('KEY', $aVal);
1640 1640
                 $this->xTemplate->assign('VALUE', $aItem);
@@ -1645,23 +1645,23 @@  discard block
 block discarded – undo
1645 1645
             {
1646 1646
     //AED -- some modules do not have their additionalDetails.php established. Add a check to ensure require_once does not fail
1647 1647
     // Bug #2786
1648
-                if($this->_additionalDetails && $aItem->ACLAccess('DetailView') && (file_exists('modules/' . $aItem->module_dir . '/metadata/additionalDetails.php') || file_exists('custom/modules/' . $aItem->module_dir . '/metadata/additionalDetails.php'))) {
1648
+                if ($this->_additionalDetails && $aItem->ACLAccess('DetailView') && (file_exists('modules/'.$aItem->module_dir.'/metadata/additionalDetails.php') || file_exists('custom/modules/'.$aItem->module_dir.'/metadata/additionalDetails.php'))) {
1649 1649
 
1650
-                    $additionalDetailsFile = 'modules/' . $aItem->module_dir . '/metadata/additionalDetails.php';
1651
-                    if(file_exists('custom/modules/' . $aItem->module_dir . '/metadata/additionalDetails.php')){
1652
-                        $additionalDetailsFile = 'custom/modules/' . $aItem->module_dir . '/metadata/additionalDetails.php';
1650
+                    $additionalDetailsFile = 'modules/'.$aItem->module_dir.'/metadata/additionalDetails.php';
1651
+                    if (file_exists('custom/modules/'.$aItem->module_dir.'/metadata/additionalDetails.php')) {
1652
+                        $additionalDetailsFile = 'custom/modules/'.$aItem->module_dir.'/metadata/additionalDetails.php';
1653 1653
                     }
1654 1654
 
1655 1655
                     require_once($additionalDetailsFile);
1656
-                    $ad_function = (empty($this->additionalDetailsFunction) ? 'additionalDetails' : $this->additionalDetailsFunction) . $aItem->object_name;
1656
+                    $ad_function = (empty($this->additionalDetailsFunction) ? 'additionalDetails' : $this->additionalDetailsFunction).$aItem->object_name;
1657 1657
                     $results = $ad_function($fields);
1658 1658
                     $results['string'] = str_replace(array("&#039", "'"), '\&#039', $results['string']); // no xss!
1659 1659
 
1660
-                    if(trim($results['string']) == '') $results['string'] = $app_strings['LBL_NONE'];
1660
+                    if (trim($results['string']) == '') $results['string'] = $app_strings['LBL_NONE'];
1661 1661
                     $fields[$results['fieldToAddTo']] = $fields[$results['fieldToAddTo']].'</a>';
1662 1662
                 }
1663 1663
 
1664
-                if($aItem->ACLAccess('Delete')) {
1664
+                if ($aItem->ACLAccess('Delete')) {
1665 1665
                     $delete = '<a class="listViewTdToolsS1" onclick="return confirm(\''.$this->local_app_strings['NTC_DELETE_CONFIRMATION'].'\')" href="'.'index.php?action=Delete&module='.$aItem->module_dir.'&record='.$fields['ID'].'&return_module='.$aItem->module_dir.'&return_action=index&return_id=">'.$this->local_app_strings['LBL_DELETE_INLINE'].'</a>';
1666 1666
                     require_once('include/Smarty/plugins/function.sugar_action_menu.php');
1667 1667
                     $fields['DELETE_BUTTON'] = smarty_function_sugar_action_menu(array(
@@ -1675,26 +1675,26 @@  discard block
 block discarded – undo
1675 1675
                 $aItem->setupCustomFields($aItem->module_dir);
1676 1676
                 $aItem->custom_fields->populateAllXTPL($this->xTemplate, 'detail', $html_varName, $fields);
1677 1677
             }
1678
-            if(!isset($this->data_array) && $aItem->ACLAccess('DetailView')) {
1678
+            if (!isset($this->data_array) && $aItem->ACLAccess('DetailView')) {
1679 1679
                 $count++;
1680 1680
             }
1681
-            if(isset($this->data_array)) {
1681
+            if (isset($this->data_array)) {
1682 1682
                 $count++;
1683 1683
             }
1684
-            if(!isset($this->data_array)) {
1684
+            if (!isset($this->data_array)) {
1685 1685
                 $aItem->list_view_parse_additional_sections($this->xTemplate, $xtemplateSection);
1686 1686
 
1687
-                if($this->xTemplate->exists($xtemplateSection.'.row.pro')) {
1687
+                if ($this->xTemplate->exists($xtemplateSection.'.row.pro')) {
1688 1688
                     $this->xTemplate->parse($xtemplateSection.'.row.pro');
1689 1689
                 }
1690 1690
             }
1691
-            $this->xTemplate->parse($xtemplateSection . '.row');
1691
+            $this->xTemplate->parse($xtemplateSection.'.row');
1692 1692
 
1693
-            if(isset($fields['ID'])) {
1693
+            if (isset($fields['ID'])) {
1694 1694
                 $associated_row_data[$fields['ID']] = $fields;
1695 1695
                 // Bug 38908: cleanup data for JS to avoid having &nbsp; shuffled around
1696
-                foreach($fields as $key => $value) {
1697
-                    if($value == '&nbsp;') {
1696
+                foreach ($fields as $key => $value) {
1697
+                    if ($value == '&nbsp;') {
1698 1698
                         $associated_row_data[$fields['ID']][$key] = '';
1699 1699
                     }
1700 1700
                 }
@@ -1703,21 +1703,21 @@  discard block
 block discarded – undo
1703 1703
 
1704 1704
         $_SESSION['MAILMERGE_RECORDS'] = $mergeList;
1705 1705
         $_SESSION['MAILMERGE_MODULE_FROM_LISTVIEW'] = $module;
1706
-        if(empty($_REQUEST['action']) || $_REQUEST['action'] != 'Popup') {
1706
+        if (empty($_REQUEST['action']) || $_REQUEST['action'] != 'Popup') {
1707 1707
             $_SESSION['MAILMERGE_MODULE'] = $module;
1708 1708
         }
1709 1709
 
1710
-        if($this->process_for_popups)
1710
+        if ($this->process_for_popups)
1711 1711
         {
1712 1712
             $json = getJSONobj();
1713 1713
             $is_show_fullname = showFullName() ? 1 : 0;
1714
-            $associated_javascript_data = '<script type="text/javascript">' . "\n"
1714
+            $associated_javascript_data = '<script type="text/javascript">'."\n"
1715 1715
                 //. '<!-- // associated javascript data generated by ListView' . "\n"
1716 1716
                 . 'var associated_javascript_data = '
1717
-                . $json->encode($associated_row_data) . ";\n"
1717
+                . $json->encode($associated_row_data).";\n"
1718 1718
                 //. '-->' . "\n"
1719 1719
                 . 'var is_show_fullname = '
1720
-                . $is_show_fullname . ";\n"
1720
+                . $is_show_fullname.";\n"
1721 1721
                 . '</script>';
1722 1722
             $this->xTemplate->assign('ASSOCIATED_JAVASCRIPT_DATA', $associated_javascript_data);
1723 1723
         }
@@ -1729,7 +1729,7 @@  discard block
 block discarded – undo
1729 1729
     function getLayoutManager()
1730 1730
     {
1731 1731
         require_once('include/generic/LayoutManager.php');
1732
-        if($this->layout_manager == null)
1732
+        if ($this->layout_manager == null)
1733 1733
         {
1734 1734
             $this->layout_manager = new LayoutManager();
1735 1735
         }
@@ -1742,36 +1742,36 @@  discard block
 block discarded – undo
1742 1742
 
1743 1743
 
1744 1744
         $layout_manager = $this->getLayoutManager();
1745
-        $layout_manager->setAttribute('order_by_link',$this->processOrderBy($html_var));
1746
-        $layout_manager->setAttribute('context','HeaderCell');
1747
-        $layout_manager->setAttribute('image_path',$this->local_image_path);
1748
-        $layout_manager->setAttribute('html_varName',$html_var);
1745
+        $layout_manager->setAttribute('order_by_link', $this->processOrderBy($html_var));
1746
+        $layout_manager->setAttribute('context', 'HeaderCell');
1747
+        $layout_manager->setAttribute('image_path', $this->local_image_path);
1748
+        $layout_manager->setAttribute('html_varName', $html_var);
1749 1749
         $layout_manager->setAttribute('module_name', $source_module);
1750
-        list($orderBy,$desc) = $this->getOrderByInfo($html_var);
1750
+        list($orderBy, $desc) = $this->getOrderByInfo($html_var);
1751 1751
 
1752
-        if($orderBy == 'amount*1')
1752
+        if ($orderBy == 'amount*1')
1753 1753
         {
1754
-            $orderBy=  'amount';
1754
+            $orderBy = 'amount';
1755 1755
         }
1756 1756
 		$buttons = false;
1757 1757
         $col_count = 0;
1758
-        foreach($subpanel_def->get_list_fields() as $column_name=>$widget_args)
1758
+        foreach ($subpanel_def->get_list_fields() as $column_name=>$widget_args)
1759 1759
         {
1760 1760
             $usage = empty($widget_args['usage']) ? '' : $widget_args['usage'];
1761
-            if($usage != 'query_only' || !empty($widget_args['force_query_only_display']))
1761
+            if ($usage != 'query_only' || !empty($widget_args['force_query_only_display']))
1762 1762
             {
1763 1763
                 $imgArrow = '';
1764 1764
 
1765
-                if($orderBy == $column_name || (isset($widget_args['sort_by']) && str_replace('.','_',$widget_args['sort_by']) == $orderBy))
1765
+                if ($orderBy == $column_name || (isset($widget_args['sort_by']) && str_replace('.', '_', $widget_args['sort_by']) == $orderBy))
1766 1766
                 {
1767 1767
                     $imgArrow = "_down";
1768
-                    if($this->sort_order == 'asc') {
1768
+                    if ($this->sort_order == 'asc') {
1769 1769
                         $imgArrow = "_up";
1770 1770
                     }
1771 1771
                 }
1772 1772
 
1773 1773
                 if (!preg_match("/_button/i", $column_name)) {
1774
-	                $widget_args['name']=$column_name;
1774
+	                $widget_args['name'] = $column_name;
1775 1775
 	                $widget_args['sort'] = $imgArrow;
1776 1776
 	                $widget_args['start_link_wrapper'] = $this->start_link_wrapper;
1777 1777
 	                $widget_args['end_link_wrapper'] = $this->end_link_wrapper;
@@ -1781,8 +1781,8 @@  discard block
 block discarded – undo
1781 1781
 	                $cell_width = empty($widget_args['width']) ? '' : $widget_args['width'];
1782 1782
 	                $this->xTemplate->assign('HEADER_CELL', $widget_contents);
1783 1783
 	                static $count;
1784
-	            if(!isset($count))$count = 0; else $count++;
1785
-                    if($col_count == 0 || $column_name == 'name') $footable = 'data-toggle="true"';
1784
+	            if (!isset($count))$count = 0; else $count++;
1785
+                    if ($col_count == 0 || $column_name == 'name') $footable = 'data-toggle="true"';
1786 1786
                     else {
1787 1787
                         $footable = 'data-hide="phone"';
1788 1788
                         if ($col_count > 2) $footable = 'data-hide="phone,phonelandscape"';
@@ -1799,7 +1799,7 @@  discard block
 block discarded – undo
1799 1799
             ++$col_count;
1800 1800
         }
1801 1801
 
1802
-        if($buttons) {
1802
+        if ($buttons) {
1803 1803
                     $this->xTemplate->assign('FOOTABLE', '');
1804 1804
         			$this->xTemplate->assign('HEADER_CELL', "&nbsp;");
1805 1805
         			$this->xTemplate->assign('CELL_COUNT', $count);
@@ -1827,37 +1827,37 @@  discard block
 block discarded – undo
1827 1827
 
1828 1828
     function processListViewTwo($seed, $xTemplateSection, $html_varName) {
1829 1829
         global $current_user;
1830
-        if(!isset($this->xTemplate)) {
1830
+        if (!isset($this->xTemplate)) {
1831 1831
             $this->createXTemplate();
1832 1832
         }
1833 1833
 
1834 1834
         $isSugarBean = is_subclass_of($seed, "SugarBean");
1835 1835
         $list = null;
1836 1836
 
1837
-        if($isSugarBean) {
1837
+        if ($isSugarBean) {
1838 1838
             $list = $this->processSugarBean($xTemplateSection, $html_varName, $seed);
1839 1839
         } else {
1840 1840
             $list = $seed;
1841 1841
         }
1842 1842
 
1843 1843
         if (is_object($seed) && isset($seed->object_name) && $seed->object_name == 'WorkFlow') {
1844
-            $tab=array();
1844
+            $tab = array();
1845 1845
             $access = get_workflow_admin_modules_for_user($current_user);
1846 1846
             for ($i = 0; $i < count($list); $i++) {
1847
-                if(!empty($access[$list[$i]->base_module])){
1848
-                    $tab[]=$list[$i];
1847
+                if (!empty($access[$list[$i]->base_module])) {
1848
+                    $tab[] = $list[$i];
1849 1849
                 }
1850 1850
             }
1851 1851
             $list = $tab;
1852 1852
         }
1853 1853
 
1854
-        if($this->is_dynamic) {
1855
-            $this->processHeaderDynamic($xTemplateSection,$html_varName);
1856
-            $this->processListRows($list,$xTemplateSection, $html_varName);
1854
+        if ($this->is_dynamic) {
1855
+            $this->processHeaderDynamic($xTemplateSection, $html_varName);
1856
+            $this->processListRows($list, $xTemplateSection, $html_varName);
1857 1857
         } else {
1858 1858
             $this->processSortArrows($html_varName);
1859 1859
 
1860
-            if($isSugarBean) {
1860
+            if ($isSugarBean) {
1861 1861
                 $seed->parse_additional_headers($this->xTemplate, $xTemplateSection);
1862 1862
             }
1863 1863
             $this->xTemplateAssign('CHECKALL', SugarThemeRegistry::current()->getImage('blank', '', 1, 1, ".gif", ''));
@@ -1866,19 +1866,19 @@  discard block
 block discarded – undo
1866 1866
             $this->processOrderBy($html_varName);
1867 1867
 
1868 1868
 
1869
-            $this->processListRows($list,$xTemplateSection, $html_varName);
1869
+            $this->processListRows($list, $xTemplateSection, $html_varName);
1870 1870
         }
1871 1871
 
1872
-        if($this->display_header_and_footer) {
1872
+        if ($this->display_header_and_footer) {
1873 1873
             $this->getAdditionalHeader();
1874
-            if(!empty($this->header_title)) {
1874
+            if (!empty($this->header_title)) {
1875 1875
                 echo get_form_header($this->header_title, $this->header_text, false);
1876 1876
             }
1877 1877
         }
1878 1878
 
1879 1879
         $this->xTemplate->out($xTemplateSection);
1880 1880
 
1881
-        if(isset($_SESSION['validation'])) {
1881
+        if (isset($_SESSION['validation'])) {
1882 1882
             print base64_decode('PGEgaHJlZj0naHR0cDovL3d3dy5zdWdhcmNybS5jb20nPlBPV0VSRUQmbmJzcDtCWSZuYnNwO1NVR0FSQ1JNPC9hPg==');
1883 1883
         }
1884 1884
     }
@@ -1890,7 +1890,7 @@  discard block
 block discarded – undo
1890 1890
     }
1891 1891
 
1892 1892
     function getArrowUpDownStart($upDown) {
1893
-        $ext = ( SugarThemeRegistry::current()->pngSupport ? "png" : "gif" );
1893
+        $ext = (SugarThemeRegistry::current()->pngSupport ? "png" : "gif");
1894 1894
 
1895 1895
         if (!isset($upDown) || empty($upDown)) {
1896 1896
             $upDown = "";
@@ -1901,7 +1901,7 @@  discard block
 block discarded – undo
1901 1901
 	function getArrowEnd() {
1902 1902
 		$imgFileParts = pathinfo(SugarThemeRegistry::current()->getImageURL("arrow.gif"));
1903 1903
 
1904
-        list($width,$height) = ListView::getArrowImageSize();
1904
+        list($width, $height) = ListView::getArrowImageSize();
1905 1905
 
1906 1906
 		return '.'.$imgFileParts['extension']."' width='$width' height='$height' align='absmiddle' alt=".translate('LBL_SORT').">";
1907 1907
     }
@@ -1912,13 +1912,13 @@  discard block
 block discarded – undo
1912 1912
         }
1913 1913
         $imgFileParts = pathinfo(SugarThemeRegistry::current()->getImageURL("arrow{$upDown}.gif"));
1914 1914
 
1915
-        list($width,$height) = ListView::getArrowUpDownImageSize($upDown);
1915
+        list($width, $height) = ListView::getArrowUpDownImageSize($upDown);
1916 1916
 
1917 1917
         //get the right alt tag for the sort
1918 1918
         $sortStr = translate('LBL_ALT_SORT');
1919
-        if($upDown == '_down'){
1919
+        if ($upDown == '_down') {
1920 1920
             $sortStr = translate('LBL_ALT_SORT_DESC');
1921
-        }elseif($upDown == '_up'){
1921
+        }elseif ($upDown == '_up') {
1922 1922
             $sortStr = translate('LBL_ALT_SORT_ASC');
1923 1923
         }
1924 1924
         return " width='$width' height='$height' align='absmiddle' alt='$sortStr'>";
@@ -1926,13 +1926,13 @@  discard block
 block discarded – undo
1926 1926
 
1927 1927
 	function getArrowImageSize() {
1928 1928
 	    // jbasicChartDashletsExpColust get the non-sort image's size.. the up and down have be the same.
1929
-		$image = SugarThemeRegistry::current()->getImageURL("arrow.gif",false);
1929
+		$image = SugarThemeRegistry::current()->getImageURL("arrow.gif", false);
1930 1930
 
1931 1931
         $cache_key = 'arrow_size.'.$image;
1932 1932
 
1933 1933
         // Check the cache
1934 1934
         $result = sugar_cache_retrieve($cache_key);
1935
-        if(!empty($result))
1935
+        if (!empty($result))
1936 1936
         return $result;
1937 1937
 
1938 1938
         // No cache hit.  Calculate the value and return.
@@ -1943,13 +1943,13 @@  discard block
 block discarded – undo
1943 1943
 
1944 1944
     function getArrowUpDownImageSize($upDown) {
1945 1945
         // just get the non-sort image's size.. the up and down have be the same.
1946
-        $image = SugarThemeRegistry::current()->getImageURL("arrow{$upDown}.gif",false);
1946
+        $image = SugarThemeRegistry::current()->getImageURL("arrow{$upDown}.gif", false);
1947 1947
 
1948 1948
         $cache_key = 'arrowupdown_size.'.$image;
1949 1949
 
1950 1950
         // Check the cache
1951 1951
         $result = sugar_cache_retrieve($cache_key);
1952
-        if(!empty($result))
1952
+        if (!empty($result))
1953 1953
         return $result;
1954 1954
 
1955 1955
         // No cache hit.  Calculate the value and return.
@@ -1963,7 +1963,7 @@  discard block
 block discarded – undo
1963 1963
 		$orderBy = $this->getSessionVariable($html_varName, "OBL");
1964 1964
 		$desc = $this->getSessionVariable($html_varName, $orderBy.'S');
1965 1965
 		$orderBy = str_replace('.', '_', $orderBy);
1966
-		return array($orderBy,$desc);
1966
+		return array($orderBy, $desc);
1967 1967
 	}
1968 1968
 
1969 1969
     function processSortArrows($html_varName)
@@ -1971,20 +1971,20 @@  discard block
 block discarded – undo
1971 1971
 
1972 1972
         $this->xTemplateAssign("arrow_start", $this->getArrowStart());
1973 1973
 
1974
-        list($orderBy,$desc) = $this->getOrderByInfo($html_varName);
1974
+        list($orderBy, $desc) = $this->getOrderByInfo($html_varName);
1975 1975
 
1976 1976
 		$imgArrow = "_up";
1977
-		if($desc) {
1977
+		if ($desc) {
1978 1978
 			$imgArrow = "_down";
1979 1979
 		}
1980 1980
 		/**
1981 1981
 		 * @deprecated only used by legacy opportunites listview, nothing current. Leaving for BC
1982 1982
 		 */
1983
-		if($orderBy == 'amount')
1983
+		if ($orderBy == 'amount')
1984 1984
 		{
1985 1985
 			$this->xTemplateAssign('amount_arrow', $imgArrow);
1986 1986
 		}
1987
-		else if($orderBy == 'amount_usdollar')
1987
+		else if ($orderBy == 'amount_usdollar')
1988 1988
 		{
1989 1989
 			$this->xTemplateAssign('amount_usdollar_arrow', $imgArrow);
1990 1990
 		}
@@ -1997,31 +1997,31 @@  discard block
 block discarded – undo
1997 1997
     }
1998 1998
 
1999 1999
     // this is where translation happens for dynamic list views
2000
-    function loadListFieldDefs(&$subpanel_fields,&$child_focus)
2000
+    function loadListFieldDefs(&$subpanel_fields, &$child_focus)
2001 2001
     {
2002 2002
         $this->list_field_defs = $subpanel_fields;
2003 2003
 
2004
-        for($i=0;$i < count($this->list_field_defs);$i++)
2004
+        for ($i = 0; $i < count($this->list_field_defs); $i++)
2005 2005
         {
2006 2006
             $list_field = $this->list_field_defs[$i];
2007 2007
             $field_def = null;
2008 2008
             $key = '';
2009
-            if(!empty($list_field['vname']))
2009
+            if (!empty($list_field['vname']))
2010 2010
             {
2011 2011
                 $key = $list_field['vname'];
2012
-            } else if(isset($list_field['name']) &&  isset($child_focus->field_defs[$list_field['name']]))
2012
+            } else if (isset($list_field['name']) && isset($child_focus->field_defs[$list_field['name']]))
2013 2013
             {
2014 2014
                     $field_def = $child_focus->field_defs[$list_field['name']];
2015 2015
                     $key = $field_def['vname'];
2016 2016
             }
2017
-            if(!empty($key))
2017
+            if (!empty($key))
2018 2018
             {
2019
-                $list_field['label'] = translate($key,$child_focus->module_dir);
2020
-                $this->list_field_defs[$i]['label'] = preg_replace('/:$/','',$list_field['label']);
2019
+                $list_field['label'] = translate($key, $child_focus->module_dir);
2020
+                $this->list_field_defs[$i]['label'] = preg_replace('/:$/', '', $list_field['label']);
2021 2021
             }
2022 2022
             else
2023 2023
             {
2024
-                $this->list_field_defs[$i]['label'] ='&nbsp;';
2024
+                $this->list_field_defs[$i]['label'] = '&nbsp;';
2025 2025
             }
2026 2026
         }
2027 2027
     }
@@ -2036,7 +2036,7 @@  discard block
 block discarded – undo
2036 2036
      * All Rights Reserved.
2037 2037
      * Contributor(s): ______________________________________.
2038 2038
      */
2039
-     function setLocalSessionVariable($localVarName,$varName, $value) {
2039
+     function setLocalSessionVariable($localVarName, $varName, $value) {
2040 2040
         $_SESSION[$localVarName."_".$varName] = $value;
2041 2041
      }
2042 2042
 
@@ -2046,11 +2046,11 @@  discard block
 block discarded – undo
2046 2046
      * All Rights Reserved.
2047 2047
      * Contributor(s): ______________________________________.
2048 2048
      */
2049
- function getLocalSessionVariable($localVarName,$varName) {
2050
-    if(isset($_SESSION[$localVarName."_".$varName])) {
2049
+ function getLocalSessionVariable($localVarName, $varName) {
2050
+    if (isset($_SESSION[$localVarName."_".$varName])) {
2051 2051
         return $_SESSION[$localVarName."_".$varName];
2052 2052
     }
2053
-    else{
2053
+    else {
2054 2054
         return "";
2055 2055
     }
2056 2056
  }
@@ -2058,7 +2058,7 @@  discard block
 block discarded – undo
2058 2058
  /* Set to true if you want Additional Details to appear in the listview
2059 2059
   */
2060 2060
  function setAdditionalDetails($value = true, $function = '') {
2061
-    if(!empty($function)) $this->additionalDetailsFunction = $function;
2061
+    if (!empty($function)) $this->additionalDetailsFunction = $function;
2062 2062
     $this->_additionalDetails = $value;
2063 2063
  }
2064 2064
 
Please login to merge, or discard this patch.
Braces   +173 added lines, -101 removed lines patch added patch discarded remove patch
@@ -1,5 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if(!defined('sugarEntry') || !sugarEntry) {
3
+    die('Not A Valid Entry Point');
4
+}
3 5
 /*********************************************************************************
4 6
  * SugarCRM Community Edition is a customer relationship management program developed by
5 7
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -135,9 +137,13 @@  discard block
 block discarded – undo
135 137
     }
136 138
 
137 139
     //when processing a multi-select popup.
138
-    if($this->process_for_popups && $this->multi_select_popup)  $this->shouldProcess =true;
140
+    if($this->process_for_popups && $this->multi_select_popup) {
141
+        $this->shouldProcess =true;
142
+    }
139 143
     //mass update turned off?
140
-    if(!$this->show_mass_update) $this->shouldProcess = false;
144
+    if(!$this->show_mass_update) {
145
+        $this->shouldProcess = false;
146
+    }
141 147
     if(is_subclass_of($seed, "SugarBean")) {
142 148
         if($seed->bean_implements('ACL')) {
143 149
             if(!ACLController::checkAccess($seed->module_dir,'list',true)) {
@@ -188,8 +194,9 @@  discard block
 block discarded – undo
188 194
 {
189 195
         $this->source_module = $source_module;
190 196
         $this->subpanel_module = $subpanel_def->name;
191
-        if(!isset($this->xTemplate))
192
-            $this->createXTemplate();
197
+        if(!isset($this->xTemplate)) {
198
+                    $this->createXTemplate();
199
+        }
193 200
 
194 201
         $html_var = $this->subpanel_module . "_CELL";
195 202
 
@@ -280,8 +287,9 @@  discard block
 block discarded – undo
280 287
     if ( empty($data) ) {
281 288
         $this->xTemplate->assign("ROW_COLOR", 'oddListRow');
282 289
         $thepanel=$subpanel_def;
283
-        if($subpanel_def->isCollection())
284
-            $thepanel=$subpanel_def->get_header_panel_def();
290
+        if($subpanel_def->isCollection()) {
291
+                    $thepanel=$subpanel_def->get_header_panel_def();
292
+        }
285 293
         $this->xTemplate->assign("COL_COUNT", count($thepanel->get_list_fields()));
286 294
         $this->xTemplate->parse($xtemplateSection.".nodata");
287 295
     }
@@ -339,8 +347,7 @@  discard block
 block discarded – undo
339 347
         {
340 348
             $ROW_COLOR = 'oddListRow';
341 349
             $BG_COLOR =  $odd_bg;
342
-        }
343
-        else
350
+        } else
344 351
         {
345 352
             $ROW_COLOR = 'evenListRow';
346 353
             $BG_COLOR =  $even_bg;
@@ -353,8 +360,9 @@  discard block
 block discarded – undo
353 360
         $layout_manager->setAttribute('context','List');
354 361
         $layout_manager->setAttribute('image_path',$this->local_image_path);
355 362
         $layout_manager->setAttribute('module_name', $subpanel_def->_instance_properties['module']);
356
-        if(!empty($this->child_focus))
357
-            $layout_manager->setAttribute('related_module_name',$this->child_focus->module_dir);
363
+        if(!empty($this->child_focus)) {
364
+                    $layout_manager->setAttribute('related_module_name',$this->child_focus->module_dir);
365
+        }
358 366
 
359 367
         //AG$subpanel_data = $this->list_field_defs;
360 368
         //$bla = array_pop($subpanel_data);
@@ -389,7 +397,9 @@  discard block
 block discarded – undo
389 397
         $linked_field=$thepanel->get_data_source_name();
390 398
         $linked_field_set=$thepanel->get_data_source_name(true);
391 399
         static $count;
392
-        if(!isset($count))$count = 0;
400
+        if(!isset($count)) {
401
+            $count = 0;
402
+        }
393 403
 		/* BEGIN - SECURITY GROUPS */ 
394 404
 		/**
395 405
         $field_acl['DetailView'] = $aItem->ACLAccess('DetailView');
@@ -420,7 +430,7 @@  discard block
 block discarded – undo
420 430
                 $this->xTemplate->assign('CELL', $widget_contents);
421 431
                 $this->xTemplate->parse($xtemplateSection.".row.cell");
422 432
 
423
-            }else if($usage != 'query_only')
433
+            } else if($usage != 'query_only')
424 434
             {
425 435
                 $list_field['name']=$field_name;
426 436
 
@@ -435,8 +445,11 @@  discard block
 block discarded – undo
435 445
                     $list_field['owner_id'] = false;
436 446
                     $list_field['owner_module'] = false;
437 447
                 }
438
-                if(isset($list_field['alias'])) $list_field['name'] = $list_field['alias'];
439
-                else $list_field['name']=$field_name;
448
+                if(isset($list_field['alias'])) {
449
+                    $list_field['name'] = $list_field['alias'];
450
+                } else {
451
+                    $list_field['name']=$field_name;
452
+                }
440 453
                 $list_field['fields'] = $fields;
441 454
                 $list_field['module'] = $aItem->module_dir;
442 455
                 $list_field['start_link_wrapper'] = $this->start_link_wrapper;
@@ -485,7 +498,9 @@  discard block
 block discarded – undo
485 498
                  $count++;
486 499
                 $this->xTemplate->assign('CELL_COUNT', $count);
487 500
                 $this->xTemplate->assign('CLASS', "");
488
-                if ( empty($widget_contents) ) $widget_contents = '&nbsp;';
501
+                if ( empty($widget_contents) ) {
502
+                    $widget_contents = '&nbsp;';
503
+                }
489 504
                 $this->xTemplate->assign('CELL', $widget_contents);
490 505
                 $this->xTemplate->parse($xtemplateSection.".row.cell");
491 506
                 } else {
@@ -495,7 +510,9 @@  discard block
 block discarded – undo
495 510
 		                $widget_contents = $layout_manager->widgetDisplay($list_field);
496 511
 		                $this->xTemplate->assign('CELL_COUNT', $count);
497 512
 		                $this->xTemplate->assign('CLASS', "");
498
-		                if ( empty($widget_contents) ) $widget_contents = '&nbsp;';
513
+		                if ( empty($widget_contents) ) {
514
+		                    $widget_contents = '&nbsp;';
515
+		                }
499 516
 		                $this->xTemplate->assign('CELL', $widget_contents);
500 517
 		                $this->xTemplate->parse($xtemplateSection.".row.cell");
501 518
                 	} elseif (preg_match("/button/i", $list_field['name'])) {
@@ -503,8 +520,7 @@  discard block
 block discarded – undo
503 520
                         {
504 521
                             $button_contents[] = $_content;
505 522
                             unset($_content);
506
-                        }
507
-                        else
523
+                        } else
508 524
                         {
509 525
                             $button_contents[] = '';
510 526
                         }
@@ -513,7 +529,9 @@  discard block
 block discarded – undo
513 529
                			$this->xTemplate->assign('CLASS', "");
514 530
                			$widget_contents = $layout_manager->widgetDisplay($list_field);
515 531
 		                $this->xTemplate->assign('CELL_COUNT', $count);
516
-		                if ( empty($widget_contents) ) $widget_contents = '&nbsp;';
532
+		                if ( empty($widget_contents) ) {
533
+		                    $widget_contents = '&nbsp;';
534
+		                }
517 535
 		                $this->xTemplate->assign('CELL', $widget_contents);
518 536
 		                $this->xTemplate->parse($xtemplateSection.".row.cell");
519 537
                 	}
@@ -541,8 +559,7 @@  discard block
 block discarded – undo
541 559
                     'class' => 'clickMenu subpanel records fancymenu button',
542 560
                     'flat' => false //assign flat value as false to display dropdown menu at any other preferences.
543 561
                 ), $this->xTemplate);
544
-            }
545
-            else
562
+            } else
546 563
             {
547 564
                 $action_button = '';
548 565
             }
@@ -629,11 +646,13 @@  discard block
 block discarded – undo
629 646
 */
630 647
  function initNewXTemplate($XTemplatePath, $modString, $imagePath = null) {
631 648
     $this->setXTemplatePath($XTemplatePath);
632
-    if(isset($modString))
633
-        $this->setModStrings($modString);
634
-    if(isset($imagePath))
635
-        $this->setImagePath($imagePath);
636
-}
649
+    if(isset($modString)) {
650
+            $this->setModStrings($modString);
651
+    }
652
+    if(isset($imagePath)) {
653
+            $this->setImagePath($imagePath);
654
+    }
655
+    }
637 656
 
638 657
 
639 658
 function getOrderBy($varName, $defaultOrderBy='', $force_sortorder='') {
@@ -714,7 +733,7 @@  discard block
 block discarded – undo
714 733
             }
715 734
             //Just clear from url...
716 735
             $this->appendToBaseUrl[$orderByColumn] = false;
717
-    }else {
736
+    } else {
718 737
         $this->query_orderby = "";
719 738
     }
720 739
     $this->sortby = $sortBy;
@@ -759,8 +778,10 @@  discard block
 block discarded – undo
759 778
 */
760 779
  function setTheme($theme) {
761 780
     $this->local_theme = $theme;
762
-    if(isset($this->xTemplate))$this->xTemplate->assign("THEME", $this->local_theme);
763
-}
781
+    if(isset($this->xTemplate)) {
782
+        $this->xTemplate->assign("THEME", $this->local_theme);
783
+    }
784
+    }
764 785
 
765 786
 /**sets the AppStrings used only use if it is different from the global
766 787
  * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
@@ -770,8 +791,10 @@  discard block
 block discarded – undo
770 791
  function setAppStrings($app_strings) {
771 792
     unset($this->local_app_strings);
772 793
     $this->local_app_strings = $app_strings;
773
-    if(isset($this->xTemplate))$this->xTemplate->assign("APP", $this->local_app_strings);
774
-}
794
+    if(isset($this->xTemplate)) {
795
+        $this->xTemplate->assign("APP", $this->local_app_strings);
796
+    }
797
+    }
775 798
 
776 799
 /**sets the ModStrings used
777 800
  * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
@@ -781,8 +804,10 @@  discard block
 block discarded – undo
781 804
  function setModStrings($mod_strings) {
782 805
     unset($this->local_module_strings);
783 806
     $this->local_mod_strings = $mod_strings;
784
-    if(isset($this->xTemplate))$this->xTemplate->assign("MOD", $this->local_mod_strings);
785
-}
807
+    if(isset($this->xTemplate)) {
808
+        $this->xTemplate->assign("MOD", $this->local_mod_strings);
809
+    }
810
+    }
786 811
 
787 812
 /**sets the ImagePath used
788 813
  * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
@@ -794,8 +819,10 @@  discard block
 block discarded – undo
794 819
     if(empty($this->local_image_path)) {
795 820
         $this->local_image_path = SugarThemeRegistry::get($this->local_theme)->getImagePath();
796 821
     }
797
-    if(isset($this->xTemplate))$this->xTemplate->assign("IMAGE_PATH", $this->local_image_path);
798
-}
822
+    if(isset($this->xTemplate)) {
823
+        $this->xTemplate->assign("IMAGE_PATH", $this->local_image_path);
824
+    }
825
+    }
799 826
 
800 827
 /**sets the currentModule only use if this is different from the global
801 828
  * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
@@ -805,8 +832,10 @@  discard block
 block discarded – undo
805 832
  function setCurrentModule($currentModule) {
806 833
     unset($this->local_current_module);
807 834
     $this->local_current_module = $currentModule;
808
-    if(isset($this->xTemplate))$this->xTemplate->assign("MODULE_NAME", $this->local_current_module);
809
-}
835
+    if(isset($this->xTemplate)) {
836
+        $this->xTemplate->assign("MODULE_NAME", $this->local_current_module);
837
+    }
838
+    }
810 839
 
811 840
 /**INTERNAL FUNCTION creates an XTemplate DO NOT CALL THIS THIS IS AN INTERNAL FUNCTION
812 841
  * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
@@ -819,7 +848,9 @@  discard block
 block discarded – undo
819 848
 
820 849
             $this->xTemplate = new XTemplate($this->xTemplatePath);
821 850
             $this->xTemplate->assign("APP", $this->local_app_strings);
822
-            if(isset($this->local_mod_strings))$this->xTemplate->assign("MOD", $this->local_mod_strings);
851
+            if(isset($this->local_mod_strings)) {
852
+                $this->xTemplate->assign("MOD", $this->local_mod_strings);
853
+            }
823 854
             $this->xTemplate->assign("THEME", $this->local_theme);
824 855
             $this->xTemplate->assign("IMAGE_PATH", $this->local_image_path);
825 856
             $this->xTemplate->assign("MODULE_NAME", $this->local_current_module);
@@ -896,7 +927,9 @@  discard block
 block discarded – undo
896 927
 }
897 928
 
898 929
 function setUserVariable($localVarName,$varName, $value) {
899
-        if($this->is_dynamic ||  $localVarName == 'CELL')return;
930
+        if($this->is_dynamic ||  $localVarName == 'CELL') {
931
+            return;
932
+        }
900 933
         global $current_user;
901 934
         $current_user->setPreference($this->local_current_module."_".$localVarName."_".$varName, $value);
902 935
 }
@@ -920,7 +953,9 @@  discard block
 block discarded – undo
920 953
 
921 954
 function getUserVariable($localVarName, $varName) {
922 955
     global $current_user;
923
-    if($this->is_dynamic ||  $localVarName == 'CELL')return;
956
+    if($this->is_dynamic ||  $localVarName == 'CELL') {
957
+        return;
958
+    }
924 959
     if(isset($_REQUEST[$this->getSessionVariableName($localVarName, $varName)])) {
925 960
 
926 961
             $this->setUserVariable($localVarName,$varName,$_REQUEST[$this->getSessionVariableName($localVarName, $varName)]);
@@ -999,11 +1034,21 @@  discard block
 block discarded – undo
999 1034
         //$filter = array('id', 'full_name');
1000 1035
         $filter=array();
1001 1036
         $ret_array = $seed->create_new_list_query($this->query_orderby, $this->query_where, $filter, $params, 0, '', true, $seed, true);
1002
-        if(!is_array($params)) $params = array();
1003
-        if(!isset($params['custom_select'])) $params['custom_select'] = '';
1004
-        if(!isset($params['custom_from'])) $params['custom_from'] = '';
1005
-        if(!isset($params['custom_where'])) $params['custom_where'] = '';
1006
-        if(!isset($params['custom_order_by'])) $params['custom_order_by'] = '';
1037
+        if(!is_array($params)) {
1038
+            $params = array();
1039
+        }
1040
+        if(!isset($params['custom_select'])) {
1041
+            $params['custom_select'] = '';
1042
+        }
1043
+        if(!isset($params['custom_from'])) {
1044
+            $params['custom_from'] = '';
1045
+        }
1046
+        if(!isset($params['custom_where'])) {
1047
+            $params['custom_where'] = '';
1048
+        }
1049
+        if(!isset($params['custom_order_by'])) {
1050
+            $params['custom_order_by'] = '';
1051
+        }
1007 1052
         $main_query = $ret_array['select'] . $params['custom_select'] . $ret_array['from'] . $params['custom_from'] . $ret_array['where'] . $params['custom_where'] . $ret_array['order_by'] . $params['custom_order_by'];
1008 1053
         SugarVCR::store($seed->module_dir,  $main_query);
1009 1054
         //ADDING VCR CONTROL
@@ -1064,8 +1109,7 @@  discard block
 block discarded – undo
1064 1109
             {
1065 1110
                 $sort_order['session'] = $sort_order['session'] == 'asc' ? 'desc' : 'asc';
1066 1111
             }
1067
-        }
1068
-        else
1112
+        } else
1069 1113
         {
1070 1114
             $sort_order['session'] = null;
1071 1115
         }
@@ -1097,7 +1141,7 @@  discard block
 block discarded – undo
1097 1141
         if(!empty($this->response)){
1098 1142
             $response =& $this->response;
1099 1143
             echo 'cached';
1100
-        }else{
1144
+        } else{
1101 1145
             $response = SugarBean::get_union_related_list($sugarbean,$this->sortby, $this->sort_order, $this->query_where, $current_offset, -1, $this->records_per_page,$this->query_limit,$subpanel_def);
1102 1146
             $this->response =& $response;
1103 1147
         }
@@ -1105,7 +1149,9 @@  discard block
 block discarded – undo
1105 1149
         $row_count = $response['row_count'];
1106 1150
         $next_offset = $response['next_offset'];
1107 1151
         $previous_offset = $response['previous_offset'];
1108
-        if(!empty($response['current_offset']))$current_offset = $response['current_offset'];
1152
+        if(!empty($response['current_offset'])) {
1153
+            $current_offset = $response['current_offset'];
1154
+        }
1109 1155
         global $list_view_row_count;
1110 1156
         $list_view_row_count = $row_count;
1111 1157
         $this->processListNavigation('dyn_list_view', $html_var, $current_offset, $next_offset, $previous_offset, $row_count, $sugarbean,$subpanel_def);
@@ -1116,7 +1162,9 @@  discard block
 block discarded – undo
1116 1162
     function getBaseURL($html_varName) {
1117 1163
         static $cache = array();
1118 1164
 
1119
-        if(!empty($cache[$html_varName]))return $cache[$html_varName];
1165
+        if(!empty($cache[$html_varName])) {
1166
+            return $cache[$html_varName];
1167
+        }
1120 1168
         $blockVariables = array('mass', 'uid', 'massupdate', 'delete', 'merge', 'selectCount','current_query_by_page');
1121 1169
         if(!empty($this->base_URL)) {
1122 1170
             return $this->base_URL;
@@ -1136,10 +1184,11 @@  discard block
 block discarded – undo
1136 1184
                 {
1137 1185
                     if(is_array($value)) {
1138 1186
                         foreach($value as $valuename=>$valuevalue) {
1139
-                            if(substr_count($baseurl, '?') > 0)
1140
-                                $baseurl	.= "&{$name}[]=".$valuevalue;
1141
-                            else
1142
-                                $baseurl	.= "?{$name}[]=".$valuevalue;
1187
+                            if(substr_count($baseurl, '?') > 0) {
1188
+                                                            $baseurl	.= "&{$name}[]=".$valuevalue;
1189
+                            } else {
1190
+                                                            $baseurl	.= "?{$name}[]=".$valuevalue;
1191
+                            }
1143 1192
                         }
1144 1193
                     } else {
1145 1194
                         $value = urlencode($value);
@@ -1158,9 +1207,15 @@  discard block
 block discarded – undo
1158 1207
                 if(substr_count($baseurl, '?') == 0) {
1159 1208
                     $baseurl .= '?';
1160 1209
                 }
1161
-                if(isset($_REQUEST['action'])) $baseurl.= '&action='.$_REQUEST['action'];
1162
-                if(isset($_REQUEST['record'])) $baseurl .= '&record='.$_REQUEST['record'];
1163
-                if(isset($_REQUEST['module'])) $baseurl .= '&module='.$_REQUEST['module'];
1210
+                if(isset($_REQUEST['action'])) {
1211
+                    $baseurl.= '&action='.$_REQUEST['action'];
1212
+                }
1213
+                if(isset($_REQUEST['record'])) {
1214
+                    $baseurl .= '&record='.$_REQUEST['record'];
1215
+                }
1216
+                if(isset($_REQUEST['module'])) {
1217
+                    $baseurl .= '&module='.$_REQUEST['module'];
1218
+                }
1164 1219
             }
1165 1220
 
1166 1221
             $baseurl .= "&".ListView::getSessionVariableName($html_varName,"offset")."=";
@@ -1187,11 +1242,13 @@  discard block
 block discarded – undo
1187 1242
 
1188 1243
         $start_record = $current_offset + 1;
1189 1244
 
1190
-        if(!is_numeric($col_count))
1191
-            $col_count = 20;
1245
+        if(!is_numeric($col_count)) {
1246
+                    $col_count = 20;
1247
+        }
1192 1248
 
1193
-        if($row_count == 0)
1194
-            $start_record = 0;
1249
+        if($row_count == 0) {
1250
+                    $start_record = 0;
1251
+        }
1195 1252
 
1196 1253
         $end_record = $start_record + $this->records_per_page;
1197 1254
         // back up the the last page.
@@ -1199,10 +1256,11 @@  discard block
 block discarded – undo
1199 1256
             $end_record = $row_count+1;
1200 1257
         }
1201 1258
         // Determine the start location of the last page
1202
-        if($row_count == 0)
1203
-            $number_pages = 0;
1204
-        else
1205
-            $number_pages = floor(($row_count - 1) / $this->records_per_page);
1259
+        if($row_count == 0) {
1260
+                    $number_pages = 0;
1261
+        } else {
1262
+                    $number_pages = floor(($row_count - 1) / $this->records_per_page);
1263
+        }
1206 1264
 
1207 1265
         $last_offset = $number_pages * $this->records_per_page;
1208 1266
 
@@ -1262,7 +1320,7 @@  discard block
 block discarded – undo
1262 1320
                     $onClick = '';
1263 1321
                     if(0 != preg_match('/javascript.*/', $start_URL)){
1264 1322
                         $onClick = "\"$start_URL;\"";
1265
-                    }else{
1323
+                    } else{
1266 1324
                         $onClick ="'location.href=\"$start_URL\";'";
1267 1325
                     }
1268 1326
                     $start_link = "<button type='button' class='button' name='listViewStartButton' title='{$this->local_app_strings['LNK_LIST_START']}' onClick=".$onClick.">".SugarThemeRegistry::current()->getImage("start","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_START'])."</button>";
@@ -1270,7 +1328,7 @@  discard block
 block discarded – undo
1270 1328
                     $onClick = '';
1271 1329
                     if(0 != preg_match('/javascript.*/', $previous_URL)){
1272 1330
                         $onClick = "\"$previous_URL;\"";
1273
-                    }else{
1331
+                    } else{
1274 1332
                         $onClick = "'location.href=\"$previous_URL\";'";
1275 1333
                     }
1276 1334
                     $previous_link = "<button type='button' class='button' name='listViewPrevButton' title='{$this->local_app_strings['LNK_LIST_PREVIOUS']}' onClick=".$onClick.">".SugarThemeRegistry::current()->getImage("previous","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_PREVIOUS'])."</button>";
@@ -1294,7 +1352,7 @@  discard block
 block discarded – undo
1294 1352
                     $onClick = '';
1295 1353
                     if(0 != preg_match('/javascript.*/', $next_URL)){
1296 1354
                         $onClick = "\"$next_URL;\"";
1297
-                    }else{
1355
+                    } else{
1298 1356
                         $onClick ="'location.href=\"$next_URL\";'";
1299 1357
                     }
1300 1358
                     $next_link = "<button type='button' name='listViewNextButton' class='button' title='{$this->local_app_strings['LNK_LIST_NEXT']}' onClick=".$onClick.">".SugarThemeRegistry::current()->getImage("next","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_NEXT'])."</button>";
@@ -1302,7 +1360,7 @@  discard block
 block discarded – undo
1302 1360
                     $onClick = '';
1303 1361
                     if(0 != preg_match('/javascript.*/', $end_URL)){
1304 1362
                         $onClick = "\"$end_URL;\"";
1305
-                    }else{
1363
+                    } else{
1306 1364
                         $onClick = "'location.href=\"$end_URL\";'";
1307 1365
                     }
1308 1366
                     $end_link = "<button type='button' name='listViewEndButton' class='button' title='{$this->local_app_strings['LNK_LIST_END']}' onClick=".$onClick.">".SugarThemeRegistry::current()->getImage("end","border='0' align='absmiddle'",null,null,'.gif',$this->local_app_strings['LNK_LIST_END'])."</button>";
@@ -1451,18 +1509,17 @@  discard block
 block discarded – undo
1451 1509
                     //attempt to get the query to recreate this subpanel
1452 1510
                     if(!empty($this->response)){
1453 1511
                         $response =& $this->response;
1454
-                    }else{
1512
+                    } else{
1455 1513
                         $response = SugarBean::get_union_related_list($sugarbean,$this->sortby, $this->sort_order, $this->query_where, $current_offset, -1, $this->records_per_page,$this->query_limit,$subpanel_def);
1456 1514
                         $this->response = $response;
1457 1515
                     }
1458 1516
                     //if query is present, then pass it in as parameter
1459 1517
                     if (isset($response['query']) && !empty($response['query'])){
1460 1518
                         $html_text .= $subpanelTiles->get_buttons($subpanel_def, $response['query']);
1461
-                    }else{
1519
+                    } else{
1462 1520
                         $html_text .= $subpanelTiles->get_buttons($subpanel_def);
1463 1521
                     }
1464
-                }
1465
-                else {
1522
+                } else {
1466 1523
                     $html_text .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr><td align=\"left\"  nowrap>$select_link&nbsp;$export_link&nbsp;$delete_link&nbsp;$selected_objects_span";
1467 1524
                 }
1468 1525
                 $html_text .= "</td>\n<td nowrap align=\"right\">".$start_link."&nbsp;&nbsp;".$previous_link."&nbsp;&nbsp;<span class='pageNumbers'>(".$start_record." - ".$end_record." ".$this->local_app_strings['LBL_LIST_OF']." ".$row_count.")</span>&nbsp;&nbsp;".$next_link."&nbsp;&nbsp;".$end_link."</td></tr></table>\n";
@@ -1490,9 +1547,15 @@  discard block
 block discarded – undo
1490 1547
             }
1491 1548
             if($_SERVER['REQUEST_METHOD'] == 'POST') {
1492 1549
                 $this->base_URL .= '?';
1493
-                if(isset($_REQUEST['action'])) $this->base_URL .= '&action='.$_REQUEST['action'];
1494
-                if(isset($_REQUEST['record'])) $this->base_URL .= '&record='.$_REQUEST['record'];
1495
-                if(isset($_REQUEST['module'])) $this->base_URL .= '&module='.$_REQUEST['module'];
1550
+                if(isset($_REQUEST['action'])) {
1551
+                    $this->base_URL .= '&action='.$_REQUEST['action'];
1552
+                }
1553
+                if(isset($_REQUEST['record'])) {
1554
+                    $this->base_URL .= '&record='.$_REQUEST['record'];
1555
+                }
1556
+                if(isset($_REQUEST['module'])) {
1557
+                    $this->base_URL .= '&module='.$_REQUEST['module'];
1558
+                }
1496 1559
             }
1497 1560
             $this->base_URL .= "&".$this->getSessionVariableName($html_varName,"offset")."=";
1498 1561
         }
@@ -1623,8 +1686,7 @@  discard block
 block discarded – undo
1623 1686
             {
1624 1687
                 $ROW_COLOR = 'oddListRow';
1625 1688
                 $BG_COLOR =  $odd_bg;
1626
-            }
1627
-            else
1689
+            } else
1628 1690
             {
1629 1691
                 $ROW_COLOR = 'evenListRow';
1630 1692
                 $BG_COLOR =  $even_bg;
@@ -1640,8 +1702,7 @@  discard block
 block discarded – undo
1640 1702
                 $this->xTemplate->assign('VALUE', $aItem);
1641 1703
                 $this->xTemplate->assign('INDEX', $count);
1642 1704
 
1643
-            }
1644
-            else
1705
+            } else
1645 1706
             {
1646 1707
     //AED -- some modules do not have their additionalDetails.php established. Add a check to ensure require_once does not fail
1647 1708
     // Bug #2786
@@ -1657,7 +1718,9 @@  discard block
 block discarded – undo
1657 1718
                     $results = $ad_function($fields);
1658 1719
                     $results['string'] = str_replace(array("&#039", "'"), '\&#039', $results['string']); // no xss!
1659 1720
 
1660
-                    if(trim($results['string']) == '') $results['string'] = $app_strings['LBL_NONE'];
1721
+                    if(trim($results['string']) == '') {
1722
+                        $results['string'] = $app_strings['LBL_NONE'];
1723
+                    }
1661 1724
                     $fields[$results['fieldToAddTo']] = $fields[$results['fieldToAddTo']].'</a>';
1662 1725
                 }
1663 1726
 
@@ -1781,12 +1844,21 @@  discard block
 block discarded – undo
1781 1844
 	                $cell_width = empty($widget_args['width']) ? '' : $widget_args['width'];
1782 1845
 	                $this->xTemplate->assign('HEADER_CELL', $widget_contents);
1783 1846
 	                static $count;
1784
-	            if(!isset($count))$count = 0; else $count++;
1785
-                    if($col_count == 0 || $column_name == 'name') $footable = 'data-toggle="true"';
1786
-                    else {
1847
+	            if(!isset($count)) {
1848
+	                $count = 0;
1849
+	            } else {
1850
+	                $count++;
1851
+	            }
1852
+                    if($col_count == 0 || $column_name == 'name') {
1853
+                        $footable = 'data-toggle="true"';
1854
+                    } else {
1787 1855
                         $footable = 'data-hide="phone"';
1788
-                        if ($col_count > 2) $footable = 'data-hide="phone,phonelandscape"';
1789
-                        if ($col_count > 4) $footable = 'data-hide="phone,phonelandscape,tablet"';
1856
+                        if ($col_count > 2) {
1857
+                            $footable = 'data-hide="phone,phonelandscape"';
1858
+                        }
1859
+                        if ($col_count > 4) {
1860
+                            $footable = 'data-hide="phone,phonelandscape,tablet"';
1861
+                        }
1790 1862
                     }
1791 1863
                     $this->xTemplate->assign('FOOTABLE', $footable);
1792 1864
 	                $this->xTemplate->assign('CELL_COUNT', $count);
@@ -1918,7 +1990,7 @@  discard block
 block discarded – undo
1918 1990
         $sortStr = translate('LBL_ALT_SORT');
1919 1991
         if($upDown == '_down'){
1920 1992
             $sortStr = translate('LBL_ALT_SORT_DESC');
1921
-        }elseif($upDown == '_up'){
1993
+        } elseif($upDown == '_up'){
1922 1994
             $sortStr = translate('LBL_ALT_SORT_ASC');
1923 1995
         }
1924 1996
         return " width='$width' height='$height' align='absmiddle' alt='$sortStr'>";
@@ -1932,8 +2004,9 @@  discard block
 block discarded – undo
1932 2004
 
1933 2005
         // Check the cache
1934 2006
         $result = sugar_cache_retrieve($cache_key);
1935
-        if(!empty($result))
1936
-        return $result;
2007
+        if(!empty($result)) {
2008
+                return $result;
2009
+        }
1937 2010
 
1938 2011
         // No cache hit.  Calculate the value and return.
1939 2012
         $result = getimagesize($image);
@@ -1949,8 +2022,9 @@  discard block
 block discarded – undo
1949 2022
 
1950 2023
         // Check the cache
1951 2024
         $result = sugar_cache_retrieve($cache_key);
1952
-        if(!empty($result))
1953
-        return $result;
2025
+        if(!empty($result)) {
2026
+                return $result;
2027
+        }
1954 2028
 
1955 2029
         // No cache hit.  Calculate the value and return.
1956 2030
         $result = getimagesize($image);
@@ -1983,12 +2057,10 @@  discard block
 block discarded – undo
1983 2057
 		if($orderBy == 'amount')
1984 2058
 		{
1985 2059
 			$this->xTemplateAssign('amount_arrow', $imgArrow);
1986
-		}
1987
-		else if($orderBy == 'amount_usdollar')
2060
+		} else if($orderBy == 'amount_usdollar')
1988 2061
 		{
1989 2062
 			$this->xTemplateAssign('amount_usdollar_arrow', $imgArrow);
1990
-		}
1991
-		else
2063
+		} else
1992 2064
 		{
1993 2065
 			$this->xTemplateAssign($orderBy.'_arrow', $imgArrow);
1994 2066
 		}
@@ -2018,8 +2090,7 @@  discard block
 block discarded – undo
2018 2090
             {
2019 2091
                 $list_field['label'] = translate($key,$child_focus->module_dir);
2020 2092
                 $this->list_field_defs[$i]['label'] = preg_replace('/:$/','',$list_field['label']);
2021
-            }
2022
-            else
2093
+            } else
2023 2094
             {
2024 2095
                 $this->list_field_defs[$i]['label'] ='&nbsp;';
2025 2096
             }
@@ -2049,8 +2120,7 @@  discard block
 block discarded – undo
2049 2120
  function getLocalSessionVariable($localVarName,$varName) {
2050 2121
     if(isset($_SESSION[$localVarName."_".$varName])) {
2051 2122
         return $_SESSION[$localVarName."_".$varName];
2052
-    }
2053
-    else{
2123
+    } else{
2054 2124
         return "";
2055 2125
     }
2056 2126
  }
@@ -2058,7 +2128,9 @@  discard block
 block discarded – undo
2058 2128
  /* Set to true if you want Additional Details to appear in the listview
2059 2129
   */
2060 2130
  function setAdditionalDetails($value = true, $function = '') {
2061
-    if(!empty($function)) $this->additionalDetailsFunction = $function;
2131
+    if(!empty($function)) {
2132
+        $this->additionalDetailsFunction = $function;
2133
+    }
2062 2134
     $this->_additionalDetails = $value;
2063 2135
  }
2064 2136
 
Please login to merge, or discard this patch.
include/ListView/ListViewData.php 3 patches
Indentation   +250 added lines, -250 removed lines patch added patch discarded remove patch
@@ -46,9 +46,9 @@  discard block
 block discarded – undo
46 46
  */
47 47
 class ListViewData {
48 48
 
49
-	var $additionalDetails = true;
49
+    var $additionalDetails = true;
50 50
     var $listviewName = null;
51
-	var $additionalDetailsAllow = null;
51
+    var $additionalDetailsAllow = null;
52 52
     var $additionalDetailsAjax = true; // leave this true when using filter fields
53 53
     var $additionalDetailsFieldToAdd = 'NAME'; // where the span will be attached to
54 54
     var $base_url = null;
@@ -58,82 +58,82 @@  discard block
 block discarded – undo
58 58
      */
59 59
     var $count_query = '';
60 60
 
61
-	/**
62
-	 * Constructor sets the limitName to look up the limit in $sugar_config
63
-	 *
64
-	 * @return ListViewData
65
-	 */
66
-	function ListViewData() {
67
-		$this->limitName = 'list_max_entries_per_page';
68
-		$this->db = DBManagerFactory::getInstance('listviews');
69
-	}
70
-
71
-	/**
72
-	 * checks the request for the order by and if that is not set then it checks the session for it
73
-	 *
74
-	 * @return array containing the keys orderBy => field being ordered off of and sortOrder => the sort order of that field
75
-	 */
76
-	function getOrderBy($orderBy = '', $direction = '') {
77
-		if (!empty($orderBy) || !empty($_REQUEST[$this->var_order_by])) {
61
+    /**
62
+     * Constructor sets the limitName to look up the limit in $sugar_config
63
+     *
64
+     * @return ListViewData
65
+     */
66
+    function ListViewData() {
67
+        $this->limitName = 'list_max_entries_per_page';
68
+        $this->db = DBManagerFactory::getInstance('listviews');
69
+    }
70
+
71
+    /**
72
+     * checks the request for the order by and if that is not set then it checks the session for it
73
+     *
74
+     * @return array containing the keys orderBy => field being ordered off of and sortOrder => the sort order of that field
75
+     */
76
+    function getOrderBy($orderBy = '', $direction = '') {
77
+        if (!empty($orderBy) || !empty($_REQUEST[$this->var_order_by])) {
78 78
             if(!empty($_REQUEST[$this->var_order_by])) {
79
-    			$direction = 'ASC';
80
-    			$orderBy = $_REQUEST[$this->var_order_by];
81
-    			if(!empty($_REQUEST['lvso']) && (empty($_SESSION['lvd']['last_ob']) || strcmp($orderBy, $_SESSION['lvd']['last_ob']) == 0) ){
82
-    				$direction = $_REQUEST['lvso'];
83
-    			}
79
+                $direction = 'ASC';
80
+                $orderBy = $_REQUEST[$this->var_order_by];
81
+                if(!empty($_REQUEST['lvso']) && (empty($_SESSION['lvd']['last_ob']) || strcmp($orderBy, $_SESSION['lvd']['last_ob']) == 0) ){
82
+                    $direction = $_REQUEST['lvso'];
83
+                }
84 84
             }
85 85
             $_SESSION[$this->var_order_by] = array('orderBy'=>$orderBy, 'direction'=> $direction);
86 86
             $_SESSION['lvd']['last_ob'] = $orderBy;
87 87
         }
88
-		else {
88
+        else {
89 89
             $userPreferenceOrder = $GLOBALS['current_user']->getPreference('listviewOrder', $this->var_name);
90
-			if(!empty($_SESSION[$this->var_order_by])) {
91
-				$orderBy = $_SESSION[$this->var_order_by]['orderBy'];
92
-				$direction = $_SESSION[$this->var_order_by]['direction'];
90
+            if(!empty($_SESSION[$this->var_order_by])) {
91
+                $orderBy = $_SESSION[$this->var_order_by]['orderBy'];
92
+                $direction = $_SESSION[$this->var_order_by]['direction'];
93 93
             } elseif (!empty($userPreferenceOrder)) {
94 94
                 $orderBy = $userPreferenceOrder['orderBy'];
95 95
                 $direction = $userPreferenceOrder['sortOrder'];
96 96
             } else {
97
-				$orderBy = 'date_entered';
98
-				$direction = 'DESC';
99
-			}
100
-		}
101
-		if(!empty($direction)) {
102
-    		if(strtolower($direction) == "desc") {
103
-    		    $direction = 'DESC';
104
-    		} else {
105
-    		    $direction = 'ASC';
106
-    		}
107
-		}
108
-		return array('orderBy' => $orderBy, 'sortOrder' => $direction);
109
-	}
110
-
111
-	/**
112
-	 * gets the reverse of the sort order for use on links to reverse a sort order from what is currently used
113
-	 *
114
-	 * @param STRING (ASC or DESC) $current_order
115
-	 * @return  STRING (ASC or DESC)
116
-	 */
117
-	function getReverseSortOrder($current_order){
118
-		return (strcmp(strtolower($current_order), 'asc') == 0)?'DESC':'ASC';
119
-	}
120
-	/**
121
-	 * gets the limit of how many rows to show per page
122
-	 *
123
-	 * @return INT (the limit)
124
-	 */
125
-	function getLimit() {
126
-		return $GLOBALS['sugar_config'][$this->limitName];
127
-	}
128
-
129
-	/**
130
-	 * returns the current offset
131
-	 *
132
-	 * @return INT (current offset)
133
-	 */
134
-	function getOffset() {
135
-		return (!empty($_REQUEST[$this->var_offset])) ? $_REQUEST[$this->var_offset] : 0;
136
-	}
97
+                $orderBy = 'date_entered';
98
+                $direction = 'DESC';
99
+            }
100
+        }
101
+        if(!empty($direction)) {
102
+            if(strtolower($direction) == "desc") {
103
+                $direction = 'DESC';
104
+            } else {
105
+                $direction = 'ASC';
106
+            }
107
+        }
108
+        return array('orderBy' => $orderBy, 'sortOrder' => $direction);
109
+    }
110
+
111
+    /**
112
+     * gets the reverse of the sort order for use on links to reverse a sort order from what is currently used
113
+     *
114
+     * @param STRING (ASC or DESC) $current_order
115
+     * @return  STRING (ASC or DESC)
116
+     */
117
+    function getReverseSortOrder($current_order){
118
+        return (strcmp(strtolower($current_order), 'asc') == 0)?'DESC':'ASC';
119
+    }
120
+    /**
121
+     * gets the limit of how many rows to show per page
122
+     *
123
+     * @return INT (the limit)
124
+     */
125
+    function getLimit() {
126
+        return $GLOBALS['sugar_config'][$this->limitName];
127
+    }
128
+
129
+    /**
130
+     * returns the current offset
131
+     *
132
+     * @return INT (current offset)
133
+     */
134
+    function getOffset() {
135
+        return (!empty($_REQUEST[$this->var_offset])) ? $_REQUEST[$this->var_offset] : 0;
136
+    }
137 137
 
138 138
     /**
139 139
      * generates the base url without
@@ -159,18 +159,18 @@  discard block
 block discarded – undo
159 159
         return $params;
160 160
     }
161 161
 
162
-	/**
163
-	 * based off of a base name it sets base, offset, and order by variable names to retrieve them from requests and sessions
164
-	 *
165
-	 * @param unknown_type $baseName
166
-	 */
167
-	function setVariableName($baseName, $where, $listviewName = null){
162
+    /**
163
+     * based off of a base name it sets base, offset, and order by variable names to retrieve them from requests and sessions
164
+     *
165
+     * @param unknown_type $baseName
166
+     */
167
+    function setVariableName($baseName, $where, $listviewName = null){
168 168
         global $timedate;
169 169
         $module = (!empty($listviewName)) ? $listviewName: $_REQUEST['module'];
170 170
         $this->var_name = $module .'2_'. strtoupper($baseName);
171 171
 
172
-		$this->var_order_by = $this->var_name .'_ORDER_BY';
173
-		$this->var_offset = $this->var_name . '_offset';
172
+        $this->var_order_by = $this->var_name .'_ORDER_BY';
173
+        $this->var_offset = $this->var_name . '_offset';
174 174
         $timestamp = sugar_microtime();
175 175
         $this->stamp = $timestamp;
176 176
 
@@ -178,58 +178,58 @@  discard block
 block discarded – undo
178 178
 
179 179
         $_SESSION[strtoupper($baseName) . "_FROM_LIST_VIEW"] = $timestamp;
180 180
         $_SESSION[strtoupper($baseName) . "_DETAIL_NAV_HISTORY"] = false;
181
-	}
182
-
183
-	function getTotalCount($main_query){
184
-		if(!empty($this->count_query)){
185
-		    $count_query = $this->count_query;
186
-		}else{
187
-	        $count_query = $this->seed->create_list_count_query($main_query);
188
-	    }
189
-		$result = $this->db->query($count_query);
190
-		if($row = $this->db->fetchByAssoc($result)){
191
-			return $row['c'];
192
-		}
193
-		return 0;
194
-	}
195
-
196
-	/**
197
-	 * takes in a seed and creates the list view query based off of that seed
198
-	 * if the $limit value is set to -1 then it will use the default limit and offset values
199
-	 *
200
-	 * it will return an array with two key values
201
-	 * 	1. 'data'=> this is an array of row data
202
-	 *  2. 'pageData'=> this is an array containg three values
203
-	 * 			a.'ordering'=> array('orderBy'=> the field being ordered by , 'sortOrder'=> 'ASC' or 'DESC')
204
-	 * 			b.'urls'=>array('baseURL'=>url used to generate other urls ,
205
-	 * 							'orderBy'=> the base url for order by
206
-	 * 							//the following may not be set (so check empty to see if they are set)
207
-	 * 							'nextPage'=> the url for the next group of results,
208
-	 * 							'prevPage'=> the url for the prev group of results,
209
-	 * 							'startPage'=> the url for the start of the group,
210
-	 * 							'endPage'=> the url for the last set of results in the group
211
-	 * 			c.'offsets'=>array(
212
-	 * 								'current'=>current offset
213
-	 * 								'next'=> next group offset
214
-	 * 								'prev'=> prev group offset
215
-	 * 								'end'=> the offset of the last group
216
-	 * 								'total'=> the total count (only accurate if totalCounted = true otherwise it is either the total count if less than the limit or the total count + 1 )
217
-	 * 								'totalCounted'=> if a count query was used to get the total count
218
-	 *
219
-	 * @param SugarBean $seed
220
-	 * @param string $where
221
-	 * @param int:0 $offset
222
-	 * @param int:-1 $limit
223
-	 * @param string[]:array() $filter_fields
224
-	 * @param array:array() $params
225
-	 * 	Potential $params are
181
+    }
182
+
183
+    function getTotalCount($main_query){
184
+        if(!empty($this->count_query)){
185
+            $count_query = $this->count_query;
186
+        }else{
187
+            $count_query = $this->seed->create_list_count_query($main_query);
188
+        }
189
+        $result = $this->db->query($count_query);
190
+        if($row = $this->db->fetchByAssoc($result)){
191
+            return $row['c'];
192
+        }
193
+        return 0;
194
+    }
195
+
196
+    /**
197
+     * takes in a seed and creates the list view query based off of that seed
198
+     * if the $limit value is set to -1 then it will use the default limit and offset values
199
+     *
200
+     * it will return an array with two key values
201
+     * 	1. 'data'=> this is an array of row data
202
+     *  2. 'pageData'=> this is an array containg three values
203
+     * 			a.'ordering'=> array('orderBy'=> the field being ordered by , 'sortOrder'=> 'ASC' or 'DESC')
204
+     * 			b.'urls'=>array('baseURL'=>url used to generate other urls ,
205
+     * 							'orderBy'=> the base url for order by
206
+     * 							//the following may not be set (so check empty to see if they are set)
207
+     * 							'nextPage'=> the url for the next group of results,
208
+     * 							'prevPage'=> the url for the prev group of results,
209
+     * 							'startPage'=> the url for the start of the group,
210
+     * 							'endPage'=> the url for the last set of results in the group
211
+     * 			c.'offsets'=>array(
212
+     * 								'current'=>current offset
213
+     * 								'next'=> next group offset
214
+     * 								'prev'=> prev group offset
215
+     * 								'end'=> the offset of the last group
216
+     * 								'total'=> the total count (only accurate if totalCounted = true otherwise it is either the total count if less than the limit or the total count + 1 )
217
+     * 								'totalCounted'=> if a count query was used to get the total count
218
+     *
219
+     * @param SugarBean $seed
220
+     * @param string $where
221
+     * @param int:0 $offset
222
+     * @param int:-1 $limit
223
+     * @param string[]:array() $filter_fields
224
+     * @param array:array() $params
225
+     * 	Potential $params are
226 226
 		$params['distinct'] = use distinct key word
227 227
 		$params['include_custom_fields'] = (on by default)
228 228
         $params['custom_XXXX'] = append custom statements to query
229
-	 * @param string:'id' $id_field
230
-	 * @return array('data'=> row data, 'pageData' => page data information, 'query' => original query string)
231
-	 */
232
-	function getListViewData($seed, $where, $offset=-1, $limit = -1, $filter_fields=array(),$params=array(),$id_field = 'id',$singleSelect=true) {
229
+     * @param string:'id' $id_field
230
+     * @return array('data'=> row data, 'pageData' => page data information, 'query' => original query string)
231
+     */
232
+    function getListViewData($seed, $where, $offset=-1, $limit = -1, $filter_fields=array(),$params=array(),$id_field = 'id',$singleSelect=true) {
233 233
         global $current_user;
234 234
         SugarVCR::erase($seed->module_dir);
235 235
         $this->seed =& $seed;
@@ -241,7 +241,7 @@  discard block
 block discarded – undo
241 241
 
242 242
         $this->setVariableName($seed->object_name, $where, $this->listviewName);
243 243
 
244
-		$this->seed->id = '[SELECT_ID_LIST]';
244
+        $this->seed->id = '[SELECT_ID_LIST]';
245 245
 
246 246
         // if $params tell us to override all ordering
247 247
         if(!empty($params['overrideOrder']) && !empty($params['orderBy'])) {
@@ -265,11 +265,11 @@  discard block
 block discarded – undo
265 265
             $orderby = substr($order['orderBy'],strpos($order['orderBy'],'.')+1);
266 266
         }
267 267
         if ($orderby != 'date_entered' && !in_array($orderby, array_keys($filter_fields))) {
268
-        	$order['orderBy'] = '';
269
-        	$order['sortOrder'] = '';
268
+            $order['orderBy'] = '';
269
+            $order['sortOrder'] = '';
270 270
         }
271 271
 
272
-		if (empty($order['orderBy'])) {
272
+        if (empty($order['orderBy'])) {
273 273
             $orderBy = '';
274 274
         } else {
275 275
             $orderBy = $order['orderBy'] . ' ' . $order['sortOrder'];
@@ -282,40 +282,40 @@  discard block
 block discarded – undo
282 282
             $current_user->setPreference('listviewOrder', $order, 0, $this->var_name); // save preference
283 283
         }
284 284
 
285
-		// If $params tells us to override for the special last_name, first_name sorting
286
-		if (!empty($params['overrideLastNameOrder']) && $order['orderBy'] == 'last_name') {
287
-			$orderBy = 'last_name '.$order['sortOrder'].', first_name '.$order['sortOrder'];
288
-		}
285
+        // If $params tells us to override for the special last_name, first_name sorting
286
+        if (!empty($params['overrideLastNameOrder']) && $order['orderBy'] == 'last_name') {
287
+            $orderBy = 'last_name '.$order['sortOrder'].', first_name '.$order['sortOrder'];
288
+        }
289 289
 
290
-		$ret_array = $seed->create_new_list_query($orderBy, $where, $filter_fields, $params, 0, '', true, $seed, $singleSelect);
290
+        $ret_array = $seed->create_new_list_query($orderBy, $where, $filter_fields, $params, 0, '', true, $seed, $singleSelect);
291 291
         $ret_array['inner_join'] = '';
292 292
         if (!empty($this->seed->listview_inner_join)) {
293 293
             $ret_array['inner_join'] = ' ' . implode(' ', $this->seed->listview_inner_join) . ' ';
294 294
         }
295 295
 
296
-		if(!is_array($params)) $params = array();
296
+        if(!is_array($params)) $params = array();
297 297
         if(!isset($params['custom_select'])) $params['custom_select'] = '';
298 298
         if(!isset($params['custom_from'])) $params['custom_from'] = '';
299 299
         if(!isset($params['custom_where'])) $params['custom_where'] = '';
300 300
         if(!isset($params['custom_order_by'])) $params['custom_order_by'] = '';
301
-		$main_query = $ret_array['select'] . $params['custom_select'] . $ret_array['from'] . $params['custom_from'] . $ret_array['inner_join']. $ret_array['where'] . $params['custom_where'] . $ret_array['order_by'] . $params['custom_order_by'];
302
-		//C.L. - Fix for 23461
303
-		if(empty($_REQUEST['action']) || $_REQUEST['action'] != 'Popup') {
304
-          	   $_SESSION['export_where'] = $ret_array['where'];
305
-		}
306
-   		if($limit < -1) {
307
-			$result = $this->db->query($main_query);
308
-		}
309
-		else {
310
-			if($limit == -1) {
311
-				$limit = $this->getLimit();
301
+        $main_query = $ret_array['select'] . $params['custom_select'] . $ret_array['from'] . $params['custom_from'] . $ret_array['inner_join']. $ret_array['where'] . $params['custom_where'] . $ret_array['order_by'] . $params['custom_order_by'];
302
+        //C.L. - Fix for 23461
303
+        if(empty($_REQUEST['action']) || $_REQUEST['action'] != 'Popup') {
304
+                    $_SESSION['export_where'] = $ret_array['where'];
305
+        }
306
+            if($limit < -1) {
307
+            $result = $this->db->query($main_query);
308
+        }
309
+        else {
310
+            if($limit == -1) {
311
+                $limit = $this->getLimit();
312 312
             }
313
-			$dyn_offset = $this->getOffset();
314
-			if($dyn_offset > 0 || !is_int($dyn_offset))$offset = $dyn_offset;
313
+            $dyn_offset = $this->getOffset();
314
+            if($dyn_offset > 0 || !is_int($dyn_offset))$offset = $dyn_offset;
315 315
 
316 316
             if(strcmp($offset, 'end') == 0){
317
-            	$totalCount = $this->getTotalCount($main_query);
318
-            	$offset = (floor(($totalCount -1) / $limit)) * $limit;
317
+                $totalCount = $this->getTotalCount($main_query);
318
+                $offset = (floor(($totalCount -1) / $limit)) * $limit;
319 319
             }
320 320
             if($this->seed->ACLAccess('ListView')) {
321 321
                 $result = $this->db->limitQuery($main_query, $offset, $limit + 1);
@@ -324,27 +324,27 @@  discard block
 block discarded – undo
324 324
                 $result = array();
325 325
             }
326 326
 
327
-		}
327
+        }
328 328
 
329
-		$data = array();
329
+        $data = array();
330 330
 
331
-		$temp = clone $seed;
331
+        $temp = clone $seed;
332 332
 
333
-		$rows = array();
334
-		$count = 0;
333
+        $rows = array();
334
+        $count = 0;
335 335
         $idIndex = array();
336 336
         $id_list = '';
337 337
 
338
-   		while(($row = $this->db->fetchByAssoc($result)) != null)
338
+            while(($row = $this->db->fetchByAssoc($result)) != null)
339 339
         {
340
-   			if($count < $limit)
340
+                if($count < $limit)
341 341
             {
342
-   				$id_list .= ',\''.$row[$id_field].'\'';
343
-   				$idIndex[$row[$id_field]][] = count($rows);
344
-   				$rows[] = $seed->convertRow($row);
345
-   			}
346
-   			$count++;
347
-   		}
342
+                    $id_list .= ',\''.$row[$id_field].'\'';
343
+                    $idIndex[$row[$id_field]][] = count($rows);
344
+                    $rows[] = $seed->convertRow($row);
345
+                }
346
+                $count++;
347
+            }
348 348
 
349 349
         if (!empty($id_list))
350 350
         {
@@ -352,10 +352,10 @@  discard block
 block discarded – undo
352 352
         }
353 353
 
354 354
         SugarVCR::store($this->seed->module_dir,  $main_query);
355
-		if($count != 0) {
356
-			//NOW HANDLE SECONDARY QUERIES
357
-			if(!empty($ret_array['secondary_select'])) {
358
-				$secondary_query = $ret_array['secondary_select'] . $ret_array['secondary_from'] . ' WHERE '.$this->seed->table_name.'.id IN ' .$id_list;
355
+        if($count != 0) {
356
+            //NOW HANDLE SECONDARY QUERIES
357
+            if(!empty($ret_array['secondary_select'])) {
358
+                $secondary_query = $ret_array['secondary_select'] . $ret_array['secondary_from'] . ' WHERE '.$this->seed->table_name.'.id IN ' .$id_list;
359 359
                 if(isset($ret_array['order_by']))
360 360
                 {
361 361
                     $secondary_query .= ' ' . $ret_array['order_by'];
@@ -364,23 +364,23 @@  discard block
 block discarded – undo
364 364
                 $secondary_result = $this->db->query($secondary_query);
365 365
 
366 366
                 $ref_id_count = array();
367
-				while($row = $this->db->fetchByAssoc($secondary_result)) {
367
+                while($row = $this->db->fetchByAssoc($secondary_result)) {
368 368
 
369 369
                     $ref_id_count[$row['ref_id']][] = true;
370
-					foreach($row as $name=>$value) {
371
-						//add it to every row with the given id
372
-						foreach($idIndex[$row['ref_id']] as $index){
373
-						    $rows[$index][$name]=$value;
374
-						}
375
-					}
376
-				}
370
+                    foreach($row as $name=>$value) {
371
+                        //add it to every row with the given id
372
+                        foreach($idIndex[$row['ref_id']] as $index){
373
+                            $rows[$index][$name]=$value;
374
+                        }
375
+                    }
376
+                }
377 377
 
378 378
                 $rows_keys = array_keys($rows);
379 379
                 foreach($rows_keys as $key)
380 380
                 {
381 381
                     $rows[$key]['secondary_select_count'] = count($ref_id_count[$rows[$key]['ref_id']]);
382 382
                 }
383
-			}
383
+            }
384 384
 
385 385
             // retrieve parent names
386 386
             if(!empty($filter_fields['parent_name']) && !empty($filter_fields['parent_id']) && !empty($filter_fields['parent_type'])) {
@@ -394,47 +394,47 @@  discard block
 block discarded – undo
394 394
                     $parent_fields = $seed->retrieve_parent_fields($post_retrieve);
395 395
                     foreach($parent_fields as $child_id => $parent_data) {
396 396
                         //add it to every row with the given id
397
-						foreach($idIndex[$child_id] as $index){
398
-						    $rows[$index]['parent_name']= $parent_data['parent_name'];
399
-						}
397
+                        foreach($idIndex[$child_id] as $index){
398
+                            $rows[$index]['parent_name']= $parent_data['parent_name'];
399
+                        }
400 400
                     }
401 401
                 }
402 402
             }
403 403
 
404
-			$pageData = array();
404
+            $pageData = array();
405 405
 
406
-			reset($rows);
407
-			while($row = current($rows)){
406
+            reset($rows);
407
+            while($row = current($rows)){
408 408
 
409 409
                 $temp = clone $seed;
410
-			    $dataIndex = count($data);
411
-
412
-			    $temp->setupCustomFields($temp->module_dir);
413
-				$temp->loadFromRow($row);
414
-				if (empty($this->seed->assigned_user_id) && !empty($temp->assigned_user_id)) {
415
-				    $this->seed->assigned_user_id = $temp->assigned_user_id;
416
-				}
417
-				if($idIndex[$row[$id_field]][0] == $dataIndex){
418
-				    $pageData['tag'][$dataIndex] = $temp->listviewACLHelper();
419
-				}else{
420
-				    $pageData['tag'][$dataIndex] = $pageData['tag'][$idIndex[$row[$id_field]][0]];
421
-				}
422
-				$data[$dataIndex] = $temp->get_list_view_data($filter_fields);
410
+                $dataIndex = count($data);
411
+
412
+                $temp->setupCustomFields($temp->module_dir);
413
+                $temp->loadFromRow($row);
414
+                if (empty($this->seed->assigned_user_id) && !empty($temp->assigned_user_id)) {
415
+                    $this->seed->assigned_user_id = $temp->assigned_user_id;
416
+                }
417
+                if($idIndex[$row[$id_field]][0] == $dataIndex){
418
+                    $pageData['tag'][$dataIndex] = $temp->listviewACLHelper();
419
+                }else{
420
+                    $pageData['tag'][$dataIndex] = $pageData['tag'][$idIndex[$row[$id_field]][0]];
421
+                }
422
+                $data[$dataIndex] = $temp->get_list_view_data($filter_fields);
423 423
                 $detailViewAccess = $temp->ACLAccess('DetailView');
424 424
                 $editViewAccess = $temp->ACLAccess('EditView');
425 425
                 $pageData['rowAccess'][$dataIndex] = array('view' => $detailViewAccess, 'edit' => $editViewAccess);
426 426
                 $additionalDetailsAllow = $this->additionalDetails && $detailViewAccess && (file_exists(
427
-                         'modules/' . $temp->module_dir . '/metadata/additionalDetails.php'
428
-                     ) || file_exists('custom/modules/' . $temp->module_dir . '/metadata/additionalDetails.php'));
427
+                            'modules/' . $temp->module_dir . '/metadata/additionalDetails.php'
428
+                        ) || file_exists('custom/modules/' . $temp->module_dir . '/metadata/additionalDetails.php'));
429 429
                 $additionalDetailsEdit = $editViewAccess;
430 430
                 if($additionalDetailsAllow) {
431 431
                     if($this->additionalDetailsAjax) {
432
-					   $ar = $this->getAdditionalDetailsAjax($data[$dataIndex]['ID']);
432
+                        $ar = $this->getAdditionalDetailsAjax($data[$dataIndex]['ID']);
433 433
                     }
434 434
                     else {
435 435
                         $additionalDetailsFile = 'modules/' . $this->seed->module_dir . '/metadata/additionalDetails.php';
436 436
                         if(file_exists('custom/modules/' . $this->seed->module_dir . '/metadata/additionalDetails.php')){
437
-                        	$additionalDetailsFile = 'custom/modules/' . $this->seed->module_dir . '/metadata/additionalDetails.php';
437
+                            $additionalDetailsFile = 'custom/modules/' . $this->seed->module_dir . '/metadata/additionalDetails.php';
438 438
                         }
439 439
                         require_once($additionalDetailsFile);
440 440
                         $ar = $this->getAdditionalDetails($data[$dataIndex],
@@ -443,42 +443,42 @@  discard block
 block discarded – undo
443 443
                     }
444 444
                     $pageData['additionalDetails'][$dataIndex] = $ar['string'];
445 445
                     $pageData['additionalDetails']['fieldToAddTo'] = $ar['fieldToAddTo'];
446
-				}
447
-				next($rows);
448
-			}
449
-		}
450
-		$nextOffset = -1;
451
-		$prevOffset = -1;
452
-		$endOffset = -1;
453
-		if($count > $limit) {
454
-			$nextOffset = $offset + $limit;
455
-		}
456
-
457
-		if($offset > 0) {
458
-			$prevOffset = $offset - $limit;
459
-			if($prevOffset < 0)$prevOffset = 0;
460
-		}
461
-		$totalCount = $count + $offset;
462
-
463
-		if( $count >= $limit && $totalCounted){
464
-			$totalCount  = $this->getTotalCount($main_query);
465
-		}
466
-		SugarVCR::recordIDs($this->seed->module_dir, array_keys($idIndex), $offset, $totalCount);
446
+                }
447
+                next($rows);
448
+            }
449
+        }
450
+        $nextOffset = -1;
451
+        $prevOffset = -1;
452
+        $endOffset = -1;
453
+        if($count > $limit) {
454
+            $nextOffset = $offset + $limit;
455
+        }
456
+
457
+        if($offset > 0) {
458
+            $prevOffset = $offset - $limit;
459
+            if($prevOffset < 0)$prevOffset = 0;
460
+        }
461
+        $totalCount = $count + $offset;
462
+
463
+        if( $count >= $limit && $totalCounted){
464
+            $totalCount  = $this->getTotalCount($main_query);
465
+        }
466
+        SugarVCR::recordIDs($this->seed->module_dir, array_keys($idIndex), $offset, $totalCount);
467 467
         $module_names = array(
468 468
             'Prospects' => 'Targets'
469 469
         );
470
-		$endOffset = (floor(($totalCount - 1) / $limit)) * $limit;
471
-		$pageData['ordering'] = $order;
472
-		$pageData['ordering']['sortOrder'] = $this->getReverseSortOrder($pageData['ordering']['sortOrder']);
470
+        $endOffset = (floor(($totalCount - 1) / $limit)) * $limit;
471
+        $pageData['ordering'] = $order;
472
+        $pageData['ordering']['sortOrder'] = $this->getReverseSortOrder($pageData['ordering']['sortOrder']);
473 473
         //get url parameters as an array
474 474
         $pageData['queries'] = $this->generateQueries($pageData['ordering']['sortOrder'], $offset, $prevOffset, $nextOffset,  $endOffset, $totalCounted);
475 475
         //join url parameters from array to a string
476 476
         $pageData['urls'] = $this->generateURLS($pageData['queries']);
477
-		$pageData['offsets'] = array( 'current'=>$offset, 'next'=>$nextOffset, 'prev'=>$prevOffset, 'end'=>$endOffset, 'total'=>$totalCount, 'totalCounted'=>$totalCounted);
478
-		$pageData['bean'] = array('objectName' => $seed->object_name, 'moduleDir' => $seed->module_dir, 'moduleName' => strtr($seed->module_dir, $module_names));
477
+        $pageData['offsets'] = array( 'current'=>$offset, 'next'=>$nextOffset, 'prev'=>$prevOffset, 'end'=>$endOffset, 'total'=>$totalCount, 'totalCounted'=>$totalCounted);
478
+        $pageData['bean'] = array('objectName' => $seed->object_name, 'moduleDir' => $seed->module_dir, 'moduleName' => strtr($seed->module_dir, $module_names));
479 479
         $pageData['stamp'] = $this->stamp;
480 480
         $pageData['access'] = array('view' => $this->seed->ACLAccess('DetailView'), 'edit' => $this->seed->ACLAccess('EditView'));
481
-		$pageData['idIndex'] = $idIndex;
481
+        $pageData['idIndex'] = $idIndex;
482 482
         if(!$this->seed->ACLAccess('ListView')) {
483 483
             $pageData['error'] = 'ACL restricted access';
484 484
         }
@@ -486,8 +486,8 @@  discard block
 block discarded – undo
486 486
         $queryString = '';
487 487
 
488 488
         if( isset($_REQUEST["searchFormTab"]) && $_REQUEST["searchFormTab"] == "advanced_search" ||
489
-        	isset($_REQUEST["type_basic"]) && (count($_REQUEST["type_basic"] > 1) || $_REQUEST["type_basic"][0] != "") ||
490
-        	isset($_REQUEST["module"]) && $_REQUEST["module"] == "MergeRecords")
489
+            isset($_REQUEST["type_basic"]) && (count($_REQUEST["type_basic"] > 1) || $_REQUEST["type_basic"][0] != "") ||
490
+            isset($_REQUEST["module"]) && $_REQUEST["module"] == "MergeRecords")
491 491
         {
492 492
             $queryString = "-advanced_search";
493 493
         }
@@ -514,8 +514,8 @@  discard block
 block discarded – undo
514 514
             }
515 515
         }
516 516
 
517
-		return array('data'=>$data , 'pageData'=>$pageData, 'query' => $queryString);
518
-	}
517
+        return array('data'=>$data , 'pageData'=>$pageData, 'query' => $queryString);
518
+    }
519 519
 
520 520
 
521 521
     /**
@@ -582,13 +582,13 @@  discard block
 block discarded – undo
582 582
         return $queries;
583 583
     }
584 584
 
585
-	/**
586
-	 * generates the additional details span to be retrieved via ajax
587
-	 *
588
-	 * @param GUID id id of the record
589
-	 * @return array string to attach to field
590
-	 */
591
-	function getAdditionalDetailsAjax($id)
585
+    /**
586
+     * generates the additional details span to be retrieved via ajax
587
+     *
588
+     * @param GUID id id of the record
589
+     * @return array string to attach to field
590
+     */
591
+    function getAdditionalDetailsAjax($id)
592 592
     {
593 593
         global $app_strings;
594 594
 
@@ -596,10 +596,10 @@  discard block
 block discarded – undo
596 596
 
597 597
         $extra = "<span id='adspan_" . $id . "' "
598 598
                 . "onclick=\"lvg_dtails('$id')\" "
599
-				. " style='position: relative;'><!--not_in_theme!--><img vertical-align='middle' class='info' border='0' alt='".$app_strings['LBL_ADDITIONAL_DETAILS']."' src='$jscalendarImage'></span>";
599
+                . " style='position: relative;'><!--not_in_theme!--><img vertical-align='middle' class='info' border='0' alt='".$app_strings['LBL_ADDITIONAL_DETAILS']."' src='$jscalendarImage'></span>";
600 600
 
601 601
         return array('fieldToAddTo' => $this->additionalDetailsFieldToAdd, 'string' => $extra);
602
-	}
602
+    }
603 603
 
604 604
     /**
605 605
      * generates the additional details values
@@ -622,25 +622,25 @@  discard block
 block discarded – undo
622 622
         {
623 623
             $results['string'] = $app_strings['LBL_NONE'];
624 624
         }
625
-         	$close = false;
625
+                $close = false;
626 626
             $extra = "<img alt='{$app_strings['LBL_INFOINLINE']}' style='padding: 0px 5px 0px 2px' border='0' onclick=\"SUGAR.util.getStaticAdditionalDetails(this,'";
627 627
 
628 628
             $extra .= str_replace(array("\rn", "\r", "\n"), array('','','<br />'), $results['string']) ;
629 629
             $extra .= "','<div style=\'float:left\'>{$app_strings['LBL_ADDITIONAL_DETAILS']}</div><div style=\'float: right\'>";
630 630
 
631
-	        if($editAccess && !empty($results['editLink']))
632
-	        {
633
-	            $extra .=  "<a title=\'{$app_strings['LBL_EDIT_BUTTON']}\' href={$results['editLink']}><img style=\'margin-left: 2px;\' border=\'0\' src=\'".SugarThemeRegistry::current()->getImageURL('edit_inline.png')."\'></a>";
634
-	            $close = true;
635
-	        }
636
-	        $close = (!empty($results['viewLink'])) ? true : $close;
637
-	        $extra .= (!empty($results['viewLink']) ? "<a title=\'{$app_strings['LBL_VIEW_BUTTON']}\' href={$results['viewLink']}><img style=\'margin-left: 2px;\' border=\'0\' src=".SugarThemeRegistry::current()->getImageURL('view_inline.png')."></a>" : '');
631
+            if($editAccess && !empty($results['editLink']))
632
+            {
633
+                $extra .=  "<a title=\'{$app_strings['LBL_EDIT_BUTTON']}\' href={$results['editLink']}><img style=\'margin-left: 2px;\' border=\'0\' src=\'".SugarThemeRegistry::current()->getImageURL('edit_inline.png')."\'></a>";
634
+                $close = true;
635
+            }
636
+            $close = (!empty($results['viewLink'])) ? true : $close;
637
+            $extra .= (!empty($results['viewLink']) ? "<a title=\'{$app_strings['LBL_VIEW_BUTTON']}\' href={$results['viewLink']}><img style=\'margin-left: 2px;\' border=\'0\' src=".SugarThemeRegistry::current()->getImageURL('view_inline.png')."></a>" : '');
638 638
 
639 639
             if($close == true) {
640
-            	$closeVal = "true";
641
-            	$extra .=  "<a title=\'{$app_strings['LBL_ADDITIONAL_DETAILS_CLOSE_TITLE']}\' href=\'javascript: SUGAR.util.closeStaticAdditionalDetails();\'><img style=\'margin-left: 2px;\' border=\'0\' src=\'".SugarThemeRegistry::current()->getImageURL('close.png')."\'></a>";
640
+                $closeVal = "true";
641
+                $extra .=  "<a title=\'{$app_strings['LBL_ADDITIONAL_DETAILS_CLOSE_TITLE']}\' href=\'javascript: SUGAR.util.closeStaticAdditionalDetails();\'><img style=\'margin-left: 2px;\' border=\'0\' src=\'".SugarThemeRegistry::current()->getImageURL('close.png')."\'></a>";
642 642
             } else {
643
-            	$closeVal = "false";
643
+                $closeVal = "false";
644 644
             }
645 645
             $extra .= "',".$closeVal.")\" src='".SugarThemeRegistry::current()->getImageURL('info_inline.png')."' class='info'>";
646 646
 
Please login to merge, or discard this patch.
Spacing   +104 added lines, -104 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 3
 /*********************************************************************************
4 4
  * SugarCRM Community Edition is a customer relationship management program developed by
5 5
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -75,10 +75,10 @@  discard block
 block discarded – undo
75 75
 	 */
76 76
 	function getOrderBy($orderBy = '', $direction = '') {
77 77
 		if (!empty($orderBy) || !empty($_REQUEST[$this->var_order_by])) {
78
-            if(!empty($_REQUEST[$this->var_order_by])) {
78
+            if (!empty($_REQUEST[$this->var_order_by])) {
79 79
     			$direction = 'ASC';
80 80
     			$orderBy = $_REQUEST[$this->var_order_by];
81
-    			if(!empty($_REQUEST['lvso']) && (empty($_SESSION['lvd']['last_ob']) || strcmp($orderBy, $_SESSION['lvd']['last_ob']) == 0) ){
81
+    			if (!empty($_REQUEST['lvso']) && (empty($_SESSION['lvd']['last_ob']) || strcmp($orderBy, $_SESSION['lvd']['last_ob']) == 0)) {
82 82
     				$direction = $_REQUEST['lvso'];
83 83
     			}
84 84
             }
@@ -87,7 +87,7 @@  discard block
 block discarded – undo
87 87
         }
88 88
 		else {
89 89
             $userPreferenceOrder = $GLOBALS['current_user']->getPreference('listviewOrder', $this->var_name);
90
-			if(!empty($_SESSION[$this->var_order_by])) {
90
+			if (!empty($_SESSION[$this->var_order_by])) {
91 91
 				$orderBy = $_SESSION[$this->var_order_by]['orderBy'];
92 92
 				$direction = $_SESSION[$this->var_order_by]['direction'];
93 93
             } elseif (!empty($userPreferenceOrder)) {
@@ -98,8 +98,8 @@  discard block
 block discarded – undo
98 98
 				$direction = 'DESC';
99 99
 			}
100 100
 		}
101
-		if(!empty($direction)) {
102
-    		if(strtolower($direction) == "desc") {
101
+		if (!empty($direction)) {
102
+    		if (strtolower($direction) == "desc") {
103 103
     		    $direction = 'DESC';
104 104
     		} else {
105 105
     		    $direction = 'ASC';
@@ -114,8 +114,8 @@  discard block
 block discarded – undo
114 114
 	 * @param STRING (ASC or DESC) $current_order
115 115
 	 * @return  STRING (ASC or DESC)
116 116
 	 */
117
-	function getReverseSortOrder($current_order){
118
-		return (strcmp(strtolower($current_order), 'asc') == 0)?'DESC':'ASC';
117
+	function getReverseSortOrder($current_order) {
118
+		return (strcmp(strtolower($current_order), 'asc') == 0) ? 'DESC' : 'ASC';
119 119
 	}
120 120
 	/**
121 121
 	 * gets the limit of how many rows to show per page
@@ -145,8 +145,8 @@  discard block
 block discarded – undo
145 145
     {
146 146
         global $beanList;
147 147
 
148
-        $blockVariables = array('mass', 'uid', 'massupdate', 'delete', 'merge', 'selectCount',$this->var_order_by, $this->var_offset, 'lvso', 'sortOrder', 'orderBy', 'request_data', 'current_query_by_page');
149
-        foreach($beanList as $bean)
148
+        $blockVariables = array('mass', 'uid', 'massupdate', 'delete', 'merge', 'selectCount', $this->var_order_by, $this->var_offset, 'lvso', 'sortOrder', 'orderBy', 'request_data', 'current_query_by_page');
149
+        foreach ($beanList as $bean)
150 150
         {
151 151
             $blockVariables[] = 'Home2_'.strtoupper($bean).'_ORDER_BY';
152 152
         }
@@ -164,30 +164,30 @@  discard block
 block discarded – undo
164 164
 	 *
165 165
 	 * @param unknown_type $baseName
166 166
 	 */
167
-	function setVariableName($baseName, $where, $listviewName = null){
167
+	function setVariableName($baseName, $where, $listviewName = null) {
168 168
         global $timedate;
169
-        $module = (!empty($listviewName)) ? $listviewName: $_REQUEST['module'];
170
-        $this->var_name = $module .'2_'. strtoupper($baseName);
169
+        $module = (!empty($listviewName)) ? $listviewName : $_REQUEST['module'];
170
+        $this->var_name = $module.'2_'.strtoupper($baseName);
171 171
 
172
-		$this->var_order_by = $this->var_name .'_ORDER_BY';
173
-		$this->var_offset = $this->var_name . '_offset';
172
+		$this->var_order_by = $this->var_name.'_ORDER_BY';
173
+		$this->var_offset = $this->var_name.'_offset';
174 174
         $timestamp = sugar_microtime();
175 175
         $this->stamp = $timestamp;
176 176
 
177
-        $_SESSION[$module .'2_QUERY_QUERY'] = $where;
177
+        $_SESSION[$module.'2_QUERY_QUERY'] = $where;
178 178
 
179
-        $_SESSION[strtoupper($baseName) . "_FROM_LIST_VIEW"] = $timestamp;
180
-        $_SESSION[strtoupper($baseName) . "_DETAIL_NAV_HISTORY"] = false;
179
+        $_SESSION[strtoupper($baseName)."_FROM_LIST_VIEW"] = $timestamp;
180
+        $_SESSION[strtoupper($baseName)."_DETAIL_NAV_HISTORY"] = false;
181 181
 	}
182 182
 
183
-	function getTotalCount($main_query){
184
-		if(!empty($this->count_query)){
183
+	function getTotalCount($main_query) {
184
+		if (!empty($this->count_query)) {
185 185
 		    $count_query = $this->count_query;
186
-		}else{
186
+		} else {
187 187
 	        $count_query = $this->seed->create_list_count_query($main_query);
188 188
 	    }
189 189
 		$result = $this->db->query($count_query);
190
-		if($row = $this->db->fetchByAssoc($result)){
190
+		if ($row = $this->db->fetchByAssoc($result)) {
191 191
 			return $row['c'];
192 192
 		}
193 193
 		return 0;
@@ -229,13 +229,13 @@  discard block
 block discarded – undo
229 229
 	 * @param string:'id' $id_field
230 230
 	 * @return array('data'=> row data, 'pageData' => page data information, 'query' => original query string)
231 231
 	 */
232
-	function getListViewData($seed, $where, $offset=-1, $limit = -1, $filter_fields=array(),$params=array(),$id_field = 'id',$singleSelect=true) {
232
+	function getListViewData($seed, $where, $offset = -1, $limit = -1, $filter_fields = array(), $params = array(), $id_field = 'id', $singleSelect = true) {
233 233
         global $current_user;
234 234
         SugarVCR::erase($seed->module_dir);
235
-        $this->seed =& $seed;
235
+        $this->seed = & $seed;
236 236
         $totalCounted = empty($GLOBALS['sugar_config']['disable_count_query']);
237 237
         $_SESSION['MAILMERGE_MODULE_FROM_LISTVIEW'] = $seed->module_dir;
238
-        if(empty($_REQUEST['action']) || $_REQUEST['action'] != 'Popup'){
238
+        if (empty($_REQUEST['action']) || $_REQUEST['action'] != 'Popup') {
239 239
             $_SESSION['MAILMERGE_MODULE'] = $seed->module_dir;
240 240
         }
241 241
 
@@ -244,7 +244,7 @@  discard block
 block discarded – undo
244 244
 		$this->seed->id = '[SELECT_ID_LIST]';
245 245
 
246 246
         // if $params tell us to override all ordering
247
-        if(!empty($params['overrideOrder']) && !empty($params['orderBy'])) {
247
+        if (!empty($params['overrideOrder']) && !empty($params['orderBy'])) {
248 248
             $order = $this->getOrderBy(strtolower($params['orderBy']), (empty($params['sortOrder']) ? '' : $params['sortOrder'])); // retreive from $_REQUEST
249 249
         }
250 250
         else {
@@ -252,17 +252,17 @@  discard block
 block discarded – undo
252 252
         }
253 253
 
254 254
         // still empty? try to use settings passed in $param
255
-        if(empty($order['orderBy']) && !empty($params['orderBy'])) {
255
+        if (empty($order['orderBy']) && !empty($params['orderBy'])) {
256 256
             $order['orderBy'] = $params['orderBy'];
257
-            $order['sortOrder'] =  (empty($params['sortOrder']) ? '' : $params['sortOrder']);
257
+            $order['sortOrder'] = (empty($params['sortOrder']) ? '' : $params['sortOrder']);
258 258
         }
259 259
 
260 260
         //rrs - bug: 21788. Do not use Order by stmts with fields that are not in the query.
261 261
         // Bug 22740 - Tweak this check to strip off the table name off the order by parameter.
262 262
         // Samir Gandhi : Do not remove the report_cache.date_modified condition as the report list view is broken
263 263
         $orderby = $order['orderBy'];
264
-        if (strpos($order['orderBy'],'.') && ($order['orderBy'] != "report_cache.date_modified")) {
265
-            $orderby = substr($order['orderBy'],strpos($order['orderBy'],'.')+1);
264
+        if (strpos($order['orderBy'], '.') && ($order['orderBy'] != "report_cache.date_modified")) {
265
+            $orderby = substr($order['orderBy'], strpos($order['orderBy'], '.') + 1);
266 266
         }
267 267
         if ($orderby != 'date_entered' && !in_array($orderby, array_keys($filter_fields))) {
268 268
         	$order['orderBy'] = '';
@@ -272,10 +272,10 @@  discard block
 block discarded – undo
272 272
 		if (empty($order['orderBy'])) {
273 273
             $orderBy = '';
274 274
         } else {
275
-            $orderBy = $order['orderBy'] . ' ' . $order['sortOrder'];
275
+            $orderBy = $order['orderBy'].' '.$order['sortOrder'];
276 276
             //wdong, Bug 25476, fix the sorting problem of Oracle.
277 277
             if (isset($params['custom_order_by_override']['ori_code']) && $order['orderBy'] == $params['custom_order_by_override']['ori_code'])
278
-                $orderBy = $params['custom_order_by_override']['custom_code'] . ' ' . $order['sortOrder'];
278
+                $orderBy = $params['custom_order_by_override']['custom_code'].' '.$order['sortOrder'];
279 279
         }
280 280
 
281 281
         if (empty($params['skipOrderSave'])) { // don't save preferences if told so
@@ -290,34 +290,34 @@  discard block
 block discarded – undo
290 290
 		$ret_array = $seed->create_new_list_query($orderBy, $where, $filter_fields, $params, 0, '', true, $seed, $singleSelect);
291 291
         $ret_array['inner_join'] = '';
292 292
         if (!empty($this->seed->listview_inner_join)) {
293
-            $ret_array['inner_join'] = ' ' . implode(' ', $this->seed->listview_inner_join) . ' ';
293
+            $ret_array['inner_join'] = ' '.implode(' ', $this->seed->listview_inner_join).' ';
294 294
         }
295 295
 
296
-		if(!is_array($params)) $params = array();
297
-        if(!isset($params['custom_select'])) $params['custom_select'] = '';
298
-        if(!isset($params['custom_from'])) $params['custom_from'] = '';
299
-        if(!isset($params['custom_where'])) $params['custom_where'] = '';
300
-        if(!isset($params['custom_order_by'])) $params['custom_order_by'] = '';
301
-		$main_query = $ret_array['select'] . $params['custom_select'] . $ret_array['from'] . $params['custom_from'] . $ret_array['inner_join']. $ret_array['where'] . $params['custom_where'] . $ret_array['order_by'] . $params['custom_order_by'];
296
+		if (!is_array($params)) $params = array();
297
+        if (!isset($params['custom_select'])) $params['custom_select'] = '';
298
+        if (!isset($params['custom_from'])) $params['custom_from'] = '';
299
+        if (!isset($params['custom_where'])) $params['custom_where'] = '';
300
+        if (!isset($params['custom_order_by'])) $params['custom_order_by'] = '';
301
+		$main_query = $ret_array['select'].$params['custom_select'].$ret_array['from'].$params['custom_from'].$ret_array['inner_join'].$ret_array['where'].$params['custom_where'].$ret_array['order_by'].$params['custom_order_by'];
302 302
 		//C.L. - Fix for 23461
303
-		if(empty($_REQUEST['action']) || $_REQUEST['action'] != 'Popup') {
303
+		if (empty($_REQUEST['action']) || $_REQUEST['action'] != 'Popup') {
304 304
           	   $_SESSION['export_where'] = $ret_array['where'];
305 305
 		}
306
-   		if($limit < -1) {
306
+   		if ($limit < -1) {
307 307
 			$result = $this->db->query($main_query);
308 308
 		}
309 309
 		else {
310
-			if($limit == -1) {
310
+			if ($limit == -1) {
311 311
 				$limit = $this->getLimit();
312 312
             }
313 313
 			$dyn_offset = $this->getOffset();
314
-			if($dyn_offset > 0 || !is_int($dyn_offset))$offset = $dyn_offset;
314
+			if ($dyn_offset > 0 || !is_int($dyn_offset))$offset = $dyn_offset;
315 315
 
316
-            if(strcmp($offset, 'end') == 0){
316
+            if (strcmp($offset, 'end') == 0) {
317 317
             	$totalCount = $this->getTotalCount($main_query);
318
-            	$offset = (floor(($totalCount -1) / $limit)) * $limit;
318
+            	$offset = (floor(($totalCount - 1) / $limit)) * $limit;
319 319
             }
320
-            if($this->seed->ACLAccess('ListView')) {
320
+            if ($this->seed->ACLAccess('ListView')) {
321 321
                 $result = $this->db->limitQuery($main_query, $offset, $limit + 1);
322 322
             }
323 323
             else {
@@ -335,9 +335,9 @@  discard block
 block discarded – undo
335 335
         $idIndex = array();
336 336
         $id_list = '';
337 337
 
338
-   		while(($row = $this->db->fetchByAssoc($result)) != null)
338
+   		while (($row = $this->db->fetchByAssoc($result)) != null)
339 339
         {
340
-   			if($count < $limit)
340
+   			if ($count < $limit)
341 341
             {
342 342
    				$id_list .= ',\''.$row[$id_field].'\'';
343 343
    				$idIndex[$row[$id_field]][] = count($rows);
@@ -351,51 +351,51 @@  discard block
 block discarded – undo
351 351
             $id_list = '('.substr($id_list, 1).')';
352 352
         }
353 353
 
354
-        SugarVCR::store($this->seed->module_dir,  $main_query);
355
-		if($count != 0) {
354
+        SugarVCR::store($this->seed->module_dir, $main_query);
355
+		if ($count != 0) {
356 356
 			//NOW HANDLE SECONDARY QUERIES
357
-			if(!empty($ret_array['secondary_select'])) {
358
-				$secondary_query = $ret_array['secondary_select'] . $ret_array['secondary_from'] . ' WHERE '.$this->seed->table_name.'.id IN ' .$id_list;
359
-                if(isset($ret_array['order_by']))
357
+			if (!empty($ret_array['secondary_select'])) {
358
+				$secondary_query = $ret_array['secondary_select'].$ret_array['secondary_from'].' WHERE '.$this->seed->table_name.'.id IN '.$id_list;
359
+                if (isset($ret_array['order_by']))
360 360
                 {
361
-                    $secondary_query .= ' ' . $ret_array['order_by'];
361
+                    $secondary_query .= ' '.$ret_array['order_by'];
362 362
                 }
363 363
 
364 364
                 $secondary_result = $this->db->query($secondary_query);
365 365
 
366 366
                 $ref_id_count = array();
367
-				while($row = $this->db->fetchByAssoc($secondary_result)) {
367
+				while ($row = $this->db->fetchByAssoc($secondary_result)) {
368 368
 
369 369
                     $ref_id_count[$row['ref_id']][] = true;
370
-					foreach($row as $name=>$value) {
370
+					foreach ($row as $name=>$value) {
371 371
 						//add it to every row with the given id
372
-						foreach($idIndex[$row['ref_id']] as $index){
373
-						    $rows[$index][$name]=$value;
372
+						foreach ($idIndex[$row['ref_id']] as $index) {
373
+						    $rows[$index][$name] = $value;
374 374
 						}
375 375
 					}
376 376
 				}
377 377
 
378 378
                 $rows_keys = array_keys($rows);
379
-                foreach($rows_keys as $key)
379
+                foreach ($rows_keys as $key)
380 380
                 {
381 381
                     $rows[$key]['secondary_select_count'] = count($ref_id_count[$rows[$key]['ref_id']]);
382 382
                 }
383 383
 			}
384 384
 
385 385
             // retrieve parent names
386
-            if(!empty($filter_fields['parent_name']) && !empty($filter_fields['parent_id']) && !empty($filter_fields['parent_type'])) {
387
-                foreach($idIndex as $id => $rowIndex) {
388
-                    if(!isset($post_retrieve[$rows[$rowIndex[0]]['parent_type']])) {
386
+            if (!empty($filter_fields['parent_name']) && !empty($filter_fields['parent_id']) && !empty($filter_fields['parent_type'])) {
387
+                foreach ($idIndex as $id => $rowIndex) {
388
+                    if (!isset($post_retrieve[$rows[$rowIndex[0]]['parent_type']])) {
389 389
                         $post_retrieve[$rows[$rowIndex[0]]['parent_type']] = array();
390 390
                     }
391
-                    if(!empty($rows[$rowIndex[0]]['parent_id'])) $post_retrieve[$rows[$rowIndex[0]]['parent_type']][] = array('child_id' => $id , 'parent_id'=> $rows[$rowIndex[0]]['parent_id'], 'parent_type' => $rows[$rowIndex[0]]['parent_type'], 'type' => 'parent');
391
+                    if (!empty($rows[$rowIndex[0]]['parent_id'])) $post_retrieve[$rows[$rowIndex[0]]['parent_type']][] = array('child_id' => $id, 'parent_id'=> $rows[$rowIndex[0]]['parent_id'], 'parent_type' => $rows[$rowIndex[0]]['parent_type'], 'type' => 'parent');
392 392
                 }
393
-                if(isset($post_retrieve)) {
393
+                if (isset($post_retrieve)) {
394 394
                     $parent_fields = $seed->retrieve_parent_fields($post_retrieve);
395
-                    foreach($parent_fields as $child_id => $parent_data) {
395
+                    foreach ($parent_fields as $child_id => $parent_data) {
396 396
                         //add it to every row with the given id
397
-						foreach($idIndex[$child_id] as $index){
398
-						    $rows[$index]['parent_name']= $parent_data['parent_name'];
397
+						foreach ($idIndex[$child_id] as $index) {
398
+						    $rows[$index]['parent_name'] = $parent_data['parent_name'];
399 399
 						}
400 400
                     }
401 401
                 }
@@ -404,7 +404,7 @@  discard block
 block discarded – undo
404 404
 			$pageData = array();
405 405
 
406 406
 			reset($rows);
407
-			while($row = current($rows)){
407
+			while ($row = current($rows)) {
408 408
 
409 409
                 $temp = clone $seed;
410 410
 			    $dataIndex = count($data);
@@ -414,9 +414,9 @@  discard block
 block discarded – undo
414 414
 				if (empty($this->seed->assigned_user_id) && !empty($temp->assigned_user_id)) {
415 415
 				    $this->seed->assigned_user_id = $temp->assigned_user_id;
416 416
 				}
417
-				if($idIndex[$row[$id_field]][0] == $dataIndex){
417
+				if ($idIndex[$row[$id_field]][0] == $dataIndex) {
418 418
 				    $pageData['tag'][$dataIndex] = $temp->listviewACLHelper();
419
-				}else{
419
+				} else {
420 420
 				    $pageData['tag'][$dataIndex] = $pageData['tag'][$idIndex[$row[$id_field]][0]];
421 421
 				}
422 422
 				$data[$dataIndex] = $temp->get_list_view_data($filter_fields);
@@ -424,21 +424,21 @@  discard block
 block discarded – undo
424 424
                 $editViewAccess = $temp->ACLAccess('EditView');
425 425
                 $pageData['rowAccess'][$dataIndex] = array('view' => $detailViewAccess, 'edit' => $editViewAccess);
426 426
                 $additionalDetailsAllow = $this->additionalDetails && $detailViewAccess && (file_exists(
427
-                         'modules/' . $temp->module_dir . '/metadata/additionalDetails.php'
428
-                     ) || file_exists('custom/modules/' . $temp->module_dir . '/metadata/additionalDetails.php'));
427
+                         'modules/'.$temp->module_dir.'/metadata/additionalDetails.php'
428
+                     ) || file_exists('custom/modules/'.$temp->module_dir.'/metadata/additionalDetails.php'));
429 429
                 $additionalDetailsEdit = $editViewAccess;
430
-                if($additionalDetailsAllow) {
431
-                    if($this->additionalDetailsAjax) {
430
+                if ($additionalDetailsAllow) {
431
+                    if ($this->additionalDetailsAjax) {
432 432
 					   $ar = $this->getAdditionalDetailsAjax($data[$dataIndex]['ID']);
433 433
                     }
434 434
                     else {
435
-                        $additionalDetailsFile = 'modules/' . $this->seed->module_dir . '/metadata/additionalDetails.php';
436
-                        if(file_exists('custom/modules/' . $this->seed->module_dir . '/metadata/additionalDetails.php')){
437
-                        	$additionalDetailsFile = 'custom/modules/' . $this->seed->module_dir . '/metadata/additionalDetails.php';
435
+                        $additionalDetailsFile = 'modules/'.$this->seed->module_dir.'/metadata/additionalDetails.php';
436
+                        if (file_exists('custom/modules/'.$this->seed->module_dir.'/metadata/additionalDetails.php')) {
437
+                        	$additionalDetailsFile = 'custom/modules/'.$this->seed->module_dir.'/metadata/additionalDetails.php';
438 438
                         }
439 439
                         require_once($additionalDetailsFile);
440 440
                         $ar = $this->getAdditionalDetails($data[$dataIndex],
441
-                                    (empty($this->additionalDetailsFunction) ? 'additionalDetails' : $this->additionalDetailsFunction) . $this->seed->object_name,
441
+                                    (empty($this->additionalDetailsFunction) ? 'additionalDetails' : $this->additionalDetailsFunction).$this->seed->object_name,
442 442
                                     $additionalDetailsEdit);
443 443
                     }
444 444
                     $pageData['additionalDetails'][$dataIndex] = $ar['string'];
@@ -450,18 +450,18 @@  discard block
 block discarded – undo
450 450
 		$nextOffset = -1;
451 451
 		$prevOffset = -1;
452 452
 		$endOffset = -1;
453
-		if($count > $limit) {
453
+		if ($count > $limit) {
454 454
 			$nextOffset = $offset + $limit;
455 455
 		}
456 456
 
457
-		if($offset > 0) {
457
+		if ($offset > 0) {
458 458
 			$prevOffset = $offset - $limit;
459
-			if($prevOffset < 0)$prevOffset = 0;
459
+			if ($prevOffset < 0)$prevOffset = 0;
460 460
 		}
461 461
 		$totalCount = $count + $offset;
462 462
 
463
-		if( $count >= $limit && $totalCounted){
464
-			$totalCount  = $this->getTotalCount($main_query);
463
+		if ($count >= $limit && $totalCounted) {
464
+			$totalCount = $this->getTotalCount($main_query);
465 465
 		}
466 466
 		SugarVCR::recordIDs($this->seed->module_dir, array_keys($idIndex), $offset, $totalCount);
467 467
         $module_names = array(
@@ -471,21 +471,21 @@  discard block
 block discarded – undo
471 471
 		$pageData['ordering'] = $order;
472 472
 		$pageData['ordering']['sortOrder'] = $this->getReverseSortOrder($pageData['ordering']['sortOrder']);
473 473
         //get url parameters as an array
474
-        $pageData['queries'] = $this->generateQueries($pageData['ordering']['sortOrder'], $offset, $prevOffset, $nextOffset,  $endOffset, $totalCounted);
474
+        $pageData['queries'] = $this->generateQueries($pageData['ordering']['sortOrder'], $offset, $prevOffset, $nextOffset, $endOffset, $totalCounted);
475 475
         //join url parameters from array to a string
476 476
         $pageData['urls'] = $this->generateURLS($pageData['queries']);
477
-		$pageData['offsets'] = array( 'current'=>$offset, 'next'=>$nextOffset, 'prev'=>$prevOffset, 'end'=>$endOffset, 'total'=>$totalCount, 'totalCounted'=>$totalCounted);
477
+		$pageData['offsets'] = array('current'=>$offset, 'next'=>$nextOffset, 'prev'=>$prevOffset, 'end'=>$endOffset, 'total'=>$totalCount, 'totalCounted'=>$totalCounted);
478 478
 		$pageData['bean'] = array('objectName' => $seed->object_name, 'moduleDir' => $seed->module_dir, 'moduleName' => strtr($seed->module_dir, $module_names));
479 479
         $pageData['stamp'] = $this->stamp;
480 480
         $pageData['access'] = array('view' => $this->seed->ACLAccess('DetailView'), 'edit' => $this->seed->ACLAccess('EditView'));
481 481
 		$pageData['idIndex'] = $idIndex;
482
-        if(!$this->seed->ACLAccess('ListView')) {
482
+        if (!$this->seed->ACLAccess('ListView')) {
483 483
             $pageData['error'] = 'ACL restricted access';
484 484
         }
485 485
 
486 486
         $queryString = '';
487 487
 
488
-        if( isset($_REQUEST["searchFormTab"]) && $_REQUEST["searchFormTab"] == "advanced_search" ||
488
+        if (isset($_REQUEST["searchFormTab"]) && $_REQUEST["searchFormTab"] == "advanced_search" ||
489 489
         	isset($_REQUEST["type_basic"]) && (count($_REQUEST["type_basic"] > 1) || $_REQUEST["type_basic"][0] != "") ||
490 490
         	isset($_REQUEST["module"]) && $_REQUEST["module"] == "MergeRecords")
491 491
         {
@@ -493,19 +493,19 @@  discard block
 block discarded – undo
493 493
         }
494 494
         else if (isset($_REQUEST["searchFormTab"]) && $_REQUEST["searchFormTab"] == "basic_search")
495 495
         {
496
-            if($seed->module_dir == "Reports") $searchMetaData = SearchFormReports::retrieveReportsSearchDefs();
496
+            if ($seed->module_dir == "Reports") $searchMetaData = SearchFormReports::retrieveReportsSearchDefs();
497 497
             else $searchMetaData = SearchForm::retrieveSearchDefs($seed->module_dir);
498 498
 
499 499
             $basicSearchFields = array();
500 500
 
501
-            if( isset($searchMetaData['searchdefs']) && isset($searchMetaData['searchdefs'][$seed->module_dir]['layout']['basic_search']) )
501
+            if (isset($searchMetaData['searchdefs']) && isset($searchMetaData['searchdefs'][$seed->module_dir]['layout']['basic_search']))
502 502
                 $basicSearchFields = $searchMetaData['searchdefs'][$seed->module_dir]['layout']['basic_search'];
503 503
 
504
-            foreach( $basicSearchFields as $basicSearchField)
504
+            foreach ($basicSearchFields as $basicSearchField)
505 505
             {
506 506
                 $field_name = (is_array($basicSearchField) && isset($basicSearchField['name'])) ? $basicSearchField['name'] : $basicSearchField;
507 507
                 $field_name .= "_basic";
508
-                if( isset($_REQUEST[$field_name])  && ( !is_array($basicSearchField) || !isset($basicSearchField['type']) || $basicSearchField['type'] == 'text' || $basicSearchField['type'] == 'name') )
508
+                if (isset($_REQUEST[$field_name]) && (!is_array($basicSearchField) || !isset($basicSearchField['type']) || $basicSearchField['type'] == 'text' || $basicSearchField['type'] == 'name'))
509 509
                 {
510 510
                     // Ensure the encoding is UTF-8
511 511
                     $queryString = htmlentities($_REQUEST[$field_name], null, 'UTF-8');
@@ -514,7 +514,7 @@  discard block
 block discarded – undo
514 514
             }
515 515
         }
516 516
 
517
-		return array('data'=>$data , 'pageData'=>$pageData, 'query' => $queryString);
517
+		return array('data'=>$data, 'pageData'=>$pageData, 'query' => $queryString);
518 518
 	}
519 519
 
520 520
 
@@ -528,7 +528,7 @@  discard block
 block discarded – undo
528 528
     {
529 529
         foreach ($queries as $name => $value)
530 530
         {
531
-            $queries[$name] = 'index.php?' . http_build_query($value);
531
+            $queries[$name] = 'index.php?'.http_build_query($value);
532 532
         }
533 533
         $this->base_url = $queries['baseURL'];
534 534
         return $queries;
@@ -554,22 +554,22 @@  discard block
 block discarded – undo
554 554
         $queries['orderBy'] = $queries['baseURL'];
555 555
         $queries['orderBy'][$this->var_order_by] = '';
556 556
 
557
-        if($nextOffset > -1)
557
+        if ($nextOffset > -1)
558 558
         {
559 559
             $queries['nextPage'] = $queries['baseURL'];
560 560
             $queries['nextPage'][$this->var_offset] = $nextOffset;
561 561
         }
562
-        if($offset > 0)
562
+        if ($offset > 0)
563 563
         {
564 564
             $queries['startPage'] = $queries['baseURL'];
565 565
             $queries['startPage'][$this->var_offset] = 0;
566 566
         }
567
-        if($prevOffset > -1)
567
+        if ($prevOffset > -1)
568 568
         {
569 569
             $queries['prevPage'] = $queries['baseURL'];
570 570
             $queries['prevPage'][$this->var_offset] = $prevOffset;
571 571
         }
572
-        if($totalCounted)
572
+        if ($totalCounted)
573 573
         {
574 574
             $queries['endPage'] = $queries['baseURL'];
575 575
             $queries['endPage'][$this->var_offset] = $endOffset;
@@ -594,7 +594,7 @@  discard block
 block discarded – undo
594 594
 
595 595
         $jscalendarImage = SugarThemeRegistry::current()->getImageURL('info_inline.gif');
596 596
 
597
-        $extra = "<span id='adspan_" . $id . "' "
597
+        $extra = "<span id='adspan_".$id."' "
598 598
                 . "onclick=\"lvg_dtails('$id')\" "
599 599
 				. " style='position: relative;'><!--not_in_theme!--><img vertical-align='middle' class='info' border='0' alt='".$app_strings['LBL_ADDITIONAL_DETAILS']."' src='$jscalendarImage'></span>";
600 600
 
@@ -618,27 +618,27 @@  discard block
 block discarded – undo
618 618
 
619 619
         $results['string'] = str_replace(array("&#039", "'"), '\&#039', $results['string']); // no xss!
620 620
 
621
-        if(trim($results['string']) == '')
621
+        if (trim($results['string']) == '')
622 622
         {
623 623
             $results['string'] = $app_strings['LBL_NONE'];
624 624
         }
625 625
          	$close = false;
626 626
             $extra = "<img alt='{$app_strings['LBL_INFOINLINE']}' style='padding: 0px 5px 0px 2px' border='0' onclick=\"SUGAR.util.getStaticAdditionalDetails(this,'";
627 627
 
628
-            $extra .= str_replace(array("\rn", "\r", "\n"), array('','','<br />'), $results['string']) ;
628
+            $extra .= str_replace(array("\rn", "\r", "\n"), array('', '', '<br />'), $results['string']);
629 629
             $extra .= "','<div style=\'float:left\'>{$app_strings['LBL_ADDITIONAL_DETAILS']}</div><div style=\'float: right\'>";
630 630
 
631
-	        if($editAccess && !empty($results['editLink']))
631
+	        if ($editAccess && !empty($results['editLink']))
632 632
 	        {
633
-	            $extra .=  "<a title=\'{$app_strings['LBL_EDIT_BUTTON']}\' href={$results['editLink']}><img style=\'margin-left: 2px;\' border=\'0\' src=\'".SugarThemeRegistry::current()->getImageURL('edit_inline.png')."\'></a>";
633
+	            $extra .= "<a title=\'{$app_strings['LBL_EDIT_BUTTON']}\' href={$results['editLink']}><img style=\'margin-left: 2px;\' border=\'0\' src=\'".SugarThemeRegistry::current()->getImageURL('edit_inline.png')."\'></a>";
634 634
 	            $close = true;
635 635
 	        }
636 636
 	        $close = (!empty($results['viewLink'])) ? true : $close;
637 637
 	        $extra .= (!empty($results['viewLink']) ? "<a title=\'{$app_strings['LBL_VIEW_BUTTON']}\' href={$results['viewLink']}><img style=\'margin-left: 2px;\' border=\'0\' src=".SugarThemeRegistry::current()->getImageURL('view_inline.png')."></a>" : '');
638 638
 
639
-            if($close == true) {
639
+            if ($close == true) {
640 640
             	$closeVal = "true";
641
-            	$extra .=  "<a title=\'{$app_strings['LBL_ADDITIONAL_DETAILS_CLOSE_TITLE']}\' href=\'javascript: SUGAR.util.closeStaticAdditionalDetails();\'><img style=\'margin-left: 2px;\' border=\'0\' src=\'".SugarThemeRegistry::current()->getImageURL('close.png')."\'></a>";
641
+            	$extra .= "<a title=\'{$app_strings['LBL_ADDITIONAL_DETAILS_CLOSE_TITLE']}\' href=\'javascript: SUGAR.util.closeStaticAdditionalDetails();\'><img style=\'margin-left: 2px;\' border=\'0\' src=\'".SugarThemeRegistry::current()->getImageURL('close.png')."\'></a>";
642 642
             } else {
643 643
             	$closeVal = "false";
644 644
             }
Please login to merge, or discard this patch.
Braces   +47 added lines, -31 removed lines patch added patch discarded remove patch
@@ -1,5 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if(!defined('sugarEntry') || !sugarEntry) {
3
+    die('Not A Valid Entry Point');
4
+}
3 5
 /*********************************************************************************
4 6
  * SugarCRM Community Edition is a customer relationship management program developed by
5 7
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -84,8 +86,7 @@  discard block
 block discarded – undo
84 86
             }
85 87
             $_SESSION[$this->var_order_by] = array('orderBy'=>$orderBy, 'direction'=> $direction);
86 88
             $_SESSION['lvd']['last_ob'] = $orderBy;
87
-        }
88
-		else {
89
+        } else {
89 90
             $userPreferenceOrder = $GLOBALS['current_user']->getPreference('listviewOrder', $this->var_name);
90 91
 			if(!empty($_SESSION[$this->var_order_by])) {
91 92
 				$orderBy = $_SESSION[$this->var_order_by]['orderBy'];
@@ -183,7 +184,7 @@  discard block
 block discarded – undo
183 184
 	function getTotalCount($main_query){
184 185
 		if(!empty($this->count_query)){
185 186
 		    $count_query = $this->count_query;
186
-		}else{
187
+		} else{
187 188
 	        $count_query = $this->seed->create_list_count_query($main_query);
188 189
 	    }
189 190
 		$result = $this->db->query($count_query);
@@ -246,8 +247,7 @@  discard block
 block discarded – undo
246 247
         // if $params tell us to override all ordering
247 248
         if(!empty($params['overrideOrder']) && !empty($params['orderBy'])) {
248 249
             $order = $this->getOrderBy(strtolower($params['orderBy']), (empty($params['sortOrder']) ? '' : $params['sortOrder'])); // retreive from $_REQUEST
249
-        }
250
-        else {
250
+        } else {
251 251
             $order = $this->getOrderBy(); // retreive from $_REQUEST
252 252
         }
253 253
 
@@ -274,8 +274,9 @@  discard block
 block discarded – undo
274 274
         } else {
275 275
             $orderBy = $order['orderBy'] . ' ' . $order['sortOrder'];
276 276
             //wdong, Bug 25476, fix the sorting problem of Oracle.
277
-            if (isset($params['custom_order_by_override']['ori_code']) && $order['orderBy'] == $params['custom_order_by_override']['ori_code'])
278
-                $orderBy = $params['custom_order_by_override']['custom_code'] . ' ' . $order['sortOrder'];
277
+            if (isset($params['custom_order_by_override']['ori_code']) && $order['orderBy'] == $params['custom_order_by_override']['ori_code']) {
278
+                            $orderBy = $params['custom_order_by_override']['custom_code'] . ' ' . $order['sortOrder'];
279
+            }
279 280
         }
280 281
 
281 282
         if (empty($params['skipOrderSave'])) { // don't save preferences if told so
@@ -293,11 +294,21 @@  discard block
 block discarded – undo
293 294
             $ret_array['inner_join'] = ' ' . implode(' ', $this->seed->listview_inner_join) . ' ';
294 295
         }
295 296
 
296
-		if(!is_array($params)) $params = array();
297
-        if(!isset($params['custom_select'])) $params['custom_select'] = '';
298
-        if(!isset($params['custom_from'])) $params['custom_from'] = '';
299
-        if(!isset($params['custom_where'])) $params['custom_where'] = '';
300
-        if(!isset($params['custom_order_by'])) $params['custom_order_by'] = '';
297
+		if(!is_array($params)) {
298
+		    $params = array();
299
+		}
300
+        if(!isset($params['custom_select'])) {
301
+            $params['custom_select'] = '';
302
+        }
303
+        if(!isset($params['custom_from'])) {
304
+            $params['custom_from'] = '';
305
+        }
306
+        if(!isset($params['custom_where'])) {
307
+            $params['custom_where'] = '';
308
+        }
309
+        if(!isset($params['custom_order_by'])) {
310
+            $params['custom_order_by'] = '';
311
+        }
301 312
 		$main_query = $ret_array['select'] . $params['custom_select'] . $ret_array['from'] . $params['custom_from'] . $ret_array['inner_join']. $ret_array['where'] . $params['custom_where'] . $ret_array['order_by'] . $params['custom_order_by'];
302 313
 		//C.L. - Fix for 23461
303 314
 		if(empty($_REQUEST['action']) || $_REQUEST['action'] != 'Popup') {
@@ -305,13 +316,14 @@  discard block
 block discarded – undo
305 316
 		}
306 317
    		if($limit < -1) {
307 318
 			$result = $this->db->query($main_query);
308
-		}
309
-		else {
319
+		} else {
310 320
 			if($limit == -1) {
311 321
 				$limit = $this->getLimit();
312 322
             }
313 323
 			$dyn_offset = $this->getOffset();
314
-			if($dyn_offset > 0 || !is_int($dyn_offset))$offset = $dyn_offset;
324
+			if($dyn_offset > 0 || !is_int($dyn_offset)) {
325
+			    $offset = $dyn_offset;
326
+			}
315 327
 
316 328
             if(strcmp($offset, 'end') == 0){
317 329
             	$totalCount = $this->getTotalCount($main_query);
@@ -319,8 +331,7 @@  discard block
 block discarded – undo
319 331
             }
320 332
             if($this->seed->ACLAccess('ListView')) {
321 333
                 $result = $this->db->limitQuery($main_query, $offset, $limit + 1);
322
-            }
323
-            else {
334
+            } else {
324 335
                 $result = array();
325 336
             }
326 337
 
@@ -388,7 +399,9 @@  discard block
 block discarded – undo
388 399
                     if(!isset($post_retrieve[$rows[$rowIndex[0]]['parent_type']])) {
389 400
                         $post_retrieve[$rows[$rowIndex[0]]['parent_type']] = array();
390 401
                     }
391
-                    if(!empty($rows[$rowIndex[0]]['parent_id'])) $post_retrieve[$rows[$rowIndex[0]]['parent_type']][] = array('child_id' => $id , 'parent_id'=> $rows[$rowIndex[0]]['parent_id'], 'parent_type' => $rows[$rowIndex[0]]['parent_type'], 'type' => 'parent');
402
+                    if(!empty($rows[$rowIndex[0]]['parent_id'])) {
403
+                        $post_retrieve[$rows[$rowIndex[0]]['parent_type']][] = array('child_id' => $id , 'parent_id'=> $rows[$rowIndex[0]]['parent_id'], 'parent_type' => $rows[$rowIndex[0]]['parent_type'], 'type' => 'parent');
404
+                    }
392 405
                 }
393 406
                 if(isset($post_retrieve)) {
394 407
                     $parent_fields = $seed->retrieve_parent_fields($post_retrieve);
@@ -416,7 +429,7 @@  discard block
 block discarded – undo
416 429
 				}
417 430
 				if($idIndex[$row[$id_field]][0] == $dataIndex){
418 431
 				    $pageData['tag'][$dataIndex] = $temp->listviewACLHelper();
419
-				}else{
432
+				} else{
420 433
 				    $pageData['tag'][$dataIndex] = $pageData['tag'][$idIndex[$row[$id_field]][0]];
421 434
 				}
422 435
 				$data[$dataIndex] = $temp->get_list_view_data($filter_fields);
@@ -430,8 +443,7 @@  discard block
 block discarded – undo
430 443
                 if($additionalDetailsAllow) {
431 444
                     if($this->additionalDetailsAjax) {
432 445
 					   $ar = $this->getAdditionalDetailsAjax($data[$dataIndex]['ID']);
433
-                    }
434
-                    else {
446
+                    } else {
435 447
                         $additionalDetailsFile = 'modules/' . $this->seed->module_dir . '/metadata/additionalDetails.php';
436 448
                         if(file_exists('custom/modules/' . $this->seed->module_dir . '/metadata/additionalDetails.php')){
437 449
                         	$additionalDetailsFile = 'custom/modules/' . $this->seed->module_dir . '/metadata/additionalDetails.php';
@@ -456,7 +468,9 @@  discard block
 block discarded – undo
456 468
 
457 469
 		if($offset > 0) {
458 470
 			$prevOffset = $offset - $limit;
459
-			if($prevOffset < 0)$prevOffset = 0;
471
+			if($prevOffset < 0) {
472
+			    $prevOffset = 0;
473
+			}
460 474
 		}
461 475
 		$totalCount = $count + $offset;
462 476
 
@@ -490,16 +504,19 @@  discard block
 block discarded – undo
490 504
         	isset($_REQUEST["module"]) && $_REQUEST["module"] == "MergeRecords")
491 505
         {
492 506
             $queryString = "-advanced_search";
493
-        }
494
-        else if (isset($_REQUEST["searchFormTab"]) && $_REQUEST["searchFormTab"] == "basic_search")
507
+        } else if (isset($_REQUEST["searchFormTab"]) && $_REQUEST["searchFormTab"] == "basic_search")
495 508
         {
496
-            if($seed->module_dir == "Reports") $searchMetaData = SearchFormReports::retrieveReportsSearchDefs();
497
-            else $searchMetaData = SearchForm::retrieveSearchDefs($seed->module_dir);
509
+            if($seed->module_dir == "Reports") {
510
+                $searchMetaData = SearchFormReports::retrieveReportsSearchDefs();
511
+            } else {
512
+                $searchMetaData = SearchForm::retrieveSearchDefs($seed->module_dir);
513
+            }
498 514
 
499 515
             $basicSearchFields = array();
500 516
 
501
-            if( isset($searchMetaData['searchdefs']) && isset($searchMetaData['searchdefs'][$seed->module_dir]['layout']['basic_search']) )
502
-                $basicSearchFields = $searchMetaData['searchdefs'][$seed->module_dir]['layout']['basic_search'];
517
+            if( isset($searchMetaData['searchdefs']) && isset($searchMetaData['searchdefs'][$seed->module_dir]['layout']['basic_search']) ) {
518
+                            $basicSearchFields = $searchMetaData['searchdefs'][$seed->module_dir]['layout']['basic_search'];
519
+            }
503 520
 
504 521
             foreach( $basicSearchFields as $basicSearchField)
505 522
             {
@@ -573,8 +590,7 @@  discard block
 block discarded – undo
573 590
         {
574 591
             $queries['endPage'] = $queries['baseURL'];
575 592
             $queries['endPage'][$this->var_offset] = $endOffset;
576
-        }
577
-        else
593
+        } else
578 594
         {
579 595
             $queries['endPage'] = $queries['baseURL'];
580 596
             $queries['endPage'][$this->var_offset] = 'end';
Please login to merge, or discard this patch.
include/utils/sugar_file_utils.php 3 patches
Indentation   +153 added lines, -153 removed lines patch added patch discarded remove patch
@@ -54,44 +54,44 @@  discard block
 block discarded – undo
54 54
  * @return boolean - Returns true on success false on failure
55 55
  */
56 56
 function sugar_mkdir($pathname, $mode=null, $recursive=false, $context='') {
57
-	$mode = get_mode('dir_mode', $mode);
58
-
59
-	if ( sugar_is_dir($pathname,$mode) )
60
-	    return true;
61
-
62
-	$result = false;
63
-	if(empty($mode))
64
-		$mode = 0777;
65
-	if(empty($context)) {
66
-		$result = @mkdir($pathname, $mode, $recursive);
67
-	} else {
68
-		$result = @mkdir($pathname, $mode, $recursive, $context);
69
-	}
70
-
71
-	if($result){
72
-		if(!sugar_chmod($pathname, $mode)){
73
-			return false;
74
-		}
75
-		if(!empty($GLOBALS['sugar_config']['default_permissions']['user'])){
76
-			if(!sugar_chown($pathname)){
77
-				return false;
78
-			}
79
-		}
80
-		if(!empty($GLOBALS['sugar_config']['default_permissions']['group'])){
81
-   			if(!sugar_chgrp($pathname)) {
82
-   				return false;
83
-   			}
84
-		}
85
-	}
86
-	else {
87
-		$errorMessage = "Cannot create directory $pathname cannot be touched";
88
-		if(is_null($GLOBALS['log'])) {
89
-			throw new Exception("Error occurred but the system doesn't have logger. Error message: \"$errorMessage\"");
90
-		}
91
-		$GLOBALS['log']->error($errorMessage);
92
-	}
93
-
94
-	return $result;
57
+    $mode = get_mode('dir_mode', $mode);
58
+
59
+    if ( sugar_is_dir($pathname,$mode) )
60
+        return true;
61
+
62
+    $result = false;
63
+    if(empty($mode))
64
+        $mode = 0777;
65
+    if(empty($context)) {
66
+        $result = @mkdir($pathname, $mode, $recursive);
67
+    } else {
68
+        $result = @mkdir($pathname, $mode, $recursive, $context);
69
+    }
70
+
71
+    if($result){
72
+        if(!sugar_chmod($pathname, $mode)){
73
+            return false;
74
+        }
75
+        if(!empty($GLOBALS['sugar_config']['default_permissions']['user'])){
76
+            if(!sugar_chown($pathname)){
77
+                return false;
78
+            }
79
+        }
80
+        if(!empty($GLOBALS['sugar_config']['default_permissions']['group'])){
81
+                if(!sugar_chgrp($pathname)) {
82
+                    return false;
83
+                }
84
+        }
85
+    }
86
+    else {
87
+        $errorMessage = "Cannot create directory $pathname cannot be touched";
88
+        if(is_null($GLOBALS['log'])) {
89
+            throw new Exception("Error occurred but the system doesn't have logger. Error message: \"$errorMessage\"");
90
+        }
91
+        $GLOBALS['log']->error($errorMessage);
92
+    }
93
+
94
+    return $result;
95 95
 }
96 96
 
97 97
 /**
@@ -109,17 +109,17 @@  discard block
 block discarded – undo
109 109
  * @return boolean - Returns a file pointer on success, false otherwise
110 110
  */
111 111
 function sugar_fopen($filename, $mode, $use_include_path=false, $context=null){
112
-	//check to see if the file exists, if not then use touch to create it.
113
-	if(!file_exists($filename)){
114
-		sugar_touch($filename);
115
-	}
112
+    //check to see if the file exists, if not then use touch to create it.
113
+    if(!file_exists($filename)){
114
+        sugar_touch($filename);
115
+    }
116 116
 
117
-	if(empty($context)) {
117
+    if(empty($context)) {
118 118
 
119
-		return fopen($filename, $mode, $use_include_path);
120
-	} else {
121
-		return fopen($filename, $mode, $use_include_path, $context);
122
-	}
119
+        return fopen($filename, $mode, $use_include_path);
120
+    } else {
121
+        return fopen($filename, $mode, $use_include_path, $context);
122
+    }
123 123
 }
124 124
 
125 125
 /**
@@ -137,23 +137,23 @@  discard block
 block discarded – undo
137 137
  * @return int - Returns the number of bytes written to the file, false otherwise.
138 138
  */
139 139
 function sugar_file_put_contents($filename, $data, $flags=null, $context=null){
140
-	//check to see if the file exists, if not then use touch to create it.
141
-	if(!file_exists($filename)){
142
-		sugar_touch($filename);
143
-	}
144
-
145
-	if ( !is_writable($filename) ) {
146
-	    $GLOBALS['log']->error("File $filename cannot be written to");
147
-	    return false;
148
-	}
149
-
150
-	if(empty($flags)) {
151
-		return file_put_contents($filename, $data);
152
-	} elseif(empty($context)) {
153
-		return file_put_contents($filename, $data, $flags);
154
-	} else{
155
-		return file_put_contents($filename, $data, $flags, $context);
156
-	}
140
+    //check to see if the file exists, if not then use touch to create it.
141
+    if(!file_exists($filename)){
142
+        sugar_touch($filename);
143
+    }
144
+
145
+    if ( !is_writable($filename) ) {
146
+        $GLOBALS['log']->error("File $filename cannot be written to");
147
+        return false;
148
+    }
149
+
150
+    if(empty($flags)) {
151
+        return file_put_contents($filename, $data);
152
+    } elseif(empty($context)) {
153
+        return file_put_contents($filename, $data, $flags);
154
+    } else{
155
+        return file_put_contents($filename, $data, $flags, $context);
156
+    }
157 157
 }
158 158
 
159 159
 
@@ -198,7 +198,7 @@  discard block
 block discarded – undo
198 198
 
199 199
     if(file_exists($filename))
200 200
     {
201
-       return sugar_chmod($filename, 0755);
201
+        return sugar_chmod($filename, 0755);
202 202
     }
203 203
 
204 204
     return false;
@@ -215,21 +215,21 @@  discard block
 block discarded – undo
215 215
  * @return string|boolean - Returns a file data on success, false otherwise
216 216
  */
217 217
 function sugar_file_get_contents($filename, $use_include_path=false, $context=null){
218
-	//check to see if the file exists, if not then use touch to create it.
219
-	if(!file_exists($filename)){
220
-		sugar_touch($filename);
221
-	}
222
-
223
-	if ( !is_readable($filename) ) {
224
-	    $GLOBALS['log']->error("File $filename cannot be read");
225
-	    return false;
226
-	}
227
-
228
-	if(empty($context)) {
229
-		return file_get_contents($filename, $use_include_path);
230
-	} else {
231
-		return file_get_contents($filename, $use_include_path, $context);
232
-	}
218
+    //check to see if the file exists, if not then use touch to create it.
219
+    if(!file_exists($filename)){
220
+        sugar_touch($filename);
221
+    }
222
+
223
+    if ( !is_readable($filename) ) {
224
+        $GLOBALS['log']->error("File $filename cannot be read");
225
+        return false;
226
+    }
227
+
228
+    if(empty($context)) {
229
+        return file_get_contents($filename, $use_include_path);
230
+    } else {
231
+        return file_get_contents($filename, $use_include_path, $context);
232
+    }
233 233
 }
234 234
 
235 235
 /**
@@ -248,31 +248,31 @@  discard block
 block discarded – undo
248 248
  */
249 249
 function sugar_touch($filename, $time=null, $atime=null) {
250 250
 
251
-   $result = false;
252
-
253
-   if(!empty($atime) && !empty($time)) {
254
-   	  $result = @touch($filename, $time, $atime);
255
-   } else if(!empty($time)) {
256
-   	  $result = @touch($filename, $time);
257
-   } else {
258
-   	  $result = @touch($filename);
259
-   }
260
-
261
-   if(!$result) {
262
-       $GLOBALS['log']->error("File $filename cannot be touched");
263
-       return $result;
264
-   }
265
-	if(!empty($GLOBALS['sugar_config']['default_permissions']['file_mode'])){
266
-		sugar_chmod($filename, $GLOBALS['sugar_config']['default_permissions']['file_mode']);
267
-	}
268
-	if(!empty($GLOBALS['sugar_config']['default_permissions']['user'])){
269
-		sugar_chown($filename);
270
-	}
271
-	if(!empty($GLOBALS['sugar_config']['default_permissions']['group'])){
272
-		sugar_chgrp($filename);
273
-	}
274
-
275
-   return true;
251
+    $result = false;
252
+
253
+    if(!empty($atime) && !empty($time)) {
254
+            $result = @touch($filename, $time, $atime);
255
+    } else if(!empty($time)) {
256
+            $result = @touch($filename, $time);
257
+    } else {
258
+            $result = @touch($filename);
259
+    }
260
+
261
+    if(!$result) {
262
+        $GLOBALS['log']->error("File $filename cannot be touched");
263
+        return $result;
264
+    }
265
+    if(!empty($GLOBALS['sugar_config']['default_permissions']['file_mode'])){
266
+        sugar_chmod($filename, $GLOBALS['sugar_config']['default_permissions']['file_mode']);
267
+    }
268
+    if(!empty($GLOBALS['sugar_config']['default_permissions']['user'])){
269
+        sugar_chown($filename);
270
+    }
271
+    if(!empty($GLOBALS['sugar_config']['default_permissions']['group'])){
272
+        sugar_chgrp($filename);
273
+    }
274
+
275
+    return true;
276 276
 }
277 277
 
278 278
 /**
@@ -287,17 +287,17 @@  discard block
 block discarded – undo
287 287
 function sugar_chmod($filename, $mode=null) {
288 288
     if ( !is_int($mode) )
289 289
         $mode = (int) $mode;
290
-	if(!is_windows()){
291
-		if(!isset($mode)){
292
-			$mode = get_mode('file_mode', $mode);
293
-		}
290
+    if(!is_windows()){
291
+        if(!isset($mode)){
292
+            $mode = get_mode('file_mode', $mode);
293
+        }
294 294
         if(isset($mode) && $mode > 0){
295
-		   return @chmod($filename, $mode);
296
-		}else{
297
-	    	return false;
298
-		}
299
-	}
300
-	return true;
295
+            return @chmod($filename, $mode);
296
+        }else{
297
+            return false;
298
+        }
299
+    }
300
+    return true;
301 301
 }
302 302
 
303 303
 /**
@@ -310,19 +310,19 @@  discard block
 block discarded – undo
310 310
  * @return boolean - Returns TRUE on success or FALSE on failure.
311 311
  */
312 312
 function sugar_chown($filename, $user='') {
313
-	if(!is_windows()){
314
-		if(strlen($user)){
315
-			return chown($filename, $user);
316
-		}else{
317
-			if(strlen($GLOBALS['sugar_config']['default_permissions']['user'])){
318
-				$user = $GLOBALS['sugar_config']['default_permissions']['user'];
319
-				return chown($filename, $user);
320
-			}else{
321
-				return false;
322
-			}
323
-		}
324
-	}
325
-	return true;
313
+    if(!is_windows()){
314
+        if(strlen($user)){
315
+            return chown($filename, $user);
316
+        }else{
317
+            if(strlen($GLOBALS['sugar_config']['default_permissions']['user'])){
318
+                $user = $GLOBALS['sugar_config']['default_permissions']['user'];
319
+                return chown($filename, $user);
320
+            }else{
321
+                return false;
322
+            }
323
+        }
324
+    }
325
+    return true;
326 326
 }
327 327
 
328 328
 /**
@@ -335,19 +335,19 @@  discard block
 block discarded – undo
335 335
  * @return boolean - Returns TRUE on success or FALSE on failure.
336 336
  */
337 337
 function sugar_chgrp($filename, $group='') {
338
-	if(!is_windows()){
339
-		if(!empty($group)){
340
-			return chgrp($filename, $group);
341
-		}else{
342
-			if(!empty($GLOBALS['sugar_config']['default_permissions']['group'])){
343
-				$group = $GLOBALS['sugar_config']['default_permissions']['group'];
344
-				return chgrp($filename, $group);
345
-			}else{
346
-				return false;
347
-			}
348
-		}
349
-	}
350
-	return true;
338
+    if(!is_windows()){
339
+        if(!empty($group)){
340
+            return chgrp($filename, $group);
341
+        }else{
342
+            if(!empty($GLOBALS['sugar_config']['default_permissions']['group'])){
343
+                $group = $GLOBALS['sugar_config']['default_permissions']['group'];
344
+                return chgrp($filename, $group);
345
+            }else{
346
+                return false;
347
+            }
348
+        }
349
+    }
350
+    return true;
351 351
 }
352 352
 
353 353
 /**
@@ -361,26 +361,26 @@  discard block
 block discarded – undo
361 361
  * @return int - the mode either found in the config file or passed in via the input parameter
362 362
  */
363 363
 function get_mode($key = 'dir_mode', $mode=null) {
364
-	if ( !is_int($mode) )
364
+    if ( !is_int($mode) )
365 365
         $mode = (int) $mode;
366 366
     if(!class_exists('SugarConfig', true)) {
367
-		require 'include/SugarObjects/SugarConfig.php';
368
-	}
369
-	if(!is_windows()){
370
-		$conf_inst=SugarConfig::getInstance();
371
-		$mode = $conf_inst->get('default_permissions.'.$key, $mode);
372
-	}
373
-	return $mode;
367
+        require 'include/SugarObjects/SugarConfig.php';
368
+    }
369
+    if(!is_windows()){
370
+        $conf_inst=SugarConfig::getInstance();
371
+        $mode = $conf_inst->get('default_permissions.'.$key, $mode);
372
+    }
373
+    return $mode;
374 374
 }
375 375
 
376 376
 function sugar_is_dir($path, $mode='r'){
377
-		if(defined('TEMPLATE_URL'))return is_dir($path, $mode);
378
-		return is_dir($path);
377
+        if(defined('TEMPLATE_URL'))return is_dir($path, $mode);
378
+        return is_dir($path);
379 379
 }
380 380
 
381 381
 function sugar_is_file($path, $mode='r'){
382
-		if(defined('TEMPLATE_URL'))return is_file($path, $mode);
383
-		return is_file($path);
382
+        if(defined('TEMPLATE_URL'))return is_file($path, $mode);
383
+        return is_file($path);
384 384
 }
385 385
 
386 386
 /**
Please login to merge, or discard this patch.
Spacing   +66 added lines, -66 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 3
 /*********************************************************************************
4 4
  * SugarCRM Community Edition is a customer relationship management program developed by
5 5
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -53,39 +53,39 @@  discard block
 block discarded – undo
53 53
  * @param $context
54 54
  * @return boolean - Returns true on success false on failure
55 55
  */
56
-function sugar_mkdir($pathname, $mode=null, $recursive=false, $context='') {
56
+function sugar_mkdir($pathname, $mode = null, $recursive = false, $context = '') {
57 57
 	$mode = get_mode('dir_mode', $mode);
58 58
 
59
-	if ( sugar_is_dir($pathname,$mode) )
59
+	if (sugar_is_dir($pathname, $mode))
60 60
 	    return true;
61 61
 
62 62
 	$result = false;
63
-	if(empty($mode))
63
+	if (empty($mode))
64 64
 		$mode = 0777;
65
-	if(empty($context)) {
65
+	if (empty($context)) {
66 66
 		$result = @mkdir($pathname, $mode, $recursive);
67 67
 	} else {
68 68
 		$result = @mkdir($pathname, $mode, $recursive, $context);
69 69
 	}
70 70
 
71
-	if($result){
72
-		if(!sugar_chmod($pathname, $mode)){
71
+	if ($result) {
72
+		if (!sugar_chmod($pathname, $mode)) {
73 73
 			return false;
74 74
 		}
75
-		if(!empty($GLOBALS['sugar_config']['default_permissions']['user'])){
76
-			if(!sugar_chown($pathname)){
75
+		if (!empty($GLOBALS['sugar_config']['default_permissions']['user'])) {
76
+			if (!sugar_chown($pathname)) {
77 77
 				return false;
78 78
 			}
79 79
 		}
80
-		if(!empty($GLOBALS['sugar_config']['default_permissions']['group'])){
81
-   			if(!sugar_chgrp($pathname)) {
80
+		if (!empty($GLOBALS['sugar_config']['default_permissions']['group'])) {
81
+   			if (!sugar_chgrp($pathname)) {
82 82
    				return false;
83 83
    			}
84 84
 		}
85 85
 	}
86 86
 	else {
87 87
 		$errorMessage = "Cannot create directory $pathname cannot be touched";
88
-		if(is_null($GLOBALS['log'])) {
88
+		if (is_null($GLOBALS['log'])) {
89 89
 			throw new Exception("Error occurred but the system doesn't have logger. Error message: \"$errorMessage\"");
90 90
 		}
91 91
 		$GLOBALS['log']->error($errorMessage);
@@ -108,13 +108,13 @@  discard block
 block discarded – undo
108 108
  * @param $context
109 109
  * @return boolean - Returns a file pointer on success, false otherwise
110 110
  */
111
-function sugar_fopen($filename, $mode, $use_include_path=false, $context=null){
111
+function sugar_fopen($filename, $mode, $use_include_path = false, $context = null) {
112 112
 	//check to see if the file exists, if not then use touch to create it.
113
-	if(!file_exists($filename)){
113
+	if (!file_exists($filename)) {
114 114
 		sugar_touch($filename);
115 115
 	}
116 116
 
117
-	if(empty($context)) {
117
+	if (empty($context)) {
118 118
 
119 119
 		return fopen($filename, $mode, $use_include_path);
120 120
 	} else {
@@ -136,22 +136,22 @@  discard block
 block discarded – undo
136 136
  * @param $context
137 137
  * @return int - Returns the number of bytes written to the file, false otherwise.
138 138
  */
139
-function sugar_file_put_contents($filename, $data, $flags=null, $context=null){
139
+function sugar_file_put_contents($filename, $data, $flags = null, $context = null) {
140 140
 	//check to see if the file exists, if not then use touch to create it.
141
-	if(!file_exists($filename)){
141
+	if (!file_exists($filename)) {
142 142
 		sugar_touch($filename);
143 143
 	}
144 144
 
145
-	if ( !is_writable($filename) ) {
145
+	if (!is_writable($filename)) {
146 146
 	    $GLOBALS['log']->error("File $filename cannot be written to");
147 147
 	    return false;
148 148
 	}
149 149
 
150
-	if(empty($flags)) {
150
+	if (empty($flags)) {
151 151
 		return file_put_contents($filename, $data);
152
-	} elseif(empty($context)) {
152
+	} elseif (empty($context)) {
153 153
 		return file_put_contents($filename, $data, $flags);
154
-	} else{
154
+	} else {
155 155
 		return file_put_contents($filename, $data, $flags, $context);
156 156
 	}
157 157
 }
@@ -169,13 +169,13 @@  discard block
 block discarded – undo
169 169
  * @param context $context Context to pass into fopen operation
170 170
  * @return boolean - Returns true if $filename was created, false otherwise.
171 171
  */
172
-function sugar_file_put_contents_atomic($filename, $data, $mode='wb', $use_include_path=false, $context=null){
172
+function sugar_file_put_contents_atomic($filename, $data, $mode = 'wb', $use_include_path = false, $context = null) {
173 173
 
174 174
     $dir = dirname($filename);
175 175
     $temp = tempnam($dir, 'temp');
176 176
 
177 177
     if (!($f = @fopen($temp, $mode))) {
178
-        $temp =  $dir . DIRECTORY_SEPARATOR . uniqid('temp');
178
+        $temp = $dir.DIRECTORY_SEPARATOR.uniqid('temp');
179 179
         if (!($f = @fopen($temp, $mode))) {
180 180
             trigger_error("sugar_file_put_contents_atomic() : error writing temporary file '$temp'", E_USER_WARNING);
181 181
             return false;
@@ -196,7 +196,7 @@  discard block
 block discarded – undo
196 196
         }
197 197
     }
198 198
 
199
-    if(file_exists($filename))
199
+    if (file_exists($filename))
200 200
     {
201 201
        return sugar_chmod($filename, 0755);
202 202
     }
@@ -214,18 +214,18 @@  discard block
 block discarded – undo
214 214
  * @param $context
215 215
  * @return string|boolean - Returns a file data on success, false otherwise
216 216
  */
217
-function sugar_file_get_contents($filename, $use_include_path=false, $context=null){
217
+function sugar_file_get_contents($filename, $use_include_path = false, $context = null) {
218 218
 	//check to see if the file exists, if not then use touch to create it.
219
-	if(!file_exists($filename)){
219
+	if (!file_exists($filename)) {
220 220
 		sugar_touch($filename);
221 221
 	}
222 222
 
223
-	if ( !is_readable($filename) ) {
223
+	if (!is_readable($filename)) {
224 224
 	    $GLOBALS['log']->error("File $filename cannot be read");
225 225
 	    return false;
226 226
 	}
227 227
 
228
-	if(empty($context)) {
228
+	if (empty($context)) {
229 229
 		return file_get_contents($filename, $use_include_path);
230 230
 	} else {
231 231
 		return file_get_contents($filename, $use_include_path, $context);
@@ -246,29 +246,29 @@  discard block
 block discarded – undo
246 246
  * @return boolean - Returns TRUE on success or FALSE on failure.
247 247
  *
248 248
  */
249
-function sugar_touch($filename, $time=null, $atime=null) {
249
+function sugar_touch($filename, $time = null, $atime = null) {
250 250
 
251 251
    $result = false;
252 252
 
253
-   if(!empty($atime) && !empty($time)) {
253
+   if (!empty($atime) && !empty($time)) {
254 254
    	  $result = @touch($filename, $time, $atime);
255
-   } else if(!empty($time)) {
255
+   } else if (!empty($time)) {
256 256
    	  $result = @touch($filename, $time);
257 257
    } else {
258 258
    	  $result = @touch($filename);
259 259
    }
260 260
 
261
-   if(!$result) {
261
+   if (!$result) {
262 262
        $GLOBALS['log']->error("File $filename cannot be touched");
263 263
        return $result;
264 264
    }
265
-	if(!empty($GLOBALS['sugar_config']['default_permissions']['file_mode'])){
265
+	if (!empty($GLOBALS['sugar_config']['default_permissions']['file_mode'])) {
266 266
 		sugar_chmod($filename, $GLOBALS['sugar_config']['default_permissions']['file_mode']);
267 267
 	}
268
-	if(!empty($GLOBALS['sugar_config']['default_permissions']['user'])){
268
+	if (!empty($GLOBALS['sugar_config']['default_permissions']['user'])) {
269 269
 		sugar_chown($filename);
270 270
 	}
271
-	if(!empty($GLOBALS['sugar_config']['default_permissions']['group'])){
271
+	if (!empty($GLOBALS['sugar_config']['default_permissions']['group'])) {
272 272
 		sugar_chgrp($filename);
273 273
 	}
274 274
 
@@ -284,16 +284,16 @@  discard block
 block discarded – undo
284 284
  * @param  int $mode The integer value of the permissions mode to set the created directory to
285 285
  * @return boolean   Returns TRUE on success or FALSE on failure.
286 286
  */
287
-function sugar_chmod($filename, $mode=null) {
288
-    if ( !is_int($mode) )
289
-        $mode = (int) $mode;
290
-	if(!is_windows()){
291
-		if(!isset($mode)){
287
+function sugar_chmod($filename, $mode = null) {
288
+    if (!is_int($mode))
289
+        $mode = (int)$mode;
290
+	if (!is_windows()) {
291
+		if (!isset($mode)) {
292 292
 			$mode = get_mode('file_mode', $mode);
293 293
 		}
294
-        if(isset($mode) && $mode > 0){
294
+        if (isset($mode) && $mode > 0) {
295 295
 		   return @chmod($filename, $mode);
296
-		}else{
296
+		} else {
297 297
 	    	return false;
298 298
 		}
299 299
 	}
@@ -309,15 +309,15 @@  discard block
 block discarded – undo
309 309
  * @param user - A user name or number
310 310
  * @return boolean - Returns TRUE on success or FALSE on failure.
311 311
  */
312
-function sugar_chown($filename, $user='') {
313
-	if(!is_windows()){
314
-		if(strlen($user)){
312
+function sugar_chown($filename, $user = '') {
313
+	if (!is_windows()) {
314
+		if (strlen($user)) {
315 315
 			return chown($filename, $user);
316
-		}else{
317
-			if(strlen($GLOBALS['sugar_config']['default_permissions']['user'])){
316
+		} else {
317
+			if (strlen($GLOBALS['sugar_config']['default_permissions']['user'])) {
318 318
 				$user = $GLOBALS['sugar_config']['default_permissions']['user'];
319 319
 				return chown($filename, $user);
320
-			}else{
320
+			} else {
321 321
 				return false;
322 322
 			}
323 323
 		}
@@ -334,15 +334,15 @@  discard block
 block discarded – undo
334 334
  * @param group - A group name or number
335 335
  * @return boolean - Returns TRUE on success or FALSE on failure.
336 336
  */
337
-function sugar_chgrp($filename, $group='') {
338
-	if(!is_windows()){
339
-		if(!empty($group)){
337
+function sugar_chgrp($filename, $group = '') {
338
+	if (!is_windows()) {
339
+		if (!empty($group)) {
340 340
 			return chgrp($filename, $group);
341
-		}else{
342
-			if(!empty($GLOBALS['sugar_config']['default_permissions']['group'])){
341
+		} else {
342
+			if (!empty($GLOBALS['sugar_config']['default_permissions']['group'])) {
343 343
 				$group = $GLOBALS['sugar_config']['default_permissions']['group'];
344 344
 				return chgrp($filename, $group);
345
-			}else{
345
+			} else {
346 346
 				return false;
347 347
 			}
348 348
 		}
@@ -360,26 +360,26 @@  discard block
 block discarded – undo
360 360
  * defined in the config file.
361 361
  * @return int - the mode either found in the config file or passed in via the input parameter
362 362
  */
363
-function get_mode($key = 'dir_mode', $mode=null) {
364
-	if ( !is_int($mode) )
365
-        $mode = (int) $mode;
366
-    if(!class_exists('SugarConfig', true)) {
363
+function get_mode($key = 'dir_mode', $mode = null) {
364
+	if (!is_int($mode))
365
+        $mode = (int)$mode;
366
+    if (!class_exists('SugarConfig', true)) {
367 367
 		require 'include/SugarObjects/SugarConfig.php';
368 368
 	}
369
-	if(!is_windows()){
370
-		$conf_inst=SugarConfig::getInstance();
369
+	if (!is_windows()) {
370
+		$conf_inst = SugarConfig::getInstance();
371 371
 		$mode = $conf_inst->get('default_permissions.'.$key, $mode);
372 372
 	}
373 373
 	return $mode;
374 374
 }
375 375
 
376
-function sugar_is_dir($path, $mode='r'){
377
-		if(defined('TEMPLATE_URL'))return is_dir($path, $mode);
376
+function sugar_is_dir($path, $mode = 'r') {
377
+		if (defined('TEMPLATE_URL'))return is_dir($path, $mode);
378 378
 		return is_dir($path);
379 379
 }
380 380
 
381
-function sugar_is_file($path, $mode='r'){
382
-		if(defined('TEMPLATE_URL'))return is_file($path, $mode);
381
+function sugar_is_file($path, $mode = 'r') {
382
+		if (defined('TEMPLATE_URL'))return is_file($path, $mode);
383 383
 		return is_file($path);
384 384
 }
385 385
 
@@ -391,10 +391,10 @@  discard block
 block discarded – undo
391 391
 function sugar_cached($file)
392 392
 {
393 393
     static $cdir = null;
394
-    if(empty($cdir) && !empty($GLOBALS['sugar_config']['cache_dir'])) {
394
+    if (empty($cdir) && !empty($GLOBALS['sugar_config']['cache_dir'])) {
395 395
         $cdir = rtrim($GLOBALS['sugar_config']['cache_dir'], '/\\');
396 396
     }
397
-    if(empty($cdir)) {
397
+    if (empty($cdir)) {
398 398
         $cdir = "cache";
399 399
     }
400 400
     return "$cdir/$file";
Please login to merge, or discard this patch.
Braces   +27 added lines, -18 removed lines patch added patch discarded remove patch
@@ -1,5 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if(!defined('sugarEntry') || !sugarEntry) {
3
+    die('Not A Valid Entry Point');
4
+}
3 5
 /*********************************************************************************
4 6
  * SugarCRM Community Edition is a customer relationship management program developed by
5 7
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -56,12 +58,14 @@  discard block
 block discarded – undo
56 58
 function sugar_mkdir($pathname, $mode=null, $recursive=false, $context='') {
57 59
 	$mode = get_mode('dir_mode', $mode);
58 60
 
59
-	if ( sugar_is_dir($pathname,$mode) )
60
-	    return true;
61
+	if ( sugar_is_dir($pathname,$mode) ) {
62
+		    return true;
63
+	}
61 64
 
62 65
 	$result = false;
63
-	if(empty($mode))
64
-		$mode = 0777;
66
+	if(empty($mode)) {
67
+			$mode = 0777;
68
+	}
65 69
 	if(empty($context)) {
66 70
 		$result = @mkdir($pathname, $mode, $recursive);
67 71
 	} else {
@@ -82,8 +86,7 @@  discard block
 block discarded – undo
82 86
    				return false;
83 87
    			}
84 88
 		}
85
-	}
86
-	else {
89
+	} else {
87 90
 		$errorMessage = "Cannot create directory $pathname cannot be touched";
88 91
 		if(is_null($GLOBALS['log'])) {
89 92
 			throw new Exception("Error occurred but the system doesn't have logger. Error message: \"$errorMessage\"");
@@ -285,15 +288,16 @@  discard block
 block discarded – undo
285 288
  * @return boolean   Returns TRUE on success or FALSE on failure.
286 289
  */
287 290
 function sugar_chmod($filename, $mode=null) {
288
-    if ( !is_int($mode) )
289
-        $mode = (int) $mode;
291
+    if ( !is_int($mode) ) {
292
+            $mode = (int) $mode;
293
+    }
290 294
 	if(!is_windows()){
291 295
 		if(!isset($mode)){
292 296
 			$mode = get_mode('file_mode', $mode);
293 297
 		}
294 298
         if(isset($mode) && $mode > 0){
295 299
 		   return @chmod($filename, $mode);
296
-		}else{
300
+		} else{
297 301
 	    	return false;
298 302
 		}
299 303
 	}
@@ -313,11 +317,11 @@  discard block
 block discarded – undo
313 317
 	if(!is_windows()){
314 318
 		if(strlen($user)){
315 319
 			return chown($filename, $user);
316
-		}else{
320
+		} else{
317 321
 			if(strlen($GLOBALS['sugar_config']['default_permissions']['user'])){
318 322
 				$user = $GLOBALS['sugar_config']['default_permissions']['user'];
319 323
 				return chown($filename, $user);
320
-			}else{
324
+			} else{
321 325
 				return false;
322 326
 			}
323 327
 		}
@@ -338,11 +342,11 @@  discard block
 block discarded – undo
338 342
 	if(!is_windows()){
339 343
 		if(!empty($group)){
340 344
 			return chgrp($filename, $group);
341
-		}else{
345
+		} else{
342 346
 			if(!empty($GLOBALS['sugar_config']['default_permissions']['group'])){
343 347
 				$group = $GLOBALS['sugar_config']['default_permissions']['group'];
344 348
 				return chgrp($filename, $group);
345
-			}else{
349
+			} else{
346 350
 				return false;
347 351
 			}
348 352
 		}
@@ -361,8 +365,9 @@  discard block
 block discarded – undo
361 365
  * @return int - the mode either found in the config file or passed in via the input parameter
362 366
  */
363 367
 function get_mode($key = 'dir_mode', $mode=null) {
364
-	if ( !is_int($mode) )
365
-        $mode = (int) $mode;
368
+	if ( !is_int($mode) ) {
369
+	        $mode = (int) $mode;
370
+	}
366 371
     if(!class_exists('SugarConfig', true)) {
367 372
 		require 'include/SugarObjects/SugarConfig.php';
368 373
 	}
@@ -374,12 +379,16 @@  discard block
 block discarded – undo
374 379
 }
375 380
 
376 381
 function sugar_is_dir($path, $mode='r'){
377
-		if(defined('TEMPLATE_URL'))return is_dir($path, $mode);
382
+		if(defined('TEMPLATE_URL')) {
383
+		    return is_dir($path, $mode);
384
+		}
378 385
 		return is_dir($path);
379 386
 }
380 387
 
381 388
 function sugar_is_file($path, $mode='r'){
382
-		if(defined('TEMPLATE_URL'))return is_file($path, $mode);
389
+		if(defined('TEMPLATE_URL')) {
390
+		    return is_file($path, $mode);
391
+		}
383 392
 		return is_file($path);
384 393
 }
385 394
 
Please login to merge, or discard this patch.
include/modules.php 3 patches
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -237,7 +237,7 @@  discard block
 block discarded – undo
237 237
     );
238 238
 $adminOnlyList = array(
239 239
                     //module => list of actions  (all says all actions are admin only)
240
-                   //'Administration'=>array('all'=>1, 'SupportPortal'=>'allow'),
240
+                    //'Administration'=>array('all'=>1, 'SupportPortal'=>'allow'),
241 241
                     'Dropdown'=>array('all'=>1),
242 242
                     'Dynamic'=>array('all'=>1),
243 243
                     'DynamicFields'=>array('all'=>1),
@@ -294,7 +294,7 @@  discard block
 block discarded – undo
294 294
     'DocumentRevisions' => 'Documents',
295 295
     'EmailTemplates' => 'Emails',
296 296
     'EmailMarketing' => 'Campaigns',
297
- );
297
+    );
298 298
 $beanList['EAPM'] = 'EAPM';
299 299
 $beanFiles['EAPM'] = 'modules/EAPM/EAPM.php';
300 300
 $modules_exempt_from_availability_check['EAPM'] = 'EAPM';
Please login to merge, or discard this patch.
Spacing   +42 added lines, -42 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if (!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 3
 /*********************************************************************************
4 4
  * SugarCRM Community Edition is a customer relationship management program developed by
5 5
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
@@ -79,18 +79,18 @@  discard block
 block discarded – undo
79 79
 $beanList['Cases']          = 'aCase';
80 80
 $beanList['Bugs']           = 'Bug';
81 81
 $beanList['ProspectLists']      = 'ProspectList';
82
-$beanList['Prospects']  = 'Prospect';
82
+$beanList['Prospects'] = 'Prospect';
83 83
 $beanList['Project']            = 'Project';
84
-$beanList['ProjectTask']            = 'ProjectTask';
84
+$beanList['ProjectTask'] = 'ProjectTask';
85 85
 $beanList['Campaigns']          = 'Campaign';
86
-$beanList['EmailMarketing']  = 'EmailMarketing';
86
+$beanList['EmailMarketing'] = 'EmailMarketing';
87 87
 $beanList['CampaignLog']        = 'CampaignLog';
88 88
 $beanList['CampaignTrackers']   = 'CampaignTracker';
89
-$beanList['Releases']       = 'Release';
89
+$beanList['Releases'] = 'Release';
90 90
 $beanList['Groups'] = 'Group';
91 91
 $beanList['EmailMan'] = 'EmailMan';
92
-$beanList['Schedulers']  = 'Scheduler';
93
-$beanList['SchedulersJobs']  = 'SchedulersJob';
92
+$beanList['Schedulers'] = 'Scheduler';
93
+$beanList['SchedulersJobs'] = 'SchedulersJob';
94 94
 $beanList['Contacts']       = 'Contact';
95 95
 $beanList['Accounts']       = 'Account';
96 96
 $beanList['DynamicFields']  = 'DynamicField';
@@ -106,19 +106,19 @@  discard block
 block discarded – undo
106 106
 $beanList['Currencies']     = 'Currency';
107 107
 $beanList['Trackers']       = 'Tracker';
108 108
 $beanList['Connectors']     = 'Connectors';
109
-$beanList['Import_1']         = 'ImportMap';
109
+$beanList['Import_1'] = 'ImportMap';
110 110
 $beanList['Import_2']       = 'UsersLastImport';
111 111
 $beanList['Versions']       = 'Version';
112 112
 $beanList['Administration'] = 'Administration';
113 113
 $beanList['vCals']          = 'vCal';
114 114
 $beanList['CustomFields']   = 'CustomFields';
115
-$beanList['Alerts']  = 'Alert';
115
+$beanList['Alerts'] = 'Alert';
116 116
 
117 117
 
118 118
 
119 119
 
120
-$beanList['Documents']  = 'Document';
121
-$beanList['DocumentRevisions']  = 'DocumentRevision';
120
+$beanList['Documents'] = 'Document';
121
+$beanList['DocumentRevisions'] = 'DocumentRevision';
122 122
 $beanList['Roles']  = 'Role';
123 123
 
124 124
 $beanList['Audit']  = 'Audit';
@@ -152,24 +152,24 @@  discard block
 block discarded – undo
152 152
 $beanFiles['aCase']         = 'modules/Cases/Case.php';
153 153
 $beanFiles['Bug']           = 'modules/Bugs/Bug.php';
154 154
 $beanFiles['Group'] = 'modules/Groups/Group.php';
155
-$beanFiles['CampaignLog']  = 'modules/CampaignLog/CampaignLog.php';
155
+$beanFiles['CampaignLog'] = 'modules/CampaignLog/CampaignLog.php';
156 156
 $beanFiles['Project']           = 'modules/Project/Project.php';
157
-$beanFiles['ProjectTask']           = 'modules/ProjectTask/ProjectTask.php';
157
+$beanFiles['ProjectTask'] = 'modules/ProjectTask/ProjectTask.php';
158 158
 $beanFiles['Campaign']          = 'modules/Campaigns/Campaign.php';
159 159
 $beanFiles['ProspectList']      = 'modules/ProspectLists/ProspectList.php';
160
-$beanFiles['Prospect']  = 'modules/Prospects/Prospect.php';
160
+$beanFiles['Prospect'] = 'modules/Prospects/Prospect.php';
161 161
 
162
-$beanFiles['EmailMarketing']          = 'modules/EmailMarketing/EmailMarketing.php';
163
-$beanFiles['CampaignTracker']  = 'modules/CampaignTrackers/CampaignTracker.php';
162
+$beanFiles['EmailMarketing'] = 'modules/EmailMarketing/EmailMarketing.php';
163
+$beanFiles['CampaignTracker'] = 'modules/CampaignTrackers/CampaignTracker.php';
164 164
 $beanFiles['Release']           = 'modules/Releases/Release.php';
165 165
 $beanFiles['EmailMan']          = 'modules/EmailMan/EmailMan.php';
166 166
 
167
-$beanFiles['Scheduler']  = 'modules/Schedulers/Scheduler.php';
168
-$beanFiles['SchedulersJob']  = 'modules/SchedulersJobs/SchedulersJob.php';
167
+$beanFiles['Scheduler'] = 'modules/Schedulers/Scheduler.php';
168
+$beanFiles['SchedulersJob'] = 'modules/SchedulersJobs/SchedulersJob.php';
169 169
 $beanFiles['Contact']       = 'modules/Contacts/Contact.php';
170 170
 $beanFiles['Account']       = 'modules/Accounts/Account.php';
171 171
 $beanFiles['Opportunity']   = 'modules/Opportunities/Opportunity.php';
172
-$beanFiles['EmailTemplate']         = 'modules/EmailTemplates/EmailTemplate.php';
172
+$beanFiles['EmailTemplate'] = 'modules/EmailTemplates/EmailTemplate.php';
173 173
 $beanFiles['Note']          = 'modules/Notes/Note.php';
174 174
 $beanFiles['Call']          = 'modules/Calls/Call.php';
175 175
 $beanFiles['Email']         = 'modules/Emails/Email.php';
@@ -177,21 +177,21 @@  discard block
 block discarded – undo
177 177
 $beanFiles['Task']          = 'modules/Tasks/Task.php';
178 178
 $beanFiles['User']          = 'modules/Users/User.php';
179 179
 $beanFiles['Employee']      = 'modules/Employees/Employee.php';
180
-$beanFiles['Currency']          = 'modules/Currencies/Currency.php';
181
-$beanFiles['Tracker']          = 'modules/Trackers/Tracker.php';
180
+$beanFiles['Currency'] = 'modules/Currencies/Currency.php';
181
+$beanFiles['Tracker'] = 'modules/Trackers/Tracker.php';
182 182
 $beanFiles['ImportMap']     = 'modules/Import/maps/ImportMap.php';
183
-$beanFiles['UsersLastImport']= 'modules/Import/UsersLastImport.php';
184
-$beanFiles['Administration']= 'modules/Administration/Administration.php';
185
-$beanFiles['UpgradeHistory']= 'modules/Administration/UpgradeHistory.php';
183
+$beanFiles['UsersLastImport'] = 'modules/Import/UsersLastImport.php';
184
+$beanFiles['Administration'] = 'modules/Administration/Administration.php';
185
+$beanFiles['UpgradeHistory'] = 'modules/Administration/UpgradeHistory.php';
186 186
 $beanFiles['vCal']          = 'modules/vCals/vCal.php';
187
-$beanFiles['Alert']          = 'modules/Alerts/Alert.php';
188
-$beanFiles['Version']           = 'modules/Versions/Version.php';
187
+$beanFiles['Alert'] = 'modules/Alerts/Alert.php';
188
+$beanFiles['Version'] = 'modules/Versions/Version.php';
189 189
 
190 190
 
191 191
 
192
-$beanFiles['Role']          = 'modules/Roles/Role.php';
192
+$beanFiles['Role'] = 'modules/Roles/Role.php';
193 193
 
194
-$beanFiles['Document']  = 'modules/Documents/Document.php';
194
+$beanFiles['Document'] = 'modules/Documents/Document.php';
195 195
 $beanFiles['DocumentRevision']  = 'modules/DocumentRevisions/DocumentRevision.php';
196 196
 $beanFiles['FieldsMetaData']    = 'modules/DynamicFields/FieldsMetaData.php';
197 197
 //$beanFiles['Audit']           = 'modules/Audit/Audit.php';
@@ -204,7 +204,7 @@  discard block
 block discarded – undo
204 204
 
205 205
 
206 206
 $beanFiles['SavedSearch']  = 'modules/SavedSearch/SavedSearch.php';
207
-$beanFiles['UserPreference']  = 'modules/UserPreferences/UserPreference.php';
207
+$beanFiles['UserPreference'] = 'modules/UserPreferences/UserPreference.php';
208 208
 $beanFiles['MergeRecord']  = 'modules/MergeRecords/MergeRecord.php';
209 209
 $beanFiles['EmailAddress'] = 'modules/EmailAddresses/EmailAddress.php';
210 210
 $beanFiles['EmailText'] = 'modules/EmailText/EmailText.php';
@@ -216,19 +216,19 @@  discard block
 block discarded – undo
216 216
 //$beanList['Library']= 'Library';
217 217
 //$beanFiles['Library'] = 'modules/Library/Library.php';
218 218
 
219
-$beanFiles['Configurator']          = 'modules/Configurator/Configurator.php';
219
+$beanFiles['Configurator'] = 'modules/Configurator/Configurator.php';
220 220
 
221 221
 // added these lists for security settings for tabs
222 222
 $modInvisList = array('Administration', 'Currencies', 'CustomFields', 'Connectors',
223 223
     'Dropdown', 'Dynamic', 'DynamicFields', 'DynamicLayout', 'EditCustomFields',
224
-    'Help', 'Import',  'MySettings', 'EditCustomFields','FieldsMetaData',
224
+    'Help', 'Import', 'MySettings', 'EditCustomFields', 'FieldsMetaData',
225 225
     'UpgradeWizard', 'Trackers', 'Connectors', 'Employees', 'Calendar',
226
-    'Releases','Sync',
227
-    'Users',  'Versions', 'LabelEditor','Roles','EmailMarketing'
228
-    ,'OptimisticLock', 'TeamMemberships', 'TeamSets', 'TeamSetModule', 'Audit', 'MailMerge', 'MergeRecords', 'EmailAddresses','EmailText',
229
-    'Schedulers','Schedulers_jobs', /*'Queues',*/ 'EmailTemplates',
226
+    'Releases', 'Sync',
227
+    'Users', 'Versions', 'LabelEditor', 'Roles', 'EmailMarketing'
228
+    ,'OptimisticLock', 'TeamMemberships', 'TeamSets', 'TeamSetModule', 'Audit', 'MailMerge', 'MergeRecords', 'EmailAddresses', 'EmailText',
229
+    'Schedulers', 'Schedulers_jobs', /*'Queues',*/ 'EmailTemplates',
230 230
     'CampaignTrackers', 'CampaignLog', 'EmailMan', 'Prospects', 'ProspectLists',
231
-    'Groups','InboundEmail',
231
+    'Groups', 'InboundEmail',
232 232
     'ACLActions', 'ACLRoles',
233 233
     'DocumentRevisions',
234 234
     'ProjectTask',
@@ -265,15 +265,15 @@  discard block
 block discarded – undo
265 265
 $modInvisList[] = 'Connectors';
266 266
 
267 267
 $report_include_modules = array();
268
-$report_include_modules['Currencies']='Currency';
268
+$report_include_modules['Currencies'] = 'Currency';
269 269
 //add prospects
270
-$report_include_modules['Prospects']='Prospect';
270
+$report_include_modules['Prospects'] = 'Prospect';
271 271
 $report_include_modules['DocumentRevisions'] = 'DocumentRevision';
272 272
 $report_include_modules['ProductCategories'] = 'ProductCategory';
273 273
 $report_include_modules['ProductTypes'] = 'ProductType';
274 274
 //add Tracker modules
275 275
 
276
-$report_include_modules['Trackers']         = 'Tracker';
276
+$report_include_modules['Trackers'] = 'Tracker';
277 277
 
278 278
 
279 279
 
@@ -323,9 +323,9 @@  discard block
 block discarded – undo
323 323
 //the bean class name == dictionary entry/object name convention
324 324
 //No future module should need an entry here.
325 325
 $objectList = array();
326
-$objectList['Cases'] =  'Case';
327
-$objectList['Groups'] =  'User';
328
-$objectList['Users'] =  'User';
326
+$objectList['Cases'] = 'Case';
327
+$objectList['Groups'] = 'User';
328
+$objectList['Users'] = 'User';
329 329
 
330 330
 
331 331
 // knowledge base
Please login to merge, or discard this patch.
Braces   +3 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,5 +1,7 @@
 block discarded – undo
1 1
 <?php
2
-if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
2
+if(!defined('sugarEntry') || !sugarEntry) {
3
+    die('Not A Valid Entry Point');
4
+}
3 5
 /*********************************************************************************
4 6
  * SugarCRM Community Edition is a customer relationship management program developed by
5 7
  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
Please login to merge, or discard this patch.