コード例 #1
0
ファイル: install.php プロジェクト: rizub4u/gpEasy-CMS
    function Install_DataFiles_New($destination = false, $config, $base_install = true)
    {
        global $langmessage;
        if ($destination === false) {
            $destination = $GLOBALS['dataDir'];
        }
        //set config variables
        //$config = array(); //because of ftp values
        $gpLayouts = array();
        $gpLayouts['default']['theme'] = 'Light_Texture/Blue';
        $gpLayouts['default']['color'] = '#93c47d';
        $gpLayouts['default']['label'] = $langmessage['default'];
        $config['toemail'] = $_POST['email'];
        $config['gpLayout'] = 'default';
        $config['title'] = Install_Tools::Install_Title();
        $config['keywords'] = 'gpEasy CMS, Easy CMS, Content Management, PHP, Free CMS, Website builder, Open Source';
        $config['desc'] = 'A new gpEasy CMS installation. You can change your site\'s description in the configuration.';
        $config['timeoffset'] = '0';
        $config['langeditor'] = 'inherit';
        $config['dateformat'] = '%m/%d/%y - %I:%M %p';
        $config['gpversion'] = $GLOBALS['gpversion'];
        $config['shahash'] = function_exists('sha1');
        if (!isset($config['gpuniq'])) {
            $config['gpuniq'] = common::RandomString(20);
        }
        $config['combinecss'] = Install_Tools::BooleanValue('combinecss', true);
        $config['combinejs'] = Install_Tools::BooleanValue('combinejs', true);
        $config['etag_headers'] = Install_Tools::BooleanValue('etag_headers', true);
        //directories
        gpFiles::CheckDir($destination . '/data/_uploaded/image');
        gpFiles::CheckDir($destination . '/data/_uploaded/media');
        gpFiles::CheckDir($destination . '/data/_uploaded/file');
        gpFiles::CheckDir($destination . '/data/_uploaded/flash');
        gpFiles::CheckDir($destination . '/data/_sessions');
        $content = '<h2>Welcome!</h2>
		<p>Welcome to your new gpEasy powered website. Now that gpEasy is installed, you can start editing the content and customising your site.</p>
		<h3>Getting Started</h3>
		<p>You are currently viewing the default home page of your website. Here\'s a quick description of how to edit this page.</p>
		<ol>
		<li>First make sure you&#39;re ' . Install_Tools::Install_Link_Content('Admin_Main', 'logged in', 'file=Home') . '.</li>
		<li>Then, to edit this page, click the &quot;Edit&quot; link that appears when you move your mouse over the content.</li>
		<li>Make your edits, click &quot;Save&quot; and you&#39;re done!</li>
		</ol>
		<h3>More Options</h3>
		<ul>
		<li>Adding, renaming, deleting and organising your pages can all be done in the ' . Install_Tools::Install_Link_Content('Admin_Menu', 'Page Manager') . '.</li>
		<li>Choose from a ' . Install_Tools::Install_Link_Content('Admin_Theme_Content', 'variety of themes') . ' to give your site a custom look.</li>
		<li>Then, you can ' . Install_Tools::Install_Link_Content('Admin_Theme_Content', 'add, remove and rearrange', 'cmd=editlayout') . ' the content of your site without editing the html.</li>
		<li>Take a look at the Administrator Toolbar to access all the features of gpEasy.</li>
		</ul>
		<h3>Online Resources</h3>
		<p>gpEasy.com has a number of resources to help you do even more with gpEasy.</p>
		<ul>
		<li>Find more community developed <a href="http://gpeasy.com/Special_Addon_Themes" title="gpEasy CMS Themes">themes</a> and <a href="http://gpeasy.com/Special_Addon_Plugins" title="gpEasy CMS Plugin">plugins</a> to enhance your site.</li>
		<li>Get help in the <a href="http://gpeasy.com/Special_Forum" title="gpEasy CMS Forum">gpEasy forum</a>.</li>
		<li>Show off your <a href="http://gpeasy.com/Special_Powered_by" title="Sites Using gpEasy CMS">gpEasy powered site</a> or list your <a href="http://gpeasy.com/Special_Service_Provider" title="Businesses Using gpEasy CMS">gpEasy related business</a>.</li>
		</ul>';
        gpFiles::NewTitle('Home', $content);
        gpFiles::NewTitle('Help_Videos', "<h1>Help Videos</h1>\n\t\t<p>Video tutorials are often a fast and easy way to learn new things quickly.\n\t\tSo far, we only have one in Deutsch (German) made by <a href=\"http://gpeasy.com/Special_Service_Provider?id=57\" title=\"IT Ricther on gpEasy.com\">IT Richter</a>.\n\t\tIf you make a video tutorial for gpEasy, <a href=\"http://gpeasy.com/Contact\">let us know</a>, and we'll make sure it's included in our list.\n\t\t</p>\n\t\t<p>And as always, to edit this page, just click the \"Edit\" button while logged in.</p>\n\t\t<h2>Deutsch</h2>\n\t\t<p><iframe width=\"560\" height=\"315\" src=\"http://www.youtube.com/embed/04cNgR1EiFY\" frameborder=\"0\" allowfullscreen></iframe></p>\n\t\t");
        gpFiles::NewTitle('Child_Page', '<h1>A Child Page</h1><p>This was created as a subpage of your <em>Help Videos</em> . You can easily change the arrangement of all your pages using the ' . Install_Tools::Install_Link_Content('Admin_Menu', 'Page Manager') . '.</p>');
        gpFiles::NewTitle('About', '<h1>About gpEasy CMS</h1><p><a href="http://gpEasy.com" title="gpEasy.com">gp|Easy</a> is a complete Content Management System (CMS) that can help you create rich and flexible web sites with a simple and easy to use interface.</p>
		<h2>gpEasy CMS How To</h2>
		<p>Learn how to <a href="http://docs.gpeasy.com/Main/Admin" title="gpEasy File Management">manage your files</a>,
		<a href="http://docs.gpeasy.com/Main/Creating%20Galleries" title="Creating Galleries in gpEasy CMS">create galleries</a> and more in the
		<a href="http://docs.gpeasy.org/index.php/" title="gpEasy CMS Documentation">gpEasy Documentation</a>.
		</p>

		<h2>gpEasy CMS Features</h2>
		<ul>
		<li>True WYSIWYG (Using CKEditor)</li>
		<li>Galleries (Using ColorBox)</li>
		<li>SEO Friendly Links</li>
		<li>Free and Open Source (GPL)</li>
		<li>Runs on PHP</li>
		<li>File Upload Manager</li>
		<li>Drag \'n Drop Theme Content</li>
		<li>Deleted File Trash Can</li>
		<li>Multiple User Administration</li>
		<li>Flat File Storage</li>
		<li>Fast Page Loading</li>
		<li>Fast and Easy Installation</li>
		<li>reCaptcha for Contact Form</li>
		<li>HTML Tidy (when available)</li>
		</ul>
		<h2>If You Like gpEasy...</h2>
		<p>If you like gpEasy, then you might also like:</p>
		<ul>
		<li><a href="http://phpeasymin.com" title="Minimize JavaScript and CSS files easily">phpEasyMin.com</a> - Minimize multiple JavaScript and CSS files in one sweep.</li>
		</ul>');
        //Side_Menu
        $file = $destination . '/data/_extra/Side_Menu.php';
        $content = '<h3>Join the gpEasy Community</h3>
		<p>Visit gpEasy.com to access the many <a href="http://gpeasy.com/Special_Resources" title="gpEasy Community Resources">available resources</a> to help you get the most out of our CMS.</p>
		<ul>
		<li><a href="http://gpeasy.com/Special_Addon_Themes" title="gpEasy CMS Themes">Download Themes</a></li>
		<li><a href="http://gpeasy.com/Special_Addon_Plugins" title="gpEasy CMS Plugin">Download Plugins</a></li>
		<li><a href="http://gpeasy.com/Special_Forum" title="gpEasy CMS Forum">Get Help in the Forum</a></li>
		<li><a href="http://gpeasy.com/Special_Powered_by" title="Sites using gpEasy CMS">Show off Your Site</a></li>
		<li><a href="http://gpeasy.com/Special_Resources" title="gpEasy Community Resources">And Much More...</a></li>
		</ul>
		<p class="sm">(Edit this content by clicking &quot;Edit&quot;, it&#39;s that easy!)</p>';
        gpFiles::SaveFile($file, $content);
        //Header
        $file = $destination . '/data/_extra/Header.php';
        $contents = '<h1>' . Install_Tools::Install_Link('', $config['title']) . '</h1>';
        $contents .= '<h4>' . 'The Fast and Easy CMS' . '</h4>';
        gpFiles::SaveFile($file, $contents);
        //Footer
        $file = $destination . '/data/_extra/Footer.php';
        $content = '<h3><a href="http://gpeasy.com/Our_CMS" title="Features of Our CMS">gpEasy CMS Features</a></h3>
		<p>Easy to use True WYSIWYG Editing.</p>
		<p>Flat-file data storage and advanced resource management for fast websites.</p>
		<p>Community driven development</p>
		<p><a href="http://gpeasy.com/Our_CMS" title="Features of Our CMS">And More...</a></p>
		<p>If you like gpEasy, then you might also like <a href="http://phpeasymin.com" title="Minimize JavaScript and CSS files easily">phpEasyMin.com</a></p>
		';
        gpFiles::SaveFile($file, $content);
        //contact html
        $file = $destination . '/data/_extra/Contact.php';
        gpFiles::SaveFile($file, '<h2>Contact Us</h2><p>Use the form below to contact us, and be sure to enter a valid email address if you want to hear back from us.</p>');
        // gp_index
        $new_index = array();
        $new_index['Home'] = 'a';
        $new_index['Help_Videos'] = 'b';
        $new_index['Child_Page'] = 'c';
        $new_index['About'] = 'd';
        $new_index['Contact'] = 'special_contact';
        $new_index['Site_Map'] = 'special_site_map';
        $new_index['Galleries'] = 'special_galleries';
        $new_index['Missing'] = 'special_missing';
        //	gpmenu
        $new_menu = array();
        $new_menu['a'] = array('level' => 0);
        $new_menu['b'] = array('level' => 0);
        $new_menu['c'] = array('level' => 1);
        $new_menu['d'] = array('level' => 0);
        $new_menu['special_contact'] = array('level' => 1);
        //	links
        $new_titles = array();
        $new_titles['a']['label'] = 'Home';
        $new_titles['a']['type'] = 'text';
        $new_titles['b']['label'] = 'Help Videos';
        $new_titles['b']['type'] = 'text';
        $new_titles['c']['label'] = 'Child Page';
        $new_titles['c']['type'] = 'text';
        $new_titles['d']['label'] = 'About';
        $new_titles['d']['type'] = 'text';
        $new_titles['special_contact']['lang_index'] = 'contact';
        $new_titles['special_contact']['type'] = 'special';
        $new_titles['special_site_map']['lang_index'] = 'site_map';
        $new_titles['special_site_map']['type'] = 'special';
        $new_titles['special_galleries']['lang_index'] = 'galleries';
        $new_titles['special_galleries']['type'] = 'special';
        $new_titles['special_missing']['label'] = 'Missing';
        $new_titles['special_missing']['type'] = 'special';
        $pages = array();
        $pages['gp_index'] = $new_index;
        $pages['gp_menu'] = $new_menu;
        $pages['gp_titles'] = $new_titles;
        $pages['gpLayouts'] = $gpLayouts;
        echo '<li>';
        if (!gpFiles::SaveArray($destination . '/data/_site/pages.php', 'pages', $pages)) {
            echo '<span class="failed">';
            //echo 'Could not save pages.php';
            echo sprintf($langmessage['COULD_NOT_SAVE'], 'pages.php');
            echo '</span>';
            echo '</li>';
            return false;
        }
        echo '<span class="passed">';
        //echo 'Pages.php saved.';
        echo sprintf($langmessage['_SAVED'], 'pages.php');
        echo '</span>';
        echo '</li>';
        //users
        echo '<li>';
        $user_info = array();
        $user_info['password'] = sha1(trim($_POST['password']));
        $user_info['granted'] = 'all';
        $user_info['editing'] = 'all';
        $user_info['email'] = $_POST['email'];
        $users = array();
        $username = $_POST['username'];
        //log user in here to finish user_info
        if ($base_install) {
            includeFile('tool/sessions.php');
            define('gp_session_cookie', common::SessionCookie($config['gpuniq']));
            gpsession::create($user_info, $username);
        }
        $users[$username] = $user_info;
        if (!gpFiles::SaveArray($destination . '/data/_site/users.php', 'users', $users)) {
            echo '<span class="failed">';
            echo sprintf($langmessage['COULD_NOT_SAVE'], 'users.php');
            echo '</span>';
            echo '</li>';
            return false;
        }
        echo '<span class="passed">';
        echo sprintf($langmessage['_SAVED'], 'users.php');
        echo '</span>';
        echo '</li>';
        //save config
        //not using SaveConfig() because $config is not global here
        echo '<li>';
        if (!gpFiles::SaveArray($destination . '/data/_site/config.php', 'config', $config)) {
            echo '<span class="failed">';
            echo sprintf($langmessage['COULD_NOT_SAVE'], 'config.php');
            echo '</span>';
            echo '</li>';
            return false;
        }
        echo '<span class="passed">';
        echo sprintf($langmessage['_SAVED'], 'config.php');
        echo '</span>';
        echo '</li>';
        if ($base_install) {
            Install_Tools::InstallHtaccess($destination, $config);
        }
        return true;
    }