选择文件名文件大小最后修改时间操作
[📄] 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
查看 MemberConfigAccessBlock.class.php - 文件管理器
👁 查看:MemberConfigAccessBlock.class.php
路径:/virtual/bigbrother/sns/lib/form/MemberConfigForm/MemberConfigAccessBlock.class.php
大小:3.62 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.
 */

/**
 * MemberConfigAccessBlockForm form.
 *
 * @package    OpenPNE
 * @subpackage form
 * @author     Kousuke Ebihara <ebihara@tejimaya.com>
 */
class MemberConfigAccessBlockForm extends MemberConfigForm
{
  protected
    $category = 'accessBlock',
    $blockedId = array(),
    $blockedRelationshipId = array(),
    $setBlockedId = array();

  public function configure()
  {
    $relations = MemberRelationshipPeer::retrievesByMemberIdFrom($this->member->getId());
    foreach ($relations as $relation)
    {
      if ($relation->getIsAccessBlock())
      {
        $this->blockedId[] = $relation->getMemberIdTo();
        $this->blockedRelationshipId[] = $relation->getId();
      }
    }
  }

  public function saveConfig($name, $value)
  {
    if ($name !== 'access_block')
    {
      return parent::saveConfig($name, $value);
    }

    $value = $this->setBlockedIds;
    $key = 0;
    foreach ($value as $memberId)
    {
      $defaultId = 0;
      if ($key + 1 <= count($this->blockedId))
      {
        $defaultId = $this->blockedId[$key];
      }

      switch ($memberId)
      {
      case '':
        // delete
        if (!$defaultId) break;
        $relationship = MemberRelationshipPeer::retrieveByFromAndTo($this->member->getId(), $defaultId);
        if (!$relationship) break;
        $relationship->setIsAccessBlock(false);
        $relationship->save();
        break;
      case $defaultId:
        // equal
        break;
      default:
        $relationship = MemberRelationshipPeer::retrieveByFromAndTo($this->member->getId(), $memberId);
        // update
        if ($defaultId)
        {
          if (!$relationship)
          {
            $relationship = MemberRelationshipPeer::retrieveByFromAndTo($this->member->getId(), $defaultId);
          }
        }
        // insert
        else
        {
          if (!$relationship)
          {
            $relationship = new MemberRelationship();
            $relationship->setMemberIdFrom($this->member->getId());
          }
        }
        $relationship->setMemberIdTo($memberId);
        $relationship->setIsAccessBlock(true);
        $relationship->save();
      }
      if ($key >= count($this->blockedId)) break;
      $key++;
    }
  }

  public function bind($params)
  {
    $this->setBlockedIds = $params['access_block'];
    return parent::bind($params);
  }

  public function setMemberConfigWidget($name)
  {
    $result = parent::setMemberConfigWidget($name);

    if ($name === 'access_block')
    {
      $this->setDefault($name, $this->blockedId);

      $this->mergePostValidator(new sfValidatorCallback(array(
        'callback'  => array('MemberConfigAccessBlockForm', 'validate'),
        'arguments' => array('ids' => $this->blockedId),
      )));
    }

    return $result;
  }

  public static function validate($validator, $values, $arguments = array())
  {
    $result = array();

    $memberIds = array_merge($arguments['ids'], $values['access_block']);

    if (in_array(sfContext::getInstance()->getUser()->getMemberId(), $memberIds))
    {
      throw new sfValidatorError($validator, 'invalid');
    }

    foreach ($memberIds as $memberId)
    {
      if (!$memberId)
      {
        continue;
      }

      if (!MemberPeer::retrieveByPK($memberId))
      {
        throw new sfValidatorError($validator, 'invalid');
      }

      $result[] = $memberId;
    }

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