Latest Post
Tampilkan postingan dengan label cms. Tampilkan semua postingan
Tampilkan postingan dengan label cms. Tampilkan semua postingan

Join us ...

Written By Unknown on Senin, 09 September 2013 | 22.24

Top 15 Free PHP Content Management Systems (CMS) Scripts

Written By Unknown on Rabu, 05 Desember 2012 | 08.57

Drupal
Drupal is an open source content management system (CMS) or platform that uses PHP and MySQL. It allows an individual user or even a community of users to publish, manage and maintain your website. You can use it to create blogs, forums, picture galleries, file upload and download sites, forums, collaborative authoring environments, podcasting, peer-to-peer networking sites, etc. The system is modular and highly customizable. It is licensed under the GNU General Public License.


ComicCMS
ComicCMS is an open source CMS that has the specialised ("specialized" in US English) purpose of letting you display your web comics on the Internet. To speed up its operation, it has built-in caching for the pages it generates and uses AJAX to request only the portions of each page that it needs (rather than loading entire pages at a time). Features include the ability to tag your comics, add news, create comic and news RSS feeds, add a calendar (via a plugin), and plugin support. 

TextPattern Content Management System
TextPattern is an open source CMS that attempts to make it easier for the average user to modify its templates. Its templates use a simple syntax known as Textile that allow you to use a few simple markers to indicate things like images, hyperlinks, etc. The software allows multiple contributors, supports plugins, etc. TextPattern uses PHP and MySQL. 

SilverStripe.org
This open source web content management system has a template language that lets you integrate your content into the CSS/HTML that you design. Alternatively, you can use one of the themes donated by others for this CMS software. It has support for extensions like the Blog module, which lets you add a blog to your site; a Diary module, which supports an online diary, calendar and year planner; an E-commerce module; an Event Calendar module; a discussion Forum module; and so on. The program is licensed under the revised BSD licence. 

Wolf CMS
Wolf CMS provides you the ability to customise ("customize" in US English) your web page on a per-page basis (eg, you can make it have its own layout, inherit the layout of the parent, or use yet another page's layout), set password-protected pages, use search-engine friendly URLs, etc. This CMS can use either MySQL or SQLite for its database. 

Drake CMS
Drake CMS is a PHP-based open source content management system that does not need any database system to be installed, although it supports a number of them (including MySQL, PostgreSQL, SQLite, Sybase, Frontbase, MaxDB, MS SQL, etc) if you have them. You can use it to create community-based portals, magazines and newspapers, simple personal or family websites, company or organisation websites, etc. It has a hierarchy of users, starting with the Admistrator down to the simple website visitor, with the facility to control the access rights of each of these user levels. You can create subsites with this CMS without replicating the CMS files. 

Joomla! Content Management
Joomla! is an open source content management system (CMS) that can be used to power your website and allow you to easily manage it from an online interface. It includes an integrated WYSIWYG editor, support for multiple users/editors, a simple poll engine, several templates, etc. You can augment the features provided by the basic CMS installation by adding their extensions. Extensions available include blogging software, calendars, directory services, email newsletters, e-commerce and shopping cart engines, image and multimedia galleries, forums and chat software, banner advertising systems, business and organizational directories, dynamic form builders, etc. Joomla! requires that your web server be running Apache and has PHP and MySQL installed. 

ocPortal Content Management
This CMS is a web content management system that features galleries, news, file downloads, community forums and chats, wiki, content commenting and rating, a built-in search engine (site search), newsletters and mass mailing facilities, support ticket system, featured content (eg, image of the day, random quotes), paid membership sections with support for payment gateways like PayPal, banner support, etc. 

OpenCMS
OpenCMS is an open source website content management system (CMS) that uses Java, JSP, XML, MySQL on Tomcat (a Java Servlet container and web server). It comes with an integrated WYSIWYG editor and a simple text editor for Internet Explorer and Mozilla-based browsers like Firefox. The CMS software allows you to view your workspace in an Explorer-like window, edit files by changing specific elements within the page or directly editing them using the built-in WYSIWYG editor, etc. This program is licensed under the GNU General Public License. 

PHP-Fusion
PHP-Fusion is a content management system (CMS) that uses a MySQL database to store the contents of your website. It requires PHP 4 running on an Apache server. The program is released under the GNU General Public License. 

CMSimple Content Management
CMSimple Content Management is designed for webmasters with relatively small sites (less than 2 Mb in text content). It does not need your site to have a database - the content of your site is stored in a single HTML file. It has an online JavaScript-based WYSIWYG editor that works in Mozilla and IE 5.5 and above (doesn't work in other browsers). The program is free, but requires you to preserve the link to their site. 

phpwcms - Web Content Management System
phpwcms is a content management system that uses PHP and MySQL. It includes multiple WYSIWYG editors, a frontend CSS editor, image resizing capabilities, file manager, support for meta tags, template editor, W3C conforming frontend rendering, etc. It can be installed on Windows 2000/XP, Mac OSX and Linux. The package is released under the GNU General Public License. 

TYPO3 Open Source Content Management System
TYPO3 is an open source content management system that is multilingual; allows WYSIWYG editing using a rich text editor (this feature is only for IE Windows users); has wizards for making tables, bullet lists, mail forms, etc; allows multiple page editing; allows offline editing, preview of content online, scheduled publishing; has an indexed search engine, a direct mail or newsletter system, etc. Administrators have access control (the ability to control access to various parts of the system), statistics, logging, version control with unlimited undos, raw database access, etc. You can use HTML templates, PHP scripts, create protected areas, and so on. The entire system is released under the GNU General Public License. 

ezContents Content Management System
ezContents is an open source website countent management system that uses PHP and MySQL. You can add authors that write content, manage permissions, workflow, create a layout, etc. It supports both sites with frames and those without. 

phpCMS - PHP Content Management System
This PHP content management script includes a file manager, full text search engine, online editor, statistics, dynamic menus, etc. Unlike many of the other content management systems (CMS), this one works with flat files.

Content Management System ( CMS ) using PHP and MySQL

Written By Unknown on Jumat, 07 Mei 2010 | 01.12


A Content Management System ( CMS ) is used to add, edit, and delete content on a website. For a small website, such as this, adding and deleting a page manually is fairly simple. But for a large website with lots of pages like a news website adding a page manually without a content management system can be a headache.

A CMS is meant to ease the process of adding and modifying new content to a webpage. The pages content are stored in database, not in the file server.

This tutorial will present an example of a simple content management system. You will be able to add, edit and delete articles using HTML forms.

For the database table we'll call it the news table. It consist of three columns :
  • id : The article's id
  • title : The title of an article
  • content : The article itself

First we need to create a script to add an article. It is just a form where a user can enter the article's title and content.


Example :  

<form method="post">
<table width="700" border="0" cellpadding="2" cellspacing="1" align="center">
<tr>
<td width="100">Title</td>
<td>
<input name="title" type="text"></td>
</tr>
<tr>
<td width="100">Content</td>
<td>
<textarea name="content" cols="50" rows="10"></textarea></td>
</tr>
<tr>
<td width="100">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2" align="center"><input name="save" type="submit" value="Save Article"></td>
</tr>
</table>
</form>

Whe an article is added the script just insert the article into the database. An article id is automatically generated by MySQL because the id column was created with AUTO_INCREMENT parameter .


<?php
if(isset($_POST['save']))
{
   $title   = $_POST['title'];
   $content = $_POST['content'];

   if(!get_magic_quotes_gpc())
   {
      $title   = addslashes($title);
      $content = addslashes($content);
   }
   include 'library/config.php';
   include 'library/opendb.php';

   $query = " INSERT INTO news (title, content) ".
            " VALUES ('$title', '$content')";
   mysql_query($query) or die('Error ,query failed');

   include 'library/closedb.php';

   echo "Article '$title' added";
}
?>

Now that we have the script to add articles let's create another script to view those articles. The script is list the title of articles available in database as clickable links. The article link have the article id appended like this
http://www.php-mysql-tutorial.com/examples/cms/article1.php?id=3

One possible implementation of article1.php is presented below :


Example


<?php
include 'library/config.php';
include 'library/opendb.php';

// if no id is specified, list the available articles
if(!isset($_GET['id']))
{
   $self = $_SERVER['PHP_SELF'];

   $query = "SELECT id, title FROM news ORDER BY id";
   $result = mysql_query($query) or die('Error : ' . mysql_error());

   // create the article list
   
$content = '<ol>';
   while($row = mysql_fetch_array($result, MYSQL_NUM))
   {
      list($id, $title) = $row;
      $content .= "<li><a href=\"$self?id=$id\">$title</a></li>\r\n";
   }

   $content .= '</ol>';

   
$title = 'Available Articles';
} else {
   // get the article info from database
   $query = "SELECT title, content FROM news WHERE id=".$_GET['id'];
   $result = mysql_query($query) or die('Error : ' . mysql_error());
   $row = mysql_fetch_array($result, MYSQL_ASSOC);

   
$title = $row['title'];
   
$content = $row['content'];
}

include 'library/closedb.php';
?>



// ... more code here
When article1.php is first called the $_GET['id'] variable is not set and so it will query the database for the article list and save the list in the$content variable as an ordered list. The variable $title and $content will be used later when we print the result page. Take a look at the code below :


Example : 


<?php
// ... previous code
?>
<html>
<head>
<title>
<?php 
echo $title; ?>
</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">

// ... some css here to make the page look nicer

</style>
</head>
<body>
<table width="600" border="0" align="center" cellpadding="10" cellspacing="1" bgcolor="#336699">
<tr>
<td bgcolor="#FFFFFF">
<h1 align="center"><?php 
echo $title; ?></h1>
<?php 
echo $content;
// when displaying an article show a link
// to see the article list
if(isset($_GET['id']))
{
?>
<p>&nbsp;</p>
<p align="center">
<a href="<?php echo $_SERVER['PHP_SELF']; ?>">Article List</a></p>
<?php
}
?>
</td>
</tr>
</table>
</body>
</html>


If you click on an article link the script will fetch the article's title and content from the database, save it to $titleand $content variable and print the HTML file . At the bottom of the page we place a code to show the link to the article list which is the file itself without any query string ( $_SERVER['PHP_SELF'] )

With this implementation each article request involve one database query. For a heavy load website with lots of articles using the above implementation can cause a very high amount of database-request. So we need a better cms solution to reduce the load.


One feasible solution is to implement caching ( cache ) which load an article from the database only once when the article was first requested. The article is then saved to a cache directory as a regular HTML file. Subsequent request to the article will no longer involve any database request. The script just need to read the requested article from the cache directory.


Example


<?php
include 'library/config.php';
include 'library/opendb.php';

$cacheDir = dirname(__FILE__) . '/cache/';
if (isset($_GET['id'])) {
   $cacheFile = $cacheDir . '_' . $_GET['id'] . '.html';
} else {
   $cacheFile = $cacheDir . 'index.html';
}

if (file_exists($cacheFile))
{
   header("Content-Type: text/html");
   
readfile($cacheFile);
   exit;
}

// ... more code coming
?>

First we need to specify the cache directory where all cache files are located. For this example the cache directory is located in the same place as the article2.php script. I mean if article2.php is stored in C:/webroot then the cache dir is in C:/webroot/cache/

The script thent check if the article was already in the cache. An article is saved into the cache directory using a filename generated from it's id. For example if you request the article using a link like this :
http://www.php-mysql-tutorial.com/examples/cms/article2.php?id=3

Then the cache file for the article is _3.html

This filename is just an underscore ( _ ) followed by the article id. In case article2.php is called like this :
http://www.php-mysql-tutorial.com/examples/cms/article2.php

no id is defined so we make the cache file name as index.html

If the cache file is found , the content is read and printed using readfile() and the script terminate. When the article is not found in the cache then we need to look in the database and get the page content from there.

Example

<?php
// ... previous code

if(!isset($_GET['id']))
{
   $self   = $_SERVER['PHP_SELF'];


   $query  = "SELECT id, title FROM news ORDER BY id";
   $result = mysql_query($query) or die('Error : ' . mysql_error()); 

   $content = '<ol>';
   while($row = mysql_fetch_array($result, MYSQL_NUM))
   {
      list($id, $title) = $row;
      $content .= "<li><a href=\"$self?id=$id\">$title</a></li>\r\n";
   }

   $content .= '</ol>';

   $title = 'Available Articles';
} else {
   // get the article info from database
   $query  = "SELECT title, content FROM news WHERE id=".$_GET['id'];
   $result = mysql_query($query) or die('Error : ' . mysql_error()); 
   $row    = mysql_fetch_array($result, MYSQL_ASSOC); 

   $title = $row['title'];
   $content = $row['content'];
}

include 'library/closedb.php';
// ... still more code coming
?>

As you can see above the process of fetching the article list and content is the same as article1.php. But before showing the page we have to start output buffering so we can save the content of the generated HTML file.

See the code below. Just before printing the html we callob_start() to activate output buffering. From this point no output is sent from the script to the browser. So in the code example below anything between <html> and </html>tag is not sent to the browser but stored in an internal buffer first.

After the closing html tag we useob_get_contents() to get the buffer content and store int in a temporary variable,$buffer. We then call ob_end_flush() which stop the output buffering ( so the page is now sent to the browser ).

Example  

<?php
// ... previous code

ob_start();
?>
<html>

// ... same html code as article1.php

</html>
<?php


// get the buffer
$buffer = ob_get_contents();


// end output buffering, the buffer content
// is sent to the client
ob_end_flush();


// now we create the cache file
$fp = fopen($cacheFile, "w");
fwrite($fp, $buffer);
fclose($fp);
?>



Now that we have the file content we can write the cache file using the filename generated earlier ( using underscore plus the article id ). From now on any request to the article will no longer involve a database query. At least until the article is updated.
 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Kumpulan Kata Broadcast Blackberry - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger