예제 #1
0
 public static function resolveSortAttributeColumnName(RedBeanModelAttributeToDataProviderAdapter $modelAttributeToDataProviderAdapter, RedBeanModelJoinTablesQueryAdapter $joinTablesAdapter)
 {
     if ($modelAttributeToDataProviderAdapter->isRelation()) {
         if (!$modelAttributeToDataProviderAdapter->hasRelatedAttribute()) {
             throw new NotSupportedException();
         }
         assert('$modelAttributeToDataProviderAdapter->getRelationType() != RedBeanModel::MANY_MANY');
         $onTableAliasName = self::resolveShouldAddFromTableAndGetAliasName($modelAttributeToDataProviderAdapter, $joinTablesAdapter);
         $tableAliasName = self::resolveJoinsForRelatedAttributeAndGetRelationAttributeTableAliasName($modelAttributeToDataProviderAdapter, $joinTablesAdapter, $onTableAliasName);
         $resolvedSortColumnName = $modelAttributeToDataProviderAdapter->getRelatedAttributeColumnName();
     } else {
         $tableAliasName = self::resolveShouldAddFromTableAndGetAliasName($modelAttributeToDataProviderAdapter, $joinTablesAdapter);
         $resolvedSortColumnName = $modelAttributeToDataProviderAdapter->getColumnName();
     }
     $sort = DatabaseCompatibilityUtil::quoteString($tableAliasName);
     $sort .= '.';
     $sort .= DatabaseCompatibilityUtil::quoteString($resolvedSortColumnName);
     return $sort;
 }
예제 #2
0
 protected static function findBean($userId, $moduleName, $key)
 {
     assert('$userId != null && is_int($userId)');
     assert('is_string($moduleName)');
     assert('is_string($key)');
     assert('$moduleName != ""');
     assert('$key        != ""');
     $bean = R::findOne(UserConfiguration::getTableName(), 'userId = ? and moduleName = ? and ' . DatabaseCompatibilityUtil::quoteString('key') . ' = ?', array($userId, $moduleName, $key));
     assert('$bean === false || $bean instanceof RedBean_OODBBean');
     return $bean;
 }
 public function testQuoteString()
 {
     $string = 'tempColumn';
     if (RedBeanDatabase::getDatabaseType() == 'pgsql') {
         $quotedString = '"tempColumn"';
     } else {
         $quotedString = '`tempColumn`';
     }
     $this->assertEquals($quotedString, DatabaseCompatibilityUtil::quoteString($string));
 }
예제 #4
0
 /**
  * Update an email message's folder and save it using SQL
  * @param EmailMessage $emailMessage
  * @param EmailFolder $folder
  * @throws NotSupportedException
  */
 protected static function updateFolderForEmailMessageWithSQL(EmailMessage &$emailMessage, EmailFolder $folder)
 {
     // TODO: @Shoaibi/@Jason: Critical0: This fails CampaignItemsUtilTest.php:243
     $folderForeignKeyName = RedBeanModel::getForeignKeyName('EmailMessage', 'folder');
     $tableName = EmailMessage::getTableName();
     $sql = "UPDATE " . DatabaseCompatibilityUtil::quoteString($tableName);
     $sql .= " SET " . DatabaseCompatibilityUtil::quoteString($folderForeignKeyName);
     $sql .= " = " . $folder->id;
     $sql .= " WHERE " . DatabaseCompatibilityUtil::quoteString('id') . " = " . $emailMessage->id;
     $effectedRows = ZurmoRedBean::exec($sql);
     if ($effectedRows == 1) {
         $emailMessageId = $emailMessage->id;
         $emailMessage->forgetAll();
         $emailMessage = EmailMessage::getById($emailMessageId);
         return true;
     }
     return false;
 }
 /**
  * @param $tableAliasName
  * @param $resolvedSortColumnName
  * @return string
  */
 protected static function resolveGroupByColumnNameString($tableAliasName, $resolvedSortColumnName)
 {
     assert('is_string($tableAliasName)');
     assert('is_string($resolvedSortColumnName)');
     $groupBy = DatabaseCompatibilityUtil::quoteString($tableAliasName);
     $groupBy .= '.';
     $groupBy .= DatabaseCompatibilityUtil::quoteString($resolvedSortColumnName);
     return $groupBy;
 }
 protected static function markItemAsProcessedWithSQL($itemId, $emailMessageId = null)
 {
     $sql = "UPDATE " . DatabaseCompatibilityUtil::quoteString(static::$itemTableName);
     $sql .= " SET " . DatabaseCompatibilityUtil::quoteString('processed') . ' = 1';
     if ($emailMessageId) {
         $sql .= ", " . DatabaseCompatibilityUtil::quoteString(static::$emailMessageForeignKey);
         $sql .= " = {$emailMessageId}";
     }
     $sql .= " WHERE " . DatabaseCompatibilityUtil::quoteString('id') . " = {$itemId};";
     $effectedRows = ZurmoRedBean::exec($sql);
     return $effectedRows == 1;
 }
 protected function markItemAsProcessedWithSQL($emailMessageId = null)
 {
     $className = $this->itemClass;
     $itemTableName = $className::getTableName();
     $sql = "UPDATE " . DatabaseCompatibilityUtil::quoteString($itemTableName);
     $sql .= " SET " . DatabaseCompatibilityUtil::quoteString('processed') . ' = 1';
     if ($emailMessageId) {
         $emailMessageForeignKey = RedBeanModel::getForeignKeyName($this->itemClass, 'emailMessage');
         $sql .= ", " . DatabaseCompatibilityUtil::quoteString($emailMessageForeignKey);
         $sql .= " = {$emailMessageId}";
     }
     $sql .= " WHERE " . DatabaseCompatibilityUtil::quoteString('id') . " = {$this->itemId};";
     $effectedRows = ZurmoRedBean::exec($sql);
     return $effectedRows == 1;
 }