public function setUp()
 {
     parent::setUp();
     $this->hasOne('PetitionApiToken as ApiToken', array('local' => 'petition_api_token_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $timestampable0 = new Doctrine_Template_Timestampable(array());
     $this->actAs($timestampable0);
 }
 public function setUp()
 {
     parent::setUp();
     $this->hasOne('Petition', array('local' => 'petition_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $this->hasMany('PledgeText as PledgeTexts', array('local' => 'id', 'foreign' => 'pledge_item_id'));
     $this->hasMany('Pledge as Pledges', array('local' => 'id', 'foreign' => 'pledge_item_id'));
 }
Пример #3
0
 public function setUp()
 {
     parent::setUp();
     $this->hasMany('Group as Groups', array('refClass' => 'UserGroup', 'local' => 'user_id', 'foreign' => 'group_id'));
     $this->hasMany('Permission as Permissions', array('refClass' => 'UserPermission', 'local' => 'user_id', 'foreign' => 'permission_id'));
     $this->hasOne('Profile', array('local' => 'id', 'foreign' => 'user_id'));
 }
Пример #4
0
 protected function createPageTranslations($pageId)
 {
     $cultures = $this->getOption('cultures');
     $translationTable = dmDb::table('DmPageTranslation');
     $existingCultures = $translationTable->createQuery('t')->where('t.id = ? ', $pageId)->andWhereIn('t.lang', $cultures)->select('t.lang')->fetchFlat();
     // can not generate translations from nothing
     if (empty($existingCultures)) {
         return;
     }
     // calculate missing cultures for this page
     $missingCultures = array_diff($cultures, $existingCultures);
     // all translations exist
     if (empty($missingCultures)) {
         return;
     }
     if (in_array(sfConfig::get('sf_default_culture'), $existingCultures)) {
         $mainCulture = sfConfig::get('sf_default_culture');
     } elseif (in_array(myDoctrineRecord::getDefaultCulture(), $existingCultures)) {
         $mainCulture = myDoctrineRecord::getDefaultCulture();
     } else {
         $mainCulture = dmArray::first($existingCultures);
     }
     $mainTranslationArray = $translationTable->createQuery('t')->select('t.slug, t.name, t.title, t.h1, t.description, t.keywords, t.is_active')->where('t.id = ?', $pageId)->andWhere('t.lang = ?', $mainCulture)->limit(1)->fetchOne(array(), Doctrine_Core::HYDRATE_ARRAY);
     $missingTranslations = new myDoctrineCollection(dmDb::table('DmPageTranslation'));
     if ($this->getOption('activate_new_translations')) {
         $isActive = $mainTranslationArray['is_active'];
     } else {
         $isActive = false;
     }
     foreach ($missingCultures as $culture) {
         $missingTranslations->add($translationTable->create(array_merge($mainTranslationArray, array('lang' => $culture, 'is_active' => $isActive))));
     }
     $missingTranslations->save();
 }
Пример #5
0
 public function setUp()
 {
     parent::setUp();
     $this->hasOne('DmLayout as Layout', array('local' => 'dm_layout_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $this->hasOne('DmPageView as PageView', array('local' => 'dm_page_view_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $this->hasMany('DmZone as Zones', array('local' => 'id', 'foreign' => 'dm_area_id'));
 }
 public function setUp()
 {
     parent::setUp();
     $this->hasOne('MailingListMeta', array('local' => 'mailing_list_meta_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $this->hasOne('Contact', array('local' => 'contact_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $this->hasOne('MailingListMetaChoice', array('local' => 'mailing_list_meta_choice_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
 }
 /**
  * Implementation of filterSet() to call set on Translation relationship to allow
  * access to I18n properties from the main object.
  *
  * @param Doctrine_Record $record
  * @param string $name Name of the property
  * @param string $value Value of the property
  * @return void
  */
 public function filterSet(Doctrine_Record $record, $fieldName, $value)
 {
     $translation = $record->get('Translation');
     $culture = myDoctrineRecord::getDefaultCulture();
     if ($translation->contains($culture)) {
         $i18n = $record->get('Translation')->get($culture);
     } else {
         $i18n = $record->get('Translation')->get($culture);
         /*
          * If translation is new
          * populate it with i18n fallback
          */
         if ($i18n->state() == Doctrine_Record::STATE_TDIRTY) {
             if ($fallback = $record->getI18nFallBack()) {
                 $fallBackData = $fallback->toArray();
                 unset($fallBackData['id'], $fallBackData['lang']);
                 $i18n->fromArray($fallBackData);
             }
         }
     }
     if (!ctype_lower($fieldName) && !$i18n->contains($fieldName)) {
         $underscoredFieldName = dmString::underscore($fieldName);
         if (strpos($underscoredFieldName, '_') !== false && $i18n->contains($underscoredFieldName)) {
             $fieldName = $underscoredFieldName;
         }
     }
     $i18n->set($fieldName, $value);
     return $value;
 }
Пример #8
0
 /**
  * Join translation results if they exist
  * if $model is specified, will verify that it has I18n
  * return @myDoctrineQuery $this
  */
 public function withI18n($culture = null, $model = null, $rootAlias = null, $joinSide = 'left')
 {
     if (null === $model) {
         $_rootAlias = $this->getRootAlias();
         $from = explode(' ', $this->_dqlParts['from'][0]);
         $model = $from[0];
         if (strlen($model) === 0) {
             $this->getRootAlias();
             $models = array_keys($this->_queryComponents);
             $model = $models[0];
         }
     }
     if (!dmDb::table($model)->hasI18n()) {
         return $this;
     }
     $culture = null === $culture ? myDoctrineRecord::getDefaultCulture() : $culture;
     if (null === $rootAlias) {
         // refresh query for introspection
         if (empty($this->_execParams)) {
             //prevent bugs for subqueries
             $this->fixArrayParameterValues($this->_params);
         }
         $this->buildSqlQuery();
         $rootAlias = $this->getRootAlias();
         $translationAlias = $rootAlias . 'Translation';
         // i18n already joined
         if ($this->hasAliasDeclaration($translationAlias)) {
             return $this;
         }
     } else {
         $translationAlias = $rootAlias . 'Translation';
     }
     $joinMethod = $joinSide . 'Join';
     return $this->{$joinMethod}($rootAlias . '.Translation ' . $translationAlias . ' ON ' . $rootAlias . '.id = ' . $translationAlias . '.id AND ' . $translationAlias . '.lang = ?', $culture);
 }
 public function setUp()
 {
     parent::setUp();
     $this->hasOne('Widget', array('local' => 'widget_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $this->hasOne('Petition', array('local' => 'petition_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $this->hasOne('PetitionText', array('local' => 'petition_text_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
 }
Пример #10
0
 public function setUp()
 {
     parent::setUp();
     $this->hasOne('DmMailTemplate as Template', array('local' => 'dm_mail_template_id', 'foreign' => 'id', 'onDelete' => 'SET NULL'));
     $timestampable0 = new Doctrine_Template_Timestampable(array('updated' => array('disabled' => true)));
     $this->actAs($timestampable0);
 }
 public function setUp()
 {
     parent::setUp();
     $this->hasOne('sfGuardUser as User', array('local' => 'user_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $timestampable0 = new Doctrine_Template_Timestampable(array());
     $this->actAs($timestampable0);
 }
 public function setUp()
 {
     parent::setUp();
     $this->hasOne('Mapping', array('local' => 'mapping_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $cachetaggable0 = new Doctrine_Template_Cachetaggable();
     $this->actAs($cachetaggable0);
 }
Пример #13
0
 public function setUp()
 {
     parent::setUp();
     $this->hasMany('DmMedia as Medias', array('local' => 'id', 'foreign' => 'dm_media_folder_id'));
     $nestedset0 = new Doctrine_Template_NestedSet(array());
     $this->actAs($nestedset0);
 }
Пример #14
0
 public function setUp()
 {
     parent::setUp();
     $this->hasMany('MappingPair as Pairs', array('local' => 'id', 'foreign' => 'mapping_id'));
     $cachetaggable0 = new Doctrine_Template_Cachetaggable();
     $this->actAs($cachetaggable0);
 }
Пример #15
0
 public function setUp()
 {
     parent::setUp();
     $this->hasOne('DmCatalogue', array('local' => 'dm_catalogue_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $timestampable0 = new Doctrine_Template_Timestampable(array());
     $this->actAs($timestampable0);
 }
Пример #16
0
 public function setUp()
 {
     parent::setUp();
     $this->hasOne('DmUser as User', array('local' => 'dm_user_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $timestampable0 = new Doctrine_Template_Timestampable(array('updated' => array('disabled' => true)));
     $this->actAs($timestampable0);
 }
Пример #17
0
 public function setUp()
 {
     parent::setUp();
     $this->hasOne('DmArea as Area', array('local' => 'dm_area_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $this->hasMany('DmWidget as Widgets', array('local' => 'id', 'foreign' => 'dm_zone_id'));
     $sortable0 = new Doctrine_Template_Sortable(array());
     $this->actAs($sortable0);
 }
Пример #18
0
 public function setUp()
 {
     parent::setUp();
     $nestedset0 = new Doctrine_Template_NestedSet();
     $i18n0 = new Doctrine_Template_I18n(array('fields' => array(0 => 'slug', 1 => 'name', 2 => 'title', 3 => 'h1', 4 => 'description', 5 => 'keywords', 6 => 'auto_mod', 7 => 'is_active', 8 => 'is_secure', 9 => 'is_indexable')));
     $this->actAs($nestedset0);
     $this->actAs($i18n0);
 }
Пример #19
0
 public function setUp()
 {
     parent::setUp();
     $this->hasMany('DmUser as Users', array('refClass' => 'DmUserPermission', 'local' => 'dm_permission_id', 'foreign' => 'dm_user_id'));
     $this->hasMany('DmGroup as Groups', array('refClass' => 'DmGroupPermission', 'local' => 'dm_permission_id', 'foreign' => 'dm_group_id'));
     $timestampable0 = new Doctrine_Template_Timestampable(array());
     $this->actAs($timestampable0);
 }
Пример #20
0
 public function setUp()
 {
     parent::setUp();
     $this->hasMany('Member', array('refClass' => 'GroupMember', 'local' => 'group_id', 'foreign' => 'member_id'));
     $this->hasMany('Permission', array('refClass' => 'GroupPermission', 'local' => 'group_id', 'foreign' => 'permission_id'));
     $this->hasMany('GroupPermission', array('local' => 'id', 'foreign' => 'group_id'));
     $this->hasMany('GroupMember', array('local' => 'id', 'foreign' => 'group_id'));
 }
 public function setUp()
 {
     parent::setUp();
     $this->hasOne('sfGuardGroup as Group', array('local' => 'group_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $this->hasOne('sfGuardPermission as Permission', array('local' => 'permission_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $timestampable0 = new Doctrine_Template_Timestampable(array());
     $this->actAs($timestampable0);
 }
Пример #22
0
 public function setUp()
 {
     parent::setUp();
     $timestampable0 = new Doctrine_Template_Timestampable(array());
     $cachetaggable0 = new Doctrine_Template_Cachetaggable(array());
     $this->actAs($timestampable0);
     $this->actAs($cachetaggable0);
 }
Пример #23
0
 public static function factory(myDoctrineRecord $record, $local, $alias, $required)
 {
     /*
      * Check first is local column has a value
      * not to modify the record
      */
     if ($record->get($local)) {
         $media = $record->get($alias);
     } else {
         $media = new DmMedia();
         $media->set('dm_media_folder_id', $record->getDmMediaFolder()->get('id'));
     }
     $form = new self($media);
     $form->configureRequired($required);
     $form->setRecord($record);
     return $form;
 }
Пример #24
0
 public function setUp()
 {
     parent::setUp();
     $timestampable0 = new Doctrine_Template_Timestampable();
     $i18n0 = new Doctrine_Template_I18n(array('fields' => array(0 => 'slug', 1 => 'name', 2 => 'title', 3 => 'h1', 4 => 'description', 5 => 'keywords', 6 => 'strip_words')));
     $this->actAs($timestampable0);
     $this->actAs($i18n0);
 }
Пример #25
0
 public function setUp()
 {
     parent::setUp();
     $timestampable0 = new Doctrine_Template_Timestampable();
     $i18n0 = new Doctrine_Template_I18n(array('fields' => array(0 => 'title', 1 => 'description', 2 => 'body', 3 => 'from_email', 4 => 'to_email', 5 => 'is_html', 6 => 'is_active')));
     $this->actAs($timestampable0);
     $this->actAs($i18n0);
 }
Пример #26
0
 public function setUp()
 {
     parent::setUp();
     $dmtaggable0 = new Doctrine_Template_DmTaggable();
     $dmblameable0 = new Doctrine_Template_DmBlameable();
     $this->actAs($dmtaggable0);
     $this->actAs($dmblameable0);
 }
Пример #27
0
 public function setUp()
 {
     parent::setUp();
     $this->hasOne('DmTestPost as Post', array('local' => 'post_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $timestampable0 = new Doctrine_Template_Timestampable();
     $dmversionable0 = new Doctrine_Template_DmVersionable(array('fields' => NULL));
     $this->actAs($timestampable0);
     $this->actAs($dmversionable0);
 }
Пример #28
0
 public function setUp()
 {
     parent::setUp();
     $this->hasOne('DmMediaFolder as Folder', array('local' => 'dm_media_folder_id', 'foreign' => 'id', 'onDelete' => 'CASCADE'));
     $this->hasMany('DmTestUser', array('local' => 'id', 'foreign' => 'media_id'));
     $this->hasMany('DmTestPost', array('local' => 'id', 'foreign' => 'image_id'));
     $timestampable0 = new Doctrine_Template_Timestampable(array());
     $this->actAs($timestampable0);
 }
Пример #29
0
 public function setUp()
 {
     parent::setUp();
     $this->hasMany('DmSentMail as SentMails', array('local' => 'id', 'foreign' => 'dm_mail_template_id'));
     $timestampable0 = new Doctrine_Template_Timestampable();
     $i18n0 = new Doctrine_Template_I18n(array('fields' => array(0 => 'subject', 1 => 'description', 2 => 'body', 3 => 'from_email', 4 => 'to_email', 5 => 'cc_email', 6 => 'bcc_email', 7 => 'reply_to_email', 8 => 'sender_email', 9 => 'list_unsuscribe', 10 => 'is_html', 11 => 'is_active')));
     $this->actAs($timestampable0);
     $this->actAs($i18n0);
 }
Пример #30
0
 public function setUp()
 {
     parent::setUp();
     $this->hasMany('DmTestPost as Posts', array('refClass' => 'DmTestPostTag', 'local' => 'tag_id', 'foreign' => 'post_id'));
     $this->hasMany('DmTestPostTag', array('local' => 'id', 'foreign' => 'tag_id'));
     $timestampable0 = new Doctrine_Template_Timestampable();
     $i18n0 = new Doctrine_Template_I18n(array('fields' => array(0 => 'name', 1 => 'slug')));
     $this->actAs($timestampable0);
     $this->actAs($i18n0);
 }