diff --git a/users/users.php b/users/users.php new file mode 100755 index 0000000..157fb04 --- /dev/null +++ b/users/users.php @@ -0,0 +1,23 @@ + + + Api - users + 1.0 + April 2012 + Tekdi + support@tekdi.com + http://www.tekdi.com + 2012 users + GNU General Public License v2 + This plugin exposes users to the Joomla! API + + + users.php + users/users.php + users + + diff --git a/users/users/users.php b/users/users/users.php new file mode 100755 index 0000000..9b102cc --- /dev/null +++ b/users/users/users.php @@ -0,0 +1,186 @@ +1,"fieldname"=>"email","message"=>"Email cannot be blank"); + } elseif( false == $this->isValidEmail( $data['email'] ) ) { + $validated = false; + $error_messages[] = array("id"=>1,"fieldname"=>"email","message"=>"Please set valid email id eg.(example@gmail.com). Check 'email' field in request"); + + }else + { + //check mail is registerd + $isemail =& CFactory::getModel('register'); + $found = $isemail->isEmailExists(array('email'=>$data['email'] )); + if($found) + { + $validated = false; + $error_messages[] = array("id"=>1,"fieldname"=>"email","message"=>"email already exist and user is registered"); + } + } + + if( $data['password1']=="" ) + { + $validated = false; + $error_messages[] = array("id"=>1,"fieldname"=>"password","message"=>"Password cannot be blank"); + } + + if( $data['name']=="" or $data['username1']=="" ) + { + $validated = false; + $error_messages[] = array("id"=>1,"fieldname"=>"name","message"=>"Name cannot be blank"); + } + + if( true == $validated) + { //to create new user for joomla + + global $message; + jimport('joomla.user.helper'); + $authorize = & JFactory::getACL(); + $user = clone(JFactory::getUser()); + $user->set('username', $data['username1']); + $user->set('password', $data['password1'] ); + $user->set('name', $data['name']); + $user->set('email', $data['email']); + + // password encryption + $salt = JUserHelper::genRandomPassword(32); + $crypt = JUserHelper::getCryptedPassword($user->password, $salt); + $user->password = "$crypt:$salt"; + + // user group/type + $user->set('id', ''); + $user->set('usertype', 'Registered'); + if(JVERSION >= '1.6.0') + { + $userConfig = JComponentHelper::getParams('com_users'); + // Default to Registered. + $defaultUserGroup = $userConfig->get('new_usertype', 2); + $user->set('groups', array($defaultUserGroup)); + } + else + $user->set('gid', $authorize->get_group_id( '', 'Registered', 'ARO' )); + + $date =& JFactory::getDate(); + $user->set('registerDate', $date->toMySQL()); + + // true on success, false otherwise + if(!$user->save()) + { + $message="not created because of ".$user->getError(); + return false; + } + else + { + $message="created of username-".$user->username." and send mail of details please check"; + + } + //$this->plugin->setResponse($user->id); + $userid = $user->id; + //create profile + $profileModel =& CFactory::getModel('profile'); + $val = $profileModel->saveProfile($userid, $fields); + //result message + $result = array('user id '=>$userid,'message'=>$message); + $result =($userid) ? $result : $message; + + $this->plugin->setResponse($result); + + + } + else + { + + $this->plugin->setResponse($error_messages);//print_r($error_messages); die("validate mail2222"); + } + + + + } + + public function put() + { + $data = JRequest::get('post'); + + //for rest api only + unset($data['format']); + unset($data['resource']); + unset($data['app']); + unset($data['password']); + unset($data['username']); + // + $userid = $data['userid']; + $fields = $data['field']; + + print_r($data);die; + + + $this->plugin->setResponse( "in the put method" ); + } + + public function delete() + { + $this->plugin->setResponse( "in the delete method" ); + } + + function isValidEmail( $email ) + { + $pattern = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"; + + if ( eregi( $pattern, $email ) ) + { + return true; + } else { + return false; + } + } + +} diff --git a/users/users/users_delete.php b/users/users/users_delete.php new file mode 100755 index 0000000..c955ba1 --- /dev/null +++ b/users/users/users_delete.php @@ -0,0 +1,73 @@ +setQuery($query); + //$data1 = $db->loadResult(); + if (!$db->query()) + { + $this->setError( $db->getErrorMsg() ); + return false; + } + else + { + $this->plugin->setResponse( "User of id = ".$userid." deleted" ); + } + + + } + + +} diff --git a/users/users/users_update.php b/users/users/users_update.php new file mode 100755 index 0000000..5f319e4 --- /dev/null +++ b/users/users/users_update.php @@ -0,0 +1,143 @@ +1,"fieldname"=>"email","message"=>"Email cannot be blank"); + } elseif( false == $this->isValidEmail( $data['email'] ) ) { + $validated = false; + $error_messages[] = array("id"=>1,"fieldname"=>"email","message"=>"Please set valid email id eg.(example@gmail.com). Check 'email' field in request"); + + } + + if( $data['pass_word']=="" ) + { + $validated = false; + $error_messages[] = array("id"=>1,"fieldname"=>"password","message"=>"Password cannot be blank"); + } + + if( $data['name']=="" or $data['username1']=="" ) + { + $validated = false; + $error_messages[] = array("id"=>1,"fieldname"=>"name","message"=>"Name cannot be blank"); + } + + if( true == $validated) + { + //to update user for joomla + global $message; + jimport('joomla.user.helper'); + $authorize = & JFactory::getACL(); + $user = clone(JFactory::getUser()); + + $user->set('id', $data['userid']); + $user->set('username', $data['username1']); + $user->set('password', $data['pass_word'] ); + $user->set('name', $data['name']); + $user->set('email', $data['email']); + + // password encryption + $salt = JUserHelper::genRandomPassword(32); + $crypt = JUserHelper::getCryptedPassword($user->password, $salt); + $user->password = "$crypt:$salt"; + + // true on success, false otherwise + if(!$user->save()) + { + $message="not created because of ".$user->getError(); + return false; + } + else + { + $message="username-".$user->username." is updated"; + + } + + if(isset($data['field'])) + { + $fields = $data['field']; + //to access model function + $profileModel =& CFactory::getModel('profile'); + //using update function + foreach($fields as $id=>$value) + { + //to get fieldcode + $fieldcode = $profileModel->getFieldCode($id); + $profileModel->updateUserData( $fieldcode , $userid , $value ); + + } + //using saveprofile function + //$val = $profileModel->saveProfile($userid, $fields); + //$userid = $user->id; + } + $result = array('user id '=>$userid,'message'=>$message); + $result =($userid) ? $result : $message; + + $this->plugin->setResponse($result); + + } + else + { + $this->plugin->setResponse($error_messages);//print_r($error_messages); die("validate mail2222"); + } + + } + + function isValidEmail( $email ) + { + $pattern = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"; + + if ( eregi( $pattern, $email )) { + return true; + } else { + return false; + } + } + +}