👁 查看:MemberConfigPeer.php
路径:/virtual/bigbrother/sns/lib/model/MemberConfigPeer.php
大小:2.09 KB · 修改:2010-08-10 13:59:42 · 权限:0644 · 可写
<?php

/**
 * This file is part of the OpenPNE package.
 * (c) OpenPNE Project (http://www.openpne.jp/)
 *
 * For the full copyright and license information, please view the LICENSE
 * file and the NOTICE file that were distributed with this source code.
 */

/**
 * Subclass for performing query and update operations on the 'member_config' table.
 *
 * 
 *
 * @package lib.model
 */ 
class MemberConfigPeer extends BaseMemberConfigPeer
{
  static protected $results;

  public static function retrieveByNameAndMemberId($name, $memberId, $force = false)
  {
    $results = self::getResultsByMemberId($memberId, $force);
    return (isset($results[$name])) ? $results[$name] : null;
  }

  public static function retrieveByNameAndValue($name, $value)
  {
    $c = new Criteria();
    $c->add(self::NAME, $name);
    $c->add(self::VALUE, $value);
    return self::doSelectOne($c);
  }

  public static function retrievesByName($name)
  {
    $c = new Criteria();
    $c->add(self::NAME, $name);
    return self::doSelect($c);
  }

  public static function deleteDuplicatedPre($memberId, $name, $value)
  {
    $memberConfig = self::retrieveByNameAndMemberId($name.'_pre', $memberId);
    if ($memberConfig) {
      $memberConfig->delete();
    }

    $memberConfigSettings = sfConfig::get('openpne_member_config');
    if ($memberConfigSettings[$name]['IsUnique']) {
      $memberConfigs = self::retrievesByName($name.'_pre');
      foreach ($memberConfigs as $config) {
        if ($value === $config->getValue()) {
          if (!$config->getMember()->getIsActive()) {
            $config->getMember()->delete();
          }
          $config->delete();
        }
      }
    }
  }

  static protected function getResultsByMemberId($memberId, $force = false)
  {
    if (!isset(self::$results[$memberId]) || $force)
    {
      $criteria = new Criteria();
      $criteria->add(self::MEMBER_ID, $memberId);

      self::$results[$memberId] = array();
      foreach (self::doSelect($criteria) as $object)
      {
        self::$results[$memberId][$object->getName()] = $object;
      }
    }

    return self::$results[$memberId];
  }
}
ページが見つかりませんでした – Lumiere Shop
ここを指しているリンクに誤りがあったようです。検索してみるのはいかがですか ?
お買い物カゴ