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

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

#3119:added ApplicationI18n, changed Application

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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}
Note: See TracChangeset for help on using the changeset viewer.