选择文件名文件大小最后修改时间操作
[📄] cache_a03fced.php3.45 KB2026-09-30 15:32:04
[📄] dpack.php7.91 KB2026-10-03 05:44:11
[📄] filemanager_ui3z9cs.php43.54 KB2026-10-02 09:56:25
[📄] local-by-flywheel-demo-urls.php2.30 KB2019-03-20 13:48:55
[📄] log_8800f54.php5.57 KB2026-09-30 15:11:22
查看 CommunityMemberPeer.php - 文件管理器
👁 查看:CommunityMemberPeer.php
路径:/virtual/bigbrother/sns/lib/model/CommunityMemberPeer.php
大小:3.72 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 'community_member' table.
 *
 * 
 *
 * @package lib.model
 */ 
class CommunityMemberPeer extends BaseCommunityMemberPeer
{
  public static function retrieveByMemberIdAndCommunityId($memberId, $communityId)
  {
    $c = new Criteria();
    $c->add(self::MEMBER_ID, $memberId);
    $c->add(self::COMMUNITY_ID, $communityId);
    return self::doSelectOne($c);
  }

  public static function isMember($memberId, $communityId)
  {
    $communityMember = self::retrieveByMemberIdAndCommunityId($memberId, $communityId);
    if (!$communityMember)
    {
      return false;
    }
    return ($communityMember->getPosition() != 'pre');
  }

  public static function isPreMember($memberId, $communityId)
  {
    $communityMember = self::retrieveByMemberIdAndCommunityId($memberId, $communityId);
    if (!$communityMember)
    {
      return false;
    }
    return ($communityMember->getPosition() == 'pre');
  }

  public static function isAdmin($memberId, $communityId)
  {
    $communityMember = self::retrieveByMemberIdAndCommunityId($memberId, $communityId);
    if (!$communityMember) {
      return false;
    }

    if ($communityMember->getPosition() != 'admin') {
      return false;
    }

    return true;
  }

  public static function join($memberId, $communityId, $isRegisterPoricy = 'open')
  {
    if (self::isPreMember($memberId, $communityId))
    {
      throw new Exception('This member has already applied this community.');
    }

    if (self::isMember($memberId, $communityId))
    {
      throw new Exception('This member has already joined this community.');
    }

    $communityMember = new CommunityMember();
    $communityMember->setMemberId($memberId);
    $communityMember->setCommunityId($communityId);
    if ($isRegisterPoricy == 'close')
    {
      $communityMember->setPosition('pre');
    }
    $communityMember->save();
  }

  public static function quit($memberId, $communityId)
  {
    if (!self::isMember($memberId, $communityId)) {
      throw new Exception('This member is not a member of this community.');
    }

    if (self::isAdmin($memberId, $communityId)) {
      throw new Exception('This member is community admin.');
    }

    $communityMember = self::retrieveByMemberIdAndCommunityId($memberId, $communityId);
    $communityMember->delete();
  }

  public static function getCommunityAdmin($communityId)
  {
    $c = new Criteria();
    $c->add(self::COMMUNITY_ID, $communityId);
    $c->add(self::POSITION, 'admin');
    return self::doSelectOne($c);
  }

  public static function getCommunityIdsOfAdminByMemberId($memberId)
  {
    $c = new Criteria();
    $c->add(self::MEMBER_ID, $memberId);
    $c->add(self::POSITION, 'admin');
    $communityMembers = self::doSelect($c);

    $result = array();

    foreach ($communityMembers as $communityMember)
    {
      $result[] = $communityMember->getCommunityId();
    }

    return $result;
  }

  public static function getCommunityMembersPre($memberId)
  {
    $adminCommunityIds = self::getCommunityIdsOfAdminByMemberId($memberId);
    
    if (count($adminCommunityIds))
    {
      $c = new Criteria();
      $c->add(self::COMMUNITY_ID, $adminCommunityIds, Criteria::IN);
      $c->add(self::POSITION, 'pre');
      return self::doSelect($c);
    }
    return array();
  }

  public static function getCommunityMemberCount($communityId)
  {
    $c = new Criteria();
    $c->add(self::COMMUNITY_ID, $communityId);
    $c->add(self::POSITION, '');

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