Kekatu - Advanced PHP Login and User Management

Documentation Info

Installation


Server Requirements

In order to install Kekatu application, your server must meet following requirements:

  • PHP >= 7.0
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • GD PHP Extension
  • Fileinfo PHP Extension
  • Xdebug Max Nesting Level (>= 500)

File System Permissions

CHMOD the following files temporarily to 0777(in the root folder):

  • application/config/config.php
  • application/config/database.php
  • .htaccess

Installing Kekatu

After downloading the ZIP archive, and uploading it to your server, first thing you have to do is to create the database where system tables will be created. Let's say, you create the database called kekatu.

Step 1 - Welcome Screen Setup

Upload the files to your hosting folder and navigate to the location where you will install Kekatu http://www.domain.com/setup.php or subdomain http://sub.domain.com/setup.php

...

Ok, since this is the first time that you are accessing the system, the installation wizard, will be displayed.

Base URL - Base URL is Codeigniter required configuration and is the URL where your system will be installed.

  • Eq. If you are installing on subdomain you will set http://www.sub.domain.com/
  • Eq. If you are installing on subfolder you will set http://www.domain.com/crm/
  • Eq. If you are installing on the main domain you need to set just http://www.domain.com/

When installing the system will auto try to guess your base URL however you can adjust to your needs
Keep in mind that the base URL must end with trailing slash (/)
For SSL use: https://www.yourdomain.com/kekatu/

Enable friendly URL

  • Eq. If you YES set http://www.domain.com/
  • Eq. If you NO set http://www.domain.com/index.php

If you need help installing dont hesitate to open support ticket

Step 2 - Database Info

On step 2 you have to fill in your database credentials and choose a prefix for your database tables if you want. Of course, you can leave prefix field empty if you don't want your database tables to be prefixed.

...

Note: Make sure you have checked All privileges when adding the user to database.

Step 3 - Admin Details

On step 4 you have to fill in your database credentials and choose a prefix for your database tables if you want. Of course, you can leave prefix field empty if you don't want your database tables to be prefixed.

...

Step 4 - Complete Installation

Once application is successfully completed, you will see the last step from installation wizard, as per below

...

Note: Before you login to your new system, please make sure the following files are NO LONGER WRITABLE. The setup automatically attempts to make these files no longer writable, but if it fails, please do it manually (CHMOD 0644):

  • application/config/config.php
  • application/config/database.php
  • .htaccess

Note: Finally, once the above has been completed, please delete the files setup.php and setup_db.sql to prevent users from trying to reinstall the application.


How to CHMOD

CHMOD is the process of setting a file's read/write permissions. In order to run the setup.php, it needs to be able to write to 3 core script temporarily whilst you run the setup. You'll need to set the files above to 0777 which grants the setup the correct access. To CHMOD a file, you need to navigate to the file in your FTP and right click the file. You'll want to look for something like permissions, chmod, or properties. Here you'll be able to set the CHMOD value.

...

Mod Rewrite

We use a URL routing trick called mod_rewrite. This is normally installed by default on most web servers and allows for URLS like: http://www.example.com/some/file/here/ instead of http://www.example.com/myfile.php.

If you don't have mod_rewrite settings enabled on your web server, you can still use the application by setting your index_page value to the following line in the application/config/config.php file:

$config['index_page'] = 'index.php';

This setting will make it so your URLs have index.php in them. However, the default setting is to remove this and assumes you have mod_rewrite enabled on your webserver.

Installing In A Sub-Folder

If you're installing the software in a sub-folder, such as http://www.example.com/my_subfolder/ then you will need to modify the .htaccess file inside the main directory (the one that holds the application, bootstrap folders etc). All you need to do is open up the .htaccess file in your text editor and copy the following code, replacing the sub-folder with the name of your sub-folder (in this example, the sub-folder is called sub_folder_name_here. Replace this with the name of your sub-folder).

RewriteEngine On
RewriteBase /sub_folder_name_here
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?/$1

Languages


Add Languages

If you would like to translate your product into another language, then you can do so by modifying the language files. Follow the simple steps below to get started:

  • Create a new folder inside the application/language/ folder. Give the folder the name of your language, such as spanish, italian etc. For this example, I will call mine french.
  • Copy the 3 files from inside application/language/english/ to the newly created folder that you just made.
  • Inside your new language folder you should now have a content_lang.php, error_lang.php and success_lang.php. You can also add the index.html file too.

You are now ready to begin editting these files.

The content_lang.php contains all translations for most of the content pages on the site. The error_lang.php file contains all the error messages that are given to users when they do something wrong. You are free to translate them all or just a few. The main one should be the content_lang.php as those translations are the ones your users will mostly see.

To edit the translations, all you need to do is type the new correct text inside the double quotes. For example, the following is a couple of lines from the content_lang.php file:

$lang['provide_us_feedback'] = "Provide Us Feedback";
$lang['email_address'] = "Email Address";

To translate, you just need to modify the text within the double quotes. For example, a french translation would be:

$lang['provide_us_feedback'] = "Fournir nous Commentaires";
$lang['email_address'] = "Adresse e-mail";

Save the file when your done. The final step for your translations to take place, you need to edit the application/config/config.php file. Change the following line:

$config['language'] = 'english';

to the name of the folder that you stored your new language files in. In my case, it was french, so I change it to:

$config['language'] = 'french';

Save config.php and you should see your new translations take place.

Extra

You may also need to add the System translation files. These files are for generic System errors. We recommend performing the following steps:

You need to create a folder in your Systems language folder for your new language. The folder name needs to be the same name as your new language. In the example below, it's "spanish". Please follow these steps:

  • 1. Create a folder inside system/language/ called spanish
  • 2. Locate the following folder: system/language/english/
  • 3. Copy all the files inside this folder to your newly created folder (system/language/spanish/)
Dynamic/Multiple Languages

This software also has the option for the user to change the language themselves. The available languages are based on the translations you have done. A user can change the language of the site by clicking the Change Language link in the footer of the site.

You can add as many available languages are you like. You just need to make sure you have created the language files and folders, as outlined in the guide above.

To make a language available for selection, you need to edit the main config file: application/config/config.php. Look for this line:

$config['available_languages'] = array(
"english" => array(
"display_name" => "English",
"short_name" => "us",
"rtl_support" => 0,
"datatable_lang" => ""
)
);

This is where you need to add your other languages. For example, to add your French language, edit the code so it says:

$config['available_languages'] = array(
"english" => array(
"display_name" => "English",
"short_name" => "us",
"rtl_support" => 0,
"datatable_lang" => ""
),
"english" => array(
"display_name" => "French",
"short_name" => "fr",
"rtl_support" => 0,
"datatable_lang" => ""
)
);

"short_name" => "us",

Pelase refer flag code here,Flag

Now when the user visits the Change Language page, the option for French will appear in the menu. Remember, make sure the language files (in this case French) have been added too as outlined in the Language Guide above.

RTL-SUPPORT: If you need to enable right-to-left text, for your language you need to change "rtl_support" => 0 to "rtl_support" => 1. This will then set the page to change text to RTL.


Development Mode


Development

Open up index.php file, you would notice it sets development environment as default in a constant ENVIRONMENT:

define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');

FAQ


404 Not Found After Installation

If you are getting 404 not found after you install Kekatu this means that you need to adjust the main .htaccess for Kekatu.

First make sure that the .htaccess file exists in the main folder where you installed Kekatu. If you are using any OS make sure you have enabled hidden files on your MAC.

Make sure that you have mod_rewrite enabled in your server.

Note: Only apply the following suggestions if you are getting 404 error not found, the default Kekatu .htaccess file should work good on most servers.

Other solutions:

Make sure that you have setup AllowOverride to All in your config
This can happen if you dont have this option set to All.

If you still have problems please open support ticket and we will be glad to assist you as long your server passes the requirements.


Troubleshooting


  • If any css/js errors outputed on developers console or tables are not loading make sure you cleared your browser cache.
  • If you are using your own themes/view files eq my_home.php make sure to re-check them in case you are getting blank pages bacause may happen some function changes and an error occur in your view file. Try switching to the original files to check if everything will work.
  • Getting 500 error - open support ticket and we will be happy to assist you.

Credits


This document is used to credit various tools, images, styles and general users who have helped make this product what it is. Feel free to give their websites a visit and look around- you might even find some useful tools for your own website.