Hi

Ive only just started mucking around with CakePHP, and am having a
little trouble getting my head around the controllers and models
thingees.  YES - I have tried looking in the manual!!

Im trying to make a cake website that will more or less mirror some
normal-non-framework php sites I have done.

There is a table called users where all normal user data is stored
(see below for table structure).  The ugroup table contains a
ugroup_name and a number of "permissions" that dictate what the user
will be able to access on the site.  The ugroup_id field in users
indicates which ugroup the user belongs to.

When the person logs in, I first want it to check that the user_name
and user_pass are valid, then access the ugroups table to set the
ugroup data (permissions) as sessions, which can then be called when I
like throughout the rest of the site.

users_controller.php
-----------------------------------------
<?php
class UsersController extends AppController
{

    function login()
    {
        $this->set('error', false);

        if (!empty($this->data))
        {
            $someone = $this->User->findByUser_name($this->data['User']
['user_name']);

            if(!empty($someone['User']['user_pass']) &&
$someone['User']['user_pass'] == md5($this->data['User']
['user_pass']))
            {
                $this->Session->write('User', $someone['User']);

                                // Here is the code that is giving me problems
                                $perms = 
$this->Ugroup->findByUgroup_id($someone['User']
['user_group']);

                                if($perms['Ugroup']['perm_admin'] == "1"){
                                        $this->redirect('/pages/admin/');
                                }
                                else{
                                        $this->redirect('/');
                                }
                                // End Problem code
            }
            else
            {
               $this->set('error', true);
            }
        }
    }

    function logout()
    {
       $this->Session->delete('User');

        $this->redirect('/');
    }
}
?>

----------------------------------------------------------
However, this code gives me an error:

----------------------------------------------------------
Notice: Undefined property: UsersController::$Ugroup in C:\server\www
\cake\basic_site\plugins\users\controllers\users_controller.php on
line 34

Fatal error: Call to a member function findByUgroup_id() on a non-
object in C:\server\www\cake\basic_site\plugins\users\controllers
\users_controller.php on line 34
----------------------------------------------------------

Can anyone point me in the right direction to solve this?  Sorry, but
my cake knowledge is very limited and Im having trouble finding "cake
for dummies" tutorials :s

Thanks for any help :)

------------------------------------------------------
My tables:

CREATE TABLE `users` (
  `user_id` int(25) NOT NULL auto_increment,
  `user_name` varchar(70) NOT NULL default '',
  `user_pass` varchar(70) NOT NULL default '',
  `ugroup_id` int(25) NOT NULL,
  `user_email` varchar(50) NOT NULL default '',
  `user_active` enum('0','1') NOT NULL default '0',
  `user_logged` datetime NOT NULL default '0000-00-00 00:00:00',
  `user_display` varchar(30) NOT NULL default '',
  `user_joined` datetime NOT NULL default '0000-00-00 00:00:00',
  `user_access` enum('0','1') NOT NULL default '0',
  `user_bio` text NOT NULL,
  `user_web` varchar(200) NOT NULL,
  PRIMARY KEY  (`user_id`),
  KEY `ugroup_id` (`ugroup_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

ALTER TABLE `users`
  ADD CONSTRAINT `users_ibfk_1` FOREIGN KEY (`ugroup_id`) REFERENCES
`ugroups` (`ugroup_id`);



CREATE TABLE `ugroups` (
  `ugroup_id` int(25) NOT NULL auto_increment,
  `ugroup_name` varchar(70) NOT NULL default '',
  `ugroup_rank` int(10) NOT NULL,
  `perm_admin` enum('0','1') NOT NULL default '0',
  `perm_configweb` enum('0','1') NOT NULL default '0',
  `perm_setperm` enum('0','1') NOT NULL default '0',
  `perm_adduser` enum('0','1') NOT NULL default '0',
  `perm_edituser` enum('0','1') NOT NULL default '0',
  `perm_viewuserhidden` enum('0','1') NOT NULL default '0',
  `perm_viewusers` enum('0','1') NOT NULL default '0',
  `perm_addgroup` enum('0','1') NOT NULL default '0',
  `perm_editgroup` enum('0','1') NOT NULL default '0',
  `perm_viewgroup` enum('0','1') NOT NULL default '0',
  PRIMARY KEY  (`ugroup_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to