ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 9069


Ignore:
Timestamp:
Nov 11, 2008, 5:28:49 PM (12 years ago)
Author:
ShogoKawahara
Message:

#3119:added ApplicationI18n, changed Application

Location:
OpenPNE3/plugins/opOpenSocialPlugin/trunk
Files:
7 added
9 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE3/plugins/opOpenSocialPlugin/trunk/config/schema.yml

    r9061 r9069  
    55    id: ~
    66    url: { type: varchar(128), required: true }
    7     culture: { type: varchar(7), required: true }
     7    height: { type: integer, required: true }
     8    scrolling: { type: integer, required: true }
     9
     10  application_i18n:
    811    title: { type: varchar(128) }
    912    directory_title : { type: varchar(128) }
     
    1619    views: { type: longvarchar }
    1720    version: { type: varchar(64), required: true }
    18     height: { type: integer, required: true }
    19     scrolling: { type: integer, required: true }
    2021    updated_at: ~
    2122
  • OpenPNE3/plugins/opOpenSocialPlugin/trunk/lib/form/base/BaseApplicationForm.class.php

    r9061 r9069  
    1313  {
    1414    $this->setWidgets(array(
    15       'id'              => new sfWidgetFormInputHidden(),
    16       'url'             => new sfWidgetFormInput(),
    17       'culture'         => new sfWidgetFormInput(),
    18       'title'           => new sfWidgetFormInput(),
    19       'directory_title' => new sfWidgetFormInput(),
    20       'screenshot'      => new sfWidgetFormInput(),
    21       'thumbnail'       => new sfWidgetFormInput(),
    22       'author'          => new sfWidgetFormInput(),
    23       'author_email'    => new sfWidgetFormInput(),
    24       'description'     => new sfWidgetFormTextarea(),
    25       'settings'        => new sfWidgetFormTextarea(),
    26       'views'           => new sfWidgetFormTextarea(),
    27       'version'         => new sfWidgetFormInput(),
    28       'height'          => new sfWidgetFormInput(),
    29       'scrolling'       => new sfWidgetFormInput(),
    30       'updated_at'      => new sfWidgetFormDateTime(),
     15      'id'        => new sfWidgetFormInputHidden(),
     16      'url'       => new sfWidgetFormInput(),
     17      'height'    => new sfWidgetFormInput(),
     18      'scrolling' => new sfWidgetFormInput(),
    3119    ));
    3220
    3321    $this->setValidators(array(
    34       'id'              => new sfValidatorPropelChoice(array('model' => 'Application', 'column' => 'id', 'required' => false)),
    35       'url'             => new sfValidatorString(array('max_length' => 128)),
    36       'culture'         => new sfValidatorString(array('max_length' => 7)),
    37       'title'           => new sfValidatorString(array('max_length' => 128, 'required' => false)),
    38       'directory_title' => new sfValidatorString(array('max_length' => 128, 'required' => false)),
    39       'screenshot'      => new sfValidatorString(array('max_length' => 128, 'required' => false)),
    40       'thumbnail'       => new sfValidatorString(array('max_length' => 128, 'required' => false)),
    41       'author'          => new sfValidatorString(array('max_length' => 128, 'required' => false)),
    42       'author_email'    => new sfValidatorString(array('max_length' => 128, 'required' => false)),
    43       'description'     => new sfValidatorString(array('required' => false)),
    44       'settings'        => new sfValidatorString(array('required' => false)),
    45       'views'           => new sfValidatorString(array('required' => false)),
    46       'version'         => new sfValidatorString(array('max_length' => 64)),
    47       'height'          => new sfValidatorInteger(),
    48       'scrolling'       => new sfValidatorInteger(),
    49       'updated_at'      => new sfValidatorDateTime(array('required' => false)),
     22      'id'        => new sfValidatorPropelChoice(array('model' => 'Application', 'column' => 'id', 'required' => false)),
     23      'url'       => new sfValidatorString(array('max_length' => 128)),
     24      'height'    => new sfValidatorInteger(),
     25      'scrolling' => new sfValidatorInteger(),
    5026    ));
    5127
     
    6238  }
    6339
     40  public function getI18nModelName()
     41  {
     42    return 'ApplicationI18n';
     43  }
     44
     45  public function getI18nFormClass()
     46  {
     47    return 'ApplicationI18nForm';
     48  }
    6449
    6550}
  • OpenPNE3/plugins/opOpenSocialPlugin/trunk/lib/model/ApplicationPeer.php

    r9061 r9069  
    2828  }
    2929  /**
    30    * add application
     30   * add or update application
    3131   *
    3232   * @param string $url     gadget url
    3333   * @param string $culture culture
    34    * @param bool   $update 
     34   * @param bool   $update
     35   * @return Application application object 
    3536   */
    3637  public static function addApplication($url, $culture = 'en_US', $update = false)
    3738  {
    38     $criteria = new Criteria(ApplicationPeer::DATABASE_NAME);
    39     $criteria->add(ApplicationPeer::URL, $url);
    40     $criteria->add(ApplicationPeer::CULTURE, $culture);
    41     $app = ApplicationPeer::doSelectOne($criteria);
     39    $criteria = new Criteria(self::DATABASE_NAME);
     40    $criteria->add(self::URL, $url);
     41    $app = self::doSelectOne($criteria);
    4242    if (!empty($app) && !$update)
    4343    {
    44       return $app->getId();
     44      $ca = $app->getUpdatedAt();
     45      if (!empty($ca))
     46        {
     47          return $app;
     48        }
    4549    }
    4650    $cul = split('_',$culture);
     
    5660    $handler = new MetadataHandler();
    5761    $response = $handler->process($req);
    58     if (!is_array($response) || count($response) <= 0 || isset($response[0]['errors']))
     62    if (!is_array($response) || count($response) <= 0)
    5963    {
    60       return false;
     64      throw new Exception('No data');
     65    }
     66    if (isset($response[0]['errors']))
     67    {
     68      throw new Exception($response[0]['errors'][0]);
    6169    }
    6270    $default_gadget = array(
     
    7179    );
    7280    $gadget = $response[0];
     81    if (isset($gadget['authorEmail']))
     82    {
     83      $gadget['author_email'] = $gadget['authorEmail'];
     84    }
     85    if (isset($gadget['directoryTitle']))
     86    {
     87      $gadget['directory_title'] = $gadget['directoryTitle'];
     88    }
    7389    $gadget = array_merge($default_gadget,$gadget);
    7490    if (empty($app))
     
    7793    }
    7894    $app->setUrl($gadget['url']);
    79     $app->setCulture($culture);
    8095    $app->setTitle($gadget['title']);
    8196    $app->setDirectoryTitle($gadget['directory_title']);
     
    8398    $app->setThumbnail($gadget['thumbnail']);
    8499    $app->setAuthor($gadget['author']);
    85     $app->setAuthorEmail($gadget['author_email']);
     100    $app->setAuthorEmail($gadget['authorEmail']);
    86101    $app->setDescription($gadget['description']);
    87102    $app->setSettings(isset($gadget['userPrefs']) ? serialize($gadget['userPrefs']) : '');
     
    98113    $app->setVersion(isset($iframe_params['v']) ? $iframe_params['v'] : '');
    99114    $app->save();
    100     return $app->getId();
     115    return $app;
    101116  }
    102117}
  • OpenPNE3/plugins/opOpenSocialPlugin/trunk/lib/model/map/ApplicationMapBuilder.php

    r9061 r9069  
    3737                $tMap->addColumn('URL', 'Url', 'string', CreoleTypes::VARCHAR, true, 128);
    3838
    39                 $tMap->addColumn('CULTURE', 'Culture', 'string', CreoleTypes::VARCHAR, true, 7);
    40 
    41                 $tMap->addColumn('TITLE', 'Title', 'string', CreoleTypes::VARCHAR, false, 128);
    42 
    43                 $tMap->addColumn('DIRECTORY_TITLE', 'DirectoryTitle', 'string', CreoleTypes::VARCHAR, false, 128);
    44 
    45                 $tMap->addColumn('SCREENSHOT', 'Screenshot', 'string', CreoleTypes::VARCHAR, false, 128);
    46 
    47                 $tMap->addColumn('THUMBNAIL', 'Thumbnail', 'string', CreoleTypes::VARCHAR, false, 128);
    48 
    49                 $tMap->addColumn('AUTHOR', 'Author', 'string', CreoleTypes::VARCHAR, false, 128);
    50 
    51                 $tMap->addColumn('AUTHOR_EMAIL', 'AuthorEmail', 'string', CreoleTypes::VARCHAR, false, 128);
    52 
    53                 $tMap->addColumn('DESCRIPTION', 'Description', 'string', CreoleTypes::LONGVARCHAR, false, null);
    54 
    55                 $tMap->addColumn('SETTINGS', 'Settings', 'string', CreoleTypes::LONGVARCHAR, false, null);
    56 
    57                 $tMap->addColumn('VIEWS', 'Views', 'string', CreoleTypes::LONGVARCHAR, false, null);
    58 
    59                 $tMap->addColumn('VERSION', 'Version', 'string', CreoleTypes::VARCHAR, true, 64);
    60 
    6139                $tMap->addColumn('HEIGHT', 'Height', 'int', CreoleTypes::INTEGER, true, null);
    6240
    6341                $tMap->addColumn('SCROLLING', 'Scrolling', 'int', CreoleTypes::INTEGER, true, null);
    6442
    65                 $tMap->addColumn('UPDATED_AT', 'UpdatedAt', 'int', CreoleTypes::TIMESTAMP, false, null);
    66 
    6743        }
    6844}
  • OpenPNE3/plugins/opOpenSocialPlugin/trunk/lib/model/om/BaseApplication.php

    r9061 r9069  
    1818
    1919       
    20         protected $culture;
    21 
    22 
    23        
    24         protected $title;
    25 
    26 
    27        
    28         protected $directory_title;
    29 
    30 
    31        
    32         protected $screenshot;
    33 
    34 
    35        
    36         protected $thumbnail;
    37 
    38 
    39        
    40         protected $author;
    41 
    42 
    43        
    44         protected $author_email;
    45 
    46 
    47        
    48         protected $description;
    49 
    50 
    51        
    52         protected $settings;
    53 
    54 
    55        
    56         protected $views;
    57 
    58 
    59        
    60         protected $version;
    61 
    62 
    63        
    6420        protected $height;
    6521
     
    6824        protected $scrolling;
    6925
    70 
    71        
    72         protected $updated_at;
     26       
     27        protected $collApplicationI18ns;
     28
     29       
     30        protected $lastApplicationI18nCriteria = null;
    7331
    7432       
     
    9048        protected $alreadyInValidation = false;
    9149
     50 
     51  protected $culture;
     52
    9253       
    9354        public function getId()
     
    10566
    10667       
    107         public function getCulture()
    108         {
    109 
    110                 return $this->culture;
    111         }
    112 
    113        
    114         public function getTitle()
    115         {
    116 
    117                 return $this->title;
    118         }
    119 
    120        
    121         public function getDirectoryTitle()
    122         {
    123 
    124                 return $this->directory_title;
    125         }
    126 
    127        
    128         public function getScreenshot()
    129         {
    130 
    131                 return $this->screenshot;
    132         }
    133 
    134        
    135         public function getThumbnail()
    136         {
    137 
    138                 return $this->thumbnail;
    139         }
    140 
    141        
    142         public function getAuthor()
    143         {
    144 
    145                 return $this->author;
    146         }
    147 
    148        
    149         public function getAuthorEmail()
    150         {
    151 
    152                 return $this->author_email;
    153         }
    154 
    155        
    156         public function getDescription()
    157         {
    158 
    159                 return $this->description;
    160         }
    161 
    162        
    163         public function getSettings()
    164         {
    165 
    166                 return $this->settings;
    167         }
    168 
    169        
    170         public function getViews()
    171         {
    172 
    173                 return $this->views;
    174         }
    175 
    176        
    177         public function getVersion()
    178         {
    179 
    180                 return $this->version;
    181         }
    182 
    183        
    18468        public function getHeight()
    18569        {
     
    19377
    19478                return $this->scrolling;
    195         }
    196 
    197        
    198         public function getUpdatedAt($format = 'Y-m-d H:i:s')
    199         {
    200 
    201                 if ($this->updated_at === null || $this->updated_at === '') {
    202                         return null;
    203                 } elseif (!is_int($this->updated_at)) {
    204                                                 $ts = strtotime($this->updated_at);
    205                         if ($ts === -1 || $ts === false) {                              throw new PropelException("Unable to parse value of [updated_at] as date/time value: " . var_export($this->updated_at, true));
    206                         }
    207                 } else {
    208                         $ts = $this->updated_at;
    209                 }
    210                 if ($format === null) {
    211                         return $ts;
    212                 } elseif (strpos($format, '%') !== false) {
    213                         return strftime($format, $ts);
    214                 } else {
    215                         return date($format, $ts);
    216                 }
    21779        }
    21880
     
    246108        }
    247109       
    248         public function setCulture($v)
    249         {
    250 
    251                                                 if ($v !== null && !is_string($v)) {
    252                         $v = (string) $v;
    253                 }
    254 
    255                 if ($this->culture !== $v) {
    256                         $this->culture = $v;
    257                         $this->modifiedColumns[] = ApplicationPeer::CULTURE;
    258                 }
    259 
    260         }
    261        
    262         public function setTitle($v)
    263         {
    264 
    265                                                 if ($v !== null && !is_string($v)) {
    266                         $v = (string) $v;
    267                 }
    268 
    269                 if ($this->title !== $v) {
    270                         $this->title = $v;
    271                         $this->modifiedColumns[] = ApplicationPeer::TITLE;
    272                 }
    273 
    274         }
    275        
    276         public function setDirectoryTitle($v)
    277         {
    278 
    279                                                 if ($v !== null && !is_string($v)) {
    280                         $v = (string) $v;
    281                 }
    282 
    283                 if ($this->directory_title !== $v) {
    284                         $this->directory_title = $v;
    285                         $this->modifiedColumns[] = ApplicationPeer::DIRECTORY_TITLE;
    286                 }
    287 
    288         }
    289        
    290         public function setScreenshot($v)
    291         {
    292 
    293                                                 if ($v !== null && !is_string($v)) {
    294                         $v = (string) $v;
    295                 }
    296 
    297                 if ($this->screenshot !== $v) {
    298                         $this->screenshot = $v;
    299                         $this->modifiedColumns[] = ApplicationPeer::SCREENSHOT;
    300                 }
    301 
    302         }
    303        
    304         public function setThumbnail($v)
    305         {
    306 
    307                                                 if ($v !== null && !is_string($v)) {
    308                         $v = (string) $v;
    309                 }
    310 
    311                 if ($this->thumbnail !== $v) {
    312                         $this->thumbnail = $v;
    313                         $this->modifiedColumns[] = ApplicationPeer::THUMBNAIL;
    314                 }
    315 
    316         }
    317        
    318         public function setAuthor($v)
    319         {
    320 
    321                                                 if ($v !== null && !is_string($v)) {
    322                         $v = (string) $v;
    323                 }
    324 
    325                 if ($this->author !== $v) {
    326                         $this->author = $v;
    327                         $this->modifiedColumns[] = ApplicationPeer::AUTHOR;
    328                 }
    329 
    330         }
    331        
    332         public function setAuthorEmail($v)
    333         {
    334 
    335                                                 if ($v !== null && !is_string($v)) {
    336                         $v = (string) $v;
    337                 }
    338 
    339                 if ($this->author_email !== $v) {
    340                         $this->author_email = $v;
    341                         $this->modifiedColumns[] = ApplicationPeer::AUTHOR_EMAIL;
    342                 }
    343 
    344         }
    345        
    346         public function setDescription($v)
    347         {
    348 
    349                                                 if ($v !== null && !is_string($v)) {
    350                         $v = (string) $v;
    351                 }
    352 
    353                 if ($this->description !== $v) {
    354                         $this->description = $v;
    355                         $this->modifiedColumns[] = ApplicationPeer::DESCRIPTION;
    356                 }
    357 
    358         }
    359        
    360         public function setSettings($v)
    361         {
    362 
    363                                                 if ($v !== null && !is_string($v)) {
    364                         $v = (string) $v;
    365                 }
    366 
    367                 if ($this->settings !== $v) {
    368                         $this->settings = $v;
    369                         $this->modifiedColumns[] = ApplicationPeer::SETTINGS;
    370                 }
    371 
    372         }
    373        
    374         public function setViews($v)
    375         {
    376 
    377                                                 if ($v !== null && !is_string($v)) {
    378                         $v = (string) $v;
    379                 }
    380 
    381                 if ($this->views !== $v) {
    382                         $this->views = $v;
    383                         $this->modifiedColumns[] = ApplicationPeer::VIEWS;
    384                 }
    385 
    386         }
    387        
    388         public function setVersion($v)
    389         {
    390 
    391                                                 if ($v !== null && !is_string($v)) {
    392                         $v = (string) $v;
    393                 }
    394 
    395                 if ($this->version !== $v) {
    396                         $this->version = $v;
    397                         $this->modifiedColumns[] = ApplicationPeer::VERSION;
    398                 }
    399 
    400         }
    401        
    402110        public function setHeight($v)
    403111        {
     
    428136        }
    429137       
    430         public function setUpdatedAt($v)
    431         {
    432 
    433                 if ($v !== null && !is_int($v)) {
    434                         $ts = strtotime($v);
    435                         if ($ts === -1 || $ts === false) {                              throw new PropelException("Unable to parse date/time value for [updated_at] from input: " . var_export($v, true));
    436                         }
    437                 } else {
    438                         $ts = $v;
    439                 }
    440                 if ($this->updated_at !== $ts) {
    441                         $this->updated_at = $ts;
    442                         $this->modifiedColumns[] = ApplicationPeer::UPDATED_AT;
    443                 }
    444 
    445         }
    446        
    447138        public function hydrate(ResultSet $rs, $startcol = 1)
    448139        {
     
    453144                        $this->url = $rs->getString($startcol + 1);
    454145
    455                         $this->culture = $rs->getString($startcol + 2);
    456 
    457                         $this->title = $rs->getString($startcol + 3);
    458 
    459                         $this->directory_title = $rs->getString($startcol + 4);
    460 
    461                         $this->screenshot = $rs->getString($startcol + 5);
    462 
    463                         $this->thumbnail = $rs->getString($startcol + 6);
    464 
    465                         $this->author = $rs->getString($startcol + 7);
    466 
    467                         $this->author_email = $rs->getString($startcol + 8);
    468 
    469                         $this->description = $rs->getString($startcol + 9);
    470 
    471                         $this->settings = $rs->getString($startcol + 10);
    472 
    473                         $this->views = $rs->getString($startcol + 11);
    474 
    475                         $this->version = $rs->getString($startcol + 12);
    476 
    477                         $this->height = $rs->getInt($startcol + 13);
    478 
    479                         $this->scrolling = $rs->getInt($startcol + 14);
    480 
    481                         $this->updated_at = $rs->getTimestamp($startcol + 15, null);
     146                        $this->height = $rs->getInt($startcol + 2);
     147
     148                        $this->scrolling = $rs->getInt($startcol + 3);
    482149
    483150                        $this->resetModified();
     
    485152                        $this->setNew(false);
    486153
    487                                                 return $startcol + 16;
     154                                                return $startcol + 4;
    488155                } catch (Exception $e) {
    489156                        throw new PropelException("Error populating Application object", $e);
     
    516183        public function save($con = null)
    517184        {
    518     if ($this->isModified() && !$this->isColumnModified(ApplicationPeer::UPDATED_AT))
    519     {
    520       $this->setUpdatedAt(time());
    521     }
    522 
    523185                if ($this->isDeleted()) {
    524186                        throw new PropelException("You cannot save an object that has been deleted.");
     
    558220                                $this->resetModified();                         }
    559221
     222                        if ($this->collApplicationI18ns !== null) {
     223                                foreach($this->collApplicationI18ns as $referrerFK) {
     224                                        if (!$referrerFK->isDeleted()) {
     225                                                $affectedRows += $referrerFK->save($con);
     226                                        }
     227                                }
     228                        }
     229
    560230                        if ($this->collApplicationSettings !== null) {
    561231                                foreach($this->collApplicationSettings as $referrerFK) {
     
    614284                        }
    615285
     286
     287                                if ($this->collApplicationI18ns !== null) {
     288                                        foreach($this->collApplicationI18ns as $referrerFK) {
     289                                                if (!$referrerFK->validate($columns)) {
     290                                                        $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
     291                                                }
     292                                        }
     293                                }
    616294
    617295                                if ($this->collApplicationSettings !== null) {
     
    656334                                break;
    657335                        case 2:
    658                                 return $this->getCulture();
     336                                return $this->getHeight();
    659337                                break;
    660338                        case 3:
    661                                 return $this->getTitle();
    662                                 break;
    663                         case 4:
    664                                 return $this->getDirectoryTitle();
    665                                 break;
    666                         case 5:
    667                                 return $this->getScreenshot();
    668                                 break;
    669                         case 6:
    670                                 return $this->getThumbnail();
    671                                 break;
    672                         case 7:
    673                                 return $this->getAuthor();
    674                                 break;
    675                         case 8:
    676                                 return $this->getAuthorEmail();
    677                                 break;
    678                         case 9:
    679                                 return $this->getDescription();
    680                                 break;
    681                         case 10:
    682                                 return $this->getSettings();
    683                                 break;
    684                         case 11:
    685                                 return $this->getViews();
    686                                 break;
    687                         case 12:
    688                                 return $this->getVersion();
    689                                 break;
    690                         case 13:
    691                                 return $this->getHeight();
    692                                 break;
    693                         case 14:
    694339                                return $this->getScrolling();
    695                                 break;
    696                         case 15:
    697                                 return $this->getUpdatedAt();
    698340                                break;
    699341                        default:
     
    709351                        $keys[0] => $this->getId(),
    710352                        $keys[1] => $this->getUrl(),
    711                         $keys[2] => $this->getCulture(),
    712                         $keys[3] => $this->getTitle(),
    713                         $keys[4] => $this->getDirectoryTitle(),
    714                         $keys[5] => $this->getScreenshot(),
    715                         $keys[6] => $this->getThumbnail(),
    716                         $keys[7] => $this->getAuthor(),
    717                         $keys[8] => $this->getAuthorEmail(),
    718                         $keys[9] => $this->getDescription(),
    719                         $keys[10] => $this->getSettings(),
    720                         $keys[11] => $this->getViews(),
    721                         $keys[12] => $this->getVersion(),
    722                         $keys[13] => $this->getHeight(),
    723                         $keys[14] => $this->getScrolling(),
    724                         $keys[15] => $this->getUpdatedAt(),
     353                        $keys[2] => $this->getHeight(),
     354                        $keys[3] => $this->getScrolling(),
    725355                );
    726356                return $result;
     
    745375                                break;
    746376                        case 2:
    747                                 $this->setCulture($value);
     377                                $this->setHeight($value);
    748378                                break;
    749379                        case 3:
    750                                 $this->setTitle($value);
    751                                 break;
    752                         case 4:
    753                                 $this->setDirectoryTitle($value);
    754                                 break;
    755                         case 5:
    756                                 $this->setScreenshot($value);
    757                                 break;
    758                         case 6:
    759                                 $this->setThumbnail($value);
    760                                 break;
    761                         case 7:
    762                                 $this->setAuthor($value);
    763                                 break;
    764                         case 8:
    765                                 $this->setAuthorEmail($value);
    766                                 break;
    767                         case 9:
    768                                 $this->setDescription($value);
    769                                 break;
    770                         case 10:
    771                                 $this->setSettings($value);
    772                                 break;
    773                         case 11:
    774                                 $this->setViews($value);
    775                                 break;
    776                         case 12:
    777                                 $this->setVersion($value);
    778                                 break;
    779                         case 13:
    780                                 $this->setHeight($value);
    781                                 break;
    782                         case 14:
    783380                                $this->setScrolling($value);
    784381                                break;
    785                         case 15:
    786                                 $this->setUpdatedAt($value);
    787                                 break;
    788382                }       }
    789383
     
    795389                if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]);
    796390                if (array_key_exists($keys[1], $arr)) $this->setUrl($arr[$keys[1]]);
    797                 if (array_key_exists($keys[2], $arr)) $this->setCulture($arr[$keys[2]]);
    798                 if (array_key_exists($keys[3], $arr)) $this->setTitle($arr[$keys[3]]);
    799                 if (array_key_exists($keys[4], $arr)) $this->setDirectoryTitle($arr[$keys[4]]);
    800                 if (array_key_exists($keys[5], $arr)) $this->setScreenshot($arr[$keys[5]]);
    801                 if (array_key_exists($keys[6], $arr)) $this->setThumbnail($arr[$keys[6]]);
    802                 if (array_key_exists($keys[7], $arr)) $this->setAuthor($arr[$keys[7]]);
    803                 if (array_key_exists($keys[8], $arr)) $this->setAuthorEmail($arr[$keys[8]]);
    804                 if (array_key_exists($keys[9], $arr)) $this->setDescription($arr[$keys[9]]);
    805                 if (array_key_exists($keys[10], $arr)) $this->setSettings($arr[$keys[10]]);
    806                 if (array_key_exists($keys[11], $arr)) $this->setViews($arr[$keys[11]]);
    807                 if (array_key_exists($keys[12], $arr)) $this->setVersion($arr[$keys[12]]);
    808                 if (array_key_exists($keys[13], $arr)) $this->setHeight($arr[$keys[13]]);
    809                 if (array_key_exists($keys[14], $arr)) $this->setScrolling($arr[$keys[14]]);
    810                 if (array_key_exists($keys[15], $arr)) $this->setUpdatedAt($arr[$keys[15]]);
     391                if (array_key_exists($keys[2], $arr)) $this->setHeight($arr[$keys[2]]);
     392                if (array_key_exists($keys[3], $arr)) $this->setScrolling($arr[$keys[3]]);
    811393        }
    812394
     
    818400                if ($this->isColumnModified(ApplicationPeer::ID)) $criteria->add(ApplicationPeer::ID, $this->id);
    819401                if ($this->isColumnModified(ApplicationPeer::URL)) $criteria->add(ApplicationPeer::URL, $this->url);
    820                 if ($this->isColumnModified(ApplicationPeer::CULTURE)) $criteria->add(ApplicationPeer::CULTURE, $this->culture);
    821                 if ($this->isColumnModified(ApplicationPeer::TITLE)) $criteria->add(ApplicationPeer::TITLE, $this->title);
    822                 if ($this->isColumnModified(ApplicationPeer::DIRECTORY_TITLE)) $criteria->add(ApplicationPeer::DIRECTORY_TITLE, $this->directory_title);
    823                 if ($this->isColumnModified(ApplicationPeer::SCREENSHOT)) $criteria->add(ApplicationPeer::SCREENSHOT, $this->screenshot);
    824                 if ($this->isColumnModified(ApplicationPeer::THUMBNAIL)) $criteria->add(ApplicationPeer::THUMBNAIL, $this->thumbnail);
    825                 if ($this->isColumnModified(ApplicationPeer::AUTHOR)) $criteria->add(ApplicationPeer::AUTHOR, $this->author);
    826                 if ($this->isColumnModified(ApplicationPeer::AUTHOR_EMAIL)) $criteria->add(ApplicationPeer::AUTHOR_EMAIL, $this->author_email);
    827                 if ($this->isColumnModified(ApplicationPeer::DESCRIPTION)) $criteria->add(ApplicationPeer::DESCRIPTION, $this->description);
    828                 if ($this->isColumnModified(ApplicationPeer::SETTINGS)) $criteria->add(ApplicationPeer::SETTINGS, $this->settings);
    829                 if ($this->isColumnModified(ApplicationPeer::VIEWS)) $criteria->add(ApplicationPeer::VIEWS, $this->views);
    830                 if ($this->isColumnModified(ApplicationPeer::VERSION)) $criteria->add(ApplicationPeer::VERSION, $this->version);
    831402                if ($this->isColumnModified(ApplicationPeer::HEIGHT)) $criteria->add(ApplicationPeer::HEIGHT, $this->height);
    832403                if ($this->isColumnModified(ApplicationPeer::SCROLLING)) $criteria->add(ApplicationPeer::SCROLLING, $this->scrolling);
    833                 if ($this->isColumnModified(ApplicationPeer::UPDATED_AT)) $criteria->add(ApplicationPeer::UPDATED_AT, $this->updated_at);
    834404
    835405                return $criteria;
     
    864434                $copyObj->setUrl($this->url);
    865435
    866                 $copyObj->setCulture($this->culture);
    867 
    868                 $copyObj->setTitle($this->title);
    869 
    870                 $copyObj->setDirectoryTitle($this->directory_title);
    871 
    872                 $copyObj->setScreenshot($this->screenshot);
    873 
    874                 $copyObj->setThumbnail($this->thumbnail);
    875 
    876                 $copyObj->setAuthor($this->author);
    877 
    878                 $copyObj->setAuthorEmail($this->author_email);
    879 
    880                 $copyObj->setDescription($this->description);
    881 
    882                 $copyObj->setSettings($this->settings);
    883 
    884                 $copyObj->setViews($this->views);
    885 
    886                 $copyObj->setVersion($this->version);
    887 
    888436                $copyObj->setHeight($this->height);
    889437
    890438                $copyObj->setScrolling($this->scrolling);
    891 
    892                 $copyObj->setUpdatedAt($this->updated_at);
    893439
    894440
    895441                if ($deepCopy) {
    896442                                                                        $copyObj->setNew(false);
     443
     444                        foreach($this->getApplicationI18ns() as $relObj) {
     445                                $copyObj->addApplicationI18n($relObj->copy($deepCopy));
     446                        }
    897447
    898448                        foreach($this->getApplicationSettings() as $relObj) {
     
    930480
    931481       
     482        public function initApplicationI18ns()
     483        {
     484                if ($this->collApplicationI18ns === null) {
     485                        $this->collApplicationI18ns = array();
     486                }
     487        }
     488
     489       
     490        public function getApplicationI18ns($criteria = null, $con = null)
     491        {
     492                                if ($criteria === null) {
     493                        $criteria = new Criteria();
     494                }
     495                elseif ($criteria instanceof Criteria)
     496                {
     497                        $criteria = clone $criteria;
     498                }
     499
     500                if ($this->collApplicationI18ns === null) {
     501                        if ($this->isNew()) {
     502                           $this->collApplicationI18ns = array();
     503                        } else {
     504
     505                                $criteria->add(ApplicationI18nPeer::ID, $this->getId());
     506
     507                                ApplicationI18nPeer::addSelectColumns($criteria);
     508                                $this->collApplicationI18ns = ApplicationI18nPeer::doSelect($criteria, $con);
     509                        }
     510                } else {
     511                                                if (!$this->isNew()) {
     512                                                                                               
     513
     514                                $criteria->add(ApplicationI18nPeer::ID, $this->getId());
     515
     516                                ApplicationI18nPeer::addSelectColumns($criteria);
     517                                if (!isset($this->lastApplicationI18nCriteria) || !$this->lastApplicationI18nCriteria->equals($criteria)) {
     518                                        $this->collApplicationI18ns = ApplicationI18nPeer::doSelect($criteria, $con);
     519                                }
     520                        }
     521                }
     522                $this->lastApplicationI18nCriteria = $criteria;
     523                return $this->collApplicationI18ns;
     524        }
     525
     526       
     527        public function countApplicationI18ns($criteria = null, $distinct = false, $con = null)
     528        {
     529                                if ($criteria === null) {
     530                        $criteria = new Criteria();
     531                }
     532                elseif ($criteria instanceof Criteria)
     533                {
     534                        $criteria = clone $criteria;
     535                }
     536
     537                $criteria->add(ApplicationI18nPeer::ID, $this->getId());
     538
     539                return ApplicationI18nPeer::doCount($criteria, $distinct, $con);
     540        }
     541
     542       
     543        public function addApplicationI18n(ApplicationI18n $l)
     544        {
     545                $this->collApplicationI18ns[] = $l;
     546                $l->setApplication($this);
     547        }
     548
     549       
    932550        public function initApplicationSettings()
    933551        {
     
    1133751        }
    1134752
     753  public function getCulture()
     754  {
     755    return $this->culture;
     756  }
     757
     758  public function setCulture($culture)
     759  {
     760    $this->culture = $culture;
     761  }
     762
     763  public function getTitle($culture = null)
     764  {
     765    return $this->getCurrentApplicationI18n($culture)->getTitle();
     766  }
     767
     768  public function setTitle($value, $culture = null)
     769  {
     770    $this->getCurrentApplicationI18n($culture)->setTitle($value);
     771  }
     772
     773  public function getDirectoryTitle($culture = null)
     774  {
     775    return $this->getCurrentApplicationI18n($culture)->getDirectoryTitle();
     776  }
     777
     778  public function setDirectoryTitle($value, $culture = null)
     779  {
     780    $this->getCurrentApplicationI18n($culture)->setDirectoryTitle($value);
     781  }
     782
     783  public function getScreenshot($culture = null)
     784  {
     785    return $this->getCurrentApplicationI18n($culture)->getScreenshot();
     786  }
     787
     788  public function setScreenshot($value, $culture = null)
     789  {
     790    $this->getCurrentApplicationI18n($culture)->setScreenshot($value);
     791  }
     792
     793  public function getThumbnail($culture = null)
     794  {
     795    return $this->getCurrentApplicationI18n($culture)->getThumbnail();
     796  }
     797
     798  public function setThumbnail($value, $culture = null)
     799  {
     800    $this->getCurrentApplicationI18n($culture)->setThumbnail($value);
     801  }
     802
     803  public function getAuthor($culture = null)
     804  {
     805    return $this->getCurrentApplicationI18n($culture)->getAuthor();
     806  }
     807
     808  public function setAuthor($value, $culture = null)
     809  {
     810    $this->getCurrentApplicationI18n($culture)->setAuthor($value);
     811  }
     812
     813  public function getAuthorEmail($culture = null)
     814  {
     815    return $this->getCurrentApplicationI18n($culture)->getAuthorEmail();
     816  }
     817
     818  public function setAuthorEmail($value, $culture = null)
     819  {
     820    $this->getCurrentApplicationI18n($culture)->setAuthorEmail($value);
     821  }
     822
     823  public function getDescription($culture = null)
     824  {
     825    return $this->getCurrentApplicationI18n($culture)->getDescription();
     826  }
     827
     828  public function setDescription($value, $culture = null)
     829  {
     830    $this->getCurrentApplicationI18n($culture)->setDescription($value);
     831  }
     832
     833  public function getSettings($culture = null)
     834  {
     835    return $this->getCurrentApplicationI18n($culture)->getSettings();
     836  }
     837
     838  public function setSettings($value, $culture = null)
     839  {
     840    $this->getCurrentApplicationI18n($culture)->setSettings($value);
     841  }
     842
     843  public function getViews($culture = null)
     844  {
     845    return $this->getCurrentApplicationI18n($culture)->getViews();
     846  }
     847
     848  public function setViews($value, $culture = null)
     849  {
     850    $this->getCurrentApplicationI18n($culture)->setViews($value);
     851  }
     852
     853  public function getVersion($culture = null)
     854  {
     855    return $this->getCurrentApplicationI18n($culture)->getVersion();
     856  }
     857
     858  public function setVersion($value, $culture = null)
     859  {
     860    $this->getCurrentApplicationI18n($culture)->setVersion($value);
     861  }
     862
     863  public function getUpdatedAt($culture = null)
     864  {
     865    return $this->getCurrentApplicationI18n($culture)->getUpdatedAt();
     866  }
     867
     868  public function setUpdatedAt($value, $culture = null)
     869  {
     870    $this->getCurrentApplicationI18n($culture)->setUpdatedAt($value);
     871  }
     872
     873  protected $current_i18n = array();
     874
     875  public function getCurrentApplicationI18n($culture = null)
     876  {
     877    if (is_null($culture))
     878    {
     879      $culture = is_null($this->culture) ? sfPropel::getDefaultCulture() : $this->culture;
     880    }
     881
     882    if (!isset($this->current_i18n[$culture]))
     883    {
     884      $obj = ApplicationI18nPeer::retrieveByPK($this->getId(), $culture);
     885      if ($obj)
     886      {
     887        $this->setApplicationI18nForCulture($obj, $culture);
     888      }
     889      else
     890      {
     891        $this->setApplicationI18nForCulture(new ApplicationI18n(), $culture);
     892        $this->current_i18n[$culture]->setCulture($culture);
     893      }
     894    }
     895
     896    return $this->current_i18n[$culture];
     897  }
     898
     899  public function setApplicationI18nForCulture($object, $culture)
     900  {
     901    $this->current_i18n[$culture] = $object;
     902    $this->addApplicationI18n($object);
     903  }
     904
    1135905}
  • OpenPNE3/plugins/opOpenSocialPlugin/trunk/lib/model/om/BaseApplicationPeer.php

    r9061 r9069  
    1414
    1515       
    16         const NUM_COLUMNS = 16;
     16        const NUM_COLUMNS = 4;
    1717
    1818       
     
    2727
    2828       
    29         const CULTURE = 'application.CULTURE';
    30 
    31        
    32         const TITLE = 'application.TITLE';
    33 
    34        
    35         const DIRECTORY_TITLE = 'application.DIRECTORY_TITLE';
    36 
    37        
    38         const SCREENSHOT = 'application.SCREENSHOT';
    39 
    40        
    41         const THUMBNAIL = 'application.THUMBNAIL';
    42 
    43        
    44         const AUTHOR = 'application.AUTHOR';
    45 
    46        
    47         const AUTHOR_EMAIL = 'application.AUTHOR_EMAIL';
    48 
    49        
    50         const DESCRIPTION = 'application.DESCRIPTION';
    51 
    52        
    53         const SETTINGS = 'application.SETTINGS';
    54 
    55        
    56         const VIEWS = 'application.VIEWS';
    57 
    58        
    59         const VERSION = 'application.VERSION';
    60 
    61        
    6229        const HEIGHT = 'application.HEIGHT';
    6330
     
    6633
    6734       
    68         const UPDATED_AT = 'application.UPDATED_AT';
    69 
    70        
    7135        private static $phpNameMap = null;
    7236
     
    7438       
    7539        private static $fieldNames = array (
    76                 BasePeer::TYPE_PHPNAME => array ('Id', 'Url', 'Culture', 'Title', 'DirectoryTitle', 'Screenshot', 'Thumbnail', 'Author', 'AuthorEmail', 'Description', 'Settings', 'Views', 'Version', 'Height', 'Scrolling', 'UpdatedAt', ),
    77                 BasePeer::TYPE_COLNAME => array (ApplicationPeer::ID, ApplicationPeer::URL, ApplicationPeer::CULTURE, ApplicationPeer::TITLE, ApplicationPeer::DIRECTORY_TITLE, ApplicationPeer::SCREENSHOT, ApplicationPeer::THUMBNAIL, ApplicationPeer::AUTHOR, ApplicationPeer::AUTHOR_EMAIL, ApplicationPeer::DESCRIPTION, ApplicationPeer::SETTINGS, ApplicationPeer::VIEWS, ApplicationPeer::VERSION, ApplicationPeer::HEIGHT, ApplicationPeer::SCROLLING, ApplicationPeer::UPDATED_AT, ),
    78                 BasePeer::TYPE_FIELDNAME => array ('id', 'url', 'culture', 'title', 'directory_title', 'screenshot', 'thumbnail', 'author', 'author_email', 'description', 'settings', 'views', 'version', 'height', 'scrolling', 'updated_at', ),
    79                 BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, )
     40                BasePeer::TYPE_PHPNAME => array ('Id', 'Url', 'Height', 'Scrolling', ),
     41                BasePeer::TYPE_COLNAME => array (ApplicationPeer::ID, ApplicationPeer::URL, ApplicationPeer::HEIGHT, ApplicationPeer::SCROLLING, ),
     42                BasePeer::TYPE_FIELDNAME => array ('id', 'url', 'height', 'scrolling', ),
     43                BasePeer::TYPE_NUM => array (0, 1, 2, 3, )
    8044        );
    8145
    8246       
    8347        private static $fieldKeys = array (
    84                 BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'Url' => 1, 'Culture' => 2, 'Title' => 3, 'DirectoryTitle' => 4, 'Screenshot' => 5, 'Thumbnail' => 6, 'Author' => 7, 'AuthorEmail' => 8, 'Description' => 9, 'Settings' => 10, 'Views' => 11, 'Version' => 12, 'Height' => 13, 'Scrolling' => 14, 'UpdatedAt' => 15, ),
    85                 BasePeer::TYPE_COLNAME => array (ApplicationPeer::ID => 0, ApplicationPeer::URL => 1, ApplicationPeer::CULTURE => 2, ApplicationPeer::TITLE => 3, ApplicationPeer::DIRECTORY_TITLE => 4, ApplicationPeer::SCREENSHOT => 5, ApplicationPeer::THUMBNAIL => 6, ApplicationPeer::AUTHOR => 7, ApplicationPeer::AUTHOR_EMAIL => 8, ApplicationPeer::DESCRIPTION => 9, ApplicationPeer::SETTINGS => 10, ApplicationPeer::VIEWS => 11, ApplicationPeer::VERSION => 12, ApplicationPeer::HEIGHT => 13, ApplicationPeer::SCROLLING => 14, ApplicationPeer::UPDATED_AT => 15, ),
    86                 BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'url' => 1, 'culture' => 2, 'title' => 3, 'directory_title' => 4, 'screenshot' => 5, 'thumbnail' => 6, 'author' => 7, 'author_email' => 8, 'description' => 9, 'settings' => 10, 'views' => 11, 'version' => 12, 'height' => 13, 'scrolling' => 14, 'updated_at' => 15, ),
    87                 BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, )
     48                BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'Url' => 1, 'Height' => 2, 'Scrolling' => 3, ),
     49                BasePeer::TYPE_COLNAME => array (ApplicationPeer::ID => 0, ApplicationPeer::URL => 1, ApplicationPeer::HEIGHT => 2, ApplicationPeer::SCROLLING => 3, ),
     50                BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'url' => 1, 'height' => 2, 'scrolling' => 3, ),
     51                BasePeer::TYPE_NUM => array (0, 1, 2, 3, )
    8852        );
    8953
     
    142106                $criteria->addSelectColumn(ApplicationPeer::URL);
    143107
    144                 $criteria->addSelectColumn(ApplicationPeer::CULTURE);
    145 
    146                 $criteria->addSelectColumn(ApplicationPeer::TITLE);
    147 
    148                 $criteria->addSelectColumn(ApplicationPeer::DIRECTORY_TITLE);
    149 
    150                 $criteria->addSelectColumn(ApplicationPeer::SCREENSHOT);
    151 
    152                 $criteria->addSelectColumn(ApplicationPeer::THUMBNAIL);
    153 
    154                 $criteria->addSelectColumn(ApplicationPeer::AUTHOR);
    155 
    156                 $criteria->addSelectColumn(ApplicationPeer::AUTHOR_EMAIL);
    157 
    158                 $criteria->addSelectColumn(ApplicationPeer::DESCRIPTION);
    159 
    160                 $criteria->addSelectColumn(ApplicationPeer::SETTINGS);
    161 
    162                 $criteria->addSelectColumn(ApplicationPeer::VIEWS);
    163 
    164                 $criteria->addSelectColumn(ApplicationPeer::VERSION);
    165 
    166108                $criteria->addSelectColumn(ApplicationPeer::HEIGHT);
    167109
    168110                $criteria->addSelectColumn(ApplicationPeer::SCROLLING);
    169 
    170                 $criteria->addSelectColumn(ApplicationPeer::UPDATED_AT);
    171111
    172112        }
     
    247187                return $results;
    248188        }
     189
     190 
     191  public static function doSelectWithI18n(Criteria $c, $culture = null, $con = null)
     192  {
     193    if ($culture === null)
     194    {
     195      $culture = sfPropel::getDefaultCulture();
     196    }
     197
     198        if ($c->getDbName() == Propel::getDefaultDB())
     199    {
     200      $c->setDbName(self::DATABASE_NAME);
     201    }
     202
     203    ApplicationPeer::addSelectColumns($c);
     204    $startcol = (ApplicationPeer::NUM_COLUMNS - ApplicationPeer::NUM_LAZY_LOAD_COLUMNS) + 1;
     205
     206    ApplicationI18nPeer::addSelectColumns($c);
     207
     208    $c->addJoin(ApplicationPeer::ID, ApplicationI18nPeer::ID);
     209    $c->add(ApplicationI18nPeer::CULTURE, $culture);
     210
     211    $rs = BasePeer::doSelect($c, $con);
     212    $results = array();
     213
     214    while($rs->next()) {
     215
     216      $omClass = ApplicationPeer::getOMClass();
     217
     218      $cls = sfPropel::import($omClass);
     219      $obj1 = new $cls();
     220      $obj1->hydrate($rs);
     221      $obj1->setCulture($culture);
     222
     223      $omClass = ApplicationI18nPeer::getOMClass($rs, $startcol);
     224
     225      $cls = sfPropel::import($omClass);
     226      $obj2 = new $cls();
     227      $obj2->hydrate($rs, $startcol);
     228
     229      $obj1->setApplicationI18nForCulture($obj2, $culture);
     230      $obj2->setApplication($obj1);
     231
     232      $results[] = $obj1;
     233    }
     234    return $results;
     235  }
     236
     237
     238 
     239  public static function getI18nModel()
     240  {
     241    return 'ApplicationI18n';
     242  }
     243
    249244
    250245  static public function getUniqueColumnNames()
  • OpenPNE3/plugins/opOpenSocialPlugin/trunk/lib/model/om/BaseApplicationSetting.php

    r9059 r9069  
    231231                                                                                               
    232232                        if ($this->aApplication !== null) {
    233                                 if ($this->aApplication->isModified()) {
     233                                if ($this->aApplication->isModified() || ($this->aApplication->getCulture() && $this->aApplication->getCurrentApplicationI18n()->isModified())) {
    234234                                        $affectedRows += $this->aApplication->save($con);
    235235                                }
  • OpenPNE3/plugins/opOpenSocialPlugin/trunk/lib/model/om/BaseMemberApplication.php

    r9059 r9069  
    184184
    185185                        if ($this->aApplication !== null) {
    186                                 if ($this->aApplication->isModified()) {
     186                                if ($this->aApplication->isModified() || ($this->aApplication->getCulture() && $this->aApplication->getCurrentApplicationI18n()->isModified())) {
    187187                                        $affectedRows += $this->aApplication->save($con);
    188188                                }
  • OpenPNE3/plugins/opOpenSocialPlugin/trunk/lib/user/Config.class.php

    r9057 r9069  
    2121      'default_js_prefix' => $_SERVER['SCRIPT_NAME'].'/gadgets/js/',
    2222      'default_iframe_prefix' => $_SERVER['SCRIPT_NAME'].'/gadgets/ifr?',
    23      
     23
     24      // The X-XRDS-Location value for your implementing container, if any, see http://code.google.com/p/partuza/source/browse/trunk/Library/XRDS.php for an example
     25      'xrds_location' => '',
     26
     27      // Allow anonymous (READ) access to the profile information? (aka REST and JSON-RPC interfaces)
     28      // setting this to false means you have to be authenticated through OAuth to read the data
     29      'allow_anonymous_token' => true, 
     30
    2431      // The encryption keys for encrypting the security token, and the expiration of it. Make sure these match the keys used in your container/site
    2532      'token_cipher_key' => 'INSECURE_DEFAULT_KEY',
Note: See TracChangeset for help on using the changeset viewer.