delete("user_access_tokens") ->where("id", "=", $user->id) ->execute(); } /** * Called after a user has been added. Just add a remote access key * on every add. */ static function user_add_form_admin_completed($user, $form) { $key = ORM::factory("user_access_token"); $key->user_id = $user->id; $key->access_key = md5($user->name . rand()); $key->save(); } /** * Called when admin is editing a user */ static function user_edit_form_admin($user, $form) { self::_get_access_key_form($user, $form); } /** * Called when user is editing their own form */ static function user_edit_form($user, $form) { self::_get_access_key_form($user, $form); } /** * Get the form fields for user edit */ static function _get_access_key_form($user, $form) { $key = ORM::factory("user_access_token") ->where("user_id", "=", $user->id) ->find(); if (!$key->loaded()) { $key->user_id = $user->id; $key->access_key = md5($user->name . rand()); $key->save(); } $form->edit_user->input("user_access_token") ->value($key->access_key) ->readonly("readonly") ->class("g-form-static") ->label(t("Remote access key")); } }