Initial commit to new repo (carried over from: https://github.com/ryancramerdesign/ProcessWire/tree/devns)
4
site-beginner/assets/index.php
Normal file
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
// Intentionally left blank to test that htaccess rewrite rules are working.
|
||||
// Accessing this file from http should produce a '403 forbidden' error,
|
||||
// since all PHP files are blocked under /assets/.
|
53
site-beginner/config.php
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php namespace ProcessWire;
|
||||
|
||||
/**
|
||||
* ProcessWire Configuration File
|
||||
*
|
||||
* Site-specific configuration for ProcessWire
|
||||
*
|
||||
* Please see the file /wire/config.php which contains all configuration options you may
|
||||
* specify here. Simply copy any of the configuration options from that file and paste
|
||||
* them into this file in order to modify them.
|
||||
*
|
||||
* SECURITY NOTICE
|
||||
* In non-dedicated environments, you should lock down the permissions of this file so
|
||||
* that it cannot be seen by other users on the system. For more information, please
|
||||
* see the config.php section at: https://processwire.com/docs/security/file-permissions/
|
||||
*
|
||||
* This file is licensed under the MIT license
|
||||
* https://processwire.com/about/license/mit/
|
||||
*
|
||||
* ProcessWire 3.x, Copyright 2016 by Ryan Cramer
|
||||
* https://processwire.com
|
||||
*
|
||||
*/
|
||||
|
||||
if(!defined("PROCESSWIRE")) die();
|
||||
|
||||
/*** SITE CONFIG *************************************************************************/
|
||||
|
||||
/**
|
||||
* Enable debug mode?
|
||||
*
|
||||
* Debug mode causes additional info to appear for use during dev and debugging.
|
||||
* This is almost always recommended for sites in development. However, you should
|
||||
* always have this disabled for live/production sites.
|
||||
*
|
||||
* @var bool
|
||||
*
|
||||
*/
|
||||
$config->debug = false;
|
||||
|
||||
/**
|
||||
* Prepend template file
|
||||
*
|
||||
* PHP file in /site/templates/ that will be loaded before each page's template file.
|
||||
* Example: _init.php
|
||||
*
|
||||
* @var string
|
||||
*
|
||||
*/
|
||||
$config->prependTemplateFile = '_init.php';
|
||||
|
||||
|
||||
/*** INSTALLER CONFIG ********************************************************************/
|
BIN
site-beginner/install/files/1/airport_cartoon_3.0x100.jpg
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
site-beginner/install/files/1/airport_cartoon_3.400x0.jpg
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
site-beginner/install/files/1/airport_cartoon_3.jpg
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
site-beginner/install/files/1/rough_cartoon_puppet.0x100.jpg
Normal file
After Width: | Height: | Size: 7.4 KiB |
BIN
site-beginner/install/files/1/rough_cartoon_puppet.400x0.jpg
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
site-beginner/install/files/1/rough_cartoon_puppet.jpg
Normal file
After Width: | Height: | Size: 116 KiB |
BIN
site-beginner/install/files/1002/psych_cartoon_4-20.0x100.jpg
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
site-beginner/install/files/1002/psych_cartoon_4-20.400x0.jpg
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
site-beginner/install/files/1002/psych_cartoon_4-20.jpg
Normal file
After Width: | Height: | Size: 160 KiB |
1
site-beginner/install/files/README.txt
Normal file
@@ -0,0 +1 @@
|
||||
This file is here to ensure Git adds the dir to the repo. You may delete this file.
|
6
site-beginner/install/info.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php if(!defined("PROCESSWIRE_INSTALL")) die();
|
||||
$info = array(
|
||||
'title' => "Default (Beginner Edition)",
|
||||
'summary' => "A minimal responsive site profile that serves as a good starting point for new sites or for learning about ProcessWire. Focuses on using the easiest to understand template concepts for new users.",
|
||||
'screenshot' => "screenshot.png"
|
||||
);
|
538
site-beginner/install/install.sql
Normal file
@@ -0,0 +1,538 @@
|
||||
--- WireDatabaseBackup {"time":"2014-08-27 12:18:44","user":"","dbName":"pw2_blank","description":"","tables":[],"excludeTables":["pages_drafts","pages_roles","permissions","roles","roles_permissions","users","users_roles","user","role","permission"],"excludeCreateTables":[],"excludeExportTables":["field_roles","field_permissions","field_email","field_pass","caches","session_login_throttle","page_path_history"]}
|
||||
|
||||
DROP TABLE IF EXISTS `caches`;
|
||||
CREATE TABLE `caches` (
|
||||
`name` varchar(255) NOT NULL,
|
||||
`data` mediumtext NOT NULL,
|
||||
`expires` datetime NOT NULL,
|
||||
PRIMARY KEY (`name`),
|
||||
KEY `expires` (`expires`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `field_body`;
|
||||
CREATE TABLE `field_body` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` mediumtext NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('27', '<h3>The page you were looking for is not found.</h3><p>Please use our search engine or navigation above to find the page.</p>');
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1', '<h2>What is ProcessWire?</h2>\r\n\r\n<p>ProcessWire gives you full control over your fields, templates and markup. It provides a powerful template system that works the way you do. Not to mention, ProcessWire\'s API makes working with your content easy and enjoyable. <a href=\"http://processwire.com\">Learn more</a></p>\r\n\r\n<h3>About this site profile</h3>\r\n\r\n<p>This is a basic minimal site for you to use in developing your own site or to learn from. There are a few pages here to serve as examples, but this site profile does not make any attempt to demonstrate all that ProcessWire can do. To learn more or ask questions, visit the <a href=\"http://www.processwire.com/talk/\" target=\"_blank\">ProcessWire forums</a> or <a href=\"http://modules.processwire.com/categories/site-profile/\">browse more site profiles</a>. If you are building a new site, this minimal profile is a good place to start. You may use these existing templates and design as they are, or you may replace them entirely.</p>\r\n\r\n<h3>Browse the site</h3>');
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1002', '<h2>Ut capio feugiat saepius torqueo olim</h2>\r\n\r\n<h3>In utinam facilisi eum vicis feugait nimis</h3>\r\n\r\n<p>Iusto incassum appellatio cui macto genitus vel. Lobortis aliquam luctus, roto enim, imputo wisi tamen. Ratis odio, genitus acsi, neo illum consequat consectetuer ut.</p>\r\n\r\n<blockquote>\r\n<p>Wisi fere virtus cogo, ex ut vel nullus similis vel iusto. Tation incassum adsum in, quibus capto premo diam suscipere facilisi. Uxor laoreet mos capio premo feugait ille et. Pecus abigo immitto epulae duis vel. Neque causa, indoles verto, decet ingenium dignissim.</p>\r\n</blockquote>\r\n\r\n<p>Patria iriure vel vel autem proprius indoles ille sit. Tation blandit refoveo, accumsan ut ulciscor lucidus inhibeo capto aptent opes, foras.</p>\r\n\r\n<h3>Dolore ea valde refero feugait utinam luctus</h3>\r\n\r\n<p><img alt=\"Copyright by Austin Cramer for DesignIntelligence. This is a placeholder while he makes new ones for us.\" class=\"align_left\" src=\"/site/assets/files/1002/psych_cartoon_4-20.400x0.jpg\" />Usitas, nostrud transverbero, in, amet, nostrud ad. Ex feugiat opto diam os aliquam regula lobortis dolore ut ut quadrum. Esse eu quis nunc jugis iriure volutpat wisi, fere blandit inhibeo melior, hendrerit, saluto velit. Eu bene ideo dignissim delenit accumsan nunc. Usitas ille autem camur consequat typicus feugait elit ex accumsan nutus accumsan nimis pagus, occuro. Immitto populus, qui feugiat opto pneum letalis paratus. Mara conventio torqueo nibh caecus abigo sit eum brevitas. Populus, duis ex quae exerci hendrerit, si antehabeo nobis, consequat ea praemitto zelus.</p>\r\n\r\n<p>Immitto os ratis euismod conventio erat jus caecus sudo. code test Appellatio consequat, et ibidem ludus nulla dolor augue abdo tego euismod plaga lenis. Sit at nimis venio venio tego os et pecus enim pneum magna nobis ad pneum. Saepius turpis probo refero molior nonummy aliquam neque appellatio jus luctus acsi. Ulciscor refero pagus imputo eu refoveo valetudo duis dolore usitas. Consequat suscipere quod torqueo ratis ullamcorper, dolore lenis, letalis quia quadrum plaga minim.</p>');
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1001', '<h2>Si lobortis singularis genitus ibidem saluto.</h2><p>Dolore ad nunc, mos accumsan paratus duis suscipit luptatum facilisis macto uxor iaceo quadrum. Demoveo, appellatio elit neque ad commodo ea. Wisi, iaceo, tincidunt at commoveo rusticus et, ludus. Feugait at blandit bene blandit suscipere abdo duis ideo bis commoveo pagus ex, velit. Consequat commodo roto accumsan, duis transverbero.</p>');
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1004', '<h2>Pertineo vel dignissim, natu letalis fere odio</h2><p>Magna in gemino, gilvus iusto capto jugis abdo mos aptent acsi qui. Utrum inhibeo humo humo duis quae. Lucidus paulatim facilisi scisco quibus hendrerit conventio adsum.</p><h3>Si lobortis singularis genitus ibidem saluto</h3><ul><li>Feugiat eligo foras ex elit sed indoles hos elit ex antehabeo defui et nostrud.</li><li>Letatio valetudo multo consequat inhibeo ille dignissim pagus et in quadrum eum eu.</li><li>Aliquam si consequat, ut nulla amet et turpis exerci, adsum luctus ne decet, delenit.</li><li>Commoveo nunc diam valetudo cui, aptent commoveo at obruo uxor nulla aliquip augue.</li></ul><p>Iriure, ex velit, praesent vulpes delenit capio vero gilvus inhibeo letatio aliquip metuo qui eros. Transverbero demoveo euismod letatio torqueo melior. Ut odio in suscipit paulatim amet huic letalis suscipere eros causa, letalis magna.</p><ol><li>Feugiat eligo foras ex elit sed indoles hos elit ex antehabeo defui et nostrud.</li><li>Letatio valetudo multo consequat inhibeo ille dignissim pagus et in quadrum eum eu.</li><li>Aliquam si consequat, ut nulla amet et turpis exerci, adsum luctus ne decet, delenit.</li><li>Commoveo nunc diam valetudo cui, aptent commoveo at obruo uxor nulla aliquip augue.</li></ol>');
|
||||
|
||||
DROP TABLE IF EXISTS `field_email`;
|
||||
CREATE TABLE `field_email` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` varchar(255) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `data_exact` (`data`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `field_headline`;
|
||||
CREATE TABLE `field_headline` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` text NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('1', 'Minimal Site Profile');
|
||||
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('1001', 'About Us');
|
||||
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('27', '404 Page Not Found');
|
||||
|
||||
DROP TABLE IF EXISTS `field_images`;
|
||||
CREATE TABLE `field_images` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` varchar(255) NOT NULL,
|
||||
`sort` int(10) unsigned NOT NULL,
|
||||
`description` text NOT NULL,
|
||||
`modified` datetime DEFAULT NULL,
|
||||
`created` datetime DEFAULT NULL,
|
||||
PRIMARY KEY (`pages_id`,`sort`),
|
||||
KEY `data` (`data`),
|
||||
KEY `modified` (`modified`),
|
||||
KEY `created` (`created`),
|
||||
FULLTEXT KEY `description` (`description`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1002', 'psych_cartoon_4-20.jpg', '0', 'Copyright by Austin Cramer for DesignIntelligence. This is a placeholder while he makes new ones for us.', NOW(), NOW());
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'rough_cartoon_puppet.jpg', '1', 'Copyright by Austin Cramer for DesignIntelligence. This is a placeholder while he makes new ones for us.', NOW(), NOW());
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'airport_cartoon_3.jpg', '0', 'Copyright by Austin Cramer for DesignIntelligence. This is a placeholder while he makes new ones for us.', NOW(), NOW());
|
||||
|
||||
DROP TABLE IF EXISTS `field_pass`;
|
||||
CREATE TABLE `field_pass` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` char(40) NOT NULL,
|
||||
`salt` char(32) NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=ascii;
|
||||
|
||||
DROP TABLE IF EXISTS `field_permissions`;
|
||||
CREATE TABLE `field_permissions` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` int(11) NOT NULL,
|
||||
`sort` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`pages_id`,`sort`),
|
||||
KEY `data` (`data`,`pages_id`,`sort`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `field_process`;
|
||||
CREATE TABLE `field_process` (
|
||||
`pages_id` int(11) NOT NULL DEFAULT '0',
|
||||
`data` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('6', '17');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('3', '12');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('8', '12');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('9', '14');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('10', '7');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('11', '47');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('16', '48');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('300', '104');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('21', '50');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('29', '66');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('23', '10');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('304', '138');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('31', '136');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('22', '76');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('30', '68');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('303', '129');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('2', '87');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('302', '121');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('301', '109');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('28', '76');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('1007', '150');
|
||||
|
||||
DROP TABLE IF EXISTS `field_roles`;
|
||||
CREATE TABLE `field_roles` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` int(11) NOT NULL,
|
||||
`sort` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`pages_id`,`sort`),
|
||||
KEY `data` (`data`,`pages_id`,`sort`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `field_sidebar`;
|
||||
CREATE TABLE `field_sidebar` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` mediumtext NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_sidebar` (`pages_id`, `data`) VALUES('1', '<h3>About ProcessWire</h3>\r\n\r\n<p>ProcessWire is an open source CMS and web application framework aimed at the needs of designers, developers and their clients.</p>\r\n\r\n<ul>\r\n <li><a href=\"http://processwire.com/talk/\">Support</a> </li>\r\n <li><a href=\"http://processwire.com/docs/\">Documentation</a></li>\r\n <li><a href=\"http://processwire.com/docs/tutorials/\">Tutorials</a></li>\r\n <li><a href=\"http://cheatsheet.processwire.com\">API Cheatsheet</a></li>\r\n <li><a href=\"http://modules.processwire.com\">Modules/Plugins</a></li>\r\n</ul>');
|
||||
INSERT INTO `field_sidebar` (`pages_id`, `data`) VALUES('1002', '<h3>Sudo nullus</h3>\r\n\r\n<p>Et torqueo vulpes vereor luctus augue quod consectetuer antehabeo causa patria tation ex plaga ut. Abluo delenit wisi iriure eros feugiat probo nisl aliquip nisl, patria. Antehabeo esse camur nisl modo utinam. Sudo nullus ventosus ibidem facilisis saepius eum sino pneum, vicis odio voco opto.</p>');
|
||||
|
||||
DROP TABLE IF EXISTS `field_summary`;
|
||||
CREATE TABLE `field_summary` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` mediumtext NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1002', 'Dolore ea valde refero feugait utinam luctus. Probo velit commoveo et, delenit praesent, suscipit zelus, hendrerit zelus illum facilisi, regula. ');
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1001', 'This is a placeholder page with two child pages to serve as an example. ');
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1005', 'View this template\'s source for a demonstration of how to create a basic site map. ');
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1004', 'Mos erat reprobo in praesent, mara premo, obruo iustum pecus velit lobortis te sagaciter populus.');
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1', 'ProcessWire is an open source CMS and web application framework aimed at the needs of designers, developers and their clients. ');
|
||||
|
||||
DROP TABLE IF EXISTS `field_title`;
|
||||
CREATE TABLE `field_title` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` text NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `data_exact` (`data`(255)),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('11', 'Templates');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('16', 'Fields');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('22', 'Setup');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('3', 'Pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('6', 'Add Page');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('8', 'Tree');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('9', 'Save Sort');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('10', 'Edit Page');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('21', 'Modules');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('29', 'Users');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('30', 'Roles');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('2', 'Admin');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('7', 'Trash');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('27', '404 Page');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('302', 'Insert Link');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('23', 'Login');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('304', 'Profile');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('301', 'Empty Trash');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('300', 'Search');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('303', 'Insert Image');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('28', 'Access');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('31', 'Permissions');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('32', 'Edit pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('34', 'Delete pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('35', 'Move pages (change parent)');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('36', 'View pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('50', 'Sort child pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('51', 'Change templates on pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('52', 'Administer users');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('53', 'User can update profile/password');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('54', 'Lock or unlock a page');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1', 'Home');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1001', 'About');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1002', 'Child page example 1');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1000', 'Search');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1004', 'Child page example 2');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1005', 'Site Map');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1006', 'Use Page Lister');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1007', 'Find');
|
||||
|
||||
DROP TABLE IF EXISTS `fieldgroups`;
|
||||
CREATE TABLE `fieldgroups` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(255) CHARACTER SET ascii NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name` (`name`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=97 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('2', 'admin');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('3', 'user');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('4', 'role');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('5', 'permission');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('1', 'home');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('88', 'sitemap');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('83', 'basic-page');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('80', 'search');
|
||||
|
||||
DROP TABLE IF EXISTS `fieldgroups_fields`;
|
||||
CREATE TABLE `fieldgroups_fields` (
|
||||
`fieldgroups_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`fields_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`sort` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`data` text,
|
||||
PRIMARY KEY (`fieldgroups_id`,`fields_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('2', '2', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('2', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '3', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '4', '2', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('4', '5', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('5', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '92', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '44', '5', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '76', '3', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('80', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '44', '5', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '76', '3', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '78', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('88', '79', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '79', '2', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '82', '4', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('88', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '82', '4', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '78', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '79', '2', NULL);
|
||||
|
||||
DROP TABLE IF EXISTS `fields`;
|
||||
CREATE TABLE `fields` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`type` varchar(128) CHARACTER SET ascii NOT NULL,
|
||||
`name` varchar(255) CHARACTER SET ascii NOT NULL,
|
||||
`flags` int(11) NOT NULL DEFAULT '0',
|
||||
`label` varchar(255) NOT NULL DEFAULT '',
|
||||
`data` text NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name` (`name`),
|
||||
KEY `type` (`type`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=97 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('1', 'FieldtypePageTitle', 'title', '13', 'Title', '{\"required\":1,\"textformatters\":[\"TextformatterEntities\"],\"size\":0,\"maxlength\":255}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('2', 'FieldtypeModule', 'process', '25', 'Process', '{\"description\":\"The process that is executed on this page. Since this is mostly used by ProcessWire internally, it is recommended that you don\'t change the value of this unless adding your own pages in the admin.\",\"collapsed\":1,\"required\":1,\"moduleTypes\":[\"Process\"],\"permanent\":1}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('3', 'FieldtypePassword', 'pass', '24', 'Set Password', '{\"collapsed\":1,\"size\":50,\"maxlength\":128}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('5', 'FieldtypePage', 'permissions', '24', 'Permissions', '{\"derefAsPage\":0,\"parent_id\":31,\"labelFieldName\":\"title\",\"inputfield\":\"InputfieldCheckboxes\"}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('4', 'FieldtypePage', 'roles', '24', 'Roles', '{\"derefAsPage\":0,\"parent_id\":30,\"labelFieldName\":\"name\",\"inputfield\":\"InputfieldCheckboxes\",\"description\":\"User will inherit the permissions assigned to each role. You may assign multiple roles to a user. When accessing a page, the user will only inherit permissions from the roles that are also assigned to the page\'s template.\"}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('92', 'FieldtypeEmail', 'email', '9', 'E-Mail Address', '{\"size\":70,\"maxlength\":255}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('82', 'FieldtypeTextarea', 'sidebar', '0', 'Sidebar', '{\"inputfieldClass\":\"InputfieldCKEditor\",\"rows\":5,\"contentType\":1,\"toolbar\":\"Format, Bold, Italic, -, RemoveFormat\\r\\nNumberedList, BulletedList, -, Blockquote\\r\\nPWLink, Unlink, Anchor\\r\\nPWImage, Table, HorizontalRule, SpecialChar\\r\\nPasteText, PasteFromWord\\r\\nScayt, -, Sourcedialog\",\"inlineMode\":0,\"useACF\":1,\"usePurifier\":1,\"formatTags\":\"p;h2;h3;h4;h5;h6;pre;address\",\"extraPlugins\":[\"pwimage\",\"pwlink\",\"sourcedialog\"],\"removePlugins\":\"image,magicline\",\"toggles\":[2,4,8],\"collapsed\":2}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('44', 'FieldtypeImage', 'images', '0', 'Images', '{\"extensions\":\"gif jpg jpeg png\",\"adminThumbs\":1,\"inputfieldClass\":\"InputfieldImage\",\"maxFiles\":0,\"descriptionRows\":1,\"fileSchema\":2,\"textformatters\":[\"TextformatterEntities\"],\"outputFormat\":1,\"defaultValuePage\":0,\"defaultGrid\":0,\"icon\":\"camera\"}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('79', 'FieldtypeTextarea', 'summary', '1', 'Summary', '{\"textformatters\":[\"TextformatterEntities\"],\"inputfieldClass\":\"InputfieldTextarea\",\"collapsed\":2,\"rows\":3,\"contentType\":0}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('76', 'FieldtypeTextarea', 'body', '0', 'Body', '{\"inputfieldClass\":\"InputfieldCKEditor\",\"rows\":10,\"contentType\":1,\"toolbar\":\"Format, Bold, Italic, -, RemoveFormat\\r\\nNumberedList, BulletedList, -, Blockquote\\r\\nPWLink, Unlink, Anchor\\r\\nPWImage, Table, HorizontalRule, SpecialChar\\r\\nPasteText, PasteFromWord\\r\\nScayt, -, Sourcedialog\",\"inlineMode\":0,\"useACF\":1,\"usePurifier\":1,\"formatTags\":\"p;h2;h3;h4;h5;h6;pre;address\",\"extraPlugins\":[\"pwimage\",\"pwlink\",\"sourcedialog\"],\"removePlugins\":\"image,magicline\",\"toggles\":[2,4,8]}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('78', 'FieldtypeText', 'headline', '0', 'Headline', '{\"description\":\"Use this instead of the Title if a longer headline is needed than what you want to appear in navigation.\",\"textformatters\":[\"TextformatterEntities\"],\"collapsed\":2,\"size\":0,\"maxlength\":1024}');
|
||||
|
||||
DROP TABLE IF EXISTS `modules`;
|
||||
CREATE TABLE `modules` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`class` varchar(128) CHARACTER SET ascii NOT NULL,
|
||||
`flags` int(11) NOT NULL DEFAULT '0',
|
||||
`data` text NOT NULL,
|
||||
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `class` (`class`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=158 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('1', 'FieldtypeTextarea', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('2', 'FieldtypeNumber', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('3', 'FieldtypeText', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('4', 'FieldtypePage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('30', 'InputfieldForm', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('6', 'FieldtypeFile', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('7', 'ProcessPageEdit', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('10', 'ProcessLogin', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('12', 'ProcessPageList', '0', '{\"pageLabelField\":\"title\",\"paginationLimit\":25,\"limit\":50}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('121', 'ProcessPageEditLink', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('14', 'ProcessPageSort', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('15', 'InputfieldPageListSelect', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('117', 'JqueryUI', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('17', 'ProcessPageAdd', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('125', 'SessionLoginThrottle', '3', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('122', 'InputfieldPassword', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('25', 'InputfieldAsmSelect', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('116', 'JqueryCore', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('27', 'FieldtypeModule', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('28', 'FieldtypeDatetime', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('29', 'FieldtypeEmail', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('108', 'InputfieldURL', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('32', 'InputfieldSubmit', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('33', 'InputfieldWrapper', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('34', 'InputfieldText', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('35', 'InputfieldTextarea', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('36', 'InputfieldSelect', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('37', 'InputfieldCheckbox', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('38', 'InputfieldCheckboxes', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('39', 'InputfieldRadios', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('40', 'InputfieldHidden', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('41', 'InputfieldName', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('43', 'InputfieldSelectMultiple', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('45', 'JqueryWireTabs', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('46', 'ProcessPage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('47', 'ProcessTemplate', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('48', 'ProcessField', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('50', 'ProcessModule', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('114', 'PagePermissions', '3', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('97', 'FieldtypeCheckbox', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('115', 'PageRender', '3', '{\"clearCache\":1}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('55', 'InputfieldFile', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('56', 'InputfieldImage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('57', 'FieldtypeImage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('60', 'InputfieldPage', '0', '{\"inputfieldClasses\":[\"InputfieldSelect\",\"InputfieldSelectMultiple\",\"InputfieldCheckboxes\",\"InputfieldRadios\",\"InputfieldAsmSelect\",\"InputfieldPageListSelect\",\"InputfieldPageListSelectMultiple\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('61', 'TextformatterEntities', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('66', 'ProcessUser', '0', '{\"showFields\":[\"name\",\"email\",\"roles\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('67', 'MarkupAdminDataTable', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('68', 'ProcessRole', '0', '{\"showFields\":[\"name\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('76', 'ProcessList', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('78', 'InputfieldFieldset', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('79', 'InputfieldMarkup', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('80', 'InputfieldEmail', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('89', 'FieldtypeFloat', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('83', 'ProcessPageView', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('84', 'FieldtypeInteger', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('85', 'InputfieldInteger', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('86', 'InputfieldPageName', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('87', 'ProcessHome', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('90', 'InputfieldFloat', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('94', 'InputfieldDatetime', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('98', 'MarkupPagerNav', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('129', 'ProcessPageEditImageSelect', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('103', 'JqueryTableSorter', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('104', 'ProcessPageSearch', '1', '{\"searchFields\":\"title\",\"displayField\":\"title path\"}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('105', 'FieldtypeFieldsetOpen', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('106', 'FieldtypeFieldsetClose', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('107', 'FieldtypeFieldsetTabOpen', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('109', 'ProcessPageTrash', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('111', 'FieldtypePageTitle', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('112', 'InputfieldPageTitle', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('113', 'MarkupPageArray', '3', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('131', 'InputfieldButton', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('133', 'FieldtypePassword', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('134', 'ProcessPageType', '1', '{\"showFields\":[]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('135', 'FieldtypeURL', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('136', 'ProcessPermission', '1', '{\"showFields\":[\"name\",\"title\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('137', 'InputfieldPageListSelectMultiple', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('138', 'ProcessProfile', '1', '{\"profileFields\":[\"pass\",\"email\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('139', 'SystemUpdater', '1', '{\"systemVersion\":7}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('148', 'AdminThemeDefault', '2', '{\"colors\":\"classic\"}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('149', 'InputfieldSelector', '2', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('150', 'ProcessPageLister', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('151', 'JqueryMagnific', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('152', 'PagePathHistory', '3', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('155', 'InputfieldCKEditor', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('156', 'MarkupHTMLPurifier', '0', '', NOW());
|
||||
|
||||
DROP TABLE IF EXISTS `page_path_history`;
|
||||
CREATE TABLE `page_path_history` (
|
||||
`path` varchar(255) NOT NULL,
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`path`),
|
||||
KEY `pages_id` (`pages_id`),
|
||||
KEY `created` (`created`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `pages`;
|
||||
CREATE TABLE `pages` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`parent_id` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`templates_id` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`name` varchar(128) CHARACTER SET ascii NOT NULL,
|
||||
`status` int(10) unsigned NOT NULL DEFAULT '1',
|
||||
`modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified_users_id` int(10) unsigned NOT NULL DEFAULT '2',
|
||||
`created` timestamp NOT NULL DEFAULT '2015-12-18 06:09:00',
|
||||
`created_users_id` int(10) unsigned NOT NULL DEFAULT '2',
|
||||
`sort` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name_parent_id` (`name`,`parent_id`),
|
||||
KEY `parent_id` (`parent_id`),
|
||||
KEY `templates_id` (`templates_id`),
|
||||
KEY `modified` (`modified`),
|
||||
KEY `created` (`created`),
|
||||
KEY `status` (`status`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=1009 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1', '0', '1', 'home', '9', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('2', '1', '2', 'processwire', '1035', NOW(), '40', NOW(), '2', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('3', '2', '2', 'page', '21', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('6', '3', '2', 'add', '1045', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('7', '1', '2', 'trash', '1039', NOW(), '41', NOW(), '2', '6');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('8', '3', '2', 'list', '21', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('9', '3', '2', 'sort', '1047', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('10', '3', '2', 'edit', '1045', NOW(), '41', NOW(), '2', '3');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('11', '22', '2', 'template', '21', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('16', '22', '2', 'field', '21', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('21', '2', '2', 'module', '21', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('22', '2', '2', 'setup', '21', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('23', '2', '2', 'login', '1035', NOW(), '41', NOW(), '2', '4');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('27', '1', '29', 'http404', '1035', NOW(), '41', NOW(), '3', '4');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('28', '2', '2', 'access', '13', NOW(), '41', NOW(), '2', '3');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('29', '28', '2', 'users', '29', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('30', '28', '2', 'roles', '29', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('31', '28', '2', 'permissions', '29', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('32', '31', '5', 'page-edit', '25', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('34', '31', '5', 'page-delete', '25', NOW(), '41', NOW(), '2', '3');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('35', '31', '5', 'page-move', '25', NOW(), '41', NOW(), '2', '4');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('36', '31', '5', 'page-view', '25', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('37', '30', '4', 'guest', '25', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('38', '30', '4', 'superuser', '25', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('41', '29', '3', 'admin', '1', NOW(), '40', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('40', '29', '3', 'guest', '25', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('50', '31', '5', 'page-sort', '25', NOW(), '41', NOW(), '41', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('51', '31', '5', 'page-template', '25', NOW(), '41', NOW(), '41', '6');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('52', '31', '5', 'user-admin', '25', NOW(), '41', NOW(), '41', '10');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('53', '31', '5', 'profile-edit', '1', NOW(), '41', NOW(), '41', '13');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('54', '31', '5', 'page-lock', '1', NOW(), '41', NOW(), '41', '8');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('300', '3', '2', 'search', '1045', NOW(), '41', NOW(), '2', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('301', '3', '2', 'trash', '1047', NOW(), '41', NOW(), '2', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('302', '3', '2', 'link', '1041', NOW(), '41', NOW(), '2', '6');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('303', '3', '2', 'image', '1041', NOW(), '41', NOW(), '2', '7');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('304', '2', '2', 'profile', '1025', NOW(), '41', NOW(), '41', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1000', '1', '26', 'search', '1025', NOW(), '41', NOW(), '2', '3');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1001', '1', '29', 'about', '1', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1002', '1001', '29', 'what', '1', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1004', '1001', '29', 'background', '1', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1005', '1', '34', 'site-map', '1', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1006', '31', '5', 'page-lister', '1', NOW(), '40', NOW(), '40', '9');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1007', '3', '2', 'lister', '1', NOW(), '40', NOW(), '40', '8');
|
||||
|
||||
DROP TABLE IF EXISTS `pages_access`;
|
||||
CREATE TABLE `pages_access` (
|
||||
`pages_id` int(11) NOT NULL,
|
||||
`templates_id` int(11) NOT NULL,
|
||||
`ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `templates_id` (`templates_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('37', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('38', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('32', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('34', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('35', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('36', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('50', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('51', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('52', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('53', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('54', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('1006', '2', NOW());
|
||||
|
||||
DROP TABLE IF EXISTS `pages_parents`;
|
||||
CREATE TABLE `pages_parents` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`parents_id` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`pages_id`,`parents_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('2', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('3', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('3', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('7', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('22', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('22', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('28', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('28', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '28');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '28');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '28');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1001', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1002', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1002', '1001');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1004', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1004', '1001');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1005', '1');
|
||||
|
||||
DROP TABLE IF EXISTS `pages_sortfields`;
|
||||
CREATE TABLE `pages_sortfields` (
|
||||
`pages_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`sortfield` varchar(20) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`pages_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `session_login_throttle`;
|
||||
CREATE TABLE `session_login_throttle` (
|
||||
`name` varchar(128) NOT NULL,
|
||||
`attempts` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`last_attempt` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`name`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `templates`;
|
||||
CREATE TABLE `templates` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(255) CHARACTER SET ascii NOT NULL,
|
||||
`fieldgroups_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`flags` int(11) NOT NULL DEFAULT '0',
|
||||
`cache_time` mediumint(9) NOT NULL DEFAULT '0',
|
||||
`data` text NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name` (`name`),
|
||||
KEY `fieldgroups_id` (`fieldgroups_id`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=43 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('2', 'admin', '2', '8', '0', '{\"useRoles\":1,\"parentTemplates\":[2],\"allowPageNum\":1,\"redirectLogin\":23,\"slashUrls\":1,\"noGlobal\":1,\"modified\":1406317841}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('3', 'user', '3', '8', '0', '{\"useRoles\":1,\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"pageClass\":\"User\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('4', 'role', '4', '8', '0', '{\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"pageClass\":\"Role\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('5', 'permission', '5', '8', '0', '{\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"guestSearchable\":1,\"pageClass\":\"Permission\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('1', 'home', '1', '0', '0', '{\"useRoles\":1,\"noParents\":1,\"slashUrls\":1,\"modified\":1409155727,\"roles\":[37]}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('29', 'basic-page', '83', '0', '0', '{\"slashUrls\":1,\"modified\":1409155715}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('26', 'search', '80', '0', '0', '{\"noChildren\":1,\"noParents\":1,\"allowPageNum\":1,\"slashUrls\":1,\"modified\":1409155785}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('34', 'sitemap', '88', '0', '0', '{\"noChildren\":1,\"noParents\":1,\"redirectLogin\":23,\"slashUrls\":1,\"modified\":1409155794}');
|
||||
|
||||
UPDATE pages SET created_users_id=41, modified_users_id=41, created=NOW(), modified=NOW();
|
||||
|
||||
--- /WireDatabaseBackup {"numTables":20,"numCreateTables":27,"numInserts":305,"numSeconds":0}
|
BIN
site-beginner/install/screenshot.png
Normal file
After Width: | Height: | Size: 50 KiB |
89
site-beginner/modules/README.txt
Normal file
@@ -0,0 +1,89 @@
|
||||
ABOUT /SITE/MODULES/
|
||||
====================
|
||||
This directory /site/modules/ is where you may install additional plugin modules.
|
||||
These modules are specific to your site only. There is also a corresponding
|
||||
/wire/modules/ directory, which contains ProcessWire's core modules (and best to
|
||||
leave those alone).
|
||||
|
||||
If safe for your hosting environment, you may wish to make this directory
|
||||
writable to PHP so that the installation of your modules can be managed from
|
||||
ProcessWire's admin. However, this is not necessarily safe in all shared hosting
|
||||
environments and is completely optional.
|
||||
|
||||
|
||||
Where to get modules?
|
||||
---------------------
|
||||
Visit the modules directory at: http://modules.processwire.com
|
||||
|
||||
|
||||
Installing modules from the ProcessWire admin
|
||||
---------------------------------------------
|
||||
If your /site/modules/ directory is writable, you can install modules from
|
||||
ProcessWire's admin directly from the Modules Directory, from a ZIP file or from
|
||||
a URL to a ZIP file. In your ProcessWire admin, see Modules > New for
|
||||
installation options.
|
||||
|
||||
|
||||
Installing modules from the file system
|
||||
---------------------------------------
|
||||
Each module (and any related files) should live in a directory of its own. The
|
||||
directory should generally carry the same name as the module. For instance, if
|
||||
you are installing a module named ProcessDatabaseBackups.module, then it should
|
||||
live in the directory /site/modules/ProcessDatabaseBackups/.
|
||||
|
||||
Once you have placed a new module in this directory, you need to let ProcessWire
|
||||
know about it. Login to the admin and click "Modules". Then click the "Check for
|
||||
new modules" button. It will find your new module(s). Click the "Install" button
|
||||
next to any new modules that you want to install.
|
||||
|
||||
|
||||
Removing modules
|
||||
----------------
|
||||
The first step in removing a module is to uninstall it from ProcessWire (if it
|
||||
isn't already). You do this by going to the "Modules" page, and "Site" tab in
|
||||
your ProcessWire admin. Click the "Uninstall" button next to the module you
|
||||
want to remove.
|
||||
|
||||
After the module is uninstalled, you may remove the module files. If your
|
||||
modules file system is writable to ProcessWire, it will give you a "Delete"
|
||||
button next to the module in your "Modules" admin page. You may click that to
|
||||
remove the module files.
|
||||
|
||||
If your file system is not writable, you may remove the module files manually
|
||||
from the file system (via SFTP or whatever tool you are using to manage your
|
||||
files on the server).
|
||||
|
||||
|
||||
Interested in learning how to make your own modules?
|
||||
----------------------------------------------------
|
||||
We've created two "Hello World" modules as examples for those interested in
|
||||
learning module development:
|
||||
|
||||
- Helloworld.module demonstrates the basics of modules and hooks.
|
||||
http://modules.processwire.com/modules/helloworld/
|
||||
|
||||
- ProcessHello.module demonstrates the basics of how to create a Process
|
||||
module. Process modules are those that create applications in the admin.
|
||||
http://modules.processwire.com/modules/process-hello/
|
||||
|
||||
There is a module development forum located at:
|
||||
https://processwire.com/talk/forum/19-moduleplugin-development/
|
||||
|
||||
For a tutorial on how to create modules, see:
|
||||
http://wiki.processwire.com/index.php/Module_Creation
|
||||
|
||||
|
||||
Additional resources
|
||||
--------------------
|
||||
|
||||
To find and download new modules, see the modules directory at:
|
||||
http://modules.processwire.com/
|
||||
|
||||
For more information about modules, see the documentation at:
|
||||
http://processwire.com/api/modules/
|
||||
|
||||
For discussion and support of modules, see:
|
||||
http://processwire.com/talk/forum/4-modulesplugins/
|
||||
|
||||
|
||||
|
221
site-beginner/templates/README.txt
Normal file
@@ -0,0 +1,221 @@
|
||||
Welcome to the Default/Basic Site Profile (Beginner Edition)
|
||||
============================================================
|
||||
|
||||
This is a plain text document. If you are currently online with
|
||||
internet access, you will find it much nicer to read an HTML
|
||||
formatted version of this document located at:
|
||||
|
||||
http://processwire.com/docs/tutorials/default-site-profile/
|
||||
|
||||
Are you already somewhat familiar with ProcessWire and/or PHP? You
|
||||
might also want to look into the Intermediate Edition of this profile.
|
||||
|
||||
Need multi-language support? The multi-language version of this
|
||||
default site profile is a good place to start.
|
||||
|
||||
Both the intermediate and multi-language versions of this site
|
||||
profile are available as installation options when installing
|
||||
ProcessWire.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
Just getting started with ProcessWire and aren't totally clear on what
|
||||
template files are? The good news is that template files aren't anything
|
||||
other than regular HTML or PHP files, and you can use them however you
|
||||
want!
|
||||
|
||||
If you know enough to create an HTML or PHP document, then you already
|
||||
know how to use ProcessWire template files. The only difference is that
|
||||
ProcessWire provides your template files with certain variables that
|
||||
you may choose to use, or not use. Most notable is the $page variable,
|
||||
which contains all the fields of text or other information contained
|
||||
by the page being viewed.
|
||||
|
||||
For instance, $page->title contains the text contained in the Title
|
||||
field of the current page, and $page->body contains the text for the
|
||||
Body field of the current page. You can choose to output those wherever
|
||||
you want. A really simple template file might look like a regular HTML
|
||||
document except for where you want to output the dynamic portions (like
|
||||
title and body). Here's an example:
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title><?= $page->title ?></title>
|
||||
</head>
|
||||
<body>
|
||||
<h1><?= $page->title ?></h1>
|
||||
<?= $page->body ?>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
That's all that a template file is. Now when we're building something
|
||||
for real, we like to save ourselves as much work as possible and avoid
|
||||
writing the same HTML markup in multiple places. In order to do that
|
||||
we'll usually isolate the repetitive markup into separate files or
|
||||
functions so that we don't have to write it more than once. That's
|
||||
not required of course, but it's a good strategy to save you time and
|
||||
make it easier to maintain your site further down the road.
|
||||
|
||||
Template file strategies
|
||||
========================
|
||||
|
||||
The two most popular strategies for template files are:
|
||||
|
||||
1. Direct Output is the simplest strategy and the one used by the
|
||||
beginner edition of this site profile. While it doesn't scale as
|
||||
well as other strategies, it is a very good point to start from.
|
||||
If you've ever worked with WordPress templates, chances are you
|
||||
already know how Direct Output works. Read more about the Direct
|
||||
Output strategy:
|
||||
http://processwire.com/to/direct-output/
|
||||
|
||||
2. Delayed Output is the strategy used by the intermediate edition
|
||||
of this site profile. It is also quite simple but involves
|
||||
populating content to placeholder variables rather than outputting
|
||||
directly. As a result it may take a few more seconds to understand
|
||||
than direct output, but the result is more scalable and
|
||||
maintainable. Read more about Delayed Output here:
|
||||
http://processwire.com/to/delayed-output/
|
||||
|
||||
|
||||
How this Default Site Profile works (Beginner Edition)
|
||||
======================================================
|
||||
|
||||
This Default Site Profile (beginner edition) uses the Direct Output
|
||||
strategy. When a page is viewed on your site, here's what happens:
|
||||
|
||||
1. The initialization file is loaded (_init.php).
|
||||
Here we use it just to define a shared function for navigation.
|
||||
|
||||
2. The template file is loaded (i.e. basic-page.php or another).
|
||||
It outputs the content for the page.
|
||||
|
||||
|
||||
Below are more details on exactly what takes place and in these two
|
||||
steps outlined above:
|
||||
|
||||
1. The initialization file is loaded (_init.php)
|
||||
---------------------------------------------
|
||||
This step is completely optional with direct output, but we find
|
||||
it handy to use this file to define our shared functions (if any).
|
||||
In the case of this profile, we define a single renderNavTree()
|
||||
function. It is useful to have this as a re-usable function since
|
||||
we use it to generate markup for more than one place (specifically,
|
||||
for sidebar navigation and for the sitemap). However, if you have
|
||||
any confusion about this, ignore it for now and focus on #2 below
|
||||
as an initialization file is completely optional.
|
||||
|
||||
|
||||
2. The template file is loaded (i.e. basic-page.php or another)
|
||||
------------------------------------------------------
|
||||
Next, ProcessWire loads the template file used by the page being
|
||||
viewed. For example, most pages here use basic-page.php.
|
||||
|
||||
The first thing that our template file does is include the HTML
|
||||
header markup, which we've put in a file called _head.php:
|
||||
|
||||
include("./_head.php");
|
||||
|
||||
The above is simply a PHP function that says "include this file".
|
||||
The leading "./" just means "from the current directory". We also
|
||||
have an underscore "_" prepended to our filename here as a way
|
||||
to identify this as an include file rather than a regular template
|
||||
file. While completely optional, the underscore does also make
|
||||
ProcessWire ignore it when looking for new template files, so you
|
||||
may find it handy to use this convention in your own include files.
|
||||
An alternate would be to use .inc as an extension rather than .php.
|
||||
|
||||
Have a look in the _head.php file now so you can see what's there.
|
||||
It is basically half of an HTML file. Now have a look in _foot.php,
|
||||
that's the other half. Notice that all the template files that
|
||||
include _head.php at the beginning also include _foot.php at the
|
||||
ending. This is to ensure there is a complete HTML document being
|
||||
output.
|
||||
|
||||
To conclude, our template files (using direct output) are focused
|
||||
on outputting what goes in-between the _head.php and _foot.php.
|
||||
In our case, this is always a <div id='content'>...</div> and
|
||||
optionally a <div id='sidebar'>...</div>. But for your own
|
||||
template files you might choose to output something completely
|
||||
different.
|
||||
|
||||
Files that make up this profile
|
||||
===============================
|
||||
|
||||
Here is a summary of what is in each of the files in this directory.
|
||||
We also recommend reviewing them in this order:
|
||||
|
||||
- _head.php
|
||||
HTML header (top half of HTML document)
|
||||
|
||||
- _foot.php
|
||||
HTML footer (bottom half of HTML document)
|
||||
|
||||
- basic-page.php
|
||||
Template file outputting #content and #sidebar columns. This
|
||||
template file is used by most pages in this small site.
|
||||
|
||||
- home.php
|
||||
Template file used by homepage. Note that since the homepage uses
|
||||
nearly the same layout as the other pages in the site, this
|
||||
template file simply includes basic-page.php. No need two have
|
||||
more than one template file with the same contents.
|
||||
|
||||
- sitemap.php
|
||||
Outputs a sitemap of the entire site.
|
||||
|
||||
- search.php
|
||||
Outputs results of site search queries.
|
||||
|
||||
- _init.php
|
||||
Initialization file that we use to define a shared function for
|
||||
generating navigation markup.
|
||||
|
||||
|
||||
More template file resources
|
||||
============================
|
||||
|
||||
- How do template files work?
|
||||
https://processwire.com/api/templates/
|
||||
Official documentation on template files.
|
||||
|
||||
- API variables
|
||||
https://processwire.com/api/variables/
|
||||
We mentioned $page above, but here are all the other API variables
|
||||
your template file can make use of.
|
||||
|
||||
- API cheatsheet
|
||||
http://cheatsheet.processwire.com/
|
||||
Once you've got the basics down, this cheatsheet is invaluable in
|
||||
describing all the properties and functions available to your
|
||||
template files.
|
||||
|
||||
|
||||
Tutorials that help with template files
|
||||
=======================================
|
||||
|
||||
- Hello Worlds Tutoral, by Ryan Cramer
|
||||
http://processwire.com/docs/tutorials/hello-worlds/
|
||||
The Hello Worlds tutorial gently introduces ProcessWire and template
|
||||
files, starting from a blank slate.
|
||||
|
||||
- "But what if I don't know how to code?", by Joss Sanglier
|
||||
http://processwire.com/docs/tutorials/but-what-if-i-dont-know-how-to-code/
|
||||
This particular series of tutorials will not only introduce you to
|
||||
ProcessWire, but step by step, will give you those small bits of coding
|
||||
knowledge that will get you going and open up this amazing world of a
|
||||
Content Management Framework.
|
||||
|
||||
- Installing a CSS Framework, by Joss Sanglier
|
||||
http://processwire.com/docs/tutorials/installing-a-css-framework/
|
||||
A quick demonstration about how easy it is to use one of the many CSS
|
||||
frameworks available to designers.
|
||||
|
||||
- How to structure your template files, by Ryan Cramer
|
||||
http://processwire.com/docs/tutorials/how-to-structure-your-template-files/
|
||||
This tutorial contrasts and compares the direct output and delayed
|
||||
output strategies and more. It is a very good introduction to using
|
||||
ProcessWire template files.
|
||||
|
||||
|
22
site-beginner/templates/_foot.php
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
|
||||
</div><!--/#main-->
|
||||
|
||||
<!-- footer -->
|
||||
<footer id='footer'>
|
||||
<p>
|
||||
Powered by <a href='http://processwire.com'>ProcessWire CMS</a> /
|
||||
<?php
|
||||
if($user->isLoggedin()) {
|
||||
// if user is logged in, show a logout link
|
||||
echo "<a href='{$config->urls->admin}login/logout/'>Logout ($user->name)</a>";
|
||||
} else {
|
||||
// if user not logged in, show a login link
|
||||
echo "<a href='{$config->urls->admin}'>Admin Login</a>";
|
||||
}
|
||||
?>
|
||||
</p>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
98
site-beginner/templates/_func.php
Normal file
@@ -0,0 +1,98 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Shared functions used by the beginner profile
|
||||
*
|
||||
* This file is included by the _init.php file, and is here just as an example.
|
||||
* You could place these functions in the _init.php file if you prefer, but keeping
|
||||
* them in this separate file is a better practice.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Given a group of pages, render a simple <ul> navigation
|
||||
*
|
||||
* This is here to demonstrate an example of a simple shared function.
|
||||
* Usage is completely optional.
|
||||
*
|
||||
* @param PageArray $items
|
||||
*
|
||||
*/
|
||||
function renderNav(PageArray $items) {
|
||||
|
||||
if(!$items->count()) return;
|
||||
|
||||
echo "<ul class='nav'>";
|
||||
|
||||
// cycle through all the items
|
||||
foreach($items as $item) {
|
||||
|
||||
// render markup for each navigation item as an <li>
|
||||
if($item->id == wire('page')->id) {
|
||||
// if current item is the same as the page being viewed, add a "current" class to it
|
||||
echo "<li class='current'>";
|
||||
} else {
|
||||
// otherwise just a regular list item
|
||||
echo "<li>";
|
||||
}
|
||||
|
||||
// markup for the link
|
||||
echo "<a href='$item->url'>$item->title</a> ";
|
||||
|
||||
// if the item has summary text, include that too
|
||||
if($item->summary) echo "<div class='summary'>$item->summary</div>";
|
||||
|
||||
// close the list item
|
||||
echo "</li>";
|
||||
}
|
||||
|
||||
echo "</ul>";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Given a group of pages render a tree of navigation
|
||||
*
|
||||
* @param Page|PageArray $items Page to start the navigation tree from or pages to render
|
||||
* @param int $maxDepth How many levels of navigation below current should it go?
|
||||
*
|
||||
*/
|
||||
function renderNavTree($items, $maxDepth = 3) {
|
||||
|
||||
// if we've been given just one item, convert it to an array of items
|
||||
if($items instanceof Page) $items = array($items);
|
||||
|
||||
// if there aren't any items to output, exit now
|
||||
if(!count($items)) return;
|
||||
|
||||
// $out is where we store the markup we are creating in this function
|
||||
// start our <ul> markup
|
||||
echo "<ul class='nav nav-tree'>";
|
||||
|
||||
// cycle through all the items
|
||||
foreach($items as $item) {
|
||||
|
||||
// markup for the list item...
|
||||
// if current item is the same as the page being viewed, add a "current" class to it
|
||||
if($item->id == wire('page')->id) {
|
||||
echo "<li class='current'>";
|
||||
} else {
|
||||
echo "<li>";
|
||||
}
|
||||
|
||||
// markup for the link
|
||||
echo "<a href='$item->url'>$item->title</a>";
|
||||
|
||||
// if the item has children and we're allowed to output tree navigation (maxDepth)
|
||||
// then call this same function again for the item's children
|
||||
if($item->hasChildren() && $maxDepth) {
|
||||
renderNavTree($item->children, $maxDepth-1);
|
||||
}
|
||||
|
||||
// close the list item
|
||||
echo "</li>";
|
||||
}
|
||||
|
||||
// end our <ul> markup
|
||||
echo "</ul>";
|
||||
}
|
60
site-beginner/templates/_head.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title><?php echo $page->title; ?></title>
|
||||
<meta name="description" content="<?php echo $page->summary; ?>" />
|
||||
<link href='//fonts.googleapis.com/css?family=Lusitana:400,700|Quattrocento:400,700' rel='stylesheet' type='text/css' />
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/main.css" />
|
||||
</head>
|
||||
<body class='has-sidebar'>
|
||||
|
||||
<!-- top navigation -->
|
||||
<ul class='topnav'><?php
|
||||
|
||||
// top navigation consists of homepage and its visible children
|
||||
$homepage = $pages->get('/');
|
||||
$children = $homepage->children();
|
||||
|
||||
// make 'home' the first item in the navigation
|
||||
$children->prepend($homepage);
|
||||
|
||||
// render an <li> for each top navigation item
|
||||
foreach($children as $child) {
|
||||
if($child->id == $page->rootParent->id) {
|
||||
// this $child page is currently being viewed (or one of it's children/descendents)
|
||||
// so we highlight it as the current page in the navigation
|
||||
echo "<li class='current'><a href='$child->url'>$child->title</a></li>";
|
||||
} else {
|
||||
echo "<li><a href='$child->url'>$child->title</a></li>";
|
||||
}
|
||||
}
|
||||
|
||||
// output an "Edit" link if this page happens to be editable by the current user
|
||||
if($page->editable()) {
|
||||
echo "<li class='edit'><a href='$page->editUrl'>Edit</a></li>";
|
||||
}
|
||||
|
||||
?></ul>
|
||||
|
||||
<!-- search form -->
|
||||
<form class='search' action='<?php echo $pages->get('template=search')->url; ?>' method='get'>
|
||||
<input type='text' name='q' placeholder='Search' value='' />
|
||||
<button type='submit' name='submit'>Search</button>
|
||||
</form>
|
||||
|
||||
<!-- breadcrumbs -->
|
||||
<div class='breadcrumbs'><?php
|
||||
|
||||
// breadcrumbs are the current page's parents
|
||||
foreach($page->parents() as $item) {
|
||||
echo "<span><a href='$item->url'>$item->title</a></span> ";
|
||||
}
|
||||
// optionally output the current page as the last item
|
||||
echo "<span>$page->title</span> ";
|
||||
|
||||
?></div>
|
||||
|
||||
<div id='main'>
|
||||
|
15
site-beginner/templates/_init.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Initialization file for template files
|
||||
*
|
||||
* This file is automatically included as a result of $config->prependTemplateFile
|
||||
* option specified in your /site/config.php.
|
||||
*
|
||||
* You can initialize anything you want to here. In the case of this beginner profile,
|
||||
* we are using it just to include another file with shared functions.
|
||||
*
|
||||
*/
|
||||
|
||||
include_once("./_func.php"); // include our shared functions
|
||||
|
15
site-beginner/templates/admin.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php namespace ProcessWire;
|
||||
|
||||
/**
|
||||
* Admin template just loads the admin application controller,
|
||||
* and admin is just an application built on top of ProcessWire.
|
||||
*
|
||||
* This demonstrates how you can use ProcessWire as a front-end
|
||||
* to another application.
|
||||
*
|
||||
* Feel free to hook admin-specific functionality from this file,
|
||||
* but remember to leave the require() statement below at the end.
|
||||
*
|
||||
*/
|
||||
|
||||
require($config->paths->adminTemplates . 'controller.php');
|
45
site-beginner/templates/basic-page.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
include('./_head.php'); // include header markup ?>
|
||||
|
||||
<div id='content'><?php
|
||||
|
||||
// output 'headline' if available, otherwise 'title'
|
||||
echo "<h1>" . $page->get('headline|title') . "</h1>";
|
||||
|
||||
// output bodycopy
|
||||
echo $page->body;
|
||||
|
||||
// render navigation to child pages
|
||||
renderNav($page->children);
|
||||
|
||||
// TIP: Notice that this <div id='content'> section is
|
||||
// identical between home.php and basic-page.php. You may
|
||||
// want to move this to a separate file, like _content.php
|
||||
// and then include('./_content.php'); here instead, on both
|
||||
// the home.php and basic-page.php template files. Then when
|
||||
// you make yet more templates that need the same thing, you
|
||||
// can simply include() it from them.
|
||||
|
||||
?></div><!-- end content -->
|
||||
|
||||
<div id='sidebar'><?php
|
||||
|
||||
// rootParent is the parent page closest to the homepage
|
||||
// you can think of this as the "section" that the user is in
|
||||
// so we'll assign it to a $section variable for clarity
|
||||
$section = $page->rootParent;
|
||||
|
||||
// if there's more than 1 page in this section...
|
||||
if($section->hasChildren > 1) {
|
||||
// output sidebar navigation
|
||||
// see _init.php for the renderNavTree function
|
||||
renderNavTree($section);
|
||||
}
|
||||
|
||||
// output sidebar text if the page has it
|
||||
echo $page->sidebar;
|
||||
|
||||
?></div><!-- end sidebar -->
|
||||
|
||||
<?php include('./_foot.php'); // include footer markup ?>
|
11
site-beginner/templates/errors/500.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>500 Internal Server Error</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Internal Server Error</h1>
|
||||
<p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p>
|
||||
<p>{message}</p>
|
||||
</body>
|
||||
</html>
|
21
site-beginner/templates/errors/README.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
When a fatal error occurs, ProcessWire displays the message:
|
||||
|
||||
"Unable to complete this request due to an error."
|
||||
|
||||
The message is intentionally vague for security purposes.
|
||||
Details will be logged to /site/assets/logs/errors.txt.
|
||||
|
||||
When present in this directory, the file 500.html will be
|
||||
displayed instead of the generic error message above. Feel
|
||||
free to modify this file to show whatever you would like.
|
||||
Please note the following:
|
||||
|
||||
* 500.html is plain HTML and has no PHP or API access.
|
||||
|
||||
* You may enter the tag {message} and ProcessWire will
|
||||
replace this with additional details when applicable.
|
||||
When not applicable, it will make it blank.
|
||||
|
||||
* If you are logged in as an admin, ProcessWire will
|
||||
give you a detailed error message rather than 500.html.
|
||||
|
39
site-beginner/templates/home.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
include('./_head.php'); // include header markup ?>
|
||||
|
||||
<div id='content'><?php
|
||||
|
||||
// output 'headline' if available, otherwise 'title'
|
||||
echo "<h1>" . $page->get('headline|title') . "</h1>";
|
||||
|
||||
// output bodycopy
|
||||
echo $page->body;
|
||||
|
||||
// render navigation to child pages
|
||||
renderNav($page->children);
|
||||
|
||||
?></div><!-- end content -->
|
||||
|
||||
<div id='sidebar'><?php
|
||||
|
||||
if(count($page->images)) {
|
||||
|
||||
// if the page has images on it, grab one of them randomly...
|
||||
$image = $page->images->getRandom();
|
||||
|
||||
// resize it to 400 pixels wide
|
||||
$image = $image->width(400);
|
||||
|
||||
// output the image at the top of the sidebar...
|
||||
echo "<img src='$image->url' alt='$image->description' />";
|
||||
}
|
||||
|
||||
// output sidebar text if the page has it
|
||||
echo $page->sidebar;
|
||||
|
||||
?></div><!-- end sidebar -->
|
||||
|
||||
<?php include('./_foot.php'); // include footer markup ?>
|
||||
|
||||
|
3
site-beginner/templates/scripts/main.js
Normal file
@@ -0,0 +1,3 @@
|
||||
// Well hello there. Looks like we don't have any Javascript.
|
||||
// Maybe you could help a friend out and put some in here?
|
||||
// Or at least, when ready, this might be a good place for it.
|
69
site-beginner/templates/search.php
Normal file
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
include("./_head.php"); ?>
|
||||
|
||||
<div id='content'>
|
||||
|
||||
<?php
|
||||
|
||||
// search.php template file
|
||||
// See README.txt for more information.
|
||||
|
||||
// look for a GET variable named 'q' and sanitize it
|
||||
$q = $sanitizer->text($input->get->q);
|
||||
|
||||
// did $q have anything in it?
|
||||
if($q) {
|
||||
|
||||
// Sanitize for placement within a selector string. This is important for any
|
||||
// values that you plan to bundle in a selector string like we are doing here.
|
||||
$q = $sanitizer->selectorValue($q);
|
||||
|
||||
// Search the title and body fields for our query text.
|
||||
// Limit the results to 50 pages.
|
||||
$selector = "title|body~=$q, limit=50";
|
||||
|
||||
// If user has access to admin pages, lets exclude them from the search results.
|
||||
// Note that 2 is the ID of the admin page, so this excludes all results that have
|
||||
// that page as one of the parents/ancestors. This isn't necessary if the user
|
||||
// doesn't have access to view admin pages. So it's not technically necessary to
|
||||
// have this here, but we thought it might be a good way to introduce has_parent.
|
||||
if($user->isLoggedin()) $selector .= ", has_parent!=2";
|
||||
|
||||
// Find pages that match the selector
|
||||
$matches = $pages->find($selector);
|
||||
|
||||
// did we find any matches? ...
|
||||
if($matches->count) {
|
||||
|
||||
// we found matches
|
||||
echo "<h2>Found $matches->count page(s) matching your query:</h2>";
|
||||
|
||||
// output navigation for them (see TIP below)
|
||||
echo "<ul class='nav'>";
|
||||
|
||||
foreach($matches as $match) {
|
||||
echo "<li><a href='$match->url'>$match->title</a>";
|
||||
echo "<div class='summary'>$match->summary</div></li>";
|
||||
}
|
||||
|
||||
echo "</ul>";
|
||||
|
||||
// TIP: you could replace everything from the <ul class='nav'> above
|
||||
// all the way to here, with just this: renderNav($matches);
|
||||
|
||||
} else {
|
||||
// we didn't find any
|
||||
echo "<h2>Sorry, no results were found.</h2>";
|
||||
}
|
||||
|
||||
} else {
|
||||
// no search terms provided
|
||||
echo "<h2>Please enter a search term in the search box (upper right corner)</h2>";
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
</div><!-- end content -->
|
||||
|
||||
<?php include("./_foot.php"); ?>
|
17
site-beginner/templates/sitemap.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
include("./_head.php"); ?>
|
||||
|
||||
<div id='content'>
|
||||
|
||||
<?php
|
||||
|
||||
$maxDepth = 4;
|
||||
renderNavTree($pages->get('/'), $maxDepth);
|
||||
// see the _init.php for the renderNavTree function
|
||||
|
||||
?>
|
||||
|
||||
</div>
|
||||
|
||||
<?php include("./_foot.php"); ?>
|
293
site-beginner/templates/styles/main.css
Normal file
@@ -0,0 +1,293 @@
|
||||
/**
|
||||
* main.css
|
||||
*
|
||||
* 1. General HTML tags
|
||||
* 2. Masthead area
|
||||
* 3. Main content and sidebar
|
||||
* 4. Footer
|
||||
* 5. Media queries for responsive layout
|
||||
*
|
||||
*/
|
||||
|
||||
/*********************************************************************
|
||||
* 1. General HTML tags
|
||||
*
|
||||
*/
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 5%;
|
||||
max-width: 1600px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
body, td, input[type=text], textarea {
|
||||
font-family: 'Quattrocento', serif;
|
||||
font-size: 105%;
|
||||
line-height: 1.8em;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h3 {
|
||||
border-top: 1px solid #eee;
|
||||
padding-top: 1em;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #333;
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
a:hover,
|
||||
.nav a:hover {
|
||||
color: #000;
|
||||
border-color: #aaa;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin-left: 0;
|
||||
padding-left: 1.5em;
|
||||
padding-right: 2em;
|
||||
border-left: 4px solid #ddd;
|
||||
font-style: italic;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
pre, code {
|
||||
background: #eee;
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
|
||||
pre {
|
||||
font-size: 14px;
|
||||
line-height: 1.4em;
|
||||
padding: 1em;
|
||||
border-left: 4px solid #ddd;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* 2. Masthead area
|
||||
*
|
||||
*/
|
||||
|
||||
.topnav, .topnav li {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.topnav li {
|
||||
float: left;
|
||||
margin-right: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
.topnav a {
|
||||
padding: 0.25em 0.5em;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
background: #eee;
|
||||
color: #333;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
.topnav a:hover {
|
||||
background: #ddd;
|
||||
border-color: #ddd;
|
||||
}
|
||||
.topnav li.current a {
|
||||
background: #ccc;
|
||||
border-color: #ccc;
|
||||
}
|
||||
.topnav li.edit a {
|
||||
background: none;
|
||||
}
|
||||
|
||||
|
||||
form.search {
|
||||
float: right;
|
||||
margin: 0;
|
||||
width: 30%;
|
||||
}
|
||||
form.search input {
|
||||
margin: 0;
|
||||
padding: 0.25em 0.5em;
|
||||
border: 1px solid #ccc;
|
||||
width: 100%;
|
||||
}
|
||||
form.search button {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.breadcrumbs {
|
||||
clear: both;
|
||||
padding-top: 1em;
|
||||
}
|
||||
.breadcrumbs span:after {
|
||||
content: ">";
|
||||
color: #999;
|
||||
padding-left: 0.5em;
|
||||
padding-right: 0.25em;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* 3. Main content and sidebar
|
||||
*
|
||||
*/
|
||||
|
||||
#main {
|
||||
border-top: 1px solid #eee;
|
||||
padding-top: 1em;
|
||||
margin-top: 1em;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#content {
|
||||
width: 65%;
|
||||
float: left;
|
||||
padding-bottom: 2em;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
width: 35%;
|
||||
padding-left: 5%;
|
||||
float: left;
|
||||
padding-bottom: 2em;
|
||||
}
|
||||
|
||||
.nav {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.nav .nav {
|
||||
padding-left: 1.5em;
|
||||
list-style: disc;
|
||||
}
|
||||
.nav li {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.nav-tree li {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.nav a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.nav-tree li a {
|
||||
color: #777;
|
||||
}
|
||||
|
||||
.nav .current > a {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.align_left {
|
||||
/* for images placed in rich text editor */
|
||||
float: left;
|
||||
margin: 0 1em 0.5em 0;
|
||||
position: relative;
|
||||
top: 0.5em;
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
.align_right {
|
||||
/* for images placed in rich text editor */
|
||||
float: right;
|
||||
margin: 0 0 0.5em 1em;
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
.align_center {
|
||||
/* for images placed in rich text editor */
|
||||
display: block;
|
||||
margin: 1em auto;
|
||||
position: relative;
|
||||
top: 0.5em;
|
||||
}
|
||||
|
||||
figure {
|
||||
display: table;
|
||||
width: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
figure img {
|
||||
display: table-row;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
figure figcaption {
|
||||
display: table-row;
|
||||
font-size: smaller;
|
||||
color: #777;
|
||||
line-height: 1.4em;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* 4. Footer
|
||||
*
|
||||
*/
|
||||
|
||||
#footer {
|
||||
clear: both;
|
||||
border-top: 1px solid #eee;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* 5. Media queries for responsive layout
|
||||
*
|
||||
*/
|
||||
|
||||
@media only screen and (max-width: 767px) {
|
||||
/* mobile layout */
|
||||
|
||||
body, td, textarea {
|
||||
font-size: 100%;
|
||||
}
|
||||
#content,
|
||||
#sidebar {
|
||||
float: none;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
form.search {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
#content {
|
||||
width: 100%;
|
||||
}
|
||||
#sidebar {
|
||||
border-top: 1px solid #eee;
|
||||
padding-top: 1em;
|
||||
}
|
||||
.align_left, .align_right, .align_center {
|
||||
display: block;
|
||||
float: none;
|
||||
margin: 1em auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 1200px) {
|
||||
/* extra-wide desktop layout */
|
||||
|
||||
body, td, textarea {
|
||||
font-size: 115%;
|
||||
}
|
||||
}
|