Ejemplo n.º 1
0
 /**
  * @param stdClass $oRow
  */
 public function InitByDbRow($oRow)
 {
     $aMap = $this->getMap();
     foreach ($aMap as $sKey => $aTypes) {
         if (isset($aTypes[1]) && property_exists($oRow, $aTypes[1])) {
             if ('password' === $aTypes[0]) {
                 $this->{$sKey} = api_Utils::DecodePassword($oRow->{$aTypes[1]});
             } else {
                 if ('datetime' === $aTypes[0]) {
                     $iDateTime = 0;
                     $aDateTime = api_Utils::DateParse($oRow->{$aTypes[1]});
                     if (is_array($aDateTime)) {
                         $iDateTime = gmmktime($aDateTime['hour'], $aDateTime['minute'], $aDateTime['second'], $aDateTime['month'], $aDateTime['day'], $aDateTime['year']);
                         if (false === $iDateTime || $iDateTime <= 0) {
                             $iDateTime = 0;
                         }
                     }
                     $this->{$sKey} = $iDateTime;
                 } else {
                     if ('serialize' === $aTypes[0]) {
                         $this->{$sKey} = '' === $oRow->{$aTypes[1]} || !is_string($oRow->{$aTypes[1]}) ? '' : unserialize($oRow->{$aTypes[1]});
                     } else {
                         $this->{$sKey} = $oRow->{$aTypes[1]};
                     }
                 }
             }
             $this->FlushObsolete($sKey);
         }
     }
 }