sess_id = $sess_id; $this->user_obj = new cobject( $this->obj_name ); $this->sess_obj = new cobject( 'shop_user_sessions' ); $db2 = $this->sess_obj->getDB()->q( $this->sess_obj->getSelect( ' AND `session_id` = "'.db_escape_string( $sess_id ).'" AND `shop_user_id` ' ) ); if ( $db2->nr() ) { $this->_intAuth($db2->f('shop_user_id')); } else { $this->is_login = false; } } function _intAuth( $user_id ) { global $core_db; $this->user_obj->byId($user_id); if ($this->user_obj->id && !$this->user_obj->get('_sys_disabled') ) { $this->is_login = true; $this->user_id = $user_id; if ( $this->user_obj->get('grp') ) { $this->user_grps = explode( ',', $this->user_obj->get('grp') ); foreach ( $this->user_grps as $v ) { $grpobj = new cobject('shop_users_grp_'.$v); $db3 = $grpobj->getDB()->q( $grpobj->getSelect( ' AND `shop_user` = "'.$this->user_id.'"' ) ); if ( $db3->nr() ) { $this->grp_data[$v] = $db3->lastRow; } else { $grpobj->set('shop_user', $this->user_id); $grpobj->save(); } } } $pcobj = new cobject('shop_price_columns'); $pcobj->byId($this->user_obj->get('price_column')); if ( $pcobj->get('attr_name') ) { $this->my_price = $pcobj->get('attr_name'); $this->my_discount = $pcobj->get('skidka_pr'); $this->my_price_name = $pcobj->get('title'); } } else { $this->do_logout(); } } function addToGrp( $grp_id ) { $grps = explode(',', $this->user_obj->get('grp')); $grps = array_diff( $grps, array('')); $grps[] = $grp_id; $this->user_obj->set('grp',implode(',',$grps)); $this->user_obj->save(); } function do_login( $user_id ) { $this->do_logout(); $this->sess_obj->set('session_id', session_id() ); $this->sess_obj->set('shop_user_id', $user_id ); $this->sess_obj->save(); $this->_intAuth($user_id); } function do_logout() { $this->sess_obj->getDB()->q( 'DELETE FROM `shop_user_sessions` WHERE `session_id` = "' . db_escape_string(session_id()) . '" ' ); $this->is_login = false; $this->user_obj->byId( 0 ); $this->user_id = 0; } } ?>