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

Changeset 10081


Ignore:
Timestamp:
Jan 11, 2009, 2:49:47 PM (11 years ago)
Author:
ebihara
Message:

#3432:grouped redundancy fragments are retriving values of member's profile options

File:
1 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE3/trunk/lib/model/MemberProfile.php

    r10080 r10081  
    1111class MemberProfile extends BaseMemberProfileNestedSet
    1212{
    13   private $name;
    14   private $caption;
     13  protected
     14    $name,
     15    $caption;
    1516
    1617  public function __toString()
    1718  {
    18     if ($this->getProfile()->getFormType() === 'date')
     19    if ('date' !== $this->getFormType())
    1920    {
    20       return (string)$this->getValue();
    21     }
    22 
    23     if ($this->hasChildren())
    24     {
    25       $pieces = array();
    26       $children = $this->getChildren();
    27 
    28       foreach ($children as $child)
     21      if ($this->getProfileOptionId())
    2922      {
    30         if ($child->getProfileOptionId())
    31         {
    32           $option = ProfileOptionPeer::retrieveByPk($child->getProfileOptionId());
    33           $pieces[] = $option->getValue();
    34         }
     23        $option = ProfileOptionPeer::retrieveByPk($this->getProfileOptionId());
     24        return (string)$option->getValue();
    3525      }
    3626
    37       return implode(', ', $pieces);
    38     }
    39 
    40     if ($this->getProfileOptionId())
    41     {
    42       $option = ProfileOptionPeer::retrieveByPk($this->getProfileOptionId());
    43       return (string)$option->getValue();
     27      $children = $this->getChildrenValues();
     28      if ($children)
     29      {
     30        return implode(', ', $children);
     31      }
    4432    }
    4533
     
    4937  public function getValue()
    5038  {
    51     if ($this->getProfile()->getFormType() === 'date' && !$this->isRoot())
     39    if ('date' !== $this->getFormType() && $this->getProfileOptionId())
    5240    {
    53       return parent::getValue();
     41      return $this->getProfileOptionId();
    5442    }
    5543
    56     if ($this->hasChildren())
     44    $children = $this->getChildrenValues();
     45    if ($children)
    5746    {
    58       $children = $this->getChildren();
    59       $value = array();
    60       foreach ($children as $child)
    61       {
    62         if ($child->getProfile()->getFormType() === 'date')
    63         {
    64           $value[] = $child->getValue();
    65         }
    66         elseif ($child->getProfileOptionId())
    67         {
    68           $option = ProfileOptionPeer::retrieveByPk($child->getProfileOptionId());
    69           $value[] = $option->getValue();
    70         }
    71       }
    72 
    73       if ($this->getProfile()->getFormType() === 'date' && $this->isRoot())
     47      if ('date' === $this->getFormType())
    7448      {
    7549        $obj = new DateTime();
    76         $obj->setDate($value[0], $value[1], $value[2]);
     50        $obj->setDate($children[0], $children[1], $children[2]);
    7751        return $obj->format('Y-m-d');
    7852      }
    79 
    80       return $value;
    81     }
    82     if ($this->getProfileOptionId())
    83     {
    84       return $this->getProfileOptionId();
     53      return $children;
    8554    }
    8655
     
    8857  }
    8958
     59  protected function getChildrenValues()
     60  {
     61    $values = array();
     62
     63    if ($this->hasChildren())
     64    {
     65      $children = $this->getChildren();
     66      foreach ($children as $child)
     67      {
     68        if ('date' === $child->getFormType())
     69        {
     70          $values[] = $child->getValue();
     71        }
     72        elseif ($child->getProfileOptionId())
     73        {
     74          $option = ProfileOptionPeer::retrieveByPk($child->getProfileOptionId());
     75          $values[] = $option->getValue();
     76        }
     77      }
     78    }
     79
     80    return $values;
     81  }
     82
     83  public function getFormType()
     84  {
     85    return $this->getProfile()->getFormType();
     86  }
     87
    9088  public function hydrateProfiles($row)
    9189  {
    92     try {
     90    try
     91    {
    9392      $col = parent::hydrate($row);
    9493      $this->name = $row[$col+0];
    9594      $this->caption = $row[$col+1];
    96     } catch (Exception $e) {
     95    }
     96    catch (Exception $e)
     97    {
    9798      throw new PropelException("Error populating MemberProfile object", $e);
    9899    }
Note: See TracChangeset for help on using the changeset viewer.