PASSWORD RECOVERY
Digital-Outsourcing > Blog > Inside Admin Panel System Manual
How to Use Inside 0.81b CMS/BackOffice System (http://inside.ikiev.biz/)
Inside works with CodeIgniter 2.1+ http://ellislab.com/codeigniter
Create DataBase and add data about it in application/config/database.php
If you have problems with missing .htaccess. Create new with code:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?url_line=$1 [L,QSA]
Or other, which you find in Google.
Important!: You need to Install Ion Auth for Inside works. Link to Download
After CodeIgniter and Ion Auth works, you can install Inside System.
Inside Download: https://github.com/torrison/inside
After Download inside_core.zip, copy files to your CodeIgniter Folder.
Password for archive - “inside is easy” (If it needs)
/files/ - folder for Front-End. We use free vendors bootstrap 2, chosen, jquery, jquery.ui, css.dropdown, ckeditor, kcfinder, jquery.cookie, jquery.dialog.extra, jquery.form,
All this technologies has a Free Licence.
In archive inside_core.zip you can find SQL Dump. Import it to your database and delete dump file after. In Ion Auth tables users and groups added default root user with password: password.
After install add to application/config/autoload.php
>> $autoload['helper'] = array('url');
>> $autoload['libraries'] = array('inside_access', 'inside_lib');
How to use:
Go to URL: http://{yoursite.com}/inside/ You will redirect to Login page.
Push default login root and password password to enter.
If all ok, you must redirected to main_page of Inside Panel.
Main Page
In main page you will see top-menu.
Search doesn’t works in basic version. (*Premium version function.)
Top Menu
In top-menu you will see default sections.
LogOut - break authentication session.
Exit - redirect to main page.
Web-Site CMS - Default tables for web-site
Web-Site CMS -> Tags
Web-Site CMS -> Content
Web-Site CMS -> Categories
Web-Site CMS -> Comments
Web-Site CMS -> Languages
Web-Site CMS -> Vocabulary
How works tables?
Table consists of top form with add, copy, delete, settings, user buttons, pagination and 2 search fields (by text and id).
In the bottom of form you can see table grid. It consists of columns, checkboxes and edit buttons. But you can check any row onclick and open edit window on dblclick.
When you click add button, will show add window with your inputs. Inputs collected in tabs.
When you click copy button, will show add window(s) with data from selected fields.
When you click Edit button, will show edit window with selected field data.
When you send form from window for notification shows pop-up with text “Data Saved!”
When you click Delete button, will show delete window with selected ids for confirm deletion.
In settings button you can change rows per page value and add filters that you add in table config file.
User button show you information about current user.
Search fields works easy, onchange form submit without send button.
Thats all about tables system.
Settings - System tables and interfaces
Settings -> Company Inside - Inside Blog and it tables
Settings -> Company Inside -> Inside BLOG - Blog for admin panel users
Settings -> Company Inside -> Inside News CMS - Add/Edit info to blog
Settings -> Company Inside -> Inside News Comments - Del/Edit blog comments
Settings -> Inside menu - Table of Top Menu. Be careful! Do not delete any if you not sure.
Settings -> Users - Ion Auth users table
Settings -> Users Works - Add user and change password by Ion Auth functions
Settings -> Access Rules - Allow access to menu and site parts.
Attention! Full Access Security allowed only in *Premium version. On Basic core works only Top-Menu Invisible Access Filter and Zone Access Filter.
Settings -> Groups - Table of users groups
Settings -> Import / Export - Need PHPExcel Library. Export work with Excel files. Import access only in *Premium version.
How create a new table?
- Create table in DataBase table
- Add in Settings -> Inside menu new row with OnClick link: /inside/table/{table_name}
- Create Inside config file /application/config/pdg_tables/{table_name}.php
How to make inside config file right?
- Look in demo_inputs.php or it_content.php for example
- Understand all parts of config file:
$table_columns - columns array.
$table_columns[$i]['name'] - name of column in DataBase table.
$table_columns[$i]['text'] - view text in Inside table system (table/add/edit)
$table_columns[$i]['column_width'] (optional) - width of column in Inside table
$table_columns[$i]['in_crud'] - presence of a field in the Inside table
$table_columns[$i]['help'] - slide down help near input field in add/edit window
$table_columns[$i]['tab'] - tab where add/edit input is situated in window
$table_columns[$i]['input_type'] - input type. Allowed input types you can see in application/models/inside/inputs/ and application/model/inside/inputs_ext/ (for advanced inputs)
$table_columns[$i]['filter'] = true - Add field in filter system in Inside Table
Specific options for popular types:
$variants = array(); // For SELECT options
$variants[0]['id'] = '1';$variants[0]['name']="Blog";
$variants[1]['id'] = '2';$variants[1]['name']="Landing Page";
$table_columns[$i]['variants'] = $variants;
$table_columns[$i]['input_type'] = 'select';
$table_columns[$i]['defend_filter'] = 2; For html data fields. All filters you can see in application/libraries/inside_lib.php
$table_columns[$i]['input_type'] = 'image';
$table_columns[$i]['folder'] = 'content_img'; // Image Download folder
$table_columns[$i]['resize'] = true; // Resize system on
$table_columns[$i]['crop_center'] = true; // Crop center on
// $table_columns[$i]['resize_by_width'] = true; // Resize by only width
// $table_columns[$i]['resize_by_height'] = true; // Resize by only height
$table_columns[$i]['new_width'] = 100; // New width for resize only or crop center.
$table_columns[$i]['new_height'] = 80; // New height for resize only or crop center.
$table_columns[$i]['input_type'] = 'select_from_table_chosen';
$table_columns[$i]['select_index'] = 'id'; //SELECT option value
$table_columns[$i]['select_field'] = 'email'; // SELECT option text
$table_columns[$i]['select_table'] = 'users'; // foreign table
$table_columns[$i]['input_type'] = 'parent_select_custom'; // SELECT for Tree-Data Table
$table_columns[$i]['select_index'] = 'categories_id'; //SELECT option value
$table_columns[$i]['select_pid_index'] = 'categories_pid'; // Parent ID field
$table_columns[$i]['select_field'] = 'categories_name'; // SELECT option text
$table_columns[$i]['select_table'] = 'it_categories'; // foreign table
$table_columns[$i]['rules'] = ' ORDER BY categories_pid, categories_id ASC';
// rules - SQL request tail, pid in order in first is needed
$i - columns counter
$table_config['key'] - table key column
$table_config['cell_tabs_arr'] = Array (
'main' => 'Main',
'rel' => 'Relations',
'seo' => 'SEO',
'translate' => 'Translate',
'chat' => 'Chat',
'access' => 'Access'
);
Tabs in edit/add window.
Attention! chat - system tab for chat about current row. access - system tab for access rules, works only in *Premium version
$adv_rel_inputs - input fields, which not have a column but have data in other tables. Here must be relation many-many, many-one or other inputs with foreign key.
Translate Form add to input window
$translate_columns[] = $table_columns[$i]; - it placed in bottom of translated column and need for translate system, when field have a translate value.
$adv_rel_inputs[$i]['name'] = '{table_name}_translate';
$adv_rel_inputs[$i]['input_type'] = 'translate_form';
$adv_rel_inputs[$i]['text'] = 'Translate';
$adv_rel_inputs[$i]['help'] = '';
$adv_rel_inputs[$i]['table'] = '{table_name}_translate';
$adv_rel_inputs[$i]['id_column'] = '{table_name}_id';
$adv_rel_inputs[$i]['lang_alias_column'] = '{table_name}_lang_alias';
$adv_rel_inputs[$i]['columns'] = $translate_columns;
$adv_rel_inputs[$i]['tab'] = 'translate';
For it works you need create {table_name}_translate table with {table_name}_lang_alias field for language alias and add to first id column in translate table array $table_columns[$i]['input_type'] = 'text';
Many-Many relations
$adv_rel_inputs[$i]['name'] = 'rel_{table_main}_{table_second}';
$adv_rel_inputs[$i]['input_type'] = 'many2many';
$adv_rel_inputs[$i]['text'] = '{table_second_name}';
$adv_rel_inputs[$i]['help'] = '';
$adv_rel_inputs[$i]['table'] = '{table_second}';
$adv_rel_inputs[$i]['rel_table'] = 'it_rel_{table_main}_{table_second}'; - relation table t1_id, t2_id
$adv_rel_inputs[$i]['this_key'] = '{table_main_id}';
$adv_rel_inputs[$i]['rel_key'] = '{t1_id}';
$adv_rel_inputs[$i]['rel_join'] = '{t2_id}';
$adv_rel_inputs[$i]['join_key'] = '{table_second}';
$adv_rel_inputs[$i]['join_name'] = '{table_second_name}';
$adv_rel_inputs[$i]['tab'] = 'rel';
If you want to make your input, add file to application/models/inside/inputs_ext/ or application/models/inside/inputs_rel_ext/ (for foreign key inputs).
This file must have a class like a filename. And methods: input_form - from in add/edit window,
db_save - reaction in ajax request. db_add - for only add input (if it is doesn’t exists uses db_save).
How to make custom interface in Inside ?
- Add in Settings -> Inside menu new row with OnClick link: /inside/custom/{interface_name}/
- Create folder application/views/inside/custom_interfaces/{interface_name}
- Create files control_form.php (for control form in the top), head_code.php (for <HEAD> code and JS), terminal.php (for main content) or copy it from basic example in empty_test folder.
*Premium version functions only on demand. If you need it, write on my E-mail cd99@mail.ru (Alex Torrison)
System parts graph for advanced needs:
https://docs.google.com/file/d/0B8Ua4W_Fr9huYlJldWRfOUI3U00/edit?usp=sharing