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

Changeset 9880


Ignore:
Timestamp:
Jan 4, 2009, 9:51:53 PM (11 years ago)
Author:
ebihara
Message:

#3270:added ability to handle inviting by the authentication plugins

Location:
OpenPNE3/trunk
Files:
3 added
7 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE3/trunk/apps/pc_frontend/modules/member/actions/actions.class.php

    r9760 r9880  
    113113  public function executeInvite($request)
    114114  {
     115    if (!$this->getUser()->getAuthAdapter()->getAuthConfig('invite_mode'))
     116    {
     117      return sfView::ERROR;
     118    }
     119
    115120    $this->form = new InviteForm();
    116121    $this->form->setOption('is_link', true);
  • OpenPNE3/trunk/apps/pc_frontend/templates/_partsLogin.php

    r8548 r9880  
    1414</form>
    1515
     16<?php if ($form->getAuthAdapter()->getAuthConfig('invite_mode') == 2) : ?>
     17<?php echo link_to('新規登録', $form->getAuthAdapter()->getAuthConfig('self_invite_action')) ?>
     18<?php endif; ?>
     19
    1620<?php include_customizes($id, 'bottom') ?>
    1721
  • OpenPNE3/trunk/lib/config/config/config_handlers.yml

    r9758 r9880  
    99config/mobile_mail_domain.yml:
    1010  class: sfSimpleYamlConfigHandler
     11
     12config/auth.yml:
     13  class: sfSimpleYamlConfigHandler
  • OpenPNE3/trunk/lib/config/sfOpenPNEApplicationConfiguration.class.php

    r9782 r9880  
    6767  }
    6868
     69  public function getEnabledAuthPlugin()
     70  {
     71    $list = $this->getPlugins();
     72    $result = array();
     73
     74    foreach ($list as $value)
     75    {
     76      if (!strncmp($value, 'opAuth', 6))
     77      {
     78        $result[] = $value;
     79      }
     80    }
     81
     82    return $result;
     83  }
     84
    6985  public function isPluginExists($pluginName)
    7086  {
  • OpenPNE3/trunk/lib/model/SnsConfigPeer.php

    r9632 r9880  
    2424    return ($config) ? $config->getValue() : $default;
    2525  }
     26
     27  public static function set($name, $value)
     28  {
     29    $config = self::retrieveByName($name);
     30    if (!$config)
     31    {
     32      $config = new SnsConfig();
     33      $config->setName($name);
     34    }
     35    $config->setValue($value);
     36    return $config->save();
     37  }
    2638}
  • OpenPNE3/trunk/lib/user/opAuthAdapter.class.php

    r9727 r9880  
    3434  }
    3535
     36  public function getAuthConfigSettings($name = '')
     37  {
     38    if (!sfConfig::has('op_auth_'.$this->getAuthModeName()))
     39    {
     40      // default
     41      $configPath = 'lib/config/config/auth.yml';
     42      $default = include(sfContext::getInstance()->getConfigCache()->checkConfig($configPath));
     43
     44      // plugins
     45      $configPath = sfConfig::get('sf_plugins_dir').'/opAuth'.$this->getAuthModeName().'Plugin/config/auth.yml';
     46      if (is_readable($configPath))
     47      {
     48        $plugins = sfYaml::load($configPath);
     49      }
     50      else
     51      {
     52        $plugins = array();
     53      }
     54
     55      sfConfig::set('op_auth_'.$this->getAuthModeName(), sfToolkit::arrayDeepMerge($default, $plugins));
     56    }
     57
     58    $configs = sfConfig::get('op_auth_'.$this->getAuthModeName());
     59    if (!$name)
     60    {
     61      return $configs;
     62    }
     63    elseif (!empty($configs[$name]))
     64    {
     65      return $configs[$name];
     66    }
     67
     68    return null;
     69  }
     70
     71  public function getAuthConfig($name)
     72  {
     73    $setting = $this->getAuthConfigSettings($name);
     74    if (!$setting)
     75    {
     76      return null;
     77    }
     78
     79    if (!isset($setting['Default']))
     80    {
     81      $setting['Default'] = null;
     82    }
     83
     84    if (isset($setting['IsConfig']) && !$setting['IsConfig'])
     85    {
     86      return $setting['Default'];
     87    }
     88
     89    return SnsConfigPeer::get('op_auth_'.$this->authModeName.'_plugin_'.$name, $setting['Default']);
     90  }
     91
     92  public function setAuthConfig($name, $value)
     93  {
     94    $setting = $this->getAuthConfigSettings($name);
     95    if (!$setting)
     96    {
     97      return null;
     98    }
     99
     100    if (isset($setting['IsConfig']) && !$setting['IsConfig'])
     101    {
     102      return false;
     103    }
     104
     105    return SnsConfigPeer::set('op_auth_'.$this->authModeName.'_plugin_'.$name, $value);
     106  }
     107
    36108  public function getAuthForm()
    37109  {
     
    50122
    51123    $formClass = self::getAuthLoginFormClassName($this->authModeName);
     124    if (class_exists($formClass))
     125    {
     126      $form = new $formClass($this);
     127    }
     128
     129    return $form;
     130  }
     131
     132  public function getAuthConfigForm()
     133  {
     134    $form = null;
     135
     136    $formClass = self::getAuthConfigFormClassName($this->authModeName);
    52137    if (class_exists($formClass))
    53138    {
     
    105190  }
    106191
     192  public static function getAuthConfigFormClassName($authMode)
     193  {
     194    return 'opAuthConfigForm'.ucfirst($authMode);
     195  }
     196
    107197 /**
    108198  * @deprecated
  • OpenPNE3/trunk/lib/user/sfOpenPNESecurityUser.class.php

    r9812 r9880  
    3838  public function getAuthModes()
    3939  {
    40     return OpenPNEConfig::get(sfConfig::get('sf_app').'_auth_mode');
     40    $is_mobile = sfConfig::get('app_is_mobile', false);
     41    $plugins = sfContext::getInstance()->getConfiguration()->getEnabledAuthPlugin();
     42
     43    $result = array();
     44
     45    foreach ($plugins as $pluginName)
     46    {
     47      $endPoint = strlen($pluginName) - strlen('opAuth') - strlen('Plugin');
     48      $authMode = substr($pluginName, strlen('opAuth'), $endPoint);
     49
     50      $adapterClass = self::getAuthAdapterClassName($authMode);
     51      $adapter = new $adapterClass($authMode);
     52      if (($is_mobile && !$adapter->getAuthConfig('enable_mobile'))
     53        || (!$is_mobile && !$adapter->getAuthConfig('enable_pc')))
     54      {
     55        continue;
     56      }
     57
     58      $result[] = $authMode;
     59    }
     60
     61    return $result;
    4162  }
    4263
     
    5980      $adapterClass = self::getAuthAdapterClassName($authMode);
    6081      $adapter = new $adapterClass($authMode);
    61       $result[] = $adapter->getAuthForm();
     82      $result[$authMode] = $adapter->getAuthForm();
    6283    }
    6384
Note: See TracChangeset for help on using the changeset viewer.