Airship\Cabin\Bridge\Blueprint\Permissions::createContext PHP Method

createContext() public method

Create a new context for a specific cabin.
public createContext ( string $cabin, string $locator ) : boolean
$cabin string
$locator string
return boolean
    public function createContext(string $cabin, string $locator) : bool
    {
        $exists = $this->db->exists('SELECT count(*) FROM airship_perm_contexts WHERE cabin = ? AND locator = ?', $cabin, $locator);
        if (!$exists) {
            $this->db->beginTransaction();
            if ($locator === '') {
                $locator = '/';
            }
            $this->db->insert('airship_perm_contexts', ['cabin' => $cabin, 'locator' => $locator]);
            return $this->db->commit();
        }
        return false;
    }

Usage Example

Example #1
0
 /**
  * @param string $cabin
  * @param array $post
  * @return bool
  */
 protected function processCabinSubmenu(string $cabin, array $post) : bool
 {
     if (!empty($post['create_context']) && !empty($post['new_context'])) {
         return $this->perms->createContext($cabin, $post['new_context']);
     } elseif (!empty($post['create_action']) && !empty($post['new_action'])) {
         return $this->perms->createAction($cabin, $post['new_action']);
     }
     return false;
 }