public function manage()
 {
     if (FabriqModules::module('roles')->requiresPermission('manage modules', $this->name)) {
         Fabriq::title('Admin | Manage modules');
         FabriqModules::add_js($this->name, $this->name);
         Fabriq::fabriq_ui_on();
         $modules = new Modules();
         $modules->getAll();
         // get and install any new modules
         $available = $this->scan_modules();
         $toRegister = $this->to_register($modules, $available);
         foreach ($toRegister as $register) {
             FabriqModules::register_module($register);
         }
         // update modules collection
         $modules = new Modules();
         $modules->getAll();
         FabriqModules::set_var($this->name, 'modules', $modules);
     }
 }
 public function show($entry)
 {
     if (FabriqModules::module('roles')->requiresPermission('view blog posts', 'blog')) {
         $blog = FabriqModules::new_model('blog', 'Blogs');
         if (!$entry || !is_numeric($entry)) {
             $blog->find(PathMap::arg(2));
         } else {
             $blog->find($entry);
         }
         if ($blog->title != '' && ($blog->locked == 0 || FabriqModules::module('roles')->requiresPermission('update blog posts', 'blog'))) {
             Fabriq::title('Blog - ' . $blog->title);
             $user = FabriqModules::new_model('users', 'Users');
             $user->find($blog->user);
             $blog->user = $user;
             $taxonomyEnabled = FabriqModules::enabled('taxonomy');
             FabriqModules::set_var('blog', 'taxonomyEnabled', $taxonomyEnabled);
             FabriqModules::set_var('blog', 'blog', $blog);
             $isAdmin = FabriqModules::module('roles')->userHasPermission('update blog posts', 'blog');
             FabriqModules::set_var('blog', 'isAdmin', $isAdmin);
         } else {
             FabriqModules::set_var('blog', 'notFound', true);
             Fabriq::title('Blog entry not found');
         }
     }
 }
 public function itemsDestroy()
 {
     if (FabriqModules::module('roles')->requiresPermission('update menus', 'sitemenus')) {
         $menu = FabriqModules::new_model('sitemenus', 'Menus');
         $menu->find(PathMap::arg(3));
         if ($menu->menuName != '') {
             $menuItem = FabriqModules::new_model('sitemenus', 'MenuItems');
             $menuItem->find(PathMap::arg(4));
             if ($menuItem->itemName != '') {
                 Fabriq::title("Add item to menu \"{$menu->menuName}\"");
                 $menu->buildMenu();
                 FabriqModules::set_var('sitemenus', 'menu', $menu);
                 FabriqModules::set_var('sitemenus', 'found', true);
                 FabriqModules::set_var('sitemenus', 'moduleName', $this->name);
                 if (isset($_POST['submitted'])) {
                     $menuItem->destroy();
                     FabriqModules::set_var('sitemenus', 'submitted', true);
                 }
                 FabriqModules::set_var('sitemenus', 'menuItem', $menuItem);
             } else {
                 Fabriq::title("Menu item not found");
                 FabriqModules::set_var('sitemenus', 'found', false);
             }
         } else {
             Fabriq::title("Menu not found");
             FabriqModules::set_var('sitemenus', 'found', false);
         }
     }
 }
示例#4
0
 /**
  * page title getter/setter
  * if NULL, return the page title
  * @param string $title
  * @return string
  */
 public static function title($title = NULL)
 {
     if ($title != NULL) {
         self::$title = strip_tags($title);
     } else {
         return self::$title;
     }
 }
/**
 * @file Fabriq install template
 * @author Will Steinmetz
 * 
 * Copyright (c)2013, Ralivue.com
 * Licensed under the BSD license.
 * http://fabriqframework.com/license
 */
?>
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Fabriq Framework | <?php 
echo Fabriq::title();
?>
</title>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700' rel='stylesheet' type='text/css'>
<?php 
// process css queue
foreach (Fabriq::cssqueue() as $css) {
    echo "<link href=\"{$css['path']}{$css['css']}{$css['ext']}\" media=\"{$css['media']}\" rel=\"stylesheet\" type=\"text/css\" />\n";
}
// process javascript queue
foreach (Fabriq::jsqueue() as $js) {
    echo "<script language=\"JavaScript\" type=\"text/javascript\" src=\"{$js['path']}{$js['js']}{$js['ext']}\"></script>\n";
}
?>
<script type="text/javascript">
//<![CDATA[
示例#6
0
 public function updateAccount()
 {
     if (!$this->isLoggedIn()) {
         header('Location: ' . PathMap::build_path('users', 'login'));
         exit;
     }
     Fabriq::title('Update account');
     $user = FabriqModules::new_model('users', 'Users');
     $user->find($_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_userid']);
     if (isset($_POST['submit'])) {
         $emailPattern = '/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\\@([a-z0-9])(([a-z0-9-])*([a-z0-9]))+' . '(\\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i';
         $displayPattern = '/([A-z0-9]){6,24}/';
         if (!preg_match($displayPattern, $_POST['display'])) {
             Messaging::message("Display name is invalid");
         }
         if (!preg_match($emailPattern, $_POST['email'])) {
             Messaging::message("e-mail address is invalid");
         }
         if (!Messaging::has_messages()) {
             $user->display = $_POST['display'];
             $user->email = $_POST['email'];
             $user->update();
             $_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_displayname'] = $user->display;
             $_SESSION[Fabriq::siteTitle()]['FABMOD_USERS_email'] = $user->email;
             Messaging::message('Account has bee updated', 'success');
         }
         FabriqModules::set_var('users', 'submitted', true);
     }
     FabriqModules::set_var('users', 'user', $user);
     FabriqModules::add_js('users', 'jquery.validate.min');
     FabriqModules::add_js('users', 'users-updateAccount');
     FabriqModules::add_css('users', 'users-admin');
 }
示例#7
0
 public function noPermission()
 {
     global $_FAPP;
     Fabriq::title('Access denied');
     FabriqModules::set_var('roles', 'controller', $_FAPP['cdefault']);
     FabriqModules::set_var('roles', 'action', $_FAPP['adefault']);
 }
 /**
  * Fetch the list of updates
  */
 public function fetchUpdates()
 {
     if (FabriqModules::module('roles')->hasRole('administrator')) {
         global $db;
         Fabriq::title('Fabriq Updates');
         // get the currently installed version
         $query = "SELECT version FROM fabriq_config ORDER BY installed DESC, version DESC LIMIT 1";
         $db->query($query);
         $data = mysqli_fetch_array($db->result);
         $installedVersion = $data['version'];
         FabriqModules::set_var('fabriqinstall', 'installedVersion', $installedVersion);
         // get the list of updates from the site
         try {
             $versions = json_decode(file_get_contents('http://fabriqframework.com/changelog/json'), TRUE);
             $available = array();
             $upToDate = false;
             if (is_array($versions) && count($versions) > 0) {
                 foreach ($versions as $version => $info) {
                     if ($version > $installedVersion) {
                         $available[$version] = $info;
                     }
                 }
                 if (count($available) == 0) {
                     $upToDate = true;
                 }
                 FabriqModules::set_var('fabriqinstall', 'available', $available);
                 FabriqModules::set_var('fabriqinstall', 'connected', true);
             } else {
                 FabriqModules::set_var('fabriqinstall', 'connected', false);
             }
             FabriqModules::set_var('fabriqinstall', 'upToDate', $upToDate);
         } catch (Exception $e) {
             FabriqModules::set_var('fabriqinstall', 'connected', false);
         }
     }
 }
 /**
  * 500 server error
  */
 public function _500()
 {
     header("HTTP/1.0 500 Internal Server Error");
     Fabriq::title('500 Internal Server Error');
 }
示例#10
0
 * Copyright (c)2011, Ralivue.com
 * Licensed under the BSD license.
 * http://fabriqframework.com/license
 */
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<?php 
// changes should not be made for the title, stylesheet includes,
// and javascript includes
if ($_FAPP['title_pos'] == 'left') {
    echo "<title>" . Fabriq::title() . " " . Fabriq::config('title_sep') . " " . Fabriq::config('title') . "</title>\n";
} else {
    echo "<title>" . Fabriq::config('title') . " " . Fabriq::config('title_sep') . " " . Fabriq::title() . "</title>\n";
}
// process css queue
foreach (Fabriq::cssqueue() as $css) {
    echo "<link href=\"{$css['path']}{$css['css']}{$css['ext']}\" media=\"{$css['media']}\" rel=\"stylesheet\" type=\"text/css\" />\n";
}
// process javascript queue
foreach (Fabriq::jsqueue() as $js) {
    echo "<script language=\"JavaScript\" type=\"text/javascript\" src=\"{$js['path']}{$js['js']}{$js['ext']}\"></script>\n";
}
?>
<script type="text/javascript">
//<![CDATA[
jQuery.extend(Fabriq.settings, {"basePath": "<?php 
echo PathMap::base_path();
?>