Image::imageResize($img[Image::$URL],200,200,100,['crop'=>'center']), 'name' => trim((string)\Profile::$data[\Profile::$NAME]), 'sname' => trim((string)\Profile::$data[\Profile::$SNAME]), 'email' => trim((string)\Profile::$data[\Profile::$LOGIN]), ]; } static function getMyCardCount(){ return self::getCardCount(PID); } static function getCardCount($pid){ $res = 0; $pid = intval($pid); if($pid) { $r = Card::select([ \Query::SELECT => ['COUNT('.Card::$ID.') as cc'], \Query::WHERE => new \Where(\Where::_operator(Card::$PROFILE,'=',$pid)) ]); $l = \db::fetch($r); $res = intval($l['cc']); } return $res; } static function getMyBuyRules(){ if(!IF_PROFILE) return []; if(self::$buy_rules) return self::$buy_rules; $r = Buy::select([ \Query::WHERE => new \Where(\Where::_and([ \Where::_operator(Buy::$PROFILE,'=',PID) ])) ]); while($l = \DB::fetch($r)){ self::$buy_rules[] = $l[Buy::$RULE]; } return self::$buy_rules; } static function isExpire($profile){ return ($profile[self::$EXPIRE] ['SUM('.Balance::$VALUE.') as cc'], \Query::WHERE => new \Where( \Where::_operator(Balance::$PROFILE,'=',$pid) ) ]); $l = \DB::fetch($r); $balance = cfloatval($l['cc']); Profile::updateById($pid,[ Profile::$BALANCE => $balance, ]); } } static function init(){ $PID = \Profile::$data[\Profile::$ID]; self::$data = self::getOneEqualByColumn(self::$ID,$PID); if(!self::$data){ $profile = [ self::$ID => $PID, ]; switch (Mstome::$TYPE){ case eMstomeType::MSTOME: $profile[Profile::$SALE] = 10; $profile[Profile::$SALE_TIME] = time()+24*60*60*1; break; case eMstomeType::CNTCTME: $profile[Profile::$SALE] = 0; $profile[Profile::$SALE_TIME] = 0; $profile[Profile::$BALANCE] = 0; break; } self::insert($profile); self::$data = self::getOneEqualByColumn(self::$ID,$PID); switch (Mstome::$TYPE){ case eMstomeType::MSTOME: break; case eMstomeType::CNTCTME: Balance::insert([ Balance::$VALUE => 19, Balance::$PROFILE => $PID, Balance::$IS_BONUS => 1, ]); self::mathProfile($PID); break; } } } public static function installUniques() { \DB::addIndex(self::$table_name,self::$ID); } static function columnInfo() : array { return [ new C([ C::VAR_NAME =>&self::$ID, C::TYPE =>eColumnType::INT, C::PRIMARY =>true, C::DEFAULT =>0, C::HIDDEN =>true, ]), new C([ C::VAR_NAME => &self::$BALANCE, C::TYPE => eColumnType::DOUBLE, C::LENGTH => '10,2', C::DEFAULT => 0, ]), new C([ C::VAR_NAME => &self::$EXPIRE, C::TYPE => eColumnType::DATE, ]), new C([ C::VAR_NAME => &self::$SALE, C::TYPE => eColumnType::INT, C::DEFAULT => 10 ]), new C([ C::VAR_NAME => &self::$SALE_TIME, C::TYPE => eColumnType::INT, C::DEFAULT => time()+24*60*60*1 ]), new C([ C::VAR_NAME => &self::$MAX_PROFILE, C::TYPE => eColumnType::INT, C::DEFAULT => 1, ]), new C([ C::VAR_NAME => &self::$VIP, C::TYPE => eColumnType::TINYINT, C::DEFAULT => 0, ]), ]; } } new Profile();