Choose your database:
AnySQL
MySQL
MS SQL Server
PostgreSQL
SQLite
Firebird
Oracle
SQL Anywhere
DB2
MaxDB

Subscribe to our news:
Partners
Testimonials
David Lantz: "Thank you, this is by far the simplest, and most friendly utility for building db record system I have ever used. I wish I could get my systems guys at the office to purchase this for our company would be so very helpful and speed up a lot of work. I for one have used it for everything from a simple inventory record of my house, to a members record for my church just little pet projects and a test bed to test my own db builds and theories before having to hand code at the office..... it is a lot of fun to work with".
Dionys Henzen: "Congratulations! Your MySQL PHP Generator is a great tool, that can save a lot of time and money to a developer! I'll evaluate for sure your software products when I need them. Great job".

More

Add your opinion

PHP Generator for MySQL online Help

Prev Return to chapter overview Next

OnGetCustomPagePermissions

This event allows you to customize page-level permissions.

 

Signature:

function OnGetCustomPagePermissions($page, &$permissions, &$handled)

 

Parameters:

$page

An instance of the Page class.

$permissions

Permissions to be applied to the page. An instance of the PermissionSet class.

$handled

A parameter to indicate whether the new permissions should be applied. Set $handled to true to apply the changes.

 

Example

This example shows how to implement a simple role-based permission model. Our goal is to ensure that only site admins and members of the Sales role can add, remove and edit records displayed on this page.

 

// do not apply these rules for site admins

if (!GetApplication()->HasAdminGrantForCurrentUser()) {

    

    // retrieving the ID of the current user

    $userId = GetApplication()->GetCurrentUserId();

    

    // retrieving all user roles 

    $sql =        

      "SELECT r.role_name " .

      "FROM phpgen_user_roles ur " .

      "INNER JOIN phpgen_roles r ON r.id = ur.role_id " .

      "WHERE ur.user_id = %d";    

    $result = $page->GetConnection()->fetchAll(sprintf($sql, $userId));

 

    // iterating through retrieved roles

    if (!empty($result)) {

       foreach ($result as $row) {

           // is current user a member of the Sales role?

           if ($row['role_name'] === 'Sales') {

             // if yes, allow all actions.

             // otherwise default permissions for this page will be applied

             $permissions->setGrants(true, true, true, true);

             break;

           }                 

       }

    };

        

    // apply the new permissions

    $handled = true;

}

 

See also: OnGetCustomRecordPermissions.



Prev Return to chapter overview Next