first commit
|
@ -0,0 +1,15 @@
|
||||||
|
# top-most EditorConfig file
|
||||||
|
root = true
|
||||||
|
|
||||||
|
# Unix-style newlines with a newline ending every file
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
# Matches multiple files with brace expansion notation
|
||||||
|
# Set default charset
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
|
||||||
|
# Tab indentation (no size specified)
|
||||||
|
indent_style = tab
|
|
@ -0,0 +1,32 @@
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
application/cache/*
|
||||||
|
!application/cache/index.html
|
||||||
|
|
||||||
|
application/logs/*
|
||||||
|
!application/logs/index.html
|
||||||
|
|
||||||
|
!application/*/.htaccess
|
||||||
|
|
||||||
|
composer.lock
|
||||||
|
tests/mocks/database/ci_test.sqlite
|
||||||
|
|
||||||
|
user_guide_src/build/*
|
||||||
|
user_guide_src/cilexer/build/*
|
||||||
|
user_guide_src/cilexer/dist/*
|
||||||
|
user_guide_src/cilexer/pycilexer.egg-info/*
|
||||||
|
/vendor/
|
||||||
|
|
||||||
|
# IDE Files
|
||||||
|
#-------------------------
|
||||||
|
/nbproject/
|
||||||
|
.idea/*
|
||||||
|
|
||||||
|
## Sublime Text cache files
|
||||||
|
*.tmlanguage.cache
|
||||||
|
*.tmPreferences.cache
|
||||||
|
*.stTheme.cache
|
||||||
|
*.sublime-workspace
|
||||||
|
*.sublime-project
|
||||||
|
/tests/tests/
|
||||||
|
/tests/results/
|
|
@ -0,0 +1,5 @@
|
||||||
|
RewriteEngine on
|
||||||
|
RewriteCond $1 !^(index\.php|resources|robots\.txt)
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
|
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
|
|
@ -0,0 +1,6 @@
|
||||||
|
<IfModule authz_core_module>
|
||||||
|
Require all denied
|
||||||
|
</IfModule>
|
||||||
|
<IfModule !authz_core_module>
|
||||||
|
Deny from all
|
||||||
|
</IfModule>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,136 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') or exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| AUTO-LOADER
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| This file specifies which systems should be loaded by default.
|
||||||
|
|
|
||||||
|
| In order to keep the framework as light-weight as possible only the
|
||||||
|
| absolute minimal resources are loaded by default. For example,
|
||||||
|
| the database is not connected to automatically since no assumption
|
||||||
|
| is made regarding whether you intend to use it. This file lets
|
||||||
|
| you globally define which systems you would like loaded with every
|
||||||
|
| request.
|
||||||
|
|
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Instructions
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| These are the things you can load automatically:
|
||||||
|
|
|
||||||
|
| 1. Packages
|
||||||
|
| 2. Libraries
|
||||||
|
| 3. Drivers
|
||||||
|
| 4. Helper files
|
||||||
|
| 5. Custom config files
|
||||||
|
| 6. Language files
|
||||||
|
| 7. Models
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Auto-load Packages
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Prototype:
|
||||||
|
|
|
||||||
|
| $autoload['packages'] = array(APPPATH.'third_party', '/usr/local/shared');
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$autoload['packages'] = array();
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Auto-load Libraries
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| These are the classes located in system/libraries/ or your
|
||||||
|
| application/libraries/ directory, with the addition of the
|
||||||
|
| 'database' library, which is somewhat of a special case.
|
||||||
|
|
|
||||||
|
| Prototype:
|
||||||
|
|
|
||||||
|
| $autoload['libraries'] = array('database', 'email', 'session');
|
||||||
|
|
|
||||||
|
| You can also supply an alternative library name to be assigned
|
||||||
|
| in the controller:
|
||||||
|
|
|
||||||
|
| $autoload['libraries'] = array('user_agent' => 'ua');
|
||||||
|
*/
|
||||||
|
// $autoload['libraries'] = array('database');
|
||||||
|
$autoload['libraries'] = array('database', 'session');
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Auto-load Drivers
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| These classes are located in system/libraries/ or in your
|
||||||
|
| application/libraries/ directory, but are also placed inside their
|
||||||
|
| own subdirectory and they extend the CI_Driver_Library class. They
|
||||||
|
| offer multiple interchangeable driver options.
|
||||||
|
|
|
||||||
|
| Prototype:
|
||||||
|
|
|
||||||
|
| $autoload['drivers'] = array('cache');
|
||||||
|
|
|
||||||
|
| You can also supply an alternative property name to be assigned in
|
||||||
|
| the controller:
|
||||||
|
|
|
||||||
|
| $autoload['drivers'] = array('cache' => 'cch');
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$autoload['drivers'] = array();
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Auto-load Helper Files
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Prototype:
|
||||||
|
|
|
||||||
|
| $autoload['helper'] = array('url', 'file');
|
||||||
|
*/
|
||||||
|
$autoload['helper'] = array('url', 'file');
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Auto-load Config files
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Prototype:
|
||||||
|
|
|
||||||
|
| $autoload['config'] = array('config1', 'config2');
|
||||||
|
|
|
||||||
|
| NOTE: This item is intended for use ONLY if you have created custom
|
||||||
|
| config files. Otherwise, leave it blank.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$autoload['config'] = array();
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Auto-load Language files
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Prototype:
|
||||||
|
|
|
||||||
|
| $autoload['language'] = array('lang1', 'lang2');
|
||||||
|
|
|
||||||
|
| NOTE: Do not include the "_lang" part of your file. For example
|
||||||
|
| "codeigniter_lang.php" would be referenced as array('codeigniter');
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$autoload['language'] = array();
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Auto-load Models
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Prototype:
|
||||||
|
|
|
||||||
|
| $autoload['model'] = array('first_model', 'second_model');
|
||||||
|
|
|
||||||
|
| You can also supply an alternative model name to be assigned
|
||||||
|
| in the controller:
|
||||||
|
|
|
||||||
|
| $autoload['model'] = array('first_model' => 'first');
|
||||||
|
*/
|
||||||
|
$autoload['model'] = array();
|
|
@ -0,0 +1,532 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Base Site URL
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| URL to your CodeIgniter root. Typically this will be your base URL,
|
||||||
|
| WITH a trailing slash:
|
||||||
|
|
|
||||||
|
| http://example.com/
|
||||||
|
|
|
||||||
|
| WARNING: You MUST set this value!
|
||||||
|
|
|
||||||
|
| If it is not set, then CodeIgniter will try to guess the protocol and
|
||||||
|
| path to your installation, but due to security concerns the hostname will
|
||||||
|
| be set to $_SERVER['SERVER_ADDR'] if available, or localhost otherwise.
|
||||||
|
| The auto-detection mechanism exists only for convenience during
|
||||||
|
| development and MUST NOT be used in production!
|
||||||
|
|
|
||||||
|
| If you need to allow multiple domains, remember that this file is still
|
||||||
|
| a PHP script and you can easily do that on your own.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['base_url'] = 'http://localhost/spk-ayam';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Index File
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Typically this will be your index.php file, unless you've renamed it to
|
||||||
|
| something else. If you are using mod_rewrite to remove the page set this
|
||||||
|
| variable so that it is blank.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['index_page'] = '';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| URI PROTOCOL
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This item determines which server global should be used to retrieve the
|
||||||
|
| URI string. The default setting of 'REQUEST_URI' works for most servers.
|
||||||
|
| If your links do not seem to work, try one of the other delicious flavors:
|
||||||
|
|
|
||||||
|
| 'REQUEST_URI' Uses $_SERVER['REQUEST_URI']
|
||||||
|
| 'QUERY_STRING' Uses $_SERVER['QUERY_STRING']
|
||||||
|
| 'PATH_INFO' Uses $_SERVER['PATH_INFO']
|
||||||
|
|
|
||||||
|
| WARNING: If you set this to 'PATH_INFO', URIs will always be URL-decoded!
|
||||||
|
*/
|
||||||
|
$config['uri_protocol'] = 'REQUEST_URI';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| URL suffix
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option allows you to add a suffix to all URLs generated by CodeIgniter.
|
||||||
|
| For more information please see the user guide:
|
||||||
|
|
|
||||||
|
| https://codeigniter.com/userguide3/general/urls.html
|
||||||
|
|
|
||||||
|
| Note: This option is ignored for CLI requests.
|
||||||
|
*/
|
||||||
|
$config['url_suffix'] = '';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Language
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This determines which set of language files should be used. Make sure
|
||||||
|
| there is an available translation if you intend to use something other
|
||||||
|
| than english.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['language'] = 'english';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Character Set
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This determines which character set is used by default in various methods
|
||||||
|
| that require a character set to be provided.
|
||||||
|
|
|
||||||
|
| See http://php.net/htmlspecialchars for a list of supported charsets.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['charset'] = 'UTF-8';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Enable/Disable System Hooks
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If you would like to use the 'hooks' feature you must enable it by
|
||||||
|
| setting this variable to TRUE (boolean). See the user guide for details.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['enable_hooks'] = FALSE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Class Extension Prefix
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This item allows you to set the filename/classname prefix when extending
|
||||||
|
| native libraries. For more information please see the user guide:
|
||||||
|
|
|
||||||
|
| https://codeigniter.com/userguide3/general/core_classes.html
|
||||||
|
| https://codeigniter.com/userguide3/general/creating_libraries.html
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['subclass_prefix'] = 'MY_';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Composer auto-loading
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Enabling this setting will tell CodeIgniter to look for a Composer
|
||||||
|
| package auto-loader script in application/vendor/autoload.php.
|
||||||
|
|
|
||||||
|
| $config['composer_autoload'] = TRUE;
|
||||||
|
|
|
||||||
|
| Or if you have your vendor/ directory located somewhere else, you
|
||||||
|
| can opt to set a specific path as well:
|
||||||
|
|
|
||||||
|
| $config['composer_autoload'] = '/path/to/vendor/autoload.php';
|
||||||
|
|
|
||||||
|
| For more information about Composer, please visit http://getcomposer.org/
|
||||||
|
|
|
||||||
|
| Note: This will NOT disable or override the CodeIgniter-specific
|
||||||
|
| autoloading (application/config/autoload.php)
|
||||||
|
*/
|
||||||
|
$config['composer_autoload'] = FALSE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Allowed URL Characters
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This lets you specify which characters are permitted within your URLs.
|
||||||
|
| When someone tries to submit a URL with disallowed characters they will
|
||||||
|
| get a warning message.
|
||||||
|
|
|
||||||
|
| As a security measure you are STRONGLY encouraged to restrict URLs to
|
||||||
|
| as few characters as possible. By default only these are allowed: a-z 0-9~%.:_-
|
||||||
|
|
|
||||||
|
| Leave blank to allow all characters -- but only if you are insane.
|
||||||
|
|
|
||||||
|
| The configured value is actually a regular expression character group
|
||||||
|
| and it will be executed as: ! preg_match('/^[<permitted_uri_chars>]+$/i
|
||||||
|
|
|
||||||
|
| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Enable Query Strings
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| By default CodeIgniter uses search-engine friendly segment based URLs:
|
||||||
|
| example.com/who/what/where/
|
||||||
|
|
|
||||||
|
| You can optionally enable standard query string based URLs:
|
||||||
|
| example.com?who=me&what=something&where=here
|
||||||
|
|
|
||||||
|
| Options are: TRUE or FALSE (boolean)
|
||||||
|
|
|
||||||
|
| The other items let you set the query string 'words' that will
|
||||||
|
| invoke your controllers and its functions:
|
||||||
|
| example.com/index.php?c=controller&m=function
|
||||||
|
|
|
||||||
|
| Please note that some of the helpers won't work as expected when
|
||||||
|
| this feature is enabled, since CodeIgniter is designed primarily to
|
||||||
|
| use segment based URLs.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['enable_query_strings'] = FALSE;
|
||||||
|
$config['controller_trigger'] = 'c';
|
||||||
|
$config['function_trigger'] = 'm';
|
||||||
|
$config['directory_trigger'] = 'd';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Allow $_GET array
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| By default CodeIgniter enables access to the $_GET array. If for some
|
||||||
|
| reason you would like to disable it, set 'allow_get_array' to FALSE.
|
||||||
|
|
|
||||||
|
| WARNING: This feature is DEPRECATED and currently available only
|
||||||
|
| for backwards compatibility purposes!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['allow_get_array'] = TRUE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Error Logging Threshold
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| You can enable error logging by setting a threshold over zero. The
|
||||||
|
| threshold determines what gets logged. Threshold options are:
|
||||||
|
|
|
||||||
|
| 0 = Disables logging, Error logging TURNED OFF
|
||||||
|
| 1 = Error Messages (including PHP errors)
|
||||||
|
| 2 = Debug Messages
|
||||||
|
| 3 = Informational Messages
|
||||||
|
| 4 = All Messages
|
||||||
|
|
|
||||||
|
| You can also pass an array with threshold levels to show individual error types
|
||||||
|
|
|
||||||
|
| array(2) = Debug Messages, without Error Messages
|
||||||
|
|
|
||||||
|
| For a live site you'll usually only enable Errors (1) to be logged otherwise
|
||||||
|
| your log files will fill up very fast.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['log_threshold'] = 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Error Logging Directory Path
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Leave this BLANK unless you would like to set something other than the default
|
||||||
|
| application/logs/ directory. Use a full server path with trailing slash.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['log_path'] = '';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Log File Extension
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The default filename extension for log files. The default 'php' allows for
|
||||||
|
| protecting the log files via basic scripting, when they are to be stored
|
||||||
|
| under a publicly accessible directory.
|
||||||
|
|
|
||||||
|
| Note: Leaving it blank will default to 'php'.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['log_file_extension'] = '';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Log File Permissions
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| The file system permissions to be applied on newly created log files.
|
||||||
|
|
|
||||||
|
| IMPORTANT: This MUST be an integer (no quotes) and you MUST use octal
|
||||||
|
| integer notation (i.e. 0700, 0644, etc.)
|
||||||
|
*/
|
||||||
|
$config['log_file_permissions'] = 0644;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Date Format for Logs
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Each item that is logged has an associated date. You can use PHP date
|
||||||
|
| codes to set your own date formatting
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['log_date_format'] = 'Y-m-d H:i:s';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Error Views Directory Path
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Leave this BLANK unless you would like to set something other than the default
|
||||||
|
| application/views/errors/ directory. Use a full server path with trailing slash.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['error_views_path'] = '';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cache Directory Path
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Leave this BLANK unless you would like to set something other than the default
|
||||||
|
| application/cache/ directory. Use a full server path with trailing slash.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['cache_path'] = '';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cache Include Query String
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Whether to take the URL query string into consideration when generating
|
||||||
|
| output cache files. Valid options are:
|
||||||
|
|
|
||||||
|
| FALSE = Disabled
|
||||||
|
| TRUE = Enabled, take all query parameters into account.
|
||||||
|
| Please be aware that this may result in numerous cache
|
||||||
|
| files generated for the same page over and over again.
|
||||||
|
| array('q') = Enabled, but only take into account the specified list
|
||||||
|
| of query parameters.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['cache_query_string'] = FALSE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Encryption Key
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If you use the Encryption class, you must set an encryption key.
|
||||||
|
| See the user guide for more info.
|
||||||
|
|
|
||||||
|
| https://codeigniter.com/userguide3/libraries/encryption.html
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['encryption_key'] = '';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Variables
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| 'sess_driver'
|
||||||
|
|
|
||||||
|
| The storage driver to use: files, database, redis, memcached
|
||||||
|
|
|
||||||
|
| 'sess_cookie_name'
|
||||||
|
|
|
||||||
|
| The session cookie name, must contain only [0-9a-z_-] characters
|
||||||
|
|
|
||||||
|
| 'sess_samesite'
|
||||||
|
|
|
||||||
|
| Session cookie SameSite attribute: Lax (default), Strict or None
|
||||||
|
|
|
||||||
|
| 'sess_expiration'
|
||||||
|
|
|
||||||
|
| The number of SECONDS you want the session to last.
|
||||||
|
| Setting to 0 (zero) means expire when the browser is closed.
|
||||||
|
|
|
||||||
|
| 'sess_save_path'
|
||||||
|
|
|
||||||
|
| The location to save sessions to, driver dependent.
|
||||||
|
|
|
||||||
|
| For the 'files' driver, it's a path to a writable directory.
|
||||||
|
| WARNING: Only absolute paths are supported!
|
||||||
|
|
|
||||||
|
| For the 'database' driver, it's a table name.
|
||||||
|
| Please read up the manual for the format with other session drivers.
|
||||||
|
|
|
||||||
|
| IMPORTANT: You are REQUIRED to set a valid save path!
|
||||||
|
|
|
||||||
|
| 'sess_match_ip'
|
||||||
|
|
|
||||||
|
| Whether to match the user's IP address when reading the session data.
|
||||||
|
|
|
||||||
|
| WARNING: If you're using the database driver, don't forget to update
|
||||||
|
| your session table's PRIMARY KEY when changing this setting.
|
||||||
|
|
|
||||||
|
| 'sess_time_to_update'
|
||||||
|
|
|
||||||
|
| How many seconds between CI regenerating the session ID.
|
||||||
|
|
|
||||||
|
| 'sess_regenerate_destroy'
|
||||||
|
|
|
||||||
|
| Whether to destroy session data associated with the old session ID
|
||||||
|
| when auto-regenerating the session ID. When set to FALSE, the data
|
||||||
|
| will be later deleted by the garbage collector.
|
||||||
|
|
|
||||||
|
| Other session cookie settings are shared with the rest of the application,
|
||||||
|
| except for 'cookie_prefix' and 'cookie_httponly', which are ignored here.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['sess_driver'] = 'files';
|
||||||
|
$config['sess_cookie_name'] = 'ci_session';
|
||||||
|
$config['sess_samesite'] = 'Lax';
|
||||||
|
$config['sess_expiration'] = 7200;
|
||||||
|
$config['sess_save_path'] = NULL;
|
||||||
|
$config['sess_match_ip'] = FALSE;
|
||||||
|
$config['sess_time_to_update'] = 300;
|
||||||
|
$config['sess_regenerate_destroy'] = FALSE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cookie Related Variables
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| 'cookie_prefix' = Set a cookie name prefix if you need to avoid collisions
|
||||||
|
| 'cookie_domain' = Set to .your-domain.com for site-wide cookies
|
||||||
|
| 'cookie_path' = Typically will be a forward slash
|
||||||
|
| 'cookie_secure' = Cookie will only be set if a secure HTTPS connection exists.
|
||||||
|
| 'cookie_httponly' = Cookie will only be accessible via HTTP(S) (no javascript)
|
||||||
|
| 'cookie_samesite' = Cookie's samesite attribute (Lax, Strict or None)
|
||||||
|
|
|
||||||
|
| Note: These settings (with the exception of 'cookie_prefix' and
|
||||||
|
| 'cookie_httponly') will also affect sessions.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['cookie_prefix'] = '';
|
||||||
|
$config['cookie_domain'] = '';
|
||||||
|
$config['cookie_path'] = '/';
|
||||||
|
$config['cookie_secure'] = FALSE;
|
||||||
|
$config['cookie_httponly'] = FALSE;
|
||||||
|
$config['cookie_samesite'] = 'Lax';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Standardize newlines
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Determines whether to standardize newline characters in input data,
|
||||||
|
| meaning to replace \r\n, \r, \n occurrences with the PHP_EOL value.
|
||||||
|
|
|
||||||
|
| WARNING: This feature is DEPRECATED and currently available only
|
||||||
|
| for backwards compatibility purposes!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['standardize_newlines'] = FALSE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Global XSS Filtering
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Determines whether the XSS filter is always active when GET, POST or
|
||||||
|
| COOKIE data is encountered
|
||||||
|
|
|
||||||
|
| WARNING: This feature is DEPRECATED and currently available only
|
||||||
|
| for backwards compatibility purposes!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['global_xss_filtering'] = FALSE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cross Site Request Forgery
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Enables a CSRF cookie token to be set. When set to TRUE, token will be
|
||||||
|
| checked on a submitted form. If you are accepting user data, it is strongly
|
||||||
|
| recommended CSRF protection be enabled.
|
||||||
|
|
|
||||||
|
| 'csrf_token_name' = The token name
|
||||||
|
| 'csrf_cookie_name' = The cookie name
|
||||||
|
| 'csrf_expire' = The number in seconds the token should expire.
|
||||||
|
| 'csrf_regenerate' = Regenerate token on every submission
|
||||||
|
| 'csrf_exclude_uris' = Array of URIs which ignore CSRF checks
|
||||||
|
*/
|
||||||
|
$config['csrf_protection'] = FALSE;
|
||||||
|
$config['csrf_token_name'] = 'csrf_test_name';
|
||||||
|
$config['csrf_cookie_name'] = 'csrf_cookie_name';
|
||||||
|
$config['csrf_expire'] = 7200;
|
||||||
|
$config['csrf_regenerate'] = TRUE;
|
||||||
|
$config['csrf_exclude_uris'] = array();
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Output Compression
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Enables Gzip output compression for faster page loads. When enabled,
|
||||||
|
| the output class will test whether your server supports Gzip.
|
||||||
|
| Even if it does, however, not all browsers support compression
|
||||||
|
| so enable only if you are reasonably sure your visitors can handle it.
|
||||||
|
|
|
||||||
|
| Only used if zlib.output_compression is turned off in your php.ini.
|
||||||
|
| Please do not use it together with httpd-level output compression.
|
||||||
|
|
|
||||||
|
| VERY IMPORTANT: If you are getting a blank page when compression is enabled it
|
||||||
|
| means you are prematurely outputting something to your browser. It could
|
||||||
|
| even be a line of whitespace at the end of one of your scripts. For
|
||||||
|
| compression to work, nothing can be sent before the output buffer is called
|
||||||
|
| by the output class. Do not 'echo' any values with compression enabled.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['compress_output'] = FALSE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Master Time Reference
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Options are 'local' or any PHP supported timezone. This preference tells
|
||||||
|
| the system whether to use your server's local time as the master 'now'
|
||||||
|
| reference, or convert it to the configured one timezone. See the 'date
|
||||||
|
| helper' page of the user guide for information regarding date handling.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['time_reference'] = 'local';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Rewrite PHP Short Tags
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If your PHP installation does not have short tag support enabled CI
|
||||||
|
| can rewrite the tags on-the-fly, enabling you to utilize that syntax
|
||||||
|
| in your view files. Options are TRUE or FALSE (boolean)
|
||||||
|
|
|
||||||
|
| Note: You need to have eval() enabled for this to work.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['rewrite_short_tags'] = FALSE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Reverse Proxy IPs
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If your server is behind a reverse proxy, you must whitelist the proxy
|
||||||
|
| IP addresses from which CodeIgniter should trust headers such as
|
||||||
|
| HTTP_X_FORWARDED_FOR and HTTP_CLIENT_IP in order to properly identify
|
||||||
|
| the visitor's IP address.
|
||||||
|
|
|
||||||
|
| You can use both an array or a comma-separated list of proxy addresses,
|
||||||
|
| as well as specifying whole subnets. Here are a few examples:
|
||||||
|
|
|
||||||
|
| Comma-separated: '10.0.1.200,192.168.5.0/24'
|
||||||
|
| Array: array('10.0.1.200', '192.168.5.0/24')
|
||||||
|
*/
|
||||||
|
$config['proxy_ips'] = '';
|
|
@ -0,0 +1,85 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Display Debug backtrace
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If set to TRUE, a backtrace will be displayed along with php errors. If
|
||||||
|
| error_reporting is disabled, the backtrace will not display, regardless
|
||||||
|
| of this setting
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
defined('SHOW_DEBUG_BACKTRACE') OR define('SHOW_DEBUG_BACKTRACE', TRUE);
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| File and Directory Modes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| These prefs are used when checking and setting modes when working
|
||||||
|
| with the file system. The defaults are fine on servers with proper
|
||||||
|
| security, but you may wish (or even need) to change the values in
|
||||||
|
| certain environments (Apache running a separate process for each
|
||||||
|
| user, PHP under CGI with Apache suEXEC, etc.). Octal values should
|
||||||
|
| always be used to set the mode correctly.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
defined('FILE_READ_MODE') OR define('FILE_READ_MODE', 0644);
|
||||||
|
defined('FILE_WRITE_MODE') OR define('FILE_WRITE_MODE', 0666);
|
||||||
|
defined('DIR_READ_MODE') OR define('DIR_READ_MODE', 0755);
|
||||||
|
defined('DIR_WRITE_MODE') OR define('DIR_WRITE_MODE', 0755);
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| File Stream Modes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| These modes are used when working with fopen()/popen()
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
defined('FOPEN_READ') OR define('FOPEN_READ', 'rb');
|
||||||
|
defined('FOPEN_READ_WRITE') OR define('FOPEN_READ_WRITE', 'r+b');
|
||||||
|
defined('FOPEN_WRITE_CREATE_DESTRUCTIVE') OR define('FOPEN_WRITE_CREATE_DESTRUCTIVE', 'wb'); // truncates existing file data, use with care
|
||||||
|
defined('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE') OR define('FOPEN_READ_WRITE_CREATE_DESTRUCTIVE', 'w+b'); // truncates existing file data, use with care
|
||||||
|
defined('FOPEN_WRITE_CREATE') OR define('FOPEN_WRITE_CREATE', 'ab');
|
||||||
|
defined('FOPEN_READ_WRITE_CREATE') OR define('FOPEN_READ_WRITE_CREATE', 'a+b');
|
||||||
|
defined('FOPEN_WRITE_CREATE_STRICT') OR define('FOPEN_WRITE_CREATE_STRICT', 'xb');
|
||||||
|
defined('FOPEN_READ_WRITE_CREATE_STRICT') OR define('FOPEN_READ_WRITE_CREATE_STRICT', 'x+b');
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Exit Status Codes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Used to indicate the conditions under which the script is exit()ing.
|
||||||
|
| While there is no universal standard for error codes, there are some
|
||||||
|
| broad conventions. Three such conventions are mentioned below, for
|
||||||
|
| those who wish to make use of them. The CodeIgniter defaults were
|
||||||
|
| chosen for the least overlap with these conventions, while still
|
||||||
|
| leaving room for others to be defined in future versions and user
|
||||||
|
| applications.
|
||||||
|
|
|
||||||
|
| The three main conventions used for determining exit status codes
|
||||||
|
| are as follows:
|
||||||
|
|
|
||||||
|
| Standard C/C++ Library (stdlibc):
|
||||||
|
| http://www.gnu.org/software/libc/manual/html_node/Exit-Status.html
|
||||||
|
| (This link also contains other GNU-specific conventions)
|
||||||
|
| BSD sysexits.h:
|
||||||
|
| http://www.gsp.com/cgi-bin/man.cgi?section=3&topic=sysexits
|
||||||
|
| Bash scripting:
|
||||||
|
| http://tldp.org/LDP/abs/html/exitcodes.html
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
defined('EXIT_SUCCESS') OR define('EXIT_SUCCESS', 0); // no errors
|
||||||
|
defined('EXIT_ERROR') OR define('EXIT_ERROR', 1); // generic error
|
||||||
|
defined('EXIT_CONFIG') OR define('EXIT_CONFIG', 3); // configuration error
|
||||||
|
defined('EXIT_UNKNOWN_FILE') OR define('EXIT_UNKNOWN_FILE', 4); // file not found
|
||||||
|
defined('EXIT_UNKNOWN_CLASS') OR define('EXIT_UNKNOWN_CLASS', 5); // unknown class
|
||||||
|
defined('EXIT_UNKNOWN_METHOD') OR define('EXIT_UNKNOWN_METHOD', 6); // unknown class member
|
||||||
|
defined('EXIT_USER_INPUT') OR define('EXIT_USER_INPUT', 7); // invalid user input
|
||||||
|
defined('EXIT_DATABASE') OR define('EXIT_DATABASE', 8); // database error
|
||||||
|
defined('EXIT__AUTO_MIN') OR define('EXIT__AUTO_MIN', 9); // lowest automatically-assigned error code
|
||||||
|
defined('EXIT__AUTO_MAX') OR define('EXIT__AUTO_MAX', 125); // highest automatically-assigned error code
|
|
@ -0,0 +1,96 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') or exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| DATABASE CONNECTIVITY SETTINGS
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| This file will contain the settings needed to access your database.
|
||||||
|
|
|
||||||
|
| For complete instructions please consult the 'Database Connection'
|
||||||
|
| page of the User Guide.
|
||||||
|
|
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| EXPLANATION OF VARIABLES
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| ['dsn'] The full DSN string describe a connection to the database.
|
||||||
|
| ['hostname'] The hostname of your database server.
|
||||||
|
| ['username'] The username used to connect to the database
|
||||||
|
| ['password'] The password used to connect to the database
|
||||||
|
| ['database'] The name of the database you want to connect to
|
||||||
|
| ['dbdriver'] The database driver. e.g.: mysqli.
|
||||||
|
| Currently supported:
|
||||||
|
| cubrid, ibase, mssql, mysql, mysqli, oci8,
|
||||||
|
| odbc, pdo, postgre, sqlite, sqlite3, sqlsrv
|
||||||
|
| ['dbprefix'] You can add an optional prefix, which will be added
|
||||||
|
| to the table name when using the Query Builder class
|
||||||
|
| ['pconnect'] TRUE/FALSE - Whether to use a persistent connection
|
||||||
|
| ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
|
||||||
|
| ['cache_on'] TRUE/FALSE - Enables/disables query caching
|
||||||
|
| ['cachedir'] The path to the folder where cache files should be stored
|
||||||
|
| ['char_set'] The character set used in communicating with the database
|
||||||
|
| ['dbcollat'] The character collation used in communicating with the database
|
||||||
|
| NOTE: For MySQL and MySQLi databases, this setting is only used
|
||||||
|
| as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7
|
||||||
|
| (and in table creation queries made with DB Forge).
|
||||||
|
| There is an incompatibility in PHP with mysql_real_escape_string() which
|
||||||
|
| can make your site vulnerable to SQL injection if you are using a
|
||||||
|
| multi-byte character set and are running versions lower than these.
|
||||||
|
| Sites using Latin-1 or UTF-8 database character set and collation are unaffected.
|
||||||
|
| ['swap_pre'] A default table prefix that should be swapped with the dbprefix
|
||||||
|
| ['encrypt'] Whether or not to use an encrypted connection.
|
||||||
|
|
|
||||||
|
| 'mysql' (deprecated), 'sqlsrv' and 'pdo/sqlsrv' drivers accept TRUE/FALSE
|
||||||
|
| 'mysqli' and 'pdo/mysql' drivers accept an array with the following options:
|
||||||
|
|
|
||||||
|
| 'ssl_key' - Path to the private key file
|
||||||
|
| 'ssl_cert' - Path to the public key certificate file
|
||||||
|
| 'ssl_ca' - Path to the certificate authority file
|
||||||
|
| 'ssl_capath' - Path to a directory containing trusted CA certificates in PEM format
|
||||||
|
| 'ssl_cipher' - List of *allowed* ciphers to be used for the encryption, separated by colons (':')
|
||||||
|
| 'ssl_verify' - TRUE/FALSE; Whether verify the server certificate or not
|
||||||
|
|
|
||||||
|
| ['compress'] Whether or not to use client compression (MySQL only)
|
||||||
|
| ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
|
||||||
|
| - good for ensuring strict SQL while developing
|
||||||
|
| ['ssl_options'] Used to set various SSL options that can be used when making SSL connections.
|
||||||
|
| ['failover'] array - A array with 0 or more data for connections if the main should fail.
|
||||||
|
| ['save_queries'] TRUE/FALSE - Whether to "save" all executed queries.
|
||||||
|
| NOTE: Disabling this will also effectively disable both
|
||||||
|
| $this->db->last_query() and profiling of DB queries.
|
||||||
|
| When you run a query, with this setting set to TRUE (default),
|
||||||
|
| CodeIgniter will store the SQL statement for debugging purposes.
|
||||||
|
| However, this may cause high memory usage, especially if you run
|
||||||
|
| a lot of SQL queries ... disable this to avoid that problem.
|
||||||
|
|
|
||||||
|
| The $active_group variable lets you choose which connection group to
|
||||||
|
| make active. By default there is only one group (the 'default' group).
|
||||||
|
|
|
||||||
|
| The $query_builder variables lets you determine whether or not to load
|
||||||
|
| the query builder class.
|
||||||
|
*/
|
||||||
|
$active_group = 'default';
|
||||||
|
$query_builder = TRUE;
|
||||||
|
|
||||||
|
$db['default'] = array(
|
||||||
|
'dsn' => '',
|
||||||
|
'hostname' => 'localhost',
|
||||||
|
'username' => 'root',
|
||||||
|
'password' => '',
|
||||||
|
'database' => 'spkayam',
|
||||||
|
'dbdriver' => 'mysqli',
|
||||||
|
'dbprefix' => '',
|
||||||
|
'pconnect' => FALSE,
|
||||||
|
'db_debug' => (ENVIRONMENT !== 'production'),
|
||||||
|
'cache_on' => FALSE,
|
||||||
|
'cachedir' => '',
|
||||||
|
'char_set' => 'utf8',
|
||||||
|
'dbcollat' => 'utf8_general_ci',
|
||||||
|
'swap_pre' => '',
|
||||||
|
'encrypt' => FALSE,
|
||||||
|
'compress' => FALSE,
|
||||||
|
'stricton' => FALSE,
|
||||||
|
'failover' => array(),
|
||||||
|
'save_queries' => TRUE
|
||||||
|
);
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
$_doctypes = array(
|
||||||
|
'xhtml11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',
|
||||||
|
'xhtml1-strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
|
||||||
|
'xhtml1-trans' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
|
||||||
|
'xhtml1-frame' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">',
|
||||||
|
'xhtml-basic11' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">',
|
||||||
|
'html5' => '<!DOCTYPE html>',
|
||||||
|
'html4-strict' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',
|
||||||
|
'html4-trans' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',
|
||||||
|
'html4-frame' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">',
|
||||||
|
'mathml1' => '<!DOCTYPE math SYSTEM "http://www.w3.org/Math/DTD/mathml1/mathml.dtd">',
|
||||||
|
'mathml2' => '<!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd">',
|
||||||
|
'svg10' => '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">',
|
||||||
|
'svg11' => '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">',
|
||||||
|
'svg11-basic' => '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd">',
|
||||||
|
'svg11-tiny' => '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">',
|
||||||
|
'xhtml-math-svg-xh' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">',
|
||||||
|
'xhtml-math-svg-sh' => '<!DOCTYPE svg:svg PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">',
|
||||||
|
'xhtml-rdfa-1' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">',
|
||||||
|
'xhtml-rdfa-2' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">'
|
||||||
|
);
|
|
@ -0,0 +1,114 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| Foreign Characters
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| This file contains an array of foreign characters for transliteration
|
||||||
|
| conversion used by the Text helper
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$foreign_characters = array(
|
||||||
|
'/ä|æ|ǽ/' => 'ae',
|
||||||
|
'/ö|œ/' => 'oe',
|
||||||
|
'/ü/' => 'ue',
|
||||||
|
'/Ä/' => 'Ae',
|
||||||
|
'/Ü/' => 'Ue',
|
||||||
|
'/Ö/' => 'Oe',
|
||||||
|
'/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ|Α|Ά|Ả|Ạ|Ầ|Ẫ|Ẩ|Ậ|Ằ|Ắ|Ẵ|Ẳ|Ặ|А/' => 'A',
|
||||||
|
'/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª|α|ά|ả|ạ|ầ|ấ|ẫ|ẩ|ậ|ằ|ắ|ẵ|ẳ|ặ|а/' => 'a',
|
||||||
|
'/Б/' => 'B',
|
||||||
|
'/б/' => 'b',
|
||||||
|
'/Ç|Ć|Ĉ|Ċ|Č/' => 'C',
|
||||||
|
'/ç|ć|ĉ|ċ|č/' => 'c',
|
||||||
|
'/Д|Δ/' => 'D',
|
||||||
|
'/д|δ/' => 'd',
|
||||||
|
'/Ð|Ď|Đ/' => 'Dj',
|
||||||
|
'/ð|ď|đ/' => 'dj',
|
||||||
|
'/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě|Ε|Έ|Ẽ|Ẻ|Ẹ|Ề|Ế|Ễ|Ể|Ệ|Е|Э/' => 'E',
|
||||||
|
'/è|é|ê|ë|ē|ĕ|ė|ę|ě|έ|ε|ẽ|ẻ|ẹ|ề|ế|ễ|ể|ệ|е|э/' => 'e',
|
||||||
|
'/Ф/' => 'F',
|
||||||
|
'/ф/' => 'f',
|
||||||
|
'/Ĝ|Ğ|Ġ|Ģ|Γ|Г|Ґ/' => 'G',
|
||||||
|
'/ĝ|ğ|ġ|ģ|γ|г|ґ/' => 'g',
|
||||||
|
'/Ĥ|Ħ/' => 'H',
|
||||||
|
'/ĥ|ħ/' => 'h',
|
||||||
|
'/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ|Η|Ή|Ί|Ι|Ϊ|Ỉ|Ị|И|Ы/' => 'I',
|
||||||
|
'/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı|η|ή|ί|ι|ϊ|ỉ|ị|и|ы|ї/' => 'i',
|
||||||
|
'/Ĵ/' => 'J',
|
||||||
|
'/ĵ/' => 'j',
|
||||||
|
'/Θ/' => 'TH',
|
||||||
|
'/θ/' => 'th',
|
||||||
|
'/Ķ|Κ|К/' => 'K',
|
||||||
|
'/ķ|κ|к/' => 'k',
|
||||||
|
'/Ĺ|Ļ|Ľ|Ŀ|Ł|Λ|Л/' => 'L',
|
||||||
|
'/ĺ|ļ|ľ|ŀ|ł|λ|л/' => 'l',
|
||||||
|
'/М/' => 'M',
|
||||||
|
'/м/' => 'm',
|
||||||
|
'/Ñ|Ń|Ņ|Ň|Ν|Н/' => 'N',
|
||||||
|
'/ñ|ń|ņ|ň|ʼn|ν|н/' => 'n',
|
||||||
|
'/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ|Ο|Ό|Ω|Ώ|Ỏ|Ọ|Ồ|Ố|Ỗ|Ổ|Ộ|Ờ|Ớ|Ỡ|Ở|Ợ|О/' => 'O',
|
||||||
|
'/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º|ο|ό|ω|ώ|ỏ|ọ|ồ|ố|ỗ|ổ|ộ|ờ|ớ|ỡ|ở|ợ|о/' => 'o',
|
||||||
|
'/П/' => 'P',
|
||||||
|
'/п/' => 'p',
|
||||||
|
'/Ŕ|Ŗ|Ř|Ρ|Р/' => 'R',
|
||||||
|
'/ŕ|ŗ|ř|ρ|р/' => 'r',
|
||||||
|
'/Ś|Ŝ|Ş|Ș|Š|Σ|С/' => 'S',
|
||||||
|
'/ś|ŝ|ş|ș|š|ſ|σ|ς|с/' => 's',
|
||||||
|
'/Ț|Ţ|Ť|Ŧ|Τ|Т/' => 'T',
|
||||||
|
'/ț|ţ|ť|ŧ|τ|т/' => 't',
|
||||||
|
'/Þ|þ/' => 'th',
|
||||||
|
'/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ|Ũ|Ủ|Ụ|Ừ|Ứ|Ữ|Ử|Ự|У/' => 'U',
|
||||||
|
'/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ|υ|ύ|ϋ|ủ|ụ|ừ|ứ|ữ|ử|ự|у/' => 'u',
|
||||||
|
'/Ƴ|Ɏ|Ỵ|Ẏ|Ӳ|Ӯ|Ў|Ý|Ÿ|Ŷ|Υ|Ύ|Ϋ|Ỳ|Ỹ|Ỷ|Ỵ|Й/' => 'Y',
|
||||||
|
'/ẙ|ʏ|ƴ|ɏ|ỵ|ẏ|ӳ|ӯ|ў|ý|ÿ|ŷ|ỳ|ỹ|ỷ|ỵ|й/' => 'y',
|
||||||
|
'/В/' => 'V',
|
||||||
|
'/в/' => 'v',
|
||||||
|
'/Ŵ/' => 'W',
|
||||||
|
'/ŵ/' => 'w',
|
||||||
|
'/Φ/' => 'F',
|
||||||
|
'/φ/' => 'f',
|
||||||
|
'/Χ/' => 'CH',
|
||||||
|
'/χ/' => 'ch',
|
||||||
|
'/Ź|Ż|Ž|Ζ|З/' => 'Z',
|
||||||
|
'/ź|ż|ž|ζ|з/' => 'z',
|
||||||
|
'/Æ|Ǽ/' => 'AE',
|
||||||
|
'/ß/' => 'ss',
|
||||||
|
'/IJ/' => 'IJ',
|
||||||
|
'/ij/' => 'ij',
|
||||||
|
'/Œ/' => 'OE',
|
||||||
|
'/ƒ/' => 'f',
|
||||||
|
'/Ξ/' => 'KS',
|
||||||
|
'/ξ/' => 'ks',
|
||||||
|
'/Π/' => 'P',
|
||||||
|
'/π/' => 'p',
|
||||||
|
'/Β/' => 'V',
|
||||||
|
'/β/' => 'v',
|
||||||
|
'/Μ/' => 'M',
|
||||||
|
'/μ/' => 'm',
|
||||||
|
'/Ψ/' => 'PS',
|
||||||
|
'/ψ/' => 'ps',
|
||||||
|
'/Ё/' => 'Yo',
|
||||||
|
'/ё/' => 'yo',
|
||||||
|
'/Є/' => 'Ye',
|
||||||
|
'/є/' => 'ye',
|
||||||
|
'/Ї/' => 'Yi',
|
||||||
|
'/Ж/' => 'Zh',
|
||||||
|
'/ж/' => 'zh',
|
||||||
|
'/Х/' => 'Kh',
|
||||||
|
'/х/' => 'kh',
|
||||||
|
'/Ц/' => 'Ts',
|
||||||
|
'/ц/' => 'ts',
|
||||||
|
'/Ч/' => 'Ch',
|
||||||
|
'/ч/' => 'ch',
|
||||||
|
'/Ш/' => 'Sh',
|
||||||
|
'/ш/' => 'sh',
|
||||||
|
'/Щ/' => 'Shch',
|
||||||
|
'/щ/' => 'shch',
|
||||||
|
'/Ъ|ъ|Ь|ь/' => '',
|
||||||
|
'/Ю/' => 'Yu',
|
||||||
|
'/ю/' => 'yu',
|
||||||
|
'/Я/' => 'Ya',
|
||||||
|
'/я/' => 'ya'
|
||||||
|
);
|
|
@ -0,0 +1,39 @@
|
||||||
|
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||||
|
// For view all the languages go to the folder assets/grocery_crud/languages/
|
||||||
|
$config['grocery_crud_default_language'] = 'english';
|
||||||
|
|
||||||
|
// There are only three choices: "uk-date" (dd/mm/yyyy), "us-date" (mm/dd/yyyy) or "sql-date" (yyyy-mm-dd)
|
||||||
|
$config['grocery_crud_date_format'] = 'uk-date';
|
||||||
|
|
||||||
|
// The default per page when a user firstly see a list page
|
||||||
|
$config['grocery_crud_default_per_page'] = 10;
|
||||||
|
|
||||||
|
$config['grocery_crud_file_upload_allow_file_types'] = 'gif|jpeg|jpg|png|tiff|doc|docx|txt|odt|xls|xlsx|pdf|ppt|pptx|pps|ppsx|mp3|m4a|ogg|wav|mp4|m4v|mov|wmv|flv|avi|mpg|ogv|3gp|3g2';
|
||||||
|
$config['grocery_crud_file_upload_max_file_size'] = '20MB'; //eg. '10MB' (Mega Bytes), '1067KB' (Kilo Bytes), '5000B' (Bytes)
|
||||||
|
|
||||||
|
// You can choose 'ckeditor','tinymce' or 'markitup'
|
||||||
|
$config['grocery_crud_default_text_editor'] = 'ckeditor';
|
||||||
|
// You can choose 'minimal' or 'full'
|
||||||
|
$config['grocery_crud_text_editor_type'] = 'full';
|
||||||
|
|
||||||
|
// The character limiter at the list page, zero(0) value if you don't want character limiter at your list page
|
||||||
|
$config['grocery_crud_character_limiter'] = 30;
|
||||||
|
|
||||||
|
// All the forms are opening with dialog forms without refreshing the page once again.
|
||||||
|
// IMPORTANT: PLease be aware that this functionality is still in BETA phase and it is
|
||||||
|
// not suggested to use this in production mode
|
||||||
|
$config['grocery_crud_dialog_forms'] = false;
|
||||||
|
|
||||||
|
// Having some options at the list paging. This is the default one that all the websites are using.
|
||||||
|
// Make sure that the number of grocery_crud_default_per_page variable is included to this array.
|
||||||
|
$config['grocery_crud_paging_options'] = array('10','25','50','100');
|
||||||
|
|
||||||
|
// Default theme for grocery CRUD
|
||||||
|
$config['grocery_crud_default_theme'] = 'flexigrid';
|
||||||
|
|
||||||
|
// The environment is important so we can have specific configurations for specific environments
|
||||||
|
$config['grocery_crud_environment'] = 'production';
|
||||||
|
|
||||||
|
// Turn XSS clean into true in case you are exposing your CRUD into public. Please be aware that this is
|
||||||
|
// stripping all the HTML and do not just trim the extra javascript
|
||||||
|
$config['grocery_crud_xss_clean'] = false;
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------------
|
||||||
|
| Hooks
|
||||||
|
| -------------------------------------------------------------------------
|
||||||
|
| This file lets you define "hooks" to extend CI without hacking the core
|
||||||
|
| files. Please see the user guide for info:
|
||||||
|
|
|
||||||
|
| https://codeigniter.com/userguide3/general/hooks.html
|
||||||
|
|
|
||||||
|
*/
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------------
|
||||||
|
| Memcached settings
|
||||||
|
| -------------------------------------------------------------------------
|
||||||
|
| Your Memcached servers can be specified below.
|
||||||
|
|
|
||||||
|
| See: https://codeigniter.com/userguide3/libraries/caching.html#memcached
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config = array(
|
||||||
|
'default' => array(
|
||||||
|
'hostname' => '127.0.0.1',
|
||||||
|
'port' => '11211',
|
||||||
|
'weight' => '1',
|
||||||
|
),
|
||||||
|
);
|
|
@ -0,0 +1,84 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Enable/Disable Migrations
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Migrations are disabled by default for security reasons.
|
||||||
|
| You should enable migrations whenever you intend to do a schema migration
|
||||||
|
| and disable it back when you're done.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['migration_enabled'] = FALSE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Migration Type
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Migration file names may be based on a sequential identifier or on
|
||||||
|
| a timestamp. Options are:
|
||||||
|
|
|
||||||
|
| 'sequential' = Sequential migration naming (001_add_blog.php)
|
||||||
|
| 'timestamp' = Timestamp migration naming (20121031104401_add_blog.php)
|
||||||
|
| Use timestamp format YYYYMMDDHHIISS.
|
||||||
|
|
|
||||||
|
| Note: If this configuration value is missing the Migration library
|
||||||
|
| defaults to 'sequential' for backward compatibility with CI2.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['migration_type'] = 'timestamp';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Migrations table
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This is the name of the table that will store the current migrations state.
|
||||||
|
| When migrations runs it will store in a database table which migration
|
||||||
|
| level the system is at. It then compares the migration level in this
|
||||||
|
| table to the $config['migration_version'] if they are not the same it
|
||||||
|
| will migrate up. This must be set.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['migration_table'] = 'migrations';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Auto Migrate To Latest
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If this is set to TRUE when you load the migrations class and have
|
||||||
|
| $config['migration_enabled'] set to TRUE the system will auto migrate
|
||||||
|
| to your latest migration (whatever $config['migration_version'] is
|
||||||
|
| set to). This way you do not have to call migrations anywhere else
|
||||||
|
| in your code to have the latest migration.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['migration_auto_latest'] = FALSE;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Migrations version
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This is used to set migration version that the file system should be on.
|
||||||
|
| If you run $this->migration->current() this is the version that schema will
|
||||||
|
| be upgraded / downgraded to.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['migration_version'] = 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Migrations Path
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Path to your migrations folder.
|
||||||
|
| Typically, it will be within your application path.
|
||||||
|
| Also, writing permission is required within the migrations path.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$config['migration_path'] = APPPATH.'migrations/';
|
|
@ -0,0 +1,186 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| MIME TYPES
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| This file contains an array of mime types. It is used by the
|
||||||
|
| Upload class to help identify allowed file types.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
return array(
|
||||||
|
'hqx' => array('application/mac-binhex40', 'application/mac-binhex', 'application/x-binhex40', 'application/x-mac-binhex40'),
|
||||||
|
'cpt' => 'application/mac-compactpro',
|
||||||
|
'csv' => array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel', 'text/plain'),
|
||||||
|
'bin' => array('application/macbinary', 'application/mac-binary', 'application/octet-stream', 'application/x-binary', 'application/x-macbinary'),
|
||||||
|
'dms' => 'application/octet-stream',
|
||||||
|
'lha' => 'application/octet-stream',
|
||||||
|
'lzh' => 'application/octet-stream',
|
||||||
|
'exe' => array('application/octet-stream', 'application/x-msdownload'),
|
||||||
|
'class' => 'application/octet-stream',
|
||||||
|
'psd' => array('application/x-photoshop', 'image/vnd.adobe.photoshop'),
|
||||||
|
'so' => 'application/octet-stream',
|
||||||
|
'sea' => 'application/octet-stream',
|
||||||
|
'dll' => 'application/octet-stream',
|
||||||
|
'oda' => 'application/oda',
|
||||||
|
'pdf' => array('application/pdf', 'application/force-download', 'application/x-download', 'binary/octet-stream'),
|
||||||
|
'ai' => array('application/pdf', 'application/postscript'),
|
||||||
|
'eps' => 'application/postscript',
|
||||||
|
'ps' => 'application/postscript',
|
||||||
|
'smi' => 'application/smil',
|
||||||
|
'smil' => 'application/smil',
|
||||||
|
'mif' => 'application/vnd.mif',
|
||||||
|
'xls' => array('application/vnd.ms-excel', 'application/msexcel', 'application/x-msexcel', 'application/x-ms-excel', 'application/x-excel', 'application/x-dos_ms_excel', 'application/xls', 'application/x-xls', 'application/excel', 'application/download', 'application/vnd.ms-office', 'application/msword'),
|
||||||
|
'ppt' => array('application/powerpoint', 'application/vnd.ms-powerpoint', 'application/vnd.ms-office', 'application/msword'),
|
||||||
|
'pptx' => array('application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/x-zip', 'application/zip'),
|
||||||
|
'wbxml' => 'application/wbxml',
|
||||||
|
'wmlc' => 'application/wmlc',
|
||||||
|
'dcr' => 'application/x-director',
|
||||||
|
'dir' => 'application/x-director',
|
||||||
|
'dxr' => 'application/x-director',
|
||||||
|
'dvi' => 'application/x-dvi',
|
||||||
|
'gtar' => 'application/x-gtar',
|
||||||
|
'gz' => 'application/x-gzip',
|
||||||
|
'gzip' => 'application/x-gzip',
|
||||||
|
'php' => array('application/x-httpd-php', 'application/php', 'application/x-php', 'text/php', 'text/x-php', 'application/x-httpd-php-source'),
|
||||||
|
'php4' => 'application/x-httpd-php',
|
||||||
|
'php3' => 'application/x-httpd-php',
|
||||||
|
'phtml' => 'application/x-httpd-php',
|
||||||
|
'phps' => 'application/x-httpd-php-source',
|
||||||
|
'js' => array('application/x-javascript', 'text/plain'),
|
||||||
|
'swf' => 'application/x-shockwave-flash',
|
||||||
|
'sit' => 'application/x-stuffit',
|
||||||
|
'tar' => 'application/x-tar',
|
||||||
|
'tgz' => array('application/x-tar', 'application/x-gzip-compressed'),
|
||||||
|
'z' => 'application/x-compress',
|
||||||
|
'xhtml' => 'application/xhtml+xml',
|
||||||
|
'xht' => 'application/xhtml+xml',
|
||||||
|
'zip' => array('application/x-zip', 'application/zip', 'application/x-zip-compressed', 'application/s-compressed', 'multipart/x-zip'),
|
||||||
|
'rar' => array('application/x-rar', 'application/rar', 'application/x-rar-compressed'),
|
||||||
|
'mid' => 'audio/midi',
|
||||||
|
'midi' => 'audio/midi',
|
||||||
|
'mpga' => 'audio/mpeg',
|
||||||
|
'mp2' => 'audio/mpeg',
|
||||||
|
'mp3' => array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),
|
||||||
|
'aif' => array('audio/x-aiff', 'audio/aiff'),
|
||||||
|
'aiff' => array('audio/x-aiff', 'audio/aiff'),
|
||||||
|
'aifc' => 'audio/x-aiff',
|
||||||
|
'ram' => 'audio/x-pn-realaudio',
|
||||||
|
'rm' => 'audio/x-pn-realaudio',
|
||||||
|
'rpm' => 'audio/x-pn-realaudio-plugin',
|
||||||
|
'ra' => 'audio/x-realaudio',
|
||||||
|
'rv' => 'video/vnd.rn-realvideo',
|
||||||
|
'wav' => array('audio/x-wav', 'audio/wave', 'audio/wav'),
|
||||||
|
'bmp' => array('image/bmp', 'image/x-bmp', 'image/x-bitmap', 'image/x-xbitmap', 'image/x-win-bitmap', 'image/x-windows-bmp', 'image/ms-bmp', 'image/x-ms-bmp', 'application/bmp', 'application/x-bmp', 'application/x-win-bitmap'),
|
||||||
|
'gif' => 'image/gif',
|
||||||
|
'jpeg' => array('image/jpeg', 'image/pjpeg'),
|
||||||
|
'jpg' => array('image/jpeg', 'image/pjpeg'),
|
||||||
|
'jpe' => array('image/jpeg', 'image/pjpeg'),
|
||||||
|
'jp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
|
||||||
|
'j2k' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
|
||||||
|
'jpf' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
|
||||||
|
'jpg2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
|
||||||
|
'jpx' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
|
||||||
|
'jpm' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
|
||||||
|
'mj2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
|
||||||
|
'mjp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'),
|
||||||
|
'png' => array('image/png', 'image/x-png'),
|
||||||
|
'tiff' => 'image/tiff',
|
||||||
|
'tif' => 'image/tiff',
|
||||||
|
'heic' => 'image/heic',
|
||||||
|
'heif' => 'image/heif',
|
||||||
|
'css' => array('text/css', 'text/plain'),
|
||||||
|
'html' => array('text/html', 'text/plain'),
|
||||||
|
'htm' => array('text/html', 'text/plain'),
|
||||||
|
'shtml' => array('text/html', 'text/plain'),
|
||||||
|
'txt' => 'text/plain',
|
||||||
|
'text' => 'text/plain',
|
||||||
|
'log' => array('text/plain', 'text/x-log'),
|
||||||
|
'rtx' => 'text/richtext',
|
||||||
|
'rtf' => 'text/rtf',
|
||||||
|
'xml' => array('application/xml', 'text/xml', 'text/plain'),
|
||||||
|
'xsl' => array('application/xml', 'text/xsl', 'text/xml'),
|
||||||
|
'mpeg' => 'video/mpeg',
|
||||||
|
'mpg' => 'video/mpeg',
|
||||||
|
'mpe' => 'video/mpeg',
|
||||||
|
'qt' => 'video/quicktime',
|
||||||
|
'mov' => 'video/quicktime',
|
||||||
|
'avi' => array('video/x-msvideo', 'video/msvideo', 'video/avi', 'application/x-troff-msvideo'),
|
||||||
|
'movie' => 'video/x-sgi-movie',
|
||||||
|
'doc' => array('application/msword', 'application/vnd.ms-office'),
|
||||||
|
'docx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword', 'application/x-zip'),
|
||||||
|
'dot' => array('application/msword', 'application/vnd.ms-office'),
|
||||||
|
'dotx' => array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip', 'application/msword'),
|
||||||
|
'xlsx' => array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip', 'application/vnd.ms-excel', 'application/msword', 'application/x-zip'),
|
||||||
|
'word' => array('application/msword', 'application/octet-stream'),
|
||||||
|
'xl' => 'application/excel',
|
||||||
|
'eml' => 'message/rfc822',
|
||||||
|
'json' => array('application/json', 'text/json'),
|
||||||
|
'pem' => array('application/x-x509-user-cert', 'application/x-pem-file', 'application/octet-stream'),
|
||||||
|
'p10' => array('application/x-pkcs10', 'application/pkcs10'),
|
||||||
|
'p12' => 'application/x-pkcs12',
|
||||||
|
'p7a' => 'application/x-pkcs7-signature',
|
||||||
|
'p7c' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'),
|
||||||
|
'p7m' => array('application/pkcs7-mime', 'application/x-pkcs7-mime'),
|
||||||
|
'p7r' => 'application/x-pkcs7-certreqresp',
|
||||||
|
'p7s' => 'application/pkcs7-signature',
|
||||||
|
'crt' => array('application/x-x509-ca-cert', 'application/x-x509-user-cert', 'application/pkix-cert'),
|
||||||
|
'crl' => array('application/pkix-crl', 'application/pkcs-crl'),
|
||||||
|
'der' => 'application/x-x509-ca-cert',
|
||||||
|
'kdb' => 'application/octet-stream',
|
||||||
|
'pgp' => 'application/pgp',
|
||||||
|
'gpg' => 'application/gpg-keys',
|
||||||
|
'sst' => 'application/octet-stream',
|
||||||
|
'csr' => 'application/octet-stream',
|
||||||
|
'rsa' => 'application/x-pkcs7',
|
||||||
|
'cer' => array('application/pkix-cert', 'application/x-x509-ca-cert'),
|
||||||
|
'3g2' => 'video/3gpp2',
|
||||||
|
'3gp' => array('video/3gp', 'video/3gpp'),
|
||||||
|
'mp4' => 'video/mp4',
|
||||||
|
'm4a' => 'audio/x-m4a',
|
||||||
|
'f4v' => array('video/mp4', 'video/x-f4v'),
|
||||||
|
'flv' => 'video/x-flv',
|
||||||
|
'webm' => 'video/webm',
|
||||||
|
'aac' => array('audio/x-aac', 'audio/aac'),
|
||||||
|
'm4u' => 'application/vnd.mpegurl',
|
||||||
|
'm3u' => 'text/plain',
|
||||||
|
'xspf' => 'application/xspf+xml',
|
||||||
|
'vlc' => 'application/videolan',
|
||||||
|
'wmv' => array('video/x-ms-wmv', 'video/x-ms-asf'),
|
||||||
|
'au' => 'audio/x-au',
|
||||||
|
'ac3' => 'audio/ac3',
|
||||||
|
'flac' => 'audio/x-flac',
|
||||||
|
'ogg' => array('audio/ogg', 'video/ogg', 'application/ogg'),
|
||||||
|
'kmz' => array('application/vnd.google-earth.kmz', 'application/zip', 'application/x-zip'),
|
||||||
|
'kml' => array('application/vnd.google-earth.kml+xml', 'application/xml', 'text/xml'),
|
||||||
|
'ics' => 'text/calendar',
|
||||||
|
'ical' => 'text/calendar',
|
||||||
|
'zsh' => 'text/x-scriptzsh',
|
||||||
|
'7z' => array('application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'),
|
||||||
|
'7zip' => array('application/x-7z-compressed', 'application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'),
|
||||||
|
'cdr' => array('application/cdr', 'application/coreldraw', 'application/x-cdr', 'application/x-coreldraw', 'image/cdr', 'image/x-cdr', 'zz-application/zz-winassoc-cdr'),
|
||||||
|
'wma' => array('audio/x-ms-wma', 'video/x-ms-asf'),
|
||||||
|
'jar' => array('application/java-archive', 'application/x-java-application', 'application/x-jar', 'application/x-compressed'),
|
||||||
|
'svg' => array('image/svg+xml', 'image/svg', 'application/xml', 'text/xml'),
|
||||||
|
'vcf' => 'text/x-vcard',
|
||||||
|
'srt' => array('text/srt', 'text/plain'),
|
||||||
|
'vtt' => array('text/vtt', 'text/plain'),
|
||||||
|
'ico' => array('image/x-icon', 'image/x-ico', 'image/vnd.microsoft.icon'),
|
||||||
|
'odc' => 'application/vnd.oasis.opendocument.chart',
|
||||||
|
'otc' => 'application/vnd.oasis.opendocument.chart-template',
|
||||||
|
'odf' => 'application/vnd.oasis.opendocument.formula',
|
||||||
|
'otf' => 'application/vnd.oasis.opendocument.formula-template',
|
||||||
|
'odg' => 'application/vnd.oasis.opendocument.graphics',
|
||||||
|
'otg' => 'application/vnd.oasis.opendocument.graphics-template',
|
||||||
|
'odi' => 'application/vnd.oasis.opendocument.image',
|
||||||
|
'oti' => 'application/vnd.oasis.opendocument.image-template',
|
||||||
|
'odp' => 'application/vnd.oasis.opendocument.presentation',
|
||||||
|
'otp' => 'application/vnd.oasis.opendocument.presentation-template',
|
||||||
|
'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
|
||||||
|
'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
|
||||||
|
'odt' => 'application/vnd.oasis.opendocument.text',
|
||||||
|
'odm' => 'application/vnd.oasis.opendocument.text-master',
|
||||||
|
'ott' => 'application/vnd.oasis.opendocument.text-template',
|
||||||
|
'oth' => 'application/vnd.oasis.opendocument.text-web'
|
||||||
|
);
|
|
@ -0,0 +1,14 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------------
|
||||||
|
| Profiler Sections
|
||||||
|
| -------------------------------------------------------------------------
|
||||||
|
| This file lets you determine whether or not various sections of Profiler
|
||||||
|
| data are displayed when the Profiler is enabled.
|
||||||
|
| Please see the user guide for info:
|
||||||
|
|
|
||||||
|
| https://codeigniter.com/userguide3/general/profiling.html
|
||||||
|
|
|
||||||
|
*/
|
|
@ -0,0 +1,54 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') or exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------------
|
||||||
|
| URI ROUTING
|
||||||
|
| -------------------------------------------------------------------------
|
||||||
|
| This file lets you re-map URI requests to specific controller functions.
|
||||||
|
|
|
||||||
|
| Typically there is a one-to-one relationship between a URL string
|
||||||
|
| and its corresponding controller class/method. The segments in a
|
||||||
|
| URL normally follow this pattern:
|
||||||
|
|
|
||||||
|
| example.com/class/method/id/
|
||||||
|
|
|
||||||
|
| In some instances, however, you may want to remap this relationship
|
||||||
|
| so that a different class/function is called than the one
|
||||||
|
| corresponding to the URL.
|
||||||
|
|
|
||||||
|
| Please see the user guide for complete details:
|
||||||
|
|
|
||||||
|
| https://codeigniter.com/userguide3/general/routing.html
|
||||||
|
|
|
||||||
|
| -------------------------------------------------------------------------
|
||||||
|
| RESERVED ROUTES
|
||||||
|
| -------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| There are three reserved routes:
|
||||||
|
|
|
||||||
|
| $route['default_controller'] = 'welcome';
|
||||||
|
|
|
||||||
|
| This route indicates which controller class should be loaded if the
|
||||||
|
| URI contains no data. In the above example, the "welcome" class
|
||||||
|
| would be loaded.
|
||||||
|
|
|
||||||
|
| $route['404_override'] = 'errors/page_missing';
|
||||||
|
|
|
||||||
|
| This route will tell the Router which controller/method to use if those
|
||||||
|
| provided in the URL cannot be matched to a valid route.
|
||||||
|
|
|
||||||
|
| $route['translate_uri_dashes'] = FALSE;
|
||||||
|
|
|
||||||
|
| This is not exactly a route, but allows you to automatically route
|
||||||
|
| controller and method names that contain dashes. '-' isn't a valid
|
||||||
|
| class or method name character, so it requires translation.
|
||||||
|
| When you set this option to TRUE, it will replace ALL dashes in the
|
||||||
|
| controller and method URI segments.
|
||||||
|
|
|
||||||
|
| Examples: my-controller/index -> my_controller/index
|
||||||
|
| my-controller/my-method -> my_controller/my_method
|
||||||
|
*/
|
||||||
|
$route['default_controller'] = 'home';
|
||||||
|
$route['404_override'] = '';
|
||||||
|
$route['translate_uri_dashes'] = FALSE;
|
|
@ -0,0 +1,64 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| SMILEYS
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| This file contains an array of smileys for use with the emoticon helper.
|
||||||
|
| Individual images can be used to replace multiple smileys. For example:
|
||||||
|
| :-) and :) use the same image replacement.
|
||||||
|
|
|
||||||
|
| Please see user guide for more info:
|
||||||
|
| https://codeigniter.com/userguide3/helpers/smiley_helper.html
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
$smileys = array(
|
||||||
|
|
||||||
|
// smiley image name width height alt
|
||||||
|
|
||||||
|
':-)' => array('grin.gif', '19', '19', 'grin'),
|
||||||
|
':lol:' => array('lol.gif', '19', '19', 'LOL'),
|
||||||
|
':cheese:' => array('cheese.gif', '19', '19', 'cheese'),
|
||||||
|
':)' => array('smile.gif', '19', '19', 'smile'),
|
||||||
|
';-)' => array('wink.gif', '19', '19', 'wink'),
|
||||||
|
';)' => array('wink.gif', '19', '19', 'wink'),
|
||||||
|
':smirk:' => array('smirk.gif', '19', '19', 'smirk'),
|
||||||
|
':roll:' => array('rolleyes.gif', '19', '19', 'rolleyes'),
|
||||||
|
':-S' => array('confused.gif', '19', '19', 'confused'),
|
||||||
|
':wow:' => array('surprise.gif', '19', '19', 'surprised'),
|
||||||
|
':bug:' => array('bigsurprise.gif', '19', '19', 'big surprise'),
|
||||||
|
':-P' => array('tongue_laugh.gif', '19', '19', 'tongue laugh'),
|
||||||
|
'%-P' => array('tongue_rolleye.gif', '19', '19', 'tongue rolleye'),
|
||||||
|
';-P' => array('tongue_wink.gif', '19', '19', 'tongue wink'),
|
||||||
|
':P' => array('raspberry.gif', '19', '19', 'raspberry'),
|
||||||
|
':blank:' => array('blank.gif', '19', '19', 'blank stare'),
|
||||||
|
':long:' => array('longface.gif', '19', '19', 'long face'),
|
||||||
|
':ohh:' => array('ohh.gif', '19', '19', 'ohh'),
|
||||||
|
':grrr:' => array('grrr.gif', '19', '19', 'grrr'),
|
||||||
|
':gulp:' => array('gulp.gif', '19', '19', 'gulp'),
|
||||||
|
'8-/' => array('ohoh.gif', '19', '19', 'oh oh'),
|
||||||
|
':down:' => array('downer.gif', '19', '19', 'downer'),
|
||||||
|
':red:' => array('embarrassed.gif', '19', '19', 'red face'),
|
||||||
|
':sick:' => array('sick.gif', '19', '19', 'sick'),
|
||||||
|
':shut:' => array('shuteye.gif', '19', '19', 'shut eye'),
|
||||||
|
':-/' => array('hmm.gif', '19', '19', 'hmmm'),
|
||||||
|
'>:(' => array('mad.gif', '19', '19', 'mad'),
|
||||||
|
':mad:' => array('mad.gif', '19', '19', 'mad'),
|
||||||
|
'>:-(' => array('angry.gif', '19', '19', 'angry'),
|
||||||
|
':angry:' => array('angry.gif', '19', '19', 'angry'),
|
||||||
|
':zip:' => array('zip.gif', '19', '19', 'zipper'),
|
||||||
|
':kiss:' => array('kiss.gif', '19', '19', 'kiss'),
|
||||||
|
':ahhh:' => array('shock.gif', '19', '19', 'shock'),
|
||||||
|
':coolsmile:' => array('shade_smile.gif', '19', '19', 'cool smile'),
|
||||||
|
':coolsmirk:' => array('shade_smirk.gif', '19', '19', 'cool smirk'),
|
||||||
|
':coolgrin:' => array('shade_grin.gif', '19', '19', 'cool grin'),
|
||||||
|
':coolhmm:' => array('shade_hmm.gif', '19', '19', 'cool hmm'),
|
||||||
|
':coolmad:' => array('shade_mad.gif', '19', '19', 'cool mad'),
|
||||||
|
':coolcheese:' => array('shade_cheese.gif', '19', '19', 'cool cheese'),
|
||||||
|
':vampire:' => array('vampire.gif', '19', '19', 'vampire'),
|
||||||
|
':snake:' => array('snake.gif', '19', '19', 'snake'),
|
||||||
|
':exclaim:' => array('exclaim.gif', '19', '19', 'exclaim'),
|
||||||
|
':question:' => array('question.gif', '19', '19', 'question')
|
||||||
|
|
||||||
|
);
|
|
@ -0,0 +1,222 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/*
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| USER AGENT TYPES
|
||||||
|
| -------------------------------------------------------------------
|
||||||
|
| This file contains four arrays of user agent data. It is used by the
|
||||||
|
| User Agent Class to help identify browser, platform, robot, and
|
||||||
|
| mobile device data. The array keys are used to identify the device
|
||||||
|
| and the array values are used to set the actual name of the item.
|
||||||
|
*/
|
||||||
|
$platforms = array(
|
||||||
|
'windows nt 10.0' => 'Windows 10',
|
||||||
|
'windows nt 6.3' => 'Windows 8.1',
|
||||||
|
'windows nt 6.2' => 'Windows 8',
|
||||||
|
'windows nt 6.1' => 'Windows 7',
|
||||||
|
'windows nt 6.0' => 'Windows Vista',
|
||||||
|
'windows nt 5.2' => 'Windows 2003',
|
||||||
|
'windows nt 5.1' => 'Windows XP',
|
||||||
|
'windows nt 5.0' => 'Windows 2000',
|
||||||
|
'windows nt 4.0' => 'Windows NT 4.0',
|
||||||
|
'winnt4.0' => 'Windows NT 4.0',
|
||||||
|
'winnt 4.0' => 'Windows NT',
|
||||||
|
'winnt' => 'Windows NT',
|
||||||
|
'windows 98' => 'Windows 98',
|
||||||
|
'win98' => 'Windows 98',
|
||||||
|
'windows 95' => 'Windows 95',
|
||||||
|
'win95' => 'Windows 95',
|
||||||
|
'windows phone' => 'Windows Phone',
|
||||||
|
'windows' => 'Unknown Windows OS',
|
||||||
|
'android' => 'Android',
|
||||||
|
'blackberry' => 'BlackBerry',
|
||||||
|
'iphone' => 'iOS',
|
||||||
|
'ipad' => 'iOS',
|
||||||
|
'ipod' => 'iOS',
|
||||||
|
'os x' => 'Mac OS X',
|
||||||
|
'ppc mac' => 'Power PC Mac',
|
||||||
|
'freebsd' => 'FreeBSD',
|
||||||
|
'ppc' => 'Macintosh',
|
||||||
|
'linux' => 'Linux',
|
||||||
|
'debian' => 'Debian',
|
||||||
|
'sunos' => 'Sun Solaris',
|
||||||
|
'beos' => 'BeOS',
|
||||||
|
'apachebench' => 'ApacheBench',
|
||||||
|
'aix' => 'AIX',
|
||||||
|
'irix' => 'Irix',
|
||||||
|
'osf' => 'DEC OSF',
|
||||||
|
'hp-ux' => 'HP-UX',
|
||||||
|
'netbsd' => 'NetBSD',
|
||||||
|
'bsdi' => 'BSDi',
|
||||||
|
'openbsd' => 'OpenBSD',
|
||||||
|
'gnu' => 'GNU/Linux',
|
||||||
|
'unix' => 'Unknown Unix OS',
|
||||||
|
'symbian' => 'Symbian OS'
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// The order of this array should NOT be changed. Many browsers return
|
||||||
|
// multiple browser types so we want to identify the sub-type first.
|
||||||
|
$browsers = array(
|
||||||
|
'OPR' => 'Opera',
|
||||||
|
'Flock' => 'Flock',
|
||||||
|
'Edge' => 'Edge',
|
||||||
|
'Chrome' => 'Chrome',
|
||||||
|
// Opera 10+ always reports Opera/9.80 and appends Version/<real version> to the user agent string
|
||||||
|
'Opera.*?Version' => 'Opera',
|
||||||
|
'Opera' => 'Opera',
|
||||||
|
'MSIE' => 'Internet Explorer',
|
||||||
|
'Internet Explorer' => 'Internet Explorer',
|
||||||
|
'Trident.* rv' => 'Internet Explorer',
|
||||||
|
'Shiira' => 'Shiira',
|
||||||
|
'Firefox' => 'Firefox',
|
||||||
|
'Chimera' => 'Chimera',
|
||||||
|
'Phoenix' => 'Phoenix',
|
||||||
|
'Firebird' => 'Firebird',
|
||||||
|
'Camino' => 'Camino',
|
||||||
|
'Netscape' => 'Netscape',
|
||||||
|
'OmniWeb' => 'OmniWeb',
|
||||||
|
'Safari' => 'Safari',
|
||||||
|
'Mozilla' => 'Mozilla',
|
||||||
|
'Konqueror' => 'Konqueror',
|
||||||
|
'icab' => 'iCab',
|
||||||
|
'Lynx' => 'Lynx',
|
||||||
|
'Links' => 'Links',
|
||||||
|
'hotjava' => 'HotJava',
|
||||||
|
'amaya' => 'Amaya',
|
||||||
|
'IBrowse' => 'IBrowse',
|
||||||
|
'Maxthon' => 'Maxthon',
|
||||||
|
'Ubuntu' => 'Ubuntu Web Browser'
|
||||||
|
);
|
||||||
|
|
||||||
|
$mobiles = array(
|
||||||
|
// legacy array, old values commented out
|
||||||
|
'mobileexplorer' => 'Mobile Explorer',
|
||||||
|
// 'openwave' => 'Open Wave',
|
||||||
|
// 'opera mini' => 'Opera Mini',
|
||||||
|
// 'operamini' => 'Opera Mini',
|
||||||
|
// 'elaine' => 'Palm',
|
||||||
|
'palmsource' => 'Palm',
|
||||||
|
// 'digital paths' => 'Palm',
|
||||||
|
// 'avantgo' => 'Avantgo',
|
||||||
|
// 'xiino' => 'Xiino',
|
||||||
|
'palmscape' => 'Palmscape',
|
||||||
|
// 'nokia' => 'Nokia',
|
||||||
|
// 'ericsson' => 'Ericsson',
|
||||||
|
// 'blackberry' => 'BlackBerry',
|
||||||
|
// 'motorola' => 'Motorola'
|
||||||
|
|
||||||
|
// Phones and Manufacturers
|
||||||
|
'motorola' => 'Motorola',
|
||||||
|
'nokia' => 'Nokia',
|
||||||
|
'nexus' => 'Nexus',
|
||||||
|
'palm' => 'Palm',
|
||||||
|
'iphone' => 'Apple iPhone',
|
||||||
|
'ipad' => 'iPad',
|
||||||
|
'ipod' => 'Apple iPod Touch',
|
||||||
|
'sony' => 'Sony Ericsson',
|
||||||
|
'ericsson' => 'Sony Ericsson',
|
||||||
|
'blackberry' => 'BlackBerry',
|
||||||
|
'cocoon' => 'O2 Cocoon',
|
||||||
|
'blazer' => 'Treo',
|
||||||
|
'lg' => 'LG',
|
||||||
|
'amoi' => 'Amoi',
|
||||||
|
'xda' => 'XDA',
|
||||||
|
'mda' => 'MDA',
|
||||||
|
'vario' => 'Vario',
|
||||||
|
'htc' => 'HTC',
|
||||||
|
'samsung' => 'Samsung',
|
||||||
|
'sharp' => 'Sharp',
|
||||||
|
'sie-' => 'Siemens',
|
||||||
|
'alcatel' => 'Alcatel',
|
||||||
|
'benq' => 'BenQ',
|
||||||
|
'ipaq' => 'HP iPaq',
|
||||||
|
'mot-' => 'Motorola',
|
||||||
|
'playstation portable' => 'PlayStation Portable',
|
||||||
|
'playstation 3' => 'PlayStation 3',
|
||||||
|
'playstation vita' => 'PlayStation Vita',
|
||||||
|
'hiptop' => 'Danger Hiptop',
|
||||||
|
'nec-' => 'NEC',
|
||||||
|
'panasonic' => 'Panasonic',
|
||||||
|
'philips' => 'Philips',
|
||||||
|
'sagem' => 'Sagem',
|
||||||
|
'sanyo' => 'Sanyo',
|
||||||
|
'spv' => 'SPV',
|
||||||
|
'zte' => 'ZTE',
|
||||||
|
'sendo' => 'Sendo',
|
||||||
|
'nintendo dsi' => 'Nintendo DSi',
|
||||||
|
'nintendo ds' => 'Nintendo DS',
|
||||||
|
'nintendo 3ds' => 'Nintendo 3DS',
|
||||||
|
'wii' => 'Nintendo Wii',
|
||||||
|
'open web' => 'Open Web',
|
||||||
|
'openweb' => 'OpenWeb',
|
||||||
|
'meizu' => 'Meizu',
|
||||||
|
'huawei' => 'Huawei',
|
||||||
|
'xiaomi' => 'Xiaomi',
|
||||||
|
'oppo' => 'Oppo',
|
||||||
|
'vivo' => 'Vivo',
|
||||||
|
'infinix' => 'Infinix',
|
||||||
|
|
||||||
|
// Operating Systems
|
||||||
|
'android' => 'Android',
|
||||||
|
'symbian' => 'Symbian',
|
||||||
|
'SymbianOS' => 'SymbianOS',
|
||||||
|
'elaine' => 'Palm',
|
||||||
|
'series60' => 'Symbian S60',
|
||||||
|
'windows ce' => 'Windows CE',
|
||||||
|
|
||||||
|
// Browsers
|
||||||
|
'obigo' => 'Obigo',
|
||||||
|
'netfront' => 'Netfront Browser',
|
||||||
|
'openwave' => 'Openwave Browser',
|
||||||
|
'mobilexplorer' => 'Mobile Explorer',
|
||||||
|
'operamini' => 'Opera Mini',
|
||||||
|
'opera mini' => 'Opera Mini',
|
||||||
|
'opera mobi' => 'Opera Mobile',
|
||||||
|
'fennec' => 'Firefox Mobile',
|
||||||
|
|
||||||
|
// Other
|
||||||
|
'digital paths' => 'Digital Paths',
|
||||||
|
'avantgo' => 'AvantGo',
|
||||||
|
'xiino' => 'Xiino',
|
||||||
|
'novarra' => 'Novarra Transcoder',
|
||||||
|
'vodafone' => 'Vodafone',
|
||||||
|
'docomo' => 'NTT DoCoMo',
|
||||||
|
'o2' => 'O2',
|
||||||
|
|
||||||
|
// Fallback
|
||||||
|
'mobile' => 'Generic Mobile',
|
||||||
|
'wireless' => 'Generic Mobile',
|
||||||
|
'j2me' => 'Generic Mobile',
|
||||||
|
'midp' => 'Generic Mobile',
|
||||||
|
'cldc' => 'Generic Mobile',
|
||||||
|
'up.link' => 'Generic Mobile',
|
||||||
|
'up.browser' => 'Generic Mobile',
|
||||||
|
'smartphone' => 'Generic Mobile',
|
||||||
|
'cellphone' => 'Generic Mobile'
|
||||||
|
);
|
||||||
|
|
||||||
|
// There are hundreds of bots but these are the most common.
|
||||||
|
$robots = array(
|
||||||
|
'googlebot' => 'Googlebot',
|
||||||
|
'msnbot' => 'MSNBot',
|
||||||
|
'baiduspider' => 'Baiduspider',
|
||||||
|
'bingbot' => 'Bing',
|
||||||
|
'slurp' => 'Inktomi Slurp',
|
||||||
|
'yahoo' => 'Yahoo',
|
||||||
|
'ask jeeves' => 'Ask Jeeves',
|
||||||
|
'fastcrawler' => 'FastCrawler',
|
||||||
|
'infoseek' => 'InfoSeek Robot 1.0',
|
||||||
|
'lycos' => 'Lycos',
|
||||||
|
'yandex' => 'YandexBot',
|
||||||
|
'mediapartners-google' => 'MediaPartners Google',
|
||||||
|
'CRAZYWEBCRAWLER' => 'Crazy Webcrawler',
|
||||||
|
'adsbot-google' => 'AdsBot Google',
|
||||||
|
'feedfetcher-google' => 'Feedfetcher Google',
|
||||||
|
'curious george' => 'Curious George',
|
||||||
|
'ia_archiver' => 'Alexa Crawler',
|
||||||
|
'MJ12bot' => 'Majestic-12',
|
||||||
|
'Uptimebot' => 'Uptimebot',
|
||||||
|
'UptimeRobot' => 'UptimeRobot'
|
||||||
|
);
|
|
@ -0,0 +1,709 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') or exit('No direct script access allowed');
|
||||||
|
error_reporting(0);
|
||||||
|
|
||||||
|
class Dashboard extends CI_Controller
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
if (!$_SESSION['username']) {
|
||||||
|
echo "<script>alert('Anda harus login terlebih dahulu untuk dapat mengakses halaman ini'); location.href = '" . base_url() . "login'</script>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$data['total_penyakit'] = $this->db->query('SELECT count(*) as total from penyakit')->row_array();
|
||||||
|
$data['total_gejala'] = $this->db->query('SELECT count(*) as total from gejala')->row_array();
|
||||||
|
$data['total_basis_pengetahuan'] = $this->db->query('SELECT count(*) as total from basis_pengetahuan')->row_array();
|
||||||
|
$data['total_users'] = $this->db->query('SELECT count(*) as total from `admin`')->row_array();
|
||||||
|
$data['total_diagnosa'] = $this->db->query('SELECT count(*) as total from `hasil`')->row_array();
|
||||||
|
$data['total_diagnosa_saya'] = $this->db->query('SELECT count(*) as total from `hasil` WHERE id_user = ' . $_SESSION['id'])->row_array();
|
||||||
|
|
||||||
|
$data['active'] = 'dashboard';
|
||||||
|
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_dashboard', $data);
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
|
||||||
|
########################### START MODUL PENGGUNA ###########################
|
||||||
|
public function daftar_pengguna()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['total_penyakit'] = $this->db->query('SELECT count(*) as total from penyakit')->row_array();
|
||||||
|
$data['total_gejala'] = $this->db->query('SELECT count(*) as total from gejala')->row_array();
|
||||||
|
$data['total_basis_pengetahuan'] = $this->db->query('SELECT count(*) as total from basis_pengetahuan')->row_array();
|
||||||
|
$data['total_users'] = $this->db->query('SELECT count(*) as total from `admin`')->row_array();
|
||||||
|
|
||||||
|
$data['datasets'] = $this->db->query('SELECT * FROM `admin` ORDER BY `role`')->result_array();
|
||||||
|
$data['active'] = 'daftarpengguna';
|
||||||
|
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_daftar_pengguna', $data);
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tambah_pengguna()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->input->server('REQUEST_METHOD') === 'POST') {
|
||||||
|
$params = $this->input->post();
|
||||||
|
|
||||||
|
if ((int) $params['id'] > 0) {
|
||||||
|
$input = [
|
||||||
|
'username' => $params['username'],
|
||||||
|
'nama_lengkap' => $params['nama_lengkap'],
|
||||||
|
'role' => $params['role'],
|
||||||
|
'alamat' => $params['alamat'] ? $params['alamat'] : '',
|
||||||
|
'no_telp' => $params['no_telp'] ? $params['no_telp'] : ''
|
||||||
|
];
|
||||||
|
if ($params['password']) {
|
||||||
|
$input['password'] = md5($params['password']);
|
||||||
|
}
|
||||||
|
$this->db->where('id', $params['id']);
|
||||||
|
$this->db->update('admin', $input);
|
||||||
|
|
||||||
|
if ($params['id'] == $_SESSION['id']) {
|
||||||
|
$_SESSION['nama_lengkap'] = $input['nama_lengkap'];
|
||||||
|
$_SESSION['username'] = $input['username'];
|
||||||
|
$_SESSION['alamat'] = $input['alamat'];
|
||||||
|
$_SESSION['no_telp'] = $input['no_telp'];
|
||||||
|
if ($input['password']) {
|
||||||
|
$_SESSION['password'] = $input['password'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$this->db->insert('admin', [
|
||||||
|
'username' => $params['username'],
|
||||||
|
'password' => md5($params['password']),
|
||||||
|
'nama_lengkap' => $params['nama_lengkap'],
|
||||||
|
'role' => $params['role'],
|
||||||
|
'alamat' => $params['alamat'] ? $params['alamat'] : '',
|
||||||
|
'no_telp' => $params['no_telp'] ? $params['no_telp'] : '',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "<script>alert('Data Pengguna berhasil disimpan'); location.href = '" . base_url() . "dashboard/daftar_pengguna';</script>";
|
||||||
|
} else {
|
||||||
|
$params = $_REQUEST;
|
||||||
|
$data['fetch'] = [];
|
||||||
|
$id = $params['id'];
|
||||||
|
if ((int) $id > 0) {
|
||||||
|
$this->db->where('id', $id);
|
||||||
|
$data['fetch'] = $this->db->get('admin')->row_array();
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['id'] = $id;
|
||||||
|
$data['active'] = 'daftarpengguna';
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_tambah_pengguna');
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function hapus_pengguna()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
$params = $_REQUEST;
|
||||||
|
$this->db->where('id', $params['id']);
|
||||||
|
$this->db->delete('admin');
|
||||||
|
|
||||||
|
echo "<script>alert('Data Pengguna berhasil terhapus'); location.href = '" . base_url() . "dashboard/daftar_pengguna';</script>";
|
||||||
|
}
|
||||||
|
########################### END MODUL PENGGUNA ###########################
|
||||||
|
|
||||||
|
########################### START MODUL PENYAKIT ###########################
|
||||||
|
public function daftar_penyakit()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['total_penyakit'] = $this->db->query('SELECT count(*) as total from penyakit')->row_array();
|
||||||
|
$data['total_gejala'] = $this->db->query('SELECT count(*) as total from gejala')->row_array();
|
||||||
|
$data['total_basis_pengetahuan'] = $this->db->query('SELECT count(*) as total from basis_pengetahuan')->row_array();
|
||||||
|
$data['total_users'] = $this->db->query('SELECT count(*) as total from `admin`')->row_array();
|
||||||
|
|
||||||
|
$data['datasets'] = $this->db->query('SELECT * FROM penyakit ORDER BY kode_penyakit')->result_array();
|
||||||
|
$data['active'] = 'daftarpenyakit';
|
||||||
|
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_daftar_penyakit', $data);
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tambah_penyakit()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->input->server('REQUEST_METHOD') === 'POST') {
|
||||||
|
$params = $this->input->post();
|
||||||
|
|
||||||
|
if ((int) $params['id'] > 0) {
|
||||||
|
$this->db->where('kode_penyakit', $params['id']);
|
||||||
|
$this->db->update('penyakit', [
|
||||||
|
'nama_penyakit' => $params['nama_penyakit'],
|
||||||
|
'det_penyakit' => $params['det_penyakit'] ? $params['det_penyakit'] : '',
|
||||||
|
// 'srn_penyakit' => $params['srn_penyakit'] ? $params['srn_penyakit'] : '',
|
||||||
|
]);
|
||||||
|
|
||||||
|
if ($_FILES['gambar']['name']) {
|
||||||
|
$upload_dir = './aset/penyakit/';
|
||||||
|
|
||||||
|
if (!is_dir($upload_dir)) {
|
||||||
|
mkdir($upload_dir, 0755, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$temp_file = $_FILES['gambar']['tmp_name'];
|
||||||
|
$original_file = $_FILES['gambar']['name'];
|
||||||
|
|
||||||
|
$unique_filename = uniqid() . '_' . $original_file;
|
||||||
|
move_uploaded_file($temp_file, $upload_dir . $unique_filename);
|
||||||
|
|
||||||
|
$this->db->where('kode_penyakit', $params['id']);
|
||||||
|
$this->db->update('penyakit', [
|
||||||
|
'gambar' => $unique_filename,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$upload_dir = './aset/penyakit/';
|
||||||
|
|
||||||
|
if (!is_dir($upload_dir)) {
|
||||||
|
mkdir($upload_dir, 0755, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$temp_file = $_FILES['gambar']['tmp_name'];
|
||||||
|
$original_file = $_FILES['gambar']['name'];
|
||||||
|
|
||||||
|
$unique_filename = uniqid() . '_' . $original_file;
|
||||||
|
move_uploaded_file($temp_file, $upload_dir . $unique_filename);
|
||||||
|
|
||||||
|
$this->db->insert('penyakit', [
|
||||||
|
'nama_penyakit' => $params['nama_penyakit'],
|
||||||
|
'det_penyakit' => $params['det_penyakit'] ? $params['det_penyakit'] : '',
|
||||||
|
'gambar' => $unique_filename,
|
||||||
|
'srn_penyakit' => '',
|
||||||
|
// 'srn_penyakit' => $params['srn_penyakit'] ? $params['srn_penyakit'] : '',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "<script>alert('Data Penyakit berhasil disimpan'); location.href = '" . base_url() . "dashboard/daftar_penyakit';</script>";
|
||||||
|
} else {
|
||||||
|
$params = $_REQUEST;
|
||||||
|
$data['fetch'] = [];
|
||||||
|
$id = $params['id'];
|
||||||
|
if ((int) $id > 0) {
|
||||||
|
$this->db->where('kode_penyakit', $id);
|
||||||
|
$data['fetch'] = $this->db->get('penyakit')->row_array();
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['id'] = $id;
|
||||||
|
$data['active'] = 'daftarpenyakit';
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_tambah_penyakit');
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function hapus_penyakit()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
$params = $_REQUEST;
|
||||||
|
$this->db->where('kode_penyakit', $params['id']);
|
||||||
|
$this->db->delete('penyakit');
|
||||||
|
|
||||||
|
echo "<script>alert('Data Penyakit berhasil terhapus'); location.href = '" . base_url() . "dashboard/daftar_penyakit';</script>";
|
||||||
|
}
|
||||||
|
########################### END MODUL PENYAKIT ###########################
|
||||||
|
|
||||||
|
########################### START MODUL GEJALA ###########################
|
||||||
|
public function daftar_gejala()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['total_penyakit'] = $this->db->query('SELECT count(*) as total from penyakit')->row_array();
|
||||||
|
$data['total_gejala'] = $this->db->query('SELECT count(*) as total from gejala')->row_array();
|
||||||
|
$data['total_basis_pengetahuan'] = $this->db->query('SELECT count(*) as total from basis_pengetahuan')->row_array();
|
||||||
|
$data['total_users'] = $this->db->query('SELECT count(*) as total from `admin`')->row_array();
|
||||||
|
|
||||||
|
$data['datasets'] = $this->db->query('SELECT * FROM gejala ORDER BY kode_gejala')->result_array();
|
||||||
|
$data['active'] = 'daftargejala';
|
||||||
|
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_daftar_gejala', $data);
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tambah_gejala()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->input->server('REQUEST_METHOD') === 'POST') {
|
||||||
|
$params = $this->input->post();
|
||||||
|
|
||||||
|
if ((int) $params['id'] > 0) {
|
||||||
|
$this->db->where('kode_gejala', $params['id']);
|
||||||
|
$this->db->update('gejala', [
|
||||||
|
'nama_gejala' => $params['nama_gejala'],
|
||||||
|
]);
|
||||||
|
} else {
|
||||||
|
$this->db->insert('gejala', [
|
||||||
|
'nama_gejala' => $params['nama_gejala'],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "<script>alert('Data Gejala berhasil disimpan'); location.href = '" . base_url() . "dashboard/daftar_gejala';</script>";
|
||||||
|
} else {
|
||||||
|
$params = $_REQUEST;
|
||||||
|
$data['fetch'] = [];
|
||||||
|
$id = $params['id'];
|
||||||
|
if ((int) $id > 0) {
|
||||||
|
$this->db->where('kode_gejala', $id);
|
||||||
|
$data['fetch'] = $this->db->get('gejala')->row_array();
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['id'] = $id;
|
||||||
|
$data['active'] = 'daftargejala';
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_tambah_gejala');
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function hapus_gejala()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
$params = $_REQUEST;
|
||||||
|
$this->db->where('kode_gejala', $params['id']);
|
||||||
|
$this->db->delete('gejala');
|
||||||
|
|
||||||
|
echo "<script>alert('Data Gejala berhasil terhapus'); location.href = '" . base_url() . "dashboard/daftar_gejala';</script>";
|
||||||
|
}
|
||||||
|
########################### END MODUL GEJALA ###########################
|
||||||
|
|
||||||
|
########################### START MODUL PENGETAHUAN ###########################
|
||||||
|
public function daftar_pengetahuan()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['total_penyakit'] = $this->db->query('SELECT count(*) as total from penyakit')->row_array();
|
||||||
|
$data['total_gejala'] = $this->db->query('SELECT count(*) as total from gejala')->row_array();
|
||||||
|
$data['total_basis_pengetahuan'] = $this->db->query('SELECT count(*) as total from basis_pengetahuan')->row_array();
|
||||||
|
$data['total_users'] = $this->db->query('SELECT count(*) as total from `admin`')->row_array();
|
||||||
|
|
||||||
|
$data['datasets'] = $this->db->query(
|
||||||
|
'SELECT basis_pengetahuan.*, penyakit.nama_penyakit, gejala.nama_gejala
|
||||||
|
FROM basis_pengetahuan
|
||||||
|
JOIN penyakit ON penyakit.kode_penyakit = basis_pengetahuan.kode_penyakit
|
||||||
|
JOIN gejala ON gejala.kode_gejala = basis_pengetahuan.kode_gejala
|
||||||
|
ORDER BY kode_pengetahuan'
|
||||||
|
)->result_array();
|
||||||
|
$data['active'] = 'daftarpengetahuan';
|
||||||
|
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_daftar_pengetahuan', $data);
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tambah_pengetahuan()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->input->server('REQUEST_METHOD') === 'POST') {
|
||||||
|
$params = $this->input->post();
|
||||||
|
|
||||||
|
if ((int) $params['id'] > 0) {
|
||||||
|
$this->db->where('kode_pengetahuan', $params['id']);
|
||||||
|
$this->db->update('basis_pengetahuan', [
|
||||||
|
'kode_penyakit' => $params['kode_penyakit'],
|
||||||
|
'kode_gejala' => $params['kode_gejala'],
|
||||||
|
'mb' => $params['mb'],
|
||||||
|
'md' => $params['md'],
|
||||||
|
]);
|
||||||
|
} else {
|
||||||
|
$this->db->insert('basis_pengetahuan', [
|
||||||
|
'kode_penyakit' => $params['kode_penyakit'],
|
||||||
|
'kode_gejala' => $params['kode_gejala'],
|
||||||
|
'mb' => $params['mb'],
|
||||||
|
'md' => $params['md'],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "<script>alert('Data Basis Pengetahuan berhasil disimpan'); location.href = '" . base_url() . "dashboard/daftar_pengetahuan';</script>";
|
||||||
|
} else {
|
||||||
|
$params = $_REQUEST;
|
||||||
|
$data['fetch'] = [];
|
||||||
|
$id = $params['id'];
|
||||||
|
if ((int) $id > 0) {
|
||||||
|
$this->db->where('kode_pengetahuan', $id);
|
||||||
|
$data['fetch'] = $this->db->get('basis_pengetahuan')->row_array();
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['penyakit'] = $this->db->get('penyakit')->result_array();
|
||||||
|
$data['gejala'] = $this->db->get('gejala')->result_array();
|
||||||
|
|
||||||
|
$data['id'] = $id;
|
||||||
|
$data['active'] = 'daftargejala';
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_tambah_pengetahuan');
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function hapus_pengetahuan()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
$params = $_REQUEST;
|
||||||
|
$this->db->where('kode_pengetahuan', $params['id']);
|
||||||
|
$this->db->delete('basis_pengetahuan');
|
||||||
|
|
||||||
|
echo "<script>alert('Data Basis Pengetahuan berhasil terhapus'); location.href = '" . base_url() . "dashboard/daftar_pengetahuan';</script>";
|
||||||
|
}
|
||||||
|
########################### END MODUL PENGETAHUAN ###########################
|
||||||
|
|
||||||
|
########################### START MODUL PERAWATAN ###########################
|
||||||
|
public function daftar_perawatan()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['total_penyakit'] = $this->db->query('SELECT count(*) as total from penyakit')->row_array();
|
||||||
|
$data['total_gejala'] = $this->db->query('SELECT count(*) as total from gejala')->row_array();
|
||||||
|
$data['total_basis_pengetahuan'] = $this->db->query('SELECT count(*) as total from basis_pengetahuan')->row_array();
|
||||||
|
$data['total_users'] = $this->db->query('SELECT count(*) as total from `admin`')->row_array();
|
||||||
|
|
||||||
|
$data['datasets'] = $this->db->query('SELECT * FROM penyakit ORDER BY kode_penyakit')->result_array();
|
||||||
|
$data['active'] = 'daftarperawatan';
|
||||||
|
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_daftar_perawatan', $data);
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tambah_perawatan()
|
||||||
|
{
|
||||||
|
if ($_SESSION['role'] != 'admin') {
|
||||||
|
echo "<script>alert('Anda tidak memiliki akses untuk melihat halaman ini'); location.href = '" . base_url() . "dashboard'</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->input->server('REQUEST_METHOD') === 'POST') {
|
||||||
|
$params = $this->input->post();
|
||||||
|
|
||||||
|
if ((int) $params['id'] > 0) {
|
||||||
|
$this->db->where('kode_penyakit', $params['id']);
|
||||||
|
$this->db->update('penyakit', [
|
||||||
|
// 'nama_penyakit' => $params['nama_penyakit'],
|
||||||
|
// 'det_penyakit' => $params['det_penyakit'] ? $params['det_penyakit'] : '',
|
||||||
|
'srn_penyakit' => $params['srn_penyakit'] ? $params['srn_penyakit'] : '',
|
||||||
|
'srn_pencegahan' => $params['srn_pencegahan'] ? $params['srn_pencegahan'] : '',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "<script>alert('Data Perawatan berhasil disimpan'); location.href = '" . base_url() . "dashboard/daftar_perawatan';</script>";
|
||||||
|
} else {
|
||||||
|
$params = $_REQUEST;
|
||||||
|
$data['fetch'] = [];
|
||||||
|
$id = $params['id'];
|
||||||
|
if ((int) $id > 0) {
|
||||||
|
$this->db->where('kode_penyakit', $id);
|
||||||
|
$data['fetch'] = $this->db->get('penyakit')->row_array();
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['id'] = $id;
|
||||||
|
$data['active'] = 'daftarperawatan';
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_tambah_perawatan');
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
########################### END MODUL PERAWATAN ###########################
|
||||||
|
|
||||||
|
########################### START MODUL PROFIL SAYA ###########################
|
||||||
|
public function profil_saya()
|
||||||
|
{
|
||||||
|
$data['total_penyakit'] = $this->db->query('SELECT count(*) as total from penyakit')->row_array();
|
||||||
|
$data['total_gejala'] = $this->db->query('SELECT count(*) as total from gejala')->row_array();
|
||||||
|
$data['total_basis_pengetahuan'] = $this->db->query('SELECT count(*) as total from basis_pengetahuan')->row_array();
|
||||||
|
$data['total_users'] = $this->db->query('SELECT count(*) as total from `admin`')->row_array();
|
||||||
|
$data['total_diagnosa'] = $this->db->query('SELECT count(*) as total from `hasil`')->row_array();
|
||||||
|
$data['total_diagnosa_saya'] = $this->db->query('SELECT count(*) as total from `hasil` WHERE id_user = ' . $_SESSION['id'])->row_array();
|
||||||
|
|
||||||
|
if ($this->input->server('REQUEST_METHOD') === 'POST') {
|
||||||
|
$params = $this->input->post();
|
||||||
|
|
||||||
|
$this->db->where('id', $_SESSION['id']);
|
||||||
|
$this->db->update('admin', [
|
||||||
|
'nama_lengkap' => $params['nama_lengkap'],
|
||||||
|
'username' => $params['username'],
|
||||||
|
'password' => md5($params['password']),
|
||||||
|
'alamat' => $params['alamat'] ? $params['alamat'] : '',
|
||||||
|
'no_telp' => $params['no_telp'] ? $params['no_telp'] : '',
|
||||||
|
]);
|
||||||
|
$_SESSION['nama_lengkap'] = $params['nama_lengkap'];
|
||||||
|
$_SESSION['username'] = $params['username'];
|
||||||
|
$_SESSION['password'] = $params['password'];
|
||||||
|
$_SESSION['alamat'] = $params['alamat'];
|
||||||
|
$_SESSION['no_telp'] = $params['no_telp'];
|
||||||
|
|
||||||
|
echo "<script>alert('Profil berhasil diperbarui'); location.href = '" . base_url() . "dashboard/profil_saya';</script>";
|
||||||
|
} else {
|
||||||
|
$data['active'] = 'data_admin';
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_profil_saya');
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
########################### END MODUL PROFIL SAYA ###########################
|
||||||
|
|
||||||
|
########################### START MODUL DIAGNOSA ###########################
|
||||||
|
public function diagnosa()
|
||||||
|
{
|
||||||
|
if ($this->input->server('REQUEST_METHOD') === 'POST') {
|
||||||
|
$params = $this->input->post();
|
||||||
|
|
||||||
|
$arcolor = array('#ffffff', '#cc66ff', '#019AFF', '#00CBFD', '#00FEFE', '#A4F804', '#FFFC00', '#FDCD01', '#FD9A01', '#FB6700');
|
||||||
|
date_default_timezone_set("Asia/Jakarta");
|
||||||
|
$inptanggal = date('Y-m-d H:i:s');
|
||||||
|
|
||||||
|
$arbobot = array('0', '1', '0.8', '0.6', '0.4', '-0.2', '-0.4', '-0.6', '-0.8', '-1');
|
||||||
|
$argejala = array();
|
||||||
|
|
||||||
|
for ($i = 0; $i < count($params['kondisi']); $i++) {
|
||||||
|
$arkondisi = explode("_", $params['kondisi'][$i]);
|
||||||
|
if (strlen($params['kondisi'][$i]) > 1) {
|
||||||
|
$argejala += array($arkondisi[0] => $arkondisi[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$sqlkondisi = $this->db->query("SELECT * FROM kondisi order by id+0")->result_array();
|
||||||
|
foreach ($sqlkondisi as $rkondisi) {
|
||||||
|
$arkondisitext[$rkondisi['id']] = $rkondisi['kondisi'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$sqlpkt = $this->db->query("SELECT * FROM penyakit order by kode_penyakit+0")->result_array();
|
||||||
|
foreach ($sqlpkt as $rpkt) {
|
||||||
|
$arpkt[$rpkt['kode_penyakit']] = $rpkt['nama_penyakit'];
|
||||||
|
$ardpkt[$rpkt['kode_penyakit']] = $rpkt['det_penyakit'];
|
||||||
|
$arspkt[$rpkt['kode_penyakit']] = $rpkt['srn_penyakit'];
|
||||||
|
$argpkt[$rpkt['kode_penyakit']] = $rpkt['gambar'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// -------- perhitungan certainty factor (CF) ---------
|
||||||
|
// --------------------- START ------------------------
|
||||||
|
$sqlpenyakit = $this->db->query("SELECT * FROM penyakit order by kode_penyakit")->result_array();
|
||||||
|
$arpenyakit = array();
|
||||||
|
foreach ($sqlpenyakit as $rpenyakit) {
|
||||||
|
$cftotal_temp = 0;
|
||||||
|
$cf = 0;
|
||||||
|
$sqlgejala = $this->db->query("SELECT * FROM basis_pengetahuan where kode_penyakit = '" . $rpenyakit['kode_penyakit'] . "' ")->result_array();
|
||||||
|
$cflama = 0;
|
||||||
|
foreach ($sqlgejala as $rgejala) {
|
||||||
|
$arkondisi = explode("_", $params['kondisi'][0]);
|
||||||
|
$gejala = $arkondisi[0];
|
||||||
|
|
||||||
|
for ($i = 0; $i < count($params['kondisi']); $i++) {
|
||||||
|
$arkondisi = explode("_", $params['kondisi'][$i]);
|
||||||
|
$gejala = $arkondisi[0];
|
||||||
|
if ($rgejala['kode_gejala'] == $gejala) {
|
||||||
|
$cf = ($rgejala['mb'] - $rgejala['md']) * $arbobot[$arkondisi[1]];
|
||||||
|
if (($cf >= 0) && ($cf * $cflama >= 0)) {
|
||||||
|
$cflama = $cflama + ($cf * (1 - $cflama));
|
||||||
|
}
|
||||||
|
if ($cf * $cflama < 0) {
|
||||||
|
$cflama = ($cflama + $cf) / (1 - Math . Min(Math . abs($cflama), Math . abs($cf)));
|
||||||
|
}
|
||||||
|
if (($cf < 0) && ($cf * $cflama >= 0)) {
|
||||||
|
$cflama = $cflama + ($cf * (1 + $cflama));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($cflama > 0) {
|
||||||
|
$arpenyakit += array($rpenyakit["kode_penyakit"] => number_format($cflama, 4));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
arsort($arpenyakit);
|
||||||
|
|
||||||
|
$inpgejala = serialize($argejala);
|
||||||
|
$inppenyakit = serialize($arpenyakit);
|
||||||
|
|
||||||
|
$np1 = 0;
|
||||||
|
foreach ($arpenyakit as $key1 => $value1) {
|
||||||
|
$np1++;
|
||||||
|
$idpkt1[$np1] = $key1;
|
||||||
|
$vlpkt1[$np1] = $value1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($vlpkt1[1])) {
|
||||||
|
echo "<script>alert('Maaf untuk konsultasi ini Hasil Anda tidak tersedia, silahkan mengisi data dan mulai konsultasi kembali'); location.href = '" . base_url() . "dashboard/diagnosa';</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->db->insert('hasil', [
|
||||||
|
"tanggal" => $inptanggal,
|
||||||
|
"gejala" => $inpgejala,
|
||||||
|
"penyakit" => $inppenyakit,
|
||||||
|
"hasil_id" => $idpkt1[1],
|
||||||
|
"hasil_nilai" => $vlpkt1[1],
|
||||||
|
"id_user" => $_SESSION['id'],
|
||||||
|
"nama_gejala" => $params['nama_gejala'],
|
||||||
|
]);
|
||||||
|
|
||||||
|
$id_hasil = $this->db->insert_id();
|
||||||
|
redirect('dashboard/diagnosa_detail?id=' . $id_hasil);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['total_penyakit'] = $this->db->query('SELECT count(*) as total from penyakit')->row_array();
|
||||||
|
$data['total_gejala'] = $this->db->query('SELECT count(*) as total from gejala')->row_array();
|
||||||
|
$data['total_basis_pengetahuan'] = $this->db->query('SELECT count(*) as total from basis_pengetahuan')->row_array();
|
||||||
|
$data['total_users'] = $this->db->query('SELECT count(*) as total from `admin`')->row_array();
|
||||||
|
$data['total_diagnosa'] = $this->db->query('SELECT count(*) as total from `hasil`')->row_array();
|
||||||
|
$data['total_diagnosa_saya'] = $this->db->query('SELECT count(*) as total from `hasil` WHERE id_user = ' . $_SESSION['id'])->row_array();
|
||||||
|
|
||||||
|
$data['datasets'] = $this->db->query('SELECT * FROM gejala ORDER BY kode_gejala')->result_array();
|
||||||
|
$data['kondisi'] = $this->db->query('SELECT * FROM kondisi ORDER BY id')->result_array();
|
||||||
|
$data['active'] = 'daftarperawatan';
|
||||||
|
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_diagnosa', $data);
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function diagnosa_detail()
|
||||||
|
{
|
||||||
|
$params = $_REQUEST;
|
||||||
|
$id = (int) $params['id'];
|
||||||
|
|
||||||
|
$arcolor = array('#ffffff', '#cc66ff', '#019AFF', '#00CBFD', '#00FEFE', '#A4F804', '#FFFC00', '#FDCD01', '#FD9A01', '#FB6700');
|
||||||
|
date_default_timezone_set("Asia/Jakarta");
|
||||||
|
$inptanggal = date('Y-m-d H:i:s');
|
||||||
|
|
||||||
|
$arbobot = array('0', '1', '0.8', '0.6', '0.4', '-0.2', '-0.4', '-0.6', '-0.8', '-1');
|
||||||
|
$argejala = array();
|
||||||
|
|
||||||
|
try {
|
||||||
|
for ($i = 0; $i < count($_POST['kondisi']); $i++) {
|
||||||
|
$arkondisi = explode("_", $_POST['kondisi'][$i]);
|
||||||
|
if (strlen($_POST['kondisi'][$i]) > 1) {
|
||||||
|
$argejala += array($arkondisi[0] => $arkondisi[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (\Throwable $th) {}
|
||||||
|
|
||||||
|
$sqlkondisi = $this->db->query("SELECT * FROM kondisi order by id+0")->result_array();
|
||||||
|
foreach ($sqlkondisi as $rkondisi) {
|
||||||
|
$arkondisitext[$rkondisi['id']] = $rkondisi['kondisi'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$sqlpkt = $this->db->query("SELECT * FROM penyakit order by kode_penyakit+0")->result_array();
|
||||||
|
foreach ($sqlpkt as $rpkt) {
|
||||||
|
$arpkt[$rpkt['kode_penyakit']] = $rpkt['nama_penyakit'];
|
||||||
|
$ardpkt[$rpkt['kode_penyakit']] = $rpkt['det_penyakit'];
|
||||||
|
$arspkt[$rpkt['kode_penyakit']] = $rpkt['srn_penyakit'];
|
||||||
|
$argpkt[$rpkt['kode_penyakit']] = $rpkt['gambar'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$sqlhasil = $this->db->query("SELECT * FROM hasil where id_hasil = " . $id)->result_array();
|
||||||
|
foreach ($sqlhasil as $rhasil) {
|
||||||
|
$arpenyakit = unserialize($rhasil['penyakit']);
|
||||||
|
$argejala = unserialize($rhasil['gejala']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$np1 = 0;
|
||||||
|
foreach ($arpenyakit as $key1 => $value1) {
|
||||||
|
$np1++;
|
||||||
|
$idpkt1[$np1] = $key1;
|
||||||
|
$vlpkt1[$np1] = $value1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['argejala'] = $argejala;
|
||||||
|
$data['arpenyakit'] = $arpenyakit;
|
||||||
|
$data['arcolor'] = $arcolor;
|
||||||
|
$data['arkondisitext'] = $arkondisitext;
|
||||||
|
$data['arpkt'] = $arpkt;
|
||||||
|
$data['ardpkt'] = $ardpkt;
|
||||||
|
$data['arspkt'] = $arspkt;
|
||||||
|
$data['argpkt'] = $argpkt;
|
||||||
|
$data['sqlhasil'] = $sqlhasil;
|
||||||
|
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_diagnosa_detail', $data);
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function history_diagnosa()
|
||||||
|
{
|
||||||
|
$data['datasets'] = $this->db->query('SELECT * FROM hasil WHERE id_user = ' . (int) $_SESSION['id'] . ' ORDER BY tanggal DESC')->result_array();
|
||||||
|
$data['active'] = 'historydiagnosa';
|
||||||
|
$data['total_diagnosa'] = $this->db->query('SELECT count(*) as total from `hasil`')->row_array();
|
||||||
|
$data['total_diagnosa_saya'] = $this->db->query('SELECT count(*) as total from `hasil` WHERE id_user = ' . $_SESSION['id'])->row_array();
|
||||||
|
|
||||||
|
$sqlgjl = $this->db->query("SELECT * FROM gejala order by kode_gejala+0")->result_array();
|
||||||
|
foreach ($sqlgjl as $rgjl) {
|
||||||
|
$argjl[$rgjl['kode_gejala']] = $rgjl['nama_gejala'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$sqlpkt = $this->db->query("SELECT * FROM penyakit order by kode_penyakit+0")->result_array();
|
||||||
|
foreach ($sqlpkt as $rpkt) {
|
||||||
|
$arpkt[$rpkt['kode_penyakit']] = $rpkt['nama_penyakit'];
|
||||||
|
$ardpkt[$rpkt['kode_penyakit']] = $rpkt['det_penyakit'];
|
||||||
|
$arspkt[$rpkt['kode_penyakit']] = $rpkt['srn_penyakit'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$data['argjl'] = $argjl;
|
||||||
|
$data['arpkt'] = $arpkt;
|
||||||
|
$data['ardpkt'] = $ardpkt;
|
||||||
|
$data['arspkt'] = $arspkt;
|
||||||
|
|
||||||
|
$this->load->view('v_header', $data);
|
||||||
|
$this->load->view('v_history_diagnosa', $data);
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function hapus_hasil()
|
||||||
|
{
|
||||||
|
$params = $_REQUEST;
|
||||||
|
$this->db->where('id_hasil', $params['id']);
|
||||||
|
$this->db->delete('hasil');
|
||||||
|
|
||||||
|
echo "<script>alert('Data Hasil Diagnosa berhasil terhapus'); location.href = '" . base_url() . "dashboard/history_diagnosa';</script>";
|
||||||
|
}
|
||||||
|
########################### END MODUL DIAGNOSA ###########################
|
||||||
|
|
||||||
|
public function logout()
|
||||||
|
{
|
||||||
|
$this->session->sess_destroy();
|
||||||
|
redirect('/login', 'refresh');
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') or exit('No direct script access allowed');
|
||||||
|
error_reporting(0);
|
||||||
|
|
||||||
|
class Home extends CI_Controller
|
||||||
|
{
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$data = [];
|
||||||
|
|
||||||
|
$data['total_penyakit'] = $this->db->query('SELECT count(*) as total from penyakit')->row_array();
|
||||||
|
$data['total_gejala'] = $this->db->query('SELECT count(*) as total from gejala')->row_array();
|
||||||
|
$data['total_basis_pengetahuan'] = $this->db->query('SELECT count(*) as total from basis_pengetahuan')->row_array();
|
||||||
|
$data['total_users'] = $this->db->query('SELECT count(*) as total from `admin`')->row_array();
|
||||||
|
|
||||||
|
$this->load->view('v_header_guest', $data);
|
||||||
|
$this->load->view('v_home', $data);
|
||||||
|
$this->load->view('v_footer');
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,55 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') or exit('No direct script access allowed');
|
||||||
|
|
||||||
|
class Login extends CI_Controller
|
||||||
|
{
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$this->load->view('v_login');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function register()
|
||||||
|
{
|
||||||
|
$this->load->view('v_register');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function do_login()
|
||||||
|
{
|
||||||
|
$params = $this->input->post();
|
||||||
|
$this->db->where('username', $params['username']);
|
||||||
|
$this->db->where('password', md5($params['password']));
|
||||||
|
$login = $this->db->get('admin')->row_array();
|
||||||
|
if ($login) {
|
||||||
|
$_SESSION['id'] = $login['id'];
|
||||||
|
$_SESSION['username'] = $params['username'];
|
||||||
|
$_SESSION['password'] = $params['password'];
|
||||||
|
$_SESSION['nama_lengkap'] = $login['nama_lengkap'];
|
||||||
|
$_SESSION['alamat'] = $login['alamat'];
|
||||||
|
$_SESSION['no_telp'] = $login['no_telp'];
|
||||||
|
$_SESSION['role'] = $login['role'];
|
||||||
|
|
||||||
|
redirect('/dashboard', 'refresh');
|
||||||
|
} else {
|
||||||
|
echo "<script>alert('Username/Password salah, silahkan coba kembali'); location.href = '" . base_url() . "login';</script>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function do_register()
|
||||||
|
{
|
||||||
|
$params = $this->input->post();
|
||||||
|
$this->db->where('username', $params['username']);
|
||||||
|
$login = $this->db->get('admin')->row_array();
|
||||||
|
if ($login) {
|
||||||
|
echo "<script>alert('Pendaftaran gagal dilakukan karena username sudah terdaftar'); location.href = '" . base_url() . "login/register';</script>";
|
||||||
|
} else {
|
||||||
|
$this->db->insert('admin', [
|
||||||
|
'nama_lengkap' => $params['nama_lengkap'],
|
||||||
|
'username' => $params['username'],
|
||||||
|
'password' => md5($params['password']),
|
||||||
|
'role' => 'user',
|
||||||
|
]);
|
||||||
|
|
||||||
|
echo "<script>alert('Akun berhasil terdaftar, silahkan masuk'); location.href = '" . base_url() . "login';</script>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
class Welcome extends CI_Controller {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Index Page for this controller.
|
||||||
|
*
|
||||||
|
* Maps to the following URL
|
||||||
|
* http://example.com/index.php/welcome
|
||||||
|
* - or -
|
||||||
|
* http://example.com/index.php/welcome/index
|
||||||
|
* - or -
|
||||||
|
* Since this controller is set as the default controller in
|
||||||
|
* config/routes.php, it's displayed at http://example.com/
|
||||||
|
*
|
||||||
|
* So any other public methods not prefixed with an underscore will
|
||||||
|
* map to /index.php/welcome/<method_name>
|
||||||
|
* @see https://codeigniter.com/userguide3/general/urls.html
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$this->load->view('welcome_message');
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,587 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP grocery CRUD
|
||||||
|
*
|
||||||
|
* LICENSE
|
||||||
|
*
|
||||||
|
* Grocery CRUD is released with dual licensing, using the GPL v3 (license-gpl3.txt) and the MIT license (license-mit.txt).
|
||||||
|
* You don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using.
|
||||||
|
* Please see the corresponding license file for details of these licenses.
|
||||||
|
* You are free to use, modify and distribute this software, but all copyright information must remain.
|
||||||
|
*
|
||||||
|
* @package grocery CRUD
|
||||||
|
* @copyright Copyright (c) 2010 through 2012, John Skoumbourdis
|
||||||
|
* @license https://github.com/scoumbourdis/grocery-crud/blob/master/license-grocery-crud.txt
|
||||||
|
* @version 1.4.2
|
||||||
|
* @author John Skoumbourdis <scoumbourdisj@gmail.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Grocery CRUD Model
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @package grocery CRUD
|
||||||
|
* @author John Skoumbourdis <scoumbourdisj@gmail.com>
|
||||||
|
* @version 1.5.6
|
||||||
|
* @link http://www.grocerycrud.com/documentation
|
||||||
|
*/
|
||||||
|
class Grocery_crud_model extends CI_Model {
|
||||||
|
|
||||||
|
protected $primary_key = null;
|
||||||
|
protected $table_name = null;
|
||||||
|
protected $relation = array();
|
||||||
|
protected $relation_n_n = array();
|
||||||
|
protected $primary_keys = array();
|
||||||
|
|
||||||
|
function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
function db_table_exists($table_name = null)
|
||||||
|
{
|
||||||
|
return $this->db->table_exists($table_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_list()
|
||||||
|
{
|
||||||
|
if($this->table_name === null)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$select = "`{$this->table_name}`.*";
|
||||||
|
|
||||||
|
//set_relation special queries
|
||||||
|
if(!empty($this->relation))
|
||||||
|
{
|
||||||
|
foreach($this->relation as $relation)
|
||||||
|
{
|
||||||
|
list($field_name , $related_table , $related_field_title) = $relation;
|
||||||
|
$unique_join_name = $this->_unique_join_name($field_name);
|
||||||
|
$unique_field_name = $this->_unique_field_name($field_name);
|
||||||
|
|
||||||
|
if(strstr($related_field_title,'{'))
|
||||||
|
{
|
||||||
|
$related_field_title = str_replace(" "," ",$related_field_title);
|
||||||
|
$select .= ", CONCAT('".str_replace(array('{','}'),array("',COALESCE({$unique_join_name}.",", ''),'"),str_replace("'","\\'",$related_field_title))."') as $unique_field_name";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$select .= ", $unique_join_name.$related_field_title AS $unique_field_name";
|
||||||
|
}
|
||||||
|
|
||||||
|
if($this->field_exists($related_field_title))
|
||||||
|
$select .= ", `{$this->table_name}`.$related_field_title AS '{$this->table_name}.$related_field_title'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//set_relation_n_n special queries. We prefer sub queries from a simple join for the relation_n_n as it is faster and more stable on big tables.
|
||||||
|
if(!empty($this->relation_n_n))
|
||||||
|
{
|
||||||
|
$select = $this->relation_n_n_queries($select);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->db->select($select, false);
|
||||||
|
|
||||||
|
$results = $this->db->get($this->table_name)->result();
|
||||||
|
|
||||||
|
return $results;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get_row($table_name = null)
|
||||||
|
{
|
||||||
|
$table_name = $table_name === null ? $this->table_name : $table_name;
|
||||||
|
|
||||||
|
return $this->db->get($table_name)->row();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function set_primary_key($field_name, $table_name = null)
|
||||||
|
{
|
||||||
|
$table_name = $table_name === null ? $this->table_name : $table_name;
|
||||||
|
|
||||||
|
$this->primary_keys[$table_name] = $field_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function relation_n_n_queries($select)
|
||||||
|
{
|
||||||
|
$this_table_primary_key = $this->get_primary_key();
|
||||||
|
foreach($this->relation_n_n as $relation_n_n)
|
||||||
|
{
|
||||||
|
list($field_name, $relation_table, $selection_table, $primary_key_alias_to_this_table,
|
||||||
|
$primary_key_alias_to_selection_table, $title_field_selection_table, $priority_field_relation_table) = array_values((array)$relation_n_n);
|
||||||
|
|
||||||
|
$primary_key_selection_table = $this->get_primary_key($selection_table);
|
||||||
|
|
||||||
|
$field = "";
|
||||||
|
$use_template = strpos($title_field_selection_table,'{') !== false;
|
||||||
|
$field_name_hash = $this->_unique_field_name($title_field_selection_table);
|
||||||
|
if($use_template)
|
||||||
|
{
|
||||||
|
$title_field_selection_table = str_replace(" ", " ", $title_field_selection_table);
|
||||||
|
$field .= "CONCAT('".str_replace(array('{','}'),array("',COALESCE(",", ''),'"),str_replace("'","\\'",$title_field_selection_table))."')";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$field .= "$selection_table.$title_field_selection_table";
|
||||||
|
}
|
||||||
|
|
||||||
|
//Sorry Codeigniter but you cannot help me with the subquery!
|
||||||
|
$select .= ", (SELECT GROUP_CONCAT(DISTINCT $field) FROM $selection_table "
|
||||||
|
."LEFT JOIN $relation_table ON $relation_table.$primary_key_alias_to_selection_table = $selection_table.$primary_key_selection_table "
|
||||||
|
."WHERE $relation_table.$primary_key_alias_to_this_table = `{$this->table_name}`.$this_table_primary_key GROUP BY $relation_table.$primary_key_alias_to_this_table) AS $field_name";
|
||||||
|
}
|
||||||
|
|
||||||
|
return $select;
|
||||||
|
}
|
||||||
|
|
||||||
|
function order_by($order_by , $direction)
|
||||||
|
{
|
||||||
|
$this->db->order_by( $order_by , $direction );
|
||||||
|
}
|
||||||
|
|
||||||
|
function where($key, $value = NULL, $escape = TRUE)
|
||||||
|
{
|
||||||
|
$this->db->where( $key, $value, $escape);
|
||||||
|
}
|
||||||
|
|
||||||
|
function or_where($key, $value = NULL, $escape = TRUE)
|
||||||
|
{
|
||||||
|
$this->db->or_where( $key, $value, $escape);
|
||||||
|
}
|
||||||
|
|
||||||
|
function having($key, $value = NULL, $escape = TRUE)
|
||||||
|
{
|
||||||
|
$this->db->having( $key, $value, $escape);
|
||||||
|
}
|
||||||
|
|
||||||
|
function or_having($key, $value = NULL, $escape = TRUE)
|
||||||
|
{
|
||||||
|
$this->db->or_having( $key, $value, $escape);
|
||||||
|
}
|
||||||
|
|
||||||
|
function like($field, $match = '', $side = 'both')
|
||||||
|
{
|
||||||
|
$this->db->like($field, $match, $side);
|
||||||
|
}
|
||||||
|
|
||||||
|
function or_like($field, $match = '', $side = 'both')
|
||||||
|
{
|
||||||
|
$this->db->or_like($field, $match, $side);
|
||||||
|
}
|
||||||
|
|
||||||
|
function limit($value, $offset = '')
|
||||||
|
{
|
||||||
|
$this->db->limit( $value , $offset );
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_total_results()
|
||||||
|
{
|
||||||
|
// A fast way to calculate the total results
|
||||||
|
$key = $this->get_primary_key();
|
||||||
|
|
||||||
|
//set_relation_n_n special queries. We prefer sub queries from a simple join for the relation_n_n as it is faster and more stable on big tables.
|
||||||
|
if(!empty($this->relation_n_n))
|
||||||
|
{
|
||||||
|
$select = "{$this->table_name}." . $key;
|
||||||
|
$select = $this->relation_n_n_queries($select);
|
||||||
|
|
||||||
|
$this->db->select($select,false);
|
||||||
|
} else {
|
||||||
|
$this->db->select($this->table_name . '.' . $key);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->db->get($this->table_name)->num_rows();
|
||||||
|
}
|
||||||
|
|
||||||
|
function set_basic_table($table_name = null)
|
||||||
|
{
|
||||||
|
if( !($this->db->table_exists($table_name)) )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$this->table_name = $table_name;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_edit_values($primary_key_value)
|
||||||
|
{
|
||||||
|
$primary_key_field = $this->get_primary_key();
|
||||||
|
$this->db->where($primary_key_field,$primary_key_value);
|
||||||
|
$result = $this->db->get($this->table_name)->row();
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
function join_relation($field_name , $related_table , $related_field_title)
|
||||||
|
{
|
||||||
|
$related_primary_key = $this->get_primary_key($related_table);
|
||||||
|
|
||||||
|
if($related_primary_key !== false)
|
||||||
|
{
|
||||||
|
$unique_name = $this->_unique_join_name($field_name);
|
||||||
|
$this->db->join( $related_table.' as '.$unique_name , "$unique_name.$related_primary_key = {$this->table_name}.$field_name",'left');
|
||||||
|
|
||||||
|
$this->relation[$field_name] = array($field_name , $related_table , $related_field_title);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function set_relation_n_n_field($field_info)
|
||||||
|
{
|
||||||
|
$this->relation_n_n[$field_info->field_name] = $field_info;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function _unique_join_name($field_name)
|
||||||
|
{
|
||||||
|
return 'j'.substr(md5($field_name),0,8); //This j is because is better for a string to begin with a letter and not with a number
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function _unique_field_name($field_name)
|
||||||
|
{
|
||||||
|
return 's'.substr(md5($field_name),0,8); //This s is because is better for a string to begin with a letter and not with a number
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_relation_array($field_name , $related_table , $related_field_title, $where_clause, $order_by, $limit = null, $search_like = null)
|
||||||
|
{
|
||||||
|
$relation_array = array();
|
||||||
|
$field_name_hash = $this->_unique_field_name($field_name);
|
||||||
|
|
||||||
|
$related_primary_key = $this->get_primary_key($related_table);
|
||||||
|
|
||||||
|
$select = "$related_table.$related_primary_key, ";
|
||||||
|
|
||||||
|
if(strstr($related_field_title,'{'))
|
||||||
|
{
|
||||||
|
$related_field_title = str_replace(" ", " ", $related_field_title);
|
||||||
|
$select .= "CONCAT('".str_replace(array('{','}'),array("',COALESCE(",", ''),'"),str_replace("'","\\'",$related_field_title))."') as $field_name_hash";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$select .= "$related_table.$related_field_title as $field_name_hash";
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->db->select($select,false);
|
||||||
|
if($where_clause !== null)
|
||||||
|
$this->db->where($where_clause);
|
||||||
|
|
||||||
|
if($where_clause !== null)
|
||||||
|
$this->db->where($where_clause);
|
||||||
|
|
||||||
|
if($limit !== null)
|
||||||
|
$this->db->limit($limit);
|
||||||
|
|
||||||
|
if($search_like !== null)
|
||||||
|
$this->db->having("$field_name_hash LIKE '%".$this->db->escape_like_str($search_like)."%'");
|
||||||
|
|
||||||
|
$order_by !== null
|
||||||
|
? $this->db->order_by($order_by)
|
||||||
|
: $this->db->order_by($field_name_hash);
|
||||||
|
|
||||||
|
$results = $this->db->get($related_table)->result();
|
||||||
|
|
||||||
|
foreach($results as $row)
|
||||||
|
{
|
||||||
|
$relation_array[$row->$related_primary_key] = $row->$field_name_hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $relation_array;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_ajax_relation_array($search, $field_name , $related_table , $related_field_title, $where_clause, $order_by)
|
||||||
|
{
|
||||||
|
return $this->get_relation_array($field_name , $related_table , $related_field_title, $where_clause, $order_by, 10 , $search);
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_relation_total_rows($field_name , $related_table , $related_field_title, $where_clause)
|
||||||
|
{
|
||||||
|
if($where_clause !== null)
|
||||||
|
$this->db->where($where_clause);
|
||||||
|
|
||||||
|
return $this->db->count_all_results($related_table);
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_relation_n_n_selection_array($primary_key_value, $field_info)
|
||||||
|
{
|
||||||
|
$select = "";
|
||||||
|
$related_field_title = $field_info->title_field_selection_table;
|
||||||
|
$use_template = strpos($related_field_title,'{') !== false;;
|
||||||
|
$field_name_hash = $this->_unique_field_name($related_field_title);
|
||||||
|
if($use_template)
|
||||||
|
{
|
||||||
|
$related_field_title = str_replace(" ", " ", $related_field_title);
|
||||||
|
$select .= "CONCAT('".str_replace(array('{','}'),array("',COALESCE(",", ''),'"),str_replace("'","\\'",$related_field_title))."') as $field_name_hash";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$select .= "$related_field_title as $field_name_hash";
|
||||||
|
}
|
||||||
|
$this->db->select('*, '.$select,false);
|
||||||
|
|
||||||
|
$selection_primary_key = $this->get_primary_key($field_info->selection_table);
|
||||||
|
|
||||||
|
if(empty($field_info->priority_field_relation_table))
|
||||||
|
{
|
||||||
|
if(!$use_template){
|
||||||
|
$this->db->order_by("{$field_info->selection_table}.{$field_info->title_field_selection_table}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->db->order_by("{$field_info->relation_table}.{$field_info->priority_field_relation_table}");
|
||||||
|
}
|
||||||
|
$this->db->where($field_info->primary_key_alias_to_this_table, $primary_key_value);
|
||||||
|
$this->db->join(
|
||||||
|
$field_info->selection_table,
|
||||||
|
"{$field_info->relation_table}.{$field_info->primary_key_alias_to_selection_table} = {$field_info->selection_table}.{$selection_primary_key}"
|
||||||
|
);
|
||||||
|
$results = $this->db->get($field_info->relation_table)->result();
|
||||||
|
|
||||||
|
$results_array = array();
|
||||||
|
foreach($results as $row)
|
||||||
|
{
|
||||||
|
$results_array[$row->{$field_info->primary_key_alias_to_selection_table}] = $row->{$field_name_hash};
|
||||||
|
}
|
||||||
|
|
||||||
|
return $results_array;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_relation_n_n_unselected_array($field_info, $selected_values)
|
||||||
|
{
|
||||||
|
$use_where_clause = !empty($field_info->where_clause);
|
||||||
|
|
||||||
|
$select = "";
|
||||||
|
$related_field_title = $field_info->title_field_selection_table;
|
||||||
|
$use_template = strpos($related_field_title,'{') !== false;
|
||||||
|
$field_name_hash = $this->_unique_field_name($related_field_title);
|
||||||
|
|
||||||
|
if($use_template)
|
||||||
|
{
|
||||||
|
$related_field_title = str_replace(" ", " ", $related_field_title);
|
||||||
|
$select .= "CONCAT('".str_replace(array('{','}'),array("',COALESCE(",", ''),'"),str_replace("'","\\'",$related_field_title))."') as $field_name_hash";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$select .= "$related_field_title as $field_name_hash";
|
||||||
|
}
|
||||||
|
$this->db->select('*, '.$select,false);
|
||||||
|
|
||||||
|
if($use_where_clause){
|
||||||
|
$this->db->where($field_info->where_clause);
|
||||||
|
}
|
||||||
|
|
||||||
|
$selection_primary_key = $this->get_primary_key($field_info->selection_table);
|
||||||
|
if(!$use_template)
|
||||||
|
$this->db->order_by("{$field_info->selection_table}.{$field_info->title_field_selection_table}");
|
||||||
|
$results = $this->db->get($field_info->selection_table)->result();
|
||||||
|
|
||||||
|
$results_array = array();
|
||||||
|
foreach($results as $row)
|
||||||
|
{
|
||||||
|
if(!isset($selected_values[$row->$selection_primary_key]))
|
||||||
|
$results_array[$row->$selection_primary_key] = $row->{$field_name_hash};
|
||||||
|
}
|
||||||
|
|
||||||
|
return $results_array;
|
||||||
|
}
|
||||||
|
|
||||||
|
function db_relation_n_n_update($field_info, $post_data ,$main_primary_key)
|
||||||
|
{
|
||||||
|
$this->db->where($field_info->primary_key_alias_to_this_table, $main_primary_key);
|
||||||
|
if(!empty($post_data))
|
||||||
|
$this->db->where_not_in($field_info->primary_key_alias_to_selection_table , $post_data);
|
||||||
|
$this->db->delete($field_info->relation_table);
|
||||||
|
|
||||||
|
$counter = 0;
|
||||||
|
if(!empty($post_data))
|
||||||
|
{
|
||||||
|
foreach($post_data as $primary_key_value)
|
||||||
|
{
|
||||||
|
$where_array = array(
|
||||||
|
$field_info->primary_key_alias_to_this_table => $main_primary_key,
|
||||||
|
$field_info->primary_key_alias_to_selection_table => $primary_key_value,
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->db->where($where_array);
|
||||||
|
$count = $this->db->from($field_info->relation_table)->count_all_results();
|
||||||
|
|
||||||
|
if($count == 0)
|
||||||
|
{
|
||||||
|
if(!empty($field_info->priority_field_relation_table))
|
||||||
|
$where_array[$field_info->priority_field_relation_table] = $counter;
|
||||||
|
|
||||||
|
$this->db->insert($field_info->relation_table, $where_array);
|
||||||
|
|
||||||
|
}elseif($count >= 1 && !empty($field_info->priority_field_relation_table))
|
||||||
|
{
|
||||||
|
$this->db->update( $field_info->relation_table, array($field_info->priority_field_relation_table => $counter) , $where_array);
|
||||||
|
}
|
||||||
|
|
||||||
|
$counter++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function db_relation_n_n_delete($field_info, $main_primary_key)
|
||||||
|
{
|
||||||
|
$this->db->where($field_info->primary_key_alias_to_this_table, $main_primary_key);
|
||||||
|
$this->db->delete($field_info->relation_table);
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_field_types_basic_table()
|
||||||
|
{
|
||||||
|
$db_field_types = array();
|
||||||
|
foreach($this->db->query("SHOW COLUMNS FROM `{$this->table_name}`")->result() as $db_field_type)
|
||||||
|
{
|
||||||
|
$type = explode("(",$db_field_type->Type);
|
||||||
|
$db_type = $type[0];
|
||||||
|
|
||||||
|
if(isset($type[1]))
|
||||||
|
{
|
||||||
|
if(substr($type[1],-1) == ')')
|
||||||
|
{
|
||||||
|
$length = substr($type[1],0,-1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
list($length) = explode(" ",$type[1]);
|
||||||
|
$length = substr($length,0,-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$length = '';
|
||||||
|
}
|
||||||
|
$db_field_types[$db_field_type->Field]['db_max_length'] = $length;
|
||||||
|
$db_field_types[$db_field_type->Field]['db_type'] = $db_type;
|
||||||
|
$db_field_types[$db_field_type->Field]['db_null'] = $db_field_type->Null == 'YES' ? true : false;
|
||||||
|
$db_field_types[$db_field_type->Field]['db_extra'] = $db_field_type->Extra;
|
||||||
|
}
|
||||||
|
|
||||||
|
$results = $this->db->field_data($this->table_name);
|
||||||
|
foreach($results as $num => $row)
|
||||||
|
{
|
||||||
|
$row = (array)$row;
|
||||||
|
$results[$num] = (object)( array_merge($row, $db_field_types[$row['name']]) );
|
||||||
|
}
|
||||||
|
|
||||||
|
return $results;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_field_types($table_name)
|
||||||
|
{
|
||||||
|
$results = $this->db->field_data($table_name);
|
||||||
|
|
||||||
|
return $results;
|
||||||
|
}
|
||||||
|
|
||||||
|
function db_update($post_array, $primary_key_value)
|
||||||
|
{
|
||||||
|
$primary_key_field = $this->get_primary_key();
|
||||||
|
return $this->db->update($this->table_name,$post_array, array( $primary_key_field => $primary_key_value));
|
||||||
|
}
|
||||||
|
|
||||||
|
function db_insert($post_array)
|
||||||
|
{
|
||||||
|
$insert = $this->db->insert($this->table_name,$post_array);
|
||||||
|
if($insert)
|
||||||
|
{
|
||||||
|
return $this->db->insert_id();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function db_delete($primary_key_value)
|
||||||
|
{
|
||||||
|
$primary_key_field = $this->get_primary_key();
|
||||||
|
|
||||||
|
if($primary_key_field === false)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$this->db->limit(1);
|
||||||
|
$this->db->delete($this->table_name,array( $primary_key_field => $primary_key_value));
|
||||||
|
if( $this->db->affected_rows() != 1)
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function db_file_delete($field_name, $filename)
|
||||||
|
{
|
||||||
|
if( $this->db->update($this->table_name,array($field_name => ''),array($field_name => $filename)) )
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function field_exists($field,$table_name = null)
|
||||||
|
{
|
||||||
|
if(empty($table_name))
|
||||||
|
{
|
||||||
|
$table_name = $this->table_name;
|
||||||
|
}
|
||||||
|
return $this->db->field_exists($field,$table_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_primary_key($table_name = null)
|
||||||
|
{
|
||||||
|
if($table_name == null)
|
||||||
|
{
|
||||||
|
if(isset($this->primary_keys[$this->table_name]))
|
||||||
|
{
|
||||||
|
return $this->primary_keys[$this->table_name];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(empty($this->primary_key))
|
||||||
|
{
|
||||||
|
$fields = $this->get_field_types_basic_table();
|
||||||
|
|
||||||
|
foreach($fields as $field)
|
||||||
|
{
|
||||||
|
if($field->primary_key == 1)
|
||||||
|
{
|
||||||
|
return $field->name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return $this->primary_key;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(isset($this->primary_keys[$table_name]))
|
||||||
|
{
|
||||||
|
return $this->primary_keys[$table_name];
|
||||||
|
}
|
||||||
|
|
||||||
|
$fields = $this->get_field_types($table_name);
|
||||||
|
|
||||||
|
foreach($fields as $field)
|
||||||
|
{
|
||||||
|
if($field->primary_key == 1)
|
||||||
|
{
|
||||||
|
return $field->name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function escape_str($value)
|
||||||
|
{
|
||||||
|
return $this->db->escape_str($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
echo "\nERROR: ",
|
||||||
|
$heading,
|
||||||
|
"\n\n",
|
||||||
|
$message,
|
||||||
|
"\n\n";
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
echo "\nDatabase error: ",
|
||||||
|
$heading,
|
||||||
|
"\n\n",
|
||||||
|
$message,
|
||||||
|
"\n\n";
|
|
@ -0,0 +1,21 @@
|
||||||
|
<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>
|
||||||
|
|
||||||
|
An uncaught Exception was encountered
|
||||||
|
|
||||||
|
Type: <?php echo get_class($exception), "\n"; ?>
|
||||||
|
Message: <?php echo $message, "\n"; ?>
|
||||||
|
Filename: <?php echo $exception->getFile(), "\n"; ?>
|
||||||
|
Line Number: <?php echo $exception->getLine(); ?>
|
||||||
|
|
||||||
|
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?>
|
||||||
|
|
||||||
|
Backtrace:
|
||||||
|
<?php foreach ($exception->getTrace() as $error): ?>
|
||||||
|
<?php if (isset($error['file']) && strpos($error['file'], realpath(BASEPATH)) !== 0): ?>
|
||||||
|
File: <?php echo $error['file'], "\n"; ?>
|
||||||
|
Line: <?php echo $error['line'], "\n"; ?>
|
||||||
|
Function: <?php echo $error['function'], "\n\n"; ?>
|
||||||
|
<?php endif ?>
|
||||||
|
<?php endforeach ?>
|
||||||
|
|
||||||
|
<?php endif ?>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
|
||||||
|
echo "\nERROR: ",
|
||||||
|
$heading,
|
||||||
|
"\n\n",
|
||||||
|
$message,
|
||||||
|
"\n\n";
|
|
@ -0,0 +1,21 @@
|
||||||
|
<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>
|
||||||
|
|
||||||
|
A PHP Error was encountered
|
||||||
|
|
||||||
|
Severity: <?php echo $severity, "\n"; ?>
|
||||||
|
Message: <?php echo $message, "\n"; ?>
|
||||||
|
Filename: <?php echo $filepath, "\n"; ?>
|
||||||
|
Line Number: <?php echo $line; ?>
|
||||||
|
|
||||||
|
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?>
|
||||||
|
|
||||||
|
Backtrace:
|
||||||
|
<?php foreach (debug_backtrace() as $error): ?>
|
||||||
|
<?php if (isset($error['file']) && strpos($error['file'], realpath(BASEPATH)) !== 0): ?>
|
||||||
|
File: <?php echo $error['file'], "\n"; ?>
|
||||||
|
Line: <?php echo $error['line'], "\n"; ?>
|
||||||
|
Function: <?php echo $error['function'], "\n\n"; ?>
|
||||||
|
<?php endif ?>
|
||||||
|
<?php endforeach ?>
|
||||||
|
|
||||||
|
<?php endif ?>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,64 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
?><!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>404 Page Not Found</title>
|
||||||
|
<style type="text/css">
|
||||||
|
|
||||||
|
::selection { background-color: #E13300; color: white; }
|
||||||
|
::-moz-selection { background-color: #E13300; color: white; }
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: #fff;
|
||||||
|
margin: 40px;
|
||||||
|
font: 13px/20px normal Helvetica, Arial, sans-serif;
|
||||||
|
color: #4F5155;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #003399;
|
||||||
|
background-color: transparent;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
color: #444;
|
||||||
|
background-color: transparent;
|
||||||
|
border-bottom: 1px solid #D0D0D0;
|
||||||
|
font-size: 19px;
|
||||||
|
font-weight: normal;
|
||||||
|
margin: 0 0 14px 0;
|
||||||
|
padding: 14px 15px 10px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-family: Consolas, Monaco, Courier New, Courier, monospace;
|
||||||
|
font-size: 12px;
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
border: 1px solid #D0D0D0;
|
||||||
|
color: #002166;
|
||||||
|
display: block;
|
||||||
|
margin: 14px 0 14px 0;
|
||||||
|
padding: 12px 10px 12px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#container {
|
||||||
|
margin: 10px;
|
||||||
|
border: 1px solid #D0D0D0;
|
||||||
|
box-shadow: 0 0 8px #D0D0D0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin: 12px 15px 12px 15px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="container">
|
||||||
|
<h1><?php echo $heading; ?></h1>
|
||||||
|
<?php echo $message; ?>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,64 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
?><!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Database Error</title>
|
||||||
|
<style type="text/css">
|
||||||
|
|
||||||
|
::selection { background-color: #E13300; color: white; }
|
||||||
|
::-moz-selection { background-color: #E13300; color: white; }
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: #fff;
|
||||||
|
margin: 40px;
|
||||||
|
font: 13px/20px normal Helvetica, Arial, sans-serif;
|
||||||
|
color: #4F5155;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #003399;
|
||||||
|
background-color: transparent;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
color: #444;
|
||||||
|
background-color: transparent;
|
||||||
|
border-bottom: 1px solid #D0D0D0;
|
||||||
|
font-size: 19px;
|
||||||
|
font-weight: normal;
|
||||||
|
margin: 0 0 14px 0;
|
||||||
|
padding: 14px 15px 10px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-family: Consolas, Monaco, Courier New, Courier, monospace;
|
||||||
|
font-size: 12px;
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
border: 1px solid #D0D0D0;
|
||||||
|
color: #002166;
|
||||||
|
display: block;
|
||||||
|
margin: 14px 0 14px 0;
|
||||||
|
padding: 12px 10px 12px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#container {
|
||||||
|
margin: 10px;
|
||||||
|
border: 1px solid #D0D0D0;
|
||||||
|
box-shadow: 0 0 8px #D0D0D0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin: 12px 15px 12px 15px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="container">
|
||||||
|
<h1><?php echo $heading; ?></h1>
|
||||||
|
<?php echo $message; ?>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
|
||||||
|
|
||||||
|
<h4>An uncaught Exception was encountered</h4>
|
||||||
|
|
||||||
|
<p>Type: <?php echo get_class($exception); ?></p>
|
||||||
|
<p>Message: <?php echo $message; ?></p>
|
||||||
|
<p>Filename: <?php echo $exception->getFile(); ?></p>
|
||||||
|
<p>Line Number: <?php echo $exception->getLine(); ?></p>
|
||||||
|
|
||||||
|
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?>
|
||||||
|
|
||||||
|
<p>Backtrace:</p>
|
||||||
|
<?php foreach ($exception->getTrace() as $error): ?>
|
||||||
|
|
||||||
|
<?php if (isset($error['file']) && strpos($error['file'], realpath(BASEPATH)) !== 0): ?>
|
||||||
|
|
||||||
|
<p style="margin-left:10px">
|
||||||
|
File: <?php echo $error['file']; ?><br />
|
||||||
|
Line: <?php echo $error['line']; ?><br />
|
||||||
|
Function: <?php echo $error['function']; ?>
|
||||||
|
</p>
|
||||||
|
<?php endif ?>
|
||||||
|
|
||||||
|
<?php endforeach ?>
|
||||||
|
|
||||||
|
<?php endif ?>
|
||||||
|
|
||||||
|
</div>
|
|
@ -0,0 +1,64 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
?><!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Error</title>
|
||||||
|
<style type="text/css">
|
||||||
|
|
||||||
|
::selection { background-color: #E13300; color: white; }
|
||||||
|
::-moz-selection { background-color: #E13300; color: white; }
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: #fff;
|
||||||
|
margin: 40px;
|
||||||
|
font: 13px/20px normal Helvetica, Arial, sans-serif;
|
||||||
|
color: #4F5155;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #003399;
|
||||||
|
background-color: transparent;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
color: #444;
|
||||||
|
background-color: transparent;
|
||||||
|
border-bottom: 1px solid #D0D0D0;
|
||||||
|
font-size: 19px;
|
||||||
|
font-weight: normal;
|
||||||
|
margin: 0 0 14px 0;
|
||||||
|
padding: 14px 15px 10px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-family: Consolas, Monaco, Courier New, Courier, monospace;
|
||||||
|
font-size: 12px;
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
border: 1px solid #D0D0D0;
|
||||||
|
color: #002166;
|
||||||
|
display: block;
|
||||||
|
margin: 14px 0 14px 0;
|
||||||
|
padding: 12px 10px 12px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#container {
|
||||||
|
margin: 10px;
|
||||||
|
border: 1px solid #D0D0D0;
|
||||||
|
box-shadow: 0 0 8px #D0D0D0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin: 12px 15px 12px 15px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="container">
|
||||||
|
<h1><?php echo $heading; ?></h1>
|
||||||
|
<?php echo $message; ?>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
|
||||||
|
|
||||||
|
<h4>A PHP Error was encountered</h4>
|
||||||
|
|
||||||
|
<p>Severity: <?php echo $severity; ?></p>
|
||||||
|
<p>Message: <?php echo $message; ?></p>
|
||||||
|
<p>Filename: <?php echo $filepath; ?></p>
|
||||||
|
<p>Line Number: <?php echo $line; ?></p>
|
||||||
|
|
||||||
|
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?>
|
||||||
|
|
||||||
|
<p>Backtrace:</p>
|
||||||
|
<?php foreach (debug_backtrace() as $error): ?>
|
||||||
|
|
||||||
|
<?php if (isset($error['file']) && strpos($error['file'], realpath(BASEPATH)) !== 0): ?>
|
||||||
|
|
||||||
|
<p style="margin-left:10px">
|
||||||
|
File: <?php echo $error['file'] ?><br />
|
||||||
|
Line: <?php echo $error['line'] ?><br />
|
||||||
|
Function: <?php echo $error['function'] ?>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<?php endif ?>
|
||||||
|
|
||||||
|
<?php endforeach ?>
|
||||||
|
|
||||||
|
<?php endif ?>
|
||||||
|
|
||||||
|
</div>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>403 Forbidden</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<p>Directory access is forbidden.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,118 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-primary shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
|
||||||
|
Jumlah Gejala</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_gejala['total']; ?> Gejala</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-pen fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-success shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
|
||||||
|
Jumlah Penyakit</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_penyakit['total']; ?> Penyakit</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-list fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Data Pengetahuan
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_basis_pengetahuan['total']; ?> Data</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Jumlah Pengguna</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_users['total']; ?> Pengguna</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12 col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<a href="<?php echo base_url(); ?>dashboard/tambah_gejala" class="btn btn-md btn-primary mb-3"><i class="fa fa-plus"></i> Tambah Data</a>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-bordered" id="datatable2" width="100%" cellspacing="0">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>No</th>
|
||||||
|
<th style="width: 40%;">Nama Gejala</th>
|
||||||
|
<th class="exclude-export">Aksi</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php $no = 1;
|
||||||
|
foreach ($datasets as $d) { ?>
|
||||||
|
<tr>
|
||||||
|
<td><?php echo $no;
|
||||||
|
$no++; ?></td>
|
||||||
|
<td><?php echo $d['nama_gejala']; ?></td>
|
||||||
|
<td class="exclude-export">
|
||||||
|
<a class="btn btn-sm btn-success" href="<?php echo base_url(); ?>dashboard/tambah_gejala?id=<?php echo $d['kode_gejala']; ?>"><i class="fa fa-pen"></i></a>
|
||||||
|
<a onclick="return confirm('Apakah Anda yakin ingin menghapus data ini?');" class="btn btn-sm btn-danger" href="<?php echo base_url(); ?>dashboard/hapus_gejala?id=<?php echo $d['kode_gejala']; ?>"><i class="fa fa-trash"></i></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php } ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,123 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-primary shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
|
||||||
|
Jumlah Gejala</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_gejala['total']; ?> Gejala</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-pen fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-success shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
|
||||||
|
Jumlah Penyakit</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_penyakit['total']; ?> Penyakit</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-list fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Data Pengetahuan
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_basis_pengetahuan['total']; ?> Data</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Jumlah Pengguna</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_users['total']; ?> Pengguna</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12 col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<a href="<?php echo base_url(); ?>dashboard/tambah_pengetahuan" class="btn btn-md btn-primary mb-3"><i class="fa fa-plus"></i> Tambah Data</a>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-bordered" id="datatable2" width="100%" cellspacing="0">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>No</th>
|
||||||
|
<th>Penyakit</th>
|
||||||
|
<th>Gejala</th>
|
||||||
|
<th>MB</th>
|
||||||
|
<th>MD</th>
|
||||||
|
<th class="exclude-export">Aksi</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php $no = 1;
|
||||||
|
foreach ($datasets as $d) { ?>
|
||||||
|
<tr>
|
||||||
|
<td><?php echo $no;
|
||||||
|
$no++; ?></td>
|
||||||
|
<td><?php echo $d['nama_penyakit']; ?></td>
|
||||||
|
<td><?php echo $d['nama_gejala']; ?></td>
|
||||||
|
<td><?php echo $d['mb']; ?></td>
|
||||||
|
<td><?php echo $d['md']; ?></td>
|
||||||
|
<td class="exclude-export">
|
||||||
|
<a class="btn btn-sm btn-success" href="<?php echo base_url(); ?>dashboard/tambah_pengetahuan?id=<?php echo $d['kode_pengetahuan']; ?>"><i class="fa fa-pen"></i></a>
|
||||||
|
<a onclick="return confirm('Apakah Anda yakin ingin menghapus data ini?');" class="btn btn-sm btn-danger" href="<?php echo base_url(); ?>dashboard/hapus_pengetahuan?id=<?php echo $d['kode_pengetahuan']; ?>"><i class="fa fa-trash"></i></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php } ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,127 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-primary shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
|
||||||
|
Jumlah Gejala</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_gejala['total']; ?> Gejala</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-pen fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-success shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
|
||||||
|
Jumlah Penyakit</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_penyakit['total']; ?> Penyakit</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-list fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Data Pengetahuan
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_basis_pengetahuan['total']; ?> Data</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Jumlah Pengguna</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_users['total']; ?> Pengguna</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12 col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<a href="<?php echo base_url(); ?>dashboard/tambah_pengguna" class="btn btn-md btn-primary mb-3"><i class="fa fa-plus"></i> Tambah Data</a>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-bordered" id="datatable2" width="100%" cellspacing="0">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>No</th>
|
||||||
|
<th>Username</th>
|
||||||
|
<th>Nama Lengkap</th>
|
||||||
|
<th>Role</th>
|
||||||
|
<th>Alamat</th>
|
||||||
|
<th>Nomor Telepon</th>
|
||||||
|
<th class="exclude-export">Aksi</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php $no = 1;
|
||||||
|
foreach ($datasets as $d) { ?>
|
||||||
|
<tr>
|
||||||
|
<td><?php echo $no;
|
||||||
|
$no++; ?></td>
|
||||||
|
<td><?php echo $d['username']; ?></td>
|
||||||
|
<td><?php echo $d['nama_lengkap']; ?></td>
|
||||||
|
<td><?php echo $d['role']; ?></td>
|
||||||
|
<td><?php echo $d['alamat'] ? $d['alamat'] : '-'; ?></td>
|
||||||
|
<td><?php echo $d['no_telp'] ? $d['no_telp'] : '-'; ?></td>
|
||||||
|
<td class="exclude-export">
|
||||||
|
<a class="btn btn-sm btn-success" href="<?php echo base_url(); ?>dashboard/tambah_pengguna?id=<?php echo $d['id']; ?>"><i class="fa fa-pen"></i></a>
|
||||||
|
<?php if ($_SESSION['id'] != $d['id']) { ?>
|
||||||
|
<a onclick="return confirm('Apakah Anda yakin ingin menghapus data ini?');" class="btn btn-sm btn-danger" href="<?php echo base_url(); ?>dashboard/hapus_pengguna?id=<?php echo $d['id']; ?>"><i class="fa fa-trash"></i></a>
|
||||||
|
<?php } ?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php } ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,119 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-primary shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
|
||||||
|
Jumlah Gejala</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_gejala['total']; ?> Gejala</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-pen fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-success shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
|
||||||
|
Jumlah Penyakit</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_penyakit['total']; ?> Penyakit</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-list fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Data Pengetahuan
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_basis_pengetahuan['total']; ?> Data</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Jumlah Pengguna</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_users['total']; ?> Pengguna</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12 col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<a href="<?php echo base_url(); ?>dashboard/tambah_penyakit" class="btn btn-md btn-primary mb-3"><i class="fa fa-plus"></i> Tambah Data</a>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-bordered" id="datatable2" width="100%" cellspacing="0">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>No</th>
|
||||||
|
<th style="width: 40%;">Nama Penyakit</th>
|
||||||
|
<th style="width: 40%;">Keterangan</th>
|
||||||
|
<th class="exclude-export">Aksi</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php $no = 1;
|
||||||
|
foreach ($datasets as $d) { ?>
|
||||||
|
<tr>
|
||||||
|
<td><?php echo $no;
|
||||||
|
$no++; ?></td>
|
||||||
|
<td><?php echo $d['nama_penyakit']; ?></td>
|
||||||
|
<td><?php echo $d['det_penyakit']; ?></td>
|
||||||
|
<td class="exclude-export">
|
||||||
|
<a class="btn btn-sm btn-success" href="<?php echo base_url(); ?>dashboard/tambah_penyakit?id=<?php echo $d['kode_penyakit']; ?>"><i class="fa fa-pen"></i></a>
|
||||||
|
<a onclick="return confirm('Apakah Anda yakin ingin menghapus data ini?');" class="btn btn-sm btn-danger" href="<?php echo base_url(); ?>dashboard/hapus_penyakit?id=<?php echo $d['kode_penyakit']; ?>"><i class="fa fa-trash"></i></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php } ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,117 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-primary shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
|
||||||
|
Jumlah Gejala</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_gejala['total']; ?> Gejala</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-pen fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-success shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
|
||||||
|
Jumlah Penyakit</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_penyakit['total']; ?> Penyakit</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-list fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Data Pengetahuan
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_basis_pengetahuan['total']; ?> Data</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Jumlah Pengguna</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_users['total']; ?> Pengguna</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12 col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-bordered" id="datatable2" width="100%" cellspacing="0">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>No</th>
|
||||||
|
<th style="width: 40%;">Nama Penyakit</th>
|
||||||
|
<th style="width: 40%;">Cara Perawatan</th>
|
||||||
|
<th class="exclude-export">Aksi</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php $no = 1;
|
||||||
|
foreach ($datasets as $d) { ?>
|
||||||
|
<tr>
|
||||||
|
<td><?php echo $no;
|
||||||
|
$no++; ?></td>
|
||||||
|
<td><?php echo $d['nama_penyakit']; ?></td>
|
||||||
|
<td><?php echo $d['srn_penyakit']; ?></td>
|
||||||
|
<td class="exclude-export">
|
||||||
|
<a class="btn btn-sm btn-success" href="<?php echo base_url(); ?>dashboard/tambah_perawatan?id=<?php echo $d['kode_penyakit']; ?>"><i class="fa fa-pen"></i></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php } ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,182 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
<?php if ($_SESSION['role'] == "admin") { ?>
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-primary shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
|
||||||
|
Jumlah Gejala</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_gejala['total']; ?> Gejala</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-pen fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-success shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
|
||||||
|
Jumlah Penyakit</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_penyakit['total']; ?> Penyakit</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-list fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Data Pengetahuan
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_basis_pengetahuan['total']; ?> Data</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Jumlah Pengguna</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_users['total']; ?> Pengguna</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php } else { ?>
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-6 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Total Diagnosa
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_diagnosa['total']; ?> Hasil</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<div class="col-xl-6 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Riwayat Konsultasi Saya</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_diagnosa_saya['total']; ?> Hasil</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php } ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12 col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<div id="carouselExampleIndicators" class="carousel slide mb-3" data-ride="carousel">
|
||||||
|
<ol class="carousel-indicators">
|
||||||
|
<li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
|
||||||
|
<li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
|
||||||
|
</ol>
|
||||||
|
<div class="carousel-inner">
|
||||||
|
<div class="carousel-item active">
|
||||||
|
<img class="d-block w-100" src="<?php echo base_url(); ?>aset/banner/gambar1.jpg" alt="First slide">
|
||||||
|
</div>
|
||||||
|
<div class="carousel-item">
|
||||||
|
<img class="d-block w-100" src="<?php echo base_url(); ?>aset/banner/gambar2.jpg" alt="Second slide">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
|
||||||
|
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
||||||
|
<span class="sr-only">Previous</span>
|
||||||
|
</a>
|
||||||
|
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
|
||||||
|
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
||||||
|
<span class="sr-only">Next</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-4 text-center padding">
|
||||||
|
<div class="single-service">
|
||||||
|
<img src="<?php echo base_url(); ?>aset/banner/icon3.png" alt="">
|
||||||
|
|
||||||
|
<h2>Aplikasi Responsif</h2>
|
||||||
|
<p>Aplikasi untuk menyesuaikan diri dengan perangkat dan situasi pengguna yang berbeda tanpa kehilangan fungsionalitasnya.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 text-center padding">
|
||||||
|
<div class="single-service">
|
||||||
|
|
||||||
|
<img src="<?php echo base_url(); ?>aset/banner/icon2.png" alt="">
|
||||||
|
|
||||||
|
<h2>Sahabat Peternak</h2>
|
||||||
|
<p>Sistem Pakar ini terus di sesuaikan perhitungan diagnosanya, supaya akurasi terhadap penyakit yang diderita lebih sesuai dan menjadi acuan peternak.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 text-center padding">
|
||||||
|
<div class="single-service">
|
||||||
|
<img src="<?php echo base_url(); ?>aset/banner/icon1.png" alt="">
|
||||||
|
<h2>Admin Pakar</h2>
|
||||||
|
<p>Terdapat fitur admin pakar, untuk mengatur pengetahuan dan CF pakar, telah di sesuaikan tampilannya sehingga pakar bisa lebih mengeksplore aplikasi.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,200 @@
|
||||||
|
<style>
|
||||||
|
.float {
|
||||||
|
background: #4e73df;
|
||||||
|
color: white;
|
||||||
|
border-top: 0;
|
||||||
|
border-left: 0;
|
||||||
|
border-right: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 14pt;
|
||||||
|
position: fixed;
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
bottom: 40px;
|
||||||
|
right: 40px;
|
||||||
|
background-color: #4e73df;
|
||||||
|
color: #FFF;
|
||||||
|
border-radius: 50px;
|
||||||
|
text-align: center;
|
||||||
|
box-shadow: 2px 2px 3px #999;
|
||||||
|
margin-top: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll-to-top {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<?php if ($_SESSION['role'] == "admin") { ?>
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-primary shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
|
||||||
|
Jumlah Gejala</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_gejala['total']; ?> Gejala</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-pen fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-success shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
|
||||||
|
Jumlah Penyakit</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_penyakit['total']; ?> Penyakit</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-list fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Data Pengetahuan
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_basis_pengetahuan['total']; ?> Data</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Jumlah Pengguna</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_users['total']; ?> Pengguna</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php } else { ?>
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-6 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Total Diagnosa
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_diagnosa['total']; ?> Hasil</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<div class="col-xl-6 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Riwayat Konsultasi Saya</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_diagnosa_saya['total']; ?> Hasil</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php } ?>
|
||||||
|
|
||||||
|
<div class="col-xl-12 col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 style="color: #000;">Diagnosa Penyakit</h2>
|
||||||
|
<hr>
|
||||||
|
<div class='alert alert-success alert-dismissible'>
|
||||||
|
<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>
|
||||||
|
<h4><i class='icon fa fa-exclamation-triangle'></i>Perhatian !</h4>
|
||||||
|
Silahkan memilih gejala sesuai dengan kondisi ayam anda, anda dapat memilih kepastian kondisi ayam dari pasti tidak sampai pasti ya, pada kondisi dari pasti tidak sampai tidak tahu merupakan nilai ketidakbenaran dalam suatu gejala sedangkan kondisi mungkin ya sampai pasti ya merupakan nilai kebenaran dalam suatu gejala jika sudah tekan tombol proses <strong>🔍</strong> di bawah untuk melihat hasil.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="table-responsive">
|
||||||
|
<form method="POST" action="">
|
||||||
|
<table class="table table-bordered" width="100%" cellspacing="0">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>No</th>
|
||||||
|
<th>Kode</th>
|
||||||
|
<th>Gejala</th>
|
||||||
|
<th>Pilih Kondisi</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="pilihkondisi">
|
||||||
|
<?php $no = 1;
|
||||||
|
foreach ($datasets as $k => $d) { ?>
|
||||||
|
<tr>
|
||||||
|
<td><?php echo $no;
|
||||||
|
$no++; ?></td>
|
||||||
|
<td><?php echo str_pad($d['kode_gejala'], 3, '0', STR_PAD_LEFT); ?></td>
|
||||||
|
<td><?php echo $d['nama_gejala']; ?></td>
|
||||||
|
<td class="opsi">
|
||||||
|
<select name="kondisi[]" id="sl<?php echo $k; ?>" class="form-control opsikondisi">
|
||||||
|
<option data-id="0" value="0">Pilih jika sesuai</option>
|
||||||
|
<?php foreach ($kondisi as $ki) { ?>
|
||||||
|
<option data-id="<?php echo $ki['id']; ?>" value="<?php echo $d['kode_gejala'] . '_' . $ki['id']; ?>"><?php echo $ki['kondisi']; ?></option>
|
||||||
|
<?php } ?>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php } ?>
|
||||||
|
<input class="float" type="submit" data-toggle="tooltip" data-placement='top' title='Klik disini untuk melihat hasil diagnosa' name="submit" value='🔍' style='font-family:Arial, FontAwesome'>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,227 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid" id="print-area">
|
||||||
|
<style>
|
||||||
|
.float {
|
||||||
|
background: #4e73df;
|
||||||
|
color: white;
|
||||||
|
border-top: 0;
|
||||||
|
border-left: 0;
|
||||||
|
border-right: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 14pt;
|
||||||
|
position: fixed;
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
bottom: 40px;
|
||||||
|
right: 40px;
|
||||||
|
background-color: #4e73df;
|
||||||
|
color: #FFF;
|
||||||
|
border-radius: 50px;
|
||||||
|
text-align: center;
|
||||||
|
box-shadow: 2px 2px 3px #999;
|
||||||
|
margin-top: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll-to-top {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#print {
|
||||||
|
border-bottom: 0;
|
||||||
|
border-top: 0;
|
||||||
|
border-left: 0;
|
||||||
|
border-right: 0;
|
||||||
|
text-decoration: none;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 14pt;
|
||||||
|
background-color: #1abc9c;
|
||||||
|
color: #FFF;
|
||||||
|
border-radius: 2px;
|
||||||
|
text-align: center;
|
||||||
|
padding: 10px;
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box {
|
||||||
|
position: relative;
|
||||||
|
border-radius: 3px;
|
||||||
|
background: #ffffff;
|
||||||
|
border-top: 3px solid #d2d6de;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
width: 100%;
|
||||||
|
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-title {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box.box-solid.box-info {
|
||||||
|
border: 1px solid #00c0ef;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box.box-solid.box-info>.box-header {
|
||||||
|
color: #fff;
|
||||||
|
background: #00c0ef;
|
||||||
|
background-color: #00c0ef;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box.box-solid.box-warning {
|
||||||
|
border: 1px solid #f39c12;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box.box-solid.box-warning>.box-header {
|
||||||
|
color: #fff;
|
||||||
|
background: #f39c12;
|
||||||
|
background-color: #f39c12;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box.box-solid.box-danger {
|
||||||
|
border: 1px solid #dd4b39;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box.box-solid.box-danger>.box-header {
|
||||||
|
color: #fff;
|
||||||
|
background: #dd4b39;
|
||||||
|
background-color: #dd4b39;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-header.with-border {
|
||||||
|
border-bottom: 1px solid #f4f4f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-header {
|
||||||
|
color: #444;
|
||||||
|
display: block;
|
||||||
|
padding: 10px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-body {
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
border-bottom-right-radius: 3px;
|
||||||
|
border-bottom-left-radius: 3px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.callout {
|
||||||
|
border-radius: 3px;
|
||||||
|
margin: 0 0 20px 0;
|
||||||
|
padding: 15px 30px 15px 15px;
|
||||||
|
border-left: 5px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.well {
|
||||||
|
min-height: 20px;
|
||||||
|
padding: 19px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
border: 1px solid #e3e3e3;
|
||||||
|
border-radius: 4px;
|
||||||
|
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
|
||||||
|
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.well {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.kondisipilih {
|
||||||
|
background-color: #2f2130;
|
||||||
|
padding: 2px 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12 col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body" id="card-body">
|
||||||
|
<!-- <h2 class='text text-primary'>Hasil Diagnosis - <?php echo $sqlhasil[0]['nama_gejala']; ?></h2> -->
|
||||||
|
<h2 class='text text-primary'>Hasil Diagnosis</h2>
|
||||||
|
<button id="print" onclick="printDiv('print-area');" data-toggle="tooltip" data-placement="right" title="Klik tombol ini untuk mencetak hasil diagnosa"><i class="fa fa-print"></i> Cetak</button>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-bordered" width="100%" cellspacing="0">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>No</th>
|
||||||
|
<th>Kode</th>
|
||||||
|
<th>Gejala</th>
|
||||||
|
<th>Pilih Kondisi</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="pilihkondisi">
|
||||||
|
<?php $no = 1;
|
||||||
|
foreach ($argejala as $k => $d) {
|
||||||
|
$kondisi = $d;
|
||||||
|
|
||||||
|
$r4 = $this->db->query('SELECT * FROM gejala WHERE kode_gejala = ' . $k)->row_array();
|
||||||
|
?>
|
||||||
|
<tr>
|
||||||
|
<td><?php echo $no;
|
||||||
|
$no++; ?></td>
|
||||||
|
<td><?php echo str_pad($r4['kode_gejala'], 3, '0', STR_PAD_LEFT); ?></td>
|
||||||
|
<td><?php echo $r4['nama_gejala']; ?></td>
|
||||||
|
<td><span class="kondisipilih" style="color: <?php echo $arcolor[$kondisi]; ?>;"><?php echo $arkondisitext[$kondisi]; ?></span></td>
|
||||||
|
</tr>
|
||||||
|
<?php } ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$np = 0;
|
||||||
|
foreach ($arpenyakit as $key => $value) {
|
||||||
|
$np++;
|
||||||
|
$idpkt[$np] = $key;
|
||||||
|
$nmpkt[$np] = $arpkt[$key];
|
||||||
|
$vlpkt[$np] = $value;
|
||||||
|
}
|
||||||
|
if ($argpkt[$idpkt[1]]) {
|
||||||
|
$gambar = base_url() . 'aset/penyakit/' . $argpkt[$idpkt[1]];
|
||||||
|
} else {
|
||||||
|
$gambar = base_url() . 'aset/noimage.png';
|
||||||
|
}
|
||||||
|
echo "<div class='well well-small'><img class='img-bordered-sm' style='float:right; margin-left:15px;' src='" . $gambar . "' height=200><h3>Hasil Diagnosa</h3>";
|
||||||
|
echo "<div class='callout callout-default'>Jenis penyakit yang diderita adalah <b><h3 class='text text-success'>" . $nmpkt[1] . "</b> / " . round($vlpkt[1] * 100, 2) . " % (" . $vlpkt[1] . ")<br></h3>";
|
||||||
|
echo "</div></div><div class='box box-info box-solid'><div class='box-header with-border'><h3 class='box-title'>Detail</h3></div><div class='box-body'><p>";
|
||||||
|
echo $ardpkt[$idpkt[1]];
|
||||||
|
echo "</p></div></div>
|
||||||
|
<div class='box box-warning box-solid'><div class='box-header with-border'><h3 class='box-title'>Saran</h3></div><div class='box-body'><p>";
|
||||||
|
echo $arspkt[$idpkt[1]];
|
||||||
|
echo "</p></div></div>
|
||||||
|
<div class='box box-danger box-solid'><div class='box-header with-border'><h3 class='box-title'>Kemungkinan lain:</h3></div><div class='box-body'><p>";
|
||||||
|
for ($ipl = 2; $ipl < count($idpkt); $ipl++) {
|
||||||
|
echo " <p>- " . $nmpkt[$ipl] . "</b> / " . round($vlpkt[$ipl], 2) . " % (" . $vlpkt[$ipl] . ")<br></p>";
|
||||||
|
}
|
||||||
|
echo "";
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function printDiv(divName) {
|
||||||
|
var printContents = document.getElementById(divName).innerHTML;
|
||||||
|
var originalContents = document.body.innerHTML;
|
||||||
|
|
||||||
|
document.body.innerHTML = printContents;
|
||||||
|
|
||||||
|
window.print();
|
||||||
|
|
||||||
|
document.body.innerHTML = originalContents;
|
||||||
|
}
|
||||||
|
</script>
|
|
@ -0,0 +1,113 @@
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Footer -->
|
||||||
|
<footer>
|
||||||
|
<div class="container my-auto">
|
||||||
|
<div class="copyright text-center my-auto">
|
||||||
|
<span>Copyright © Broiler Medic</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
<!-- End of Footer -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- End of Content Wrapper -->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- End of Page Wrapper -->
|
||||||
|
|
||||||
|
<!-- Scroll to Top Button-->
|
||||||
|
<a class="scroll-to-top rounded" href="#page-top">
|
||||||
|
<i class="fas fa-angle-up"></i>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<!-- Logout Modal-->
|
||||||
|
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="exampleModalLabel">Apakah anda yakin ingin keluar?</h5>
|
||||||
|
<button class="close" type="button" data-dismiss="modal" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">Silahkan klik logout untuk melanjutkan</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button class="btn btn-secondary" type="button" data-dismiss="modal">Batalkan</button>
|
||||||
|
<a class="btn btn-primary" href="<?php echo base_url(); ?>dashboard/logout">Logout</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript-->
|
||||||
|
<script src="<?php echo base_url(); ?>assets/vendor/jquery/jquery.min.js"></script>
|
||||||
|
<script src="<?php echo base_url(); ?>assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Core plugin JavaScript-->
|
||||||
|
<script src="<?php echo base_url(); ?>assets/vendor/jquery-easing/jquery.easing.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Custom scripts for all pages-->
|
||||||
|
<script src="<?php echo base_url(); ?>assets/js/sb-admin-2.min.js"></script>
|
||||||
|
|
||||||
|
<script src="<?php echo base_url(); ?>assets/vendor/datatables/jquery.dataTables.min.js"></script>
|
||||||
|
<script src="<?php echo base_url(); ?>assets/vendor/datatables/dataTables.bootstrap4.min.js"></script>
|
||||||
|
<script src="<?php echo base_url(); ?>assets/js/demo/datatables-demo.js"></script>
|
||||||
|
|
||||||
|
<!-- Page level plugins -->
|
||||||
|
<script src="<?php echo base_url(); ?>assets/vendor/chart.js/Chart.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Page level custom scripts -->
|
||||||
|
<script src="<?php echo base_url(); ?>assets/js/demo/chart-area-demo.js"></script>
|
||||||
|
<!-- <script src="<?php echo base_url(); ?>assets/js/demo/chart-pie-demo.js">< /script> -->
|
||||||
|
|
||||||
|
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/buttons/2.2.2/js/dataTables.buttons.min.js"></script>
|
||||||
|
<script type="text/javascript" charset="utf8" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
|
||||||
|
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/buttons/2.2.2/js/buttons.html5.min.js"></script>
|
||||||
|
<script>
|
||||||
|
try {
|
||||||
|
$('#datatable2').DataTable({
|
||||||
|
dom: 'Bfrtip',
|
||||||
|
buttons: [{
|
||||||
|
text: 'Download Excel',
|
||||||
|
extend: 'excel',
|
||||||
|
title: null,
|
||||||
|
exportOptions: {
|
||||||
|
columns: ':visible:not(.exclude-export)'
|
||||||
|
}
|
||||||
|
}, ],
|
||||||
|
});
|
||||||
|
$('.buttons-excel').hide();
|
||||||
|
$('#exportData').on('click', function() {
|
||||||
|
$('.buttons-excel').click();
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script src="<?php echo base_url(); ?>aset/js/owl.carousel.js"></script>
|
||||||
|
<?php if ($datasets) { ?>
|
||||||
|
<?php foreach ($datasets as $k => $d) { ?>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function() {
|
||||||
|
var arcolor = new Array('#ffffff', '#cc66ff', '#019AFF', '#00CBFD', '#00FEFE', '#A4F804', '#FFFC00', '#FDCD01', '#FD9A01', '#FB6700');
|
||||||
|
setColor();
|
||||||
|
$('.pilihkondisi').on('change', 'tr td select#sl<?php echo $k; ?>', function() {
|
||||||
|
setColor();
|
||||||
|
});
|
||||||
|
|
||||||
|
function setColor() {
|
||||||
|
var selectedItem = $('tr td select#sl<?php echo $k; ?> :selected');
|
||||||
|
var color = arcolor[selectedItem.data("id")];
|
||||||
|
$('tr td select#sl<?php echo $k; ?>.opsikondisi').css('background-color', color);
|
||||||
|
$('tr td select#sl<?php echo $k; ?>.opsikondisi').css('color', '#000');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<?php } ?>
|
||||||
|
<?php } ?>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -0,0 +1,233 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
|
||||||
|
<title>Broiler Medic</title>
|
||||||
|
|
||||||
|
<!-- Custom fonts for this template-->
|
||||||
|
<link href="<?php echo base_url(); ?>assets/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
|
||||||
|
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template-->
|
||||||
|
<link href="<?php echo base_url(); ?>assets/css/sb-admin-2.min.css" rel="stylesheet">
|
||||||
|
<style>
|
||||||
|
.c-active {
|
||||||
|
/* background: #4067a8; */
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .nav-item .collapse .collapse-inner .collapse-item,
|
||||||
|
.sidebar .nav-item .collapsing .collapse-inner .collapse-item {
|
||||||
|
/* color: #fff !important; */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .sidebar .nav-item .collapse .collapse-inner .collapse-item:hover,
|
||||||
|
.sidebar .nav-item .collapsing .collapse-inner .collapse-item:hover {
|
||||||
|
background: #4067a8 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-light .nav-item.active .nav-link {
|
||||||
|
color: #fff !important;
|
||||||
|
border-radius: 10px;
|
||||||
|
background: #4067a8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .nav-item .collapse .collapse-inner .collapse-item:hover,
|
||||||
|
.sidebar .nav-item .collapsing .collapse-inner .collapse-item:hover {
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .nav-item .nav-link .img-profile,
|
||||||
|
.topbar .nav-item .nav-link .img-profile {
|
||||||
|
width: 3rem;
|
||||||
|
height: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-primary {
|
||||||
|
color: #4067a8 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-primary {
|
||||||
|
background-color: #4067a8 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary {
|
||||||
|
background-color: #4067a8 !important;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.table-responsive .table th {
|
||||||
|
background-color: #4e73df;
|
||||||
|
color: #ffffff;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 1px solid #ffffff;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id="page-top">
|
||||||
|
|
||||||
|
<!-- Page Wrapper -->
|
||||||
|
<div id="wrapper">
|
||||||
|
|
||||||
|
<!-- Sidebar -->
|
||||||
|
<ul class="navbar-nav sidebar sidebar-dark accordion" id="accordionSidebar" style="background-color:#8B4513;">
|
||||||
|
|
||||||
|
<!-- Sidebar - Brand -->
|
||||||
|
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="<?php echo base_url(); ?>dashboard">
|
||||||
|
<!-- <div class="sidebar-brand-icon">
|
||||||
|
<i class="fas fa-file"></i>
|
||||||
|
</div> -->
|
||||||
|
<div class="sidebar-brand-text mx-3" style="font-size: 13px;">Broiler Medic</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<!-- Divider -->
|
||||||
|
<hr class="sidebar-divider my-0">
|
||||||
|
|
||||||
|
<!-- Nav Item - Dashboard -->
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="<?php echo base_url(); ?>dashboard">
|
||||||
|
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||||
|
<span>Dashboard</span></a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<?php if ($_SESSION['role'] == 'admin') { ?>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="<?php echo base_url(); ?>dashboard/daftar_pengguna">
|
||||||
|
<i class="fas fa-fw fa-users"></i>
|
||||||
|
<span>Data Pengguna</span></a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="<?php echo base_url(); ?>dashboard/daftar_penyakit">
|
||||||
|
<i class="fas fa-fw fa-bug"></i>
|
||||||
|
<span>Data Penyakit</span></a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="<?php echo base_url(); ?>dashboard/daftar_gejala">
|
||||||
|
<i class="fas fa-fw fa-file"></i>
|
||||||
|
<span>Data Gejala</span></a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="<?php echo base_url(); ?>dashboard/daftar_pengetahuan">
|
||||||
|
<i class="fas fa-fw fa-search"></i>
|
||||||
|
<span>Data Pengetahuan</span></a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="<?php echo base_url(); ?>dashboard/daftar_perawatan">
|
||||||
|
<i class="fas fa-fw fa-list"></i>
|
||||||
|
<span>Data Perawatan</span></a>
|
||||||
|
</li>
|
||||||
|
<?php } else { ?>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="<?php echo base_url(); ?>dashboard/diagnosa">
|
||||||
|
<i class="fas fa-fw fa-pen"></i>
|
||||||
|
<span>Diagnosa</span></a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="<?php echo base_url(); ?>dashboard/history_diagnosa">
|
||||||
|
<i class="fas fa-fw fa-file"></i>
|
||||||
|
<span>Riwayat Diagnosa</span></a>
|
||||||
|
</li>
|
||||||
|
<?php } ?>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="<?php echo base_url(); ?>dashboard/profil_saya">
|
||||||
|
<i class="fa fa-fw fa-user"></i>
|
||||||
|
<span>Profil Saya</span></a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="#" data-toggle="modal" data-target="#logoutModal">
|
||||||
|
<i class="fas fa-fw fa-arrow-left"></i>
|
||||||
|
<span>Keluar</span></a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<!-- Divider -->
|
||||||
|
<hr class="sidebar-divider">
|
||||||
|
|
||||||
|
<!-- Sidebar Toggler (Sidebar) -->
|
||||||
|
<div class="text-center d-none d-md-inline">
|
||||||
|
<button class="rounded-circle border-0" id="sidebarToggle"></button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<!-- End of Sidebar -->
|
||||||
|
|
||||||
|
<!-- Content Wrapper -->
|
||||||
|
<div id="content-wrapper" class="d-flex flex-column">
|
||||||
|
|
||||||
|
<!-- Main Content -->
|
||||||
|
<div id="content">
|
||||||
|
|
||||||
|
<!-- Topbar -->
|
||||||
|
<nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
|
||||||
|
|
||||||
|
<!-- Sidebar Toggle (Topbar) -->
|
||||||
|
<button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
|
||||||
|
<i class="fa fa-bars"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<!-- Topbar Navbar -->
|
||||||
|
<ul class="navbar-nav ml-auto">
|
||||||
|
|
||||||
|
<!-- Nav Item - Search Dropdown (Visible Only XS) -->
|
||||||
|
<li class="nav-item dropdown no-arrow d-sm-none">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||||
|
<i class="fas fa-search fa-fw"></i>
|
||||||
|
</a>
|
||||||
|
<!-- Dropdown - Messages -->
|
||||||
|
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown">
|
||||||
|
<form class="form-inline mr-auto w-100 navbar-search">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2">
|
||||||
|
<div class="input-group-append">
|
||||||
|
<button class="btn btn-primary" type="button">
|
||||||
|
<i class="fas fa-search fa-sm"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<div class="topbar-divider d-none d-sm-block"></div>
|
||||||
|
|
||||||
|
<!-- Nav Item - User Information -->
|
||||||
|
<li class="nav-item dropdown no-arrow">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||||
|
<span class="d-none d-lg-inline text-gray-600 small mr-4" style="color: #000 !important;"><strong>Halo, <?php echo $_SESSION['nama_lengkap']; ?>!
|
||||||
|
</strong><br />Anda masuk sebagai <?php echo $_SESSION['role']; ?>
|
||||||
|
</span>
|
||||||
|
<img class="img-profile rounded-circle" style="object-fit: cover;" src="<?php echo base_url() . 'assets/upload/avatar/' . ($_SESSION['foto'] ? $_SESSION['foto'] : "default.jpg"); ?>">
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<!-- Dropdown - User Information -->
|
||||||
|
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown">
|
||||||
|
<a class="dropdown-item" href="<?php echo base_url(); ?>dashboard/profil_saya">
|
||||||
|
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
|
||||||
|
Profil Saya
|
||||||
|
</a>
|
||||||
|
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal">
|
||||||
|
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
|
||||||
|
Keluar
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
<!-- End of Topbar -->
|
|
@ -0,0 +1,72 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
|
||||||
|
<title>Broiler Medic</title>
|
||||||
|
|
||||||
|
<!-- Custom fonts for this template-->
|
||||||
|
<link href="<?php echo base_url(); ?>assets/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
|
||||||
|
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template-->
|
||||||
|
<link href="<?php echo base_url(); ?>assets/css/sb-admin-2.min.css" rel="stylesheet">
|
||||||
|
<style>
|
||||||
|
.c-active {
|
||||||
|
/* background: #4067a8; */
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .nav-item .collapse .collapse-inner .collapse-item,
|
||||||
|
.sidebar .nav-item .collapsing .collapse-inner .collapse-item {
|
||||||
|
/* color: #fff !important; */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .sidebar .nav-item .collapse .collapse-inner .collapse-item:hover,
|
||||||
|
.sidebar .nav-item .collapsing .collapse-inner .collapse-item:hover {
|
||||||
|
background: #4067a8 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-light .nav-item.active .nav-link {
|
||||||
|
color: #fff !important;
|
||||||
|
border-radius: 10px;
|
||||||
|
background: #4067a8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .nav-item .collapse .collapse-inner .collapse-item:hover,
|
||||||
|
.sidebar .nav-item .collapsing .collapse-inner .collapse-item:hover {
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar .nav-item .nav-link .img-profile,
|
||||||
|
.topbar .nav-item .nav-link .img-profile {
|
||||||
|
width: 3rem;
|
||||||
|
height: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-primary {
|
||||||
|
color: #4067a8 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-primary {
|
||||||
|
background-color: #4067a8 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary {
|
||||||
|
background-color: #4067a8 !important;
|
||||||
|
} */
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id="page-top">
|
||||||
|
|
||||||
|
<!-- Page Wrapper -->
|
||||||
|
<div id="wrapper" class="mt-10">
|
|
@ -0,0 +1,165 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row mb-3">
|
||||||
|
<?php if ($_SESSION['role'] == "admin") { ?>
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-primary shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
|
||||||
|
Jumlah Gejala</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_gejala['total']; ?> Gejala</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-pen fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-success shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
|
||||||
|
Jumlah Penyakit</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_penyakit['total']; ?> Penyakit</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-list fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Data Pengetahuan
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_basis_pengetahuan['total']; ?> Data</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Jumlah Pengguna</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_users['total']; ?> Pengguna</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php } else { ?>
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-6 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Total Diagnosa
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_diagnosa['total']; ?> Hasil</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<div class="col-xl-6 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Riwayat Konsultasi Saya</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_diagnosa_saya['total']; ?> Hasil</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php } ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-12 col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2 style="color: #000;">Riwayat Konsultasi</h2>
|
||||||
|
<hr>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-bordered" id="datatable2" width="100%" cellspacing="0">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>No</th>
|
||||||
|
<th>Tanggal</th>
|
||||||
|
<!-- <th>Nama Gejala</th> -->
|
||||||
|
<th>Penyakit</th>
|
||||||
|
<th>Nilai CF</th>
|
||||||
|
<th class="exclude-export">Aksi</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php $no = 1;
|
||||||
|
foreach ($datasets as $d) { ?>
|
||||||
|
<tr>
|
||||||
|
<td><?php echo $no;
|
||||||
|
$no++; ?></td>
|
||||||
|
<td><?php echo $d['tanggal']; ?></td>
|
||||||
|
<td><?php echo $arpkt[$d['hasil_id']]; ?></td>
|
||||||
|
<td><span class="btn btn-secondary btn-sm"><?php echo $d['hasil_nilai']; ?></span></td>
|
||||||
|
<td class="exclude-export">
|
||||||
|
<a class="btn btn-sm btn-primary" href="<?php echo base_url(); ?>dashboard/diagnosa_detail?id=<?php echo $d['id_hasil']; ?>"><i class="fa fa-eye"></i></a>
|
||||||
|
<a onclick="return confirm('Apakah Anda yakin ingin menghapus data ini?');" class="btn btn-sm btn-danger" href="<?php echo base_url(); ?>dashboard/hapus_hasil?id=<?php echo $d['id_hasil']; ?>"><i class="fa fa-trash"></i></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php } ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,146 @@
|
||||||
|
<div class="container-fluid" style="background-color: #8B4513">
|
||||||
|
<div class="row" style="justify-content: center;">
|
||||||
|
<div class="col-xl-10 col-lg-12 col-md-9">
|
||||||
|
<div class="card shadow mb-4">
|
||||||
|
<div class="card-header py-3" style="background-color: #8B4513">
|
||||||
|
<h6 class="m-0 font-weight-bold">
|
||||||
|
<a href="<?php echo base_url(); ?>" style="color: white;">Beranda</a>
|
||||||
|
<a href="<?php echo base_url(); ?>login" style="color: white;">Masuk</a>
|
||||||
|
<a href="<?php echo base_url(); ?>login/register" style="color: white;">Daftar</a>
|
||||||
|
</h6>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row mb-3">
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<!-- <div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-primary shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
|
||||||
|
Jumlah Gejala</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_gejala['total']; ?> Gejala</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-pen fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<!-- <div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-success shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
|
||||||
|
Jumlah Penyakit</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_penyakit['total']; ?> Penyakit</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-list fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<!-- <div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Data Pengetahuan
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_basis_pengetahuan['total']; ?> Data</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<!-- <div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Jumlah Pengguna</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_users['total']; ?> Pengguna</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="carouselExampleIndicators" class="carousel slide mb-3" data-ride="carousel">
|
||||||
|
<ol class="carousel-indicators">
|
||||||
|
<li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
|
||||||
|
<li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
|
||||||
|
</ol>
|
||||||
|
<div class="carousel-inner">
|
||||||
|
<div class="carousel-item active">
|
||||||
|
<img class="d-block w-100" src="<?php echo base_url(); ?>aset/banner/gambar1.jpg" alt="First slide">
|
||||||
|
</div>
|
||||||
|
<div class="carousel-item">
|
||||||
|
<img class="d-block w-100" src="<?php echo base_url(); ?>aset/banner/gambar2.jpg" alt="Second slide">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
|
||||||
|
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
||||||
|
<span class="sr-only">Previous</span>
|
||||||
|
</a>
|
||||||
|
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
|
||||||
|
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
||||||
|
<span class="sr-only">Next</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-4 text-center padding">
|
||||||
|
<div class="single-service">
|
||||||
|
<img src="<?php echo base_url(); ?>aset/banner/icon3.png" alt="">
|
||||||
|
|
||||||
|
<h2>Aplikasi Responsif</h2>
|
||||||
|
<p>Aplikasi untuk menyesuaikan diri dengan perangkat dan situasi pengguna yang berbeda tanpa kehilangan fungsionalitasnya.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 text-center padding">
|
||||||
|
<div class="single-service">
|
||||||
|
|
||||||
|
<img src="<?php echo base_url(); ?>aset/banner/icon2.png" alt="">
|
||||||
|
|
||||||
|
<h2>Sahabat Peternak</h2>
|
||||||
|
<p>Sistem Pakar ini terus di sesuaikan perhitungan diagnosanya, supaya akurasi terhadap penyakit yang diderita lebih sesuai dan menjadi acuan peternak.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 text-center padding">
|
||||||
|
<div class="single-service">
|
||||||
|
<img src="<?php echo base_url(); ?>aset/banner/icon1.png" alt="">
|
||||||
|
<h2>Admin Pakar</h2>
|
||||||
|
<p>Terdapat fitur admin pakar, untuk mengatur pengetahuan dan CF pakar, telah di sesuaikan tampilannya sehingga pakar bisa lebih mengeksplore aplikasi.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,101 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<title>Broiler Medic</title>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Custom fonts for this template-->
|
||||||
|
<link href="<?php echo base_url(); ?>assets/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
|
||||||
|
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template-->
|
||||||
|
<link href="<?php echo base_url(); ?>assets/css/sb-admin-2.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.bg-login-image {
|
||||||
|
background: url('<?php echo base_url(); ?>assets/logo.png');
|
||||||
|
background-position: center;
|
||||||
|
background-size: contain;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="background-color: #8B4513;">
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<!-- Outer Row -->
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
|
||||||
|
<div class="col-xl-10 col-lg-12 col-md-9">
|
||||||
|
|
||||||
|
<div class="card o-hidden border-0 shadow-lg my-5">
|
||||||
|
<div class="card-body p-0">
|
||||||
|
<!-- Nested Row within Card Body -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-6 d-none d-lg-block bg-login-image"></div>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<div class="p-5">
|
||||||
|
<div class="text-center">
|
||||||
|
<h1 class="h4 text-gray-900 mb-4">Silahkan Masuk</h1>
|
||||||
|
</div>
|
||||||
|
<form class="user" method="post" action="<?php echo base_url(); ?>login/do_login">
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" class="form-control form-control-user" id="exampleInputEmail" aria-describedby="emailHelp" placeholder="Username" name="username">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="password" class="form-control form-control-user" id="exampleInputPassword" placeholder="Password" name="password">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="custom-control custom-checkbox small">
|
||||||
|
<input type="checkbox" class="custom-control-input" id="customCheck">
|
||||||
|
<label class="custom-control-label" for="customCheck">Remember
|
||||||
|
Me</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button class="btn-user btn-block" style="background-color: #FFCA2B; color: white;">
|
||||||
|
Masuk
|
||||||
|
</button>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
<a href="<?php echo base_url(); ?>" class="btn btn-danger btn-user btn-block">
|
||||||
|
<i class="fa fa-home fa-fw"></i> Kembali ke Halaman Beranda
|
||||||
|
</a>
|
||||||
|
</form>
|
||||||
|
<hr>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript-->
|
||||||
|
<script src="vendor/jquery/jquery.min.js"></script>
|
||||||
|
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Core plugin JavaScript-->
|
||||||
|
<script src="vendor/jquery-easing/jquery.easing.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Custom scripts for all pages-->
|
||||||
|
<script src="js/sb-admin-2.min.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -0,0 +1,168 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<?php if ($_SESSION['role'] == "admin") { ?>
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-primary shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
|
||||||
|
Jumlah Gejala</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_gejala['total']; ?> Gejala</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-pen fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-success shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">
|
||||||
|
Jumlah Penyakit</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_penyakit['total']; ?> Penyakit</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-list fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Data Pengetahuan
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_basis_pengetahuan['total']; ?> Data</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<div class="col-xl-3 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Jumlah Pengguna</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_users['total']; ?> Pengguna</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php } else { ?>
|
||||||
|
<!-- Earnings (Monthly) Card Example -->
|
||||||
|
<div class="col-xl-6 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-info shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Total Diagnosa
|
||||||
|
</div>
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col-auto">
|
||||||
|
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800"><?php echo $total_diagnosa['total']; ?> Hasil</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-comments fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Pending Requests Card Example -->
|
||||||
|
<div class="col-xl-6 col-md-6 mb-4">
|
||||||
|
<div class="card border-left-warning shadow h-100 py-2">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row no-gutters align-items-center">
|
||||||
|
<div class="col mr-2">
|
||||||
|
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
|
||||||
|
Riwayat Konsultasi Saya</div>
|
||||||
|
<div class="h5 mb-0 font-weight-bold text-gray-800"><?php echo $total_diagnosa_saya['total']; ?> Hasil</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<i class="fas fa-users fa-2x text-gray-300"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php } ?>
|
||||||
|
|
||||||
|
<div class="col-12 col-md-8">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<form method="POST" action="" enctype="multipart/form-data">
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-2 col-form-label">Nama</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input name="nama_lengkap" type="text" class="form-control" id="" value="<?php echo $_SESSION['nama_lengkap']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-2 col-form-label">Username</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input name="username" type="text" class="form-control" id="" value="<?php echo $_SESSION['username']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-2 col-form-label">Password</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input name="password" type="password" class="form-control" id="" value="<?php echo $_SESSION['password']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-2 col-form-label">Alamat</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input name="alamat" type="text" class="form-control" id="" value="<?php echo $_SESSION['alamat']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-2 col-form-label">No Telp</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input type="number" id="phone" name="phone" maxlength="12" pattern="\d{12}" inputmode="numeric" title="Harap masukkan 12 digit angka" value="<?php echo $fetch['no_telp']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-2 col-form-label"></label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<button class="btn btn-md btn-info">Simpan</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,107 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<title>Broiler Medic</title>
|
||||||
|
|
||||||
|
<!-- Custom fonts for this template-->
|
||||||
|
<link href="<?php echo base_url(); ?>assets/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
|
||||||
|
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template-->
|
||||||
|
<link href="<?php echo base_url(); ?>assets/css/sb-admin-2.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.bg-login-image {
|
||||||
|
background: url('<?php echo base_url(); ?>assets/logo.png');
|
||||||
|
background-position: center;
|
||||||
|
background-size: contain;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="background-color: #8B4513;">
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<!-- Outer Row -->
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
|
||||||
|
<div class="col-xl-10 col-lg-12 col-md-9">
|
||||||
|
|
||||||
|
<div class="card o-hidden border-0 shadow-lg my-5">
|
||||||
|
<div class="card-body p-0">
|
||||||
|
<!-- Nested Row within Card Body -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-6 d-none d-lg-block bg-login-image"></div>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<div class="p-5">
|
||||||
|
<div class="text-center">
|
||||||
|
<h1 class="h4 text-gray-900 mb-4">Silahkan Mendaftar</h1>
|
||||||
|
</div>
|
||||||
|
<form class="user" method="post" action="<?php echo base_url(); ?>login/do_register">
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" class="form-control form-control-user" id="exampleInputEmail" aria-describedby="emailHelp" placeholder="Nama Lengkap" name="nama_lengkap">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" class="form-control form-control-user" id="exampleInputEmail" aria-describedby="emailHelp" placeholder="Username" name="username">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="password" class="form-control form-control-user" id="exampleInputPassword" placeholder="Password" name="password">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="text" class="form-control form-control-user" id="exampleInputAlamat" aria-describedby="alamat" placeholder="Alamat" name="alamat" value="<?php echo $fetch['alamat']; ?>">
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<input type="text" class="form-control form-control-user" id="exampleInputNoTelepon" aria-describedby="no telp" placeholder="No Telepon" name="no telp" maxlength="12" pattern="\d{12}" inputmode="numeric" title="Harap masukkan 12 digit angka" value="<?php echo $fetch['no_telp']; ?>">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="custom-control custom-checkbox small">
|
||||||
|
<input type="checkbox" class="custom-control-input" id="customCheck">
|
||||||
|
<label class="custom-control-label" for="customCheck">Remember
|
||||||
|
Me</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button class="btn-user btn-block" style="background-color: #FFCA2B;">
|
||||||
|
Daftar
|
||||||
|
</button>
|
||||||
|
<hr>
|
||||||
|
<a href="<?php echo base_url(); ?>" class="btn btn-danger btn-user btn-block">
|
||||||
|
<i class="fa fa-home fa-fw"></i> Kembali ke Halaman Beranda
|
||||||
|
</a>
|
||||||
|
</form>
|
||||||
|
<hr>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript-->
|
||||||
|
<script src="vendor/jquery/jquery.min.js"></script>
|
||||||
|
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Core plugin JavaScript-->
|
||||||
|
<script src="vendor/jquery-easing/jquery.easing.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Custom scripts for all pages-->
|
||||||
|
<script src="js/sb-admin-2.min.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -0,0 +1,31 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 col-md-6">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h4 class="text-gray-800">Form Data Gejala</h4>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<form enctype="multipart/form-data" method="post" action="">
|
||||||
|
<input type="hidden" name="id" value="<?php echo $id; ?>" />
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Nama Gejala</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input required type="text" name="nama_gejala" class="form-control" id="" placeholder="" value="<?php echo $fetch['nama_gejala']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label"></label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<button class="btn btn-md btn-warning">Simpan</button>
|
||||||
|
<a href="<?php echo base_url(); ?>dashboard/daftar_gejala" class="btn btn-md btn-danger">Batal</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,81 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid mb-5">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="alert alert-success alert-dismissible">
|
||||||
|
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||||
|
<h4><i class="icon fa fa-exclamation-triangle"></i>Petunjuk Pengisian Pakar !</h4>
|
||||||
|
Silahkan pilih gejala yang sesuai dengan penyakit yang ada, dan berikan <b>nilai kepastian (MB & MB)</b> dengan cakupan sebagai berikut:<br><br>
|
||||||
|
<b>1.0</b> (Pasti Ya) | <b>0.8</b> (Hampir Pasti) |<br>
|
||||||
|
<b>0.6</b> (Kemungkinan Besar) | <b>0.4</b> (Mungkin) |<br>
|
||||||
|
<b>0.2</b> (Hampir Mungkin) | <b>0.0</b> (Tidak Tahu atau Tidak Yakin) |<br><br>
|
||||||
|
<b>CF(Pakar) = MB – MD</b><br>
|
||||||
|
MB : Ukuran kenaikan kepercayaan (measure of increased belief) MD : Ukuran kenaikan ketidakpercayaan (measure of increased disbelief) <br> <br>
|
||||||
|
<b>Contoh:</b><br>
|
||||||
|
Jika kepercayaan <b>(MB)</b> anda terhadap gejala Mencret keputih-putihan untuk penyakit Berak Kapur adalah <b>0.8 (Hampir Pasti)</b><br>
|
||||||
|
Dan ketidakpercayaan <b>(MD)</b> anda terhadap gejala Mencret keputih-putihan untuk penyakit Berak Kapur adalah <b>0.2 (Hampir Mungkin)</b><br><br>
|
||||||
|
<b>Maka:</b> CF(Pakar) = MB – MD (0.8 - 0.2) = <b>0.6</b> <br>
|
||||||
|
Dimana nilai kepastian anda terhadap gejala Mencret keputih-putihan untuk penyakit Berak Kapur adalah <b>0.6 (Kemungkinan Besar)</b>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-12 col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h4 class="text-gray-800">Form Basis Data Pengetahuan</h4>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<form enctype="multipart/form-data" method="post" action="">
|
||||||
|
<input type="hidden" name="id" value="<?php echo $id; ?>" />
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Penyakit</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<select required class="form-control" name="kode_penyakit">
|
||||||
|
<option value="">Pilih Penyakit</option>
|
||||||
|
<?php foreach ($penyakit as $p) { ?>
|
||||||
|
<option <?php if ($fetch['kode_penyakit'] == $p['kode_penyakit']) {
|
||||||
|
echo "selected";
|
||||||
|
} ?> value="<?php echo $p['kode_penyakit']; ?>"><?php echo $p['nama_penyakit']; ?></option>
|
||||||
|
<?php } ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Keterangan</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<select required class="form-control" name="kode_gejala">
|
||||||
|
<option value="">Pilih Gejala</option>
|
||||||
|
<?php foreach ($gejala as $g) { ?>
|
||||||
|
<option <?php if ($fetch['kode_gejala'] == $g['kode_gejala']) {
|
||||||
|
echo "selected";
|
||||||
|
} ?> value="<?php echo $g['kode_gejala']; ?>"><?php echo $g['nama_gejala']; ?></option>
|
||||||
|
<?php } ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">MB</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input type="number" id="mb" name="mb" step="0.1" min="0.1" max="1.0" required title="Harap masukkan nilai antara 0.1 dan 1.0" value="<?php echo $fetch['mb']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">MD</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input type="number" id="mb" name="mb" step="0.1" min="0.1" max="1.0" required title="Harap masukkan nilai antara 0.1 dan 1.0" value="<?php echo $fetch['md']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label"></label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<button class="btn btn-md btn-warning">Simpan</button>
|
||||||
|
<a href="<?php echo base_url(); ?>dashboard/daftar_pengetahuan" class="btn btn-md btn-danger">Batal</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,68 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid mb-5">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 col-md-6">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h4 class="text-gray-800">Form Data Pengguna</h4>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<form enctype="multipart/form-data" method="post" action="">
|
||||||
|
<input type="hidden" name="id" value="<?php echo $id; ?>" />
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Nama Lengkap</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input required type="text" name="nama_lengkap" class="form-control" id="" placeholder="" value="<?php echo $fetch['nama_lengkap']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Username</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input required type="text" name="username" class="form-control" id="" placeholder="" value="<?php echo $fetch['username']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Password</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input <?php if (empty($id)) { ?>required<?php } ?> type="password" name="password" class="form-control" id="" placeholder="<?php if ($id) { ?>Kosongkan apabila tidak ingin diperbarui<?php } ?>" value="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Alamat</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input type="text" name="alamat" class="form-control" id="" placeholder="" value="<?php echo $fetch['alamat']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">No Telp</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input type="number" id="no_telp" name="no_telp" maxlength="12" pattern="\d{12}" inputmode="numeric" title="Harap masukkan 12 digit angka" value="<?php echo $d['no_telp']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Role</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<select class="form-control" name="role">
|
||||||
|
<option <?php if ($fetch['role'] == 'admin') {
|
||||||
|
echo "selected";
|
||||||
|
} ?> value="admin">Admin</option>
|
||||||
|
<option <?php if ($fetch['role'] == 'user') {
|
||||||
|
echo "selected";
|
||||||
|
} ?> value="user">User</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label"></label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<button class="btn btn-md btn-warning">Simpan</button>
|
||||||
|
<a href="<?php echo base_url(); ?>dashboard/daftar_pengguna" class="btn btn-md btn-danger">Batal</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,54 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid mb-5">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 col-md-6">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h4 class="text-gray-800">Form Data Penyakit</h4>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<form enctype="multipart/form-data" method="post" action="">
|
||||||
|
<input type="hidden" name="id" value="<?php echo $id; ?>" />
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Nama Penyakit</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input required type="text" name="nama_penyakit" class="form-control" id="" placeholder="" value="<?php echo $fetch['nama_penyakit']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Keterangan</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<textarea class="form-control" name="det_penyakit" rows="7"><?php echo $fetch['det_penyakit']; ?></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Saran</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<textarea class="form-control" name="srn_penyakit" rows="7"><?php echo $fetch['srn_penyakit']; ?></textarea>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Gambar</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<?php if ($id) { ?>
|
||||||
|
<a target="_blank" href="<?php echo base_url(); ?>aset/penyakit/<?php echo $fetch['gambar']; ?>"><img src="<?php echo base_url(); ?>aset/penyakit/<?php echo $fetch['gambar']; ?>" class="w-100 mb-3" /></a>
|
||||||
|
<?php } ?>
|
||||||
|
|
||||||
|
|
||||||
|
<input type="file" id="file" name="file" accept="image/*" required>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label"></label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<button class="btn btn-md btn-warning">Simpan</button>
|
||||||
|
<a href="<?php echo base_url(); ?>dashboard/daftar_penyakit" class="btn btn-md btn-danger">Batal</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
|
@ -0,0 +1,52 @@
|
||||||
|
<!-- Begin Page Content -->
|
||||||
|
<div class="container-fluid mb-5">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<h4 class="text-gray-800">Form Data Perawatan</h4>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<form enctype="multipart/form-data" method="post" action="">
|
||||||
|
<input type="hidden" name="id" value="<?php echo $id; ?>" />
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Nama Penyakit</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input readonly="readonly" type="text" name="nama_penyakit" class="form-control" id="" placeholder="" value="<?php echo $fetch['nama_penyakit']; ?>">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Cara Perawatan</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<textarea class="form-control" name="srn_penyakit" rows="7"><?php echo $fetch['srn_penyakit']; ?></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label">Cara Pencegahan</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<textarea class="form-control" name="srn_pencegahan" id="editor" rows="7"><?php echo $fetch['srn_pencegahan']; ?></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group row">
|
||||||
|
<label for="" class="col-sm-3 col-form-label"></label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<button class="btn btn-md btn-warning">Simpan</button>
|
||||||
|
<a href="<?php echo base_url(); ?>dashboard/daftar_perawatan" class="btn btn-md btn-danger">Batal</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
||||||
|
|
||||||
|
<script src="https://cdn.ckeditor.com/ckeditor5/36.0.1/classic/ckeditor.js"></script>
|
||||||
|
<script>
|
||||||
|
ClassicEditor
|
||||||
|
.create(document.querySelector('#editor'))
|
||||||
|
.catch(error => {
|
||||||
|
console.error(error);
|
||||||
|
});
|
||||||
|
</script>
|
|
@ -0,0 +1,100 @@
|
||||||
|
<?php
|
||||||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||||
|
?><!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Welcome to CodeIgniter</title>
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
|
||||||
|
::selection { background-color: #E13300; color: white; }
|
||||||
|
::-moz-selection { background-color: #E13300; color: white; }
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: #fff;
|
||||||
|
margin: 40px;
|
||||||
|
font: 13px/20px normal Helvetica, Arial, sans-serif;
|
||||||
|
color: #4F5155;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #003399;
|
||||||
|
background-color: transparent;
|
||||||
|
font-weight: normal;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
color: #97310e;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
color: #444;
|
||||||
|
background-color: transparent;
|
||||||
|
border-bottom: 1px solid #D0D0D0;
|
||||||
|
font-size: 19px;
|
||||||
|
font-weight: normal;
|
||||||
|
margin: 0 0 14px 0;
|
||||||
|
padding: 14px 15px 10px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-family: Consolas, Monaco, Courier New, Courier, monospace;
|
||||||
|
font-size: 12px;
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
border: 1px solid #D0D0D0;
|
||||||
|
color: #002166;
|
||||||
|
display: block;
|
||||||
|
margin: 14px 0 14px 0;
|
||||||
|
padding: 12px 10px 12px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#body {
|
||||||
|
margin: 0 15px 0 15px;
|
||||||
|
min-height: 96px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin: 0 0 10px;
|
||||||
|
padding:0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.footer {
|
||||||
|
text-align: right;
|
||||||
|
font-size: 11px;
|
||||||
|
border-top: 1px solid #D0D0D0;
|
||||||
|
line-height: 32px;
|
||||||
|
padding: 0 10px 0 10px;
|
||||||
|
margin: 20px 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#container {
|
||||||
|
margin: 10px;
|
||||||
|
border: 1px solid #D0D0D0;
|
||||||
|
box-shadow: 0 0 8px #D0D0D0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div id="container">
|
||||||
|
<h1>Welcome to CodeIgniter!</h1>
|
||||||
|
|
||||||
|
<div id="body">
|
||||||
|
<p>The page you are looking at is being generated dynamically by CodeIgniter.</p>
|
||||||
|
|
||||||
|
<p>If you would like to edit this page you'll find it located at:</p>
|
||||||
|
<code>application/views/welcome_message.php</code>
|
||||||
|
|
||||||
|
<p>The corresponding controller for this page is found at:</p>
|
||||||
|
<code>application/controllers/Welcome.php</code>
|
||||||
|
|
||||||
|
<p>If you are exploring CodeIgniter for the very first time, you should start by reading the <a href="userguide3/">User Guide</a>.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds. <?php echo (ENVIRONMENT === 'development') ? 'CodeIgniter Version <strong>' . CI_VERSION . '</strong>' : '' ?></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 116 B |
|
@ -0,0 +1,73 @@
|
||||||
|
/*
|
||||||
|
* Core Owl Carousel CSS File
|
||||||
|
* v1.3.3
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* clearfix */
|
||||||
|
.owl-carousel .owl-wrapper:after {
|
||||||
|
content: ".";
|
||||||
|
display: block;
|
||||||
|
clear: both;
|
||||||
|
visibility: hidden;
|
||||||
|
line-height: 0;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
/* display none until init */
|
||||||
|
.owl-carousel{
|
||||||
|
display: none;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
-ms-touch-action: pan-y;
|
||||||
|
}
|
||||||
|
.owl-carousel .owl-wrapper{
|
||||||
|
display: none;
|
||||||
|
position: relative;
|
||||||
|
-webkit-transform: translate3d(0px, 0px, 0px);
|
||||||
|
}
|
||||||
|
.owl-carousel .owl-wrapper-outer{
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.owl-carousel .owl-wrapper-outer.autoHeight{
|
||||||
|
-webkit-transition: height 500ms ease-in-out;
|
||||||
|
-moz-transition: height 500ms ease-in-out;
|
||||||
|
-ms-transition: height 500ms ease-in-out;
|
||||||
|
-o-transition: height 500ms ease-in-out;
|
||||||
|
transition: height 500ms ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.owl-carousel .owl-item{
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.owl-controls .owl-page,
|
||||||
|
.owl-controls .owl-buttons div{
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.owl-controls {
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-khtml-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* mouse grab icon
|
||||||
|
.grabbing {
|
||||||
|
cursor:url(grabbing.png) 8 8, move;
|
||||||
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* fix */
|
||||||
|
.owl-carousel .owl-wrapper,
|
||||||
|
.owl-carousel .owl-item{
|
||||||
|
-webkit-backface-visibility: hidden;
|
||||||
|
-moz-backface-visibility: hidden;
|
||||||
|
-ms-backface-visibility: hidden;
|
||||||
|
-webkit-transform: translate3d(0,0,0);
|
||||||
|
-moz-transform: translate3d(0,0,0);
|
||||||
|
-ms-transform: translate3d(0,0,0);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
/*
|
||||||
|
* Owl Carousel Owl Demo Theme
|
||||||
|
* v1.3.3
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
.owl-theme .owl-controls{
|
||||||
|
margin-top: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.owl-theme .owl-controls .owl-buttons{
|
||||||
|
bottom: 50%;
|
||||||
|
margin-bottom: -25px;
|
||||||
|
position: absolute;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styling Next and Prev buttons */
|
||||||
|
|
||||||
|
.owl-theme .owl-controls .owl-buttons div{
|
||||||
|
color: #FFF;
|
||||||
|
display: inline-block;
|
||||||
|
zoom: 1;
|
||||||
|
*display: inline;/*IE7 life-saver */
|
||||||
|
margin: 5px;
|
||||||
|
padding: 3px 10px;
|
||||||
|
font-size: 25px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.owl-theme .owl-controls .owl-buttons .owl-prev{
|
||||||
|
float:left;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.owl-theme .owl-controls .owl-buttons .owl-next{
|
||||||
|
float:right;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Clickable class fix problem with hover on touch devices */
|
||||||
|
/* Use it for non-touch hover action */
|
||||||
|
.owl-theme .owl-controls.clickable .owl-buttons div:hover{
|
||||||
|
filter: Alpha(Opacity=100);/*IE7 fix*/
|
||||||
|
opacity: 1;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styling Pagination*/
|
||||||
|
|
||||||
|
.owl-theme .owl-controls .owl-page{
|
||||||
|
display: inline-block;
|
||||||
|
zoom: 1;
|
||||||
|
*display: inline;/*IE7 life-saver */
|
||||||
|
}
|
||||||
|
.owl-theme .owl-controls .owl-page span{
|
||||||
|
display: block;
|
||||||
|
width: 9px;
|
||||||
|
height: 9px;
|
||||||
|
margin: 10px 3px;
|
||||||
|
-webkit-border-radius: 20px;
|
||||||
|
-moz-border-radius: 20px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background: #efefef;
|
||||||
|
}
|
||||||
|
|
||||||
|
.owl-theme .owl-controls .owl-page.active span,
|
||||||
|
.owl-theme .owl-controls.clickable .owl-page:hover span{
|
||||||
|
background: #558e6a;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If PaginationNumbers is true */
|
||||||
|
|
||||||
|
.owl-theme .owl-controls .owl-page span.owl-numbers{
|
||||||
|
height: auto;
|
||||||
|
width: auto;
|
||||||
|
color: #FFF;
|
||||||
|
padding: 2px 10px;
|
||||||
|
font-size: 12px;
|
||||||
|
-webkit-border-radius: 30px;
|
||||||
|
-moz-border-radius: 30px;
|
||||||
|
border-radius: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* preloading images */
|
||||||
|
.owl-item.loading{
|
||||||
|
min-height: 150px;
|
||||||
|
background: url(AjaxLoader.gif) no-repeat center center
|
||||||
|
}
|
|
@ -0,0 +1,163 @@
|
||||||
|
/*
|
||||||
|
* Owl Carousel CSS3 Transitions
|
||||||
|
* v1.3.2
|
||||||
|
*/
|
||||||
|
|
||||||
|
.owl-origin {
|
||||||
|
-webkit-perspective: 1200px;
|
||||||
|
-webkit-perspective-origin-x : 50%;
|
||||||
|
-webkit-perspective-origin-y : 50%;
|
||||||
|
-moz-perspective : 1200px;
|
||||||
|
-moz-perspective-origin-x : 50%;
|
||||||
|
-moz-perspective-origin-y : 50%;
|
||||||
|
perspective : 1200px;
|
||||||
|
}
|
||||||
|
/* fade */
|
||||||
|
.owl-fade-out {
|
||||||
|
z-index: 10;
|
||||||
|
-webkit-animation: fadeOut .7s both ease;
|
||||||
|
-moz-animation: fadeOut .7s both ease;
|
||||||
|
animation: fadeOut .7s both ease;
|
||||||
|
}
|
||||||
|
.owl-fade-in {
|
||||||
|
-webkit-animation: fadeIn .7s both ease;
|
||||||
|
-moz-animation: fadeIn .7s both ease;
|
||||||
|
animation: fadeIn .7s both ease;
|
||||||
|
}
|
||||||
|
/* backSlide */
|
||||||
|
.owl-backSlide-out {
|
||||||
|
-webkit-animation: backSlideOut 1s both ease;
|
||||||
|
-moz-animation: backSlideOut 1s both ease;
|
||||||
|
animation: backSlideOut 1s both ease;
|
||||||
|
}
|
||||||
|
.owl-backSlide-in {
|
||||||
|
-webkit-animation: backSlideIn 1s both ease;
|
||||||
|
-moz-animation: backSlideIn 1s both ease;
|
||||||
|
animation: backSlideIn 1s both ease;
|
||||||
|
}
|
||||||
|
/* goDown */
|
||||||
|
.owl-goDown-out {
|
||||||
|
-webkit-animation: scaleToFade .7s ease both;
|
||||||
|
-moz-animation: scaleToFade .7s ease both;
|
||||||
|
animation: scaleToFade .7s ease both;
|
||||||
|
}
|
||||||
|
.owl-goDown-in {
|
||||||
|
-webkit-animation: goDown .6s ease both;
|
||||||
|
-moz-animation: goDown .6s ease both;
|
||||||
|
animation: goDown .6s ease both;
|
||||||
|
}
|
||||||
|
/* scaleUp */
|
||||||
|
.owl-fadeUp-in {
|
||||||
|
-webkit-animation: scaleUpFrom .5s ease both;
|
||||||
|
-moz-animation: scaleUpFrom .5s ease both;
|
||||||
|
animation: scaleUpFrom .5s ease both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.owl-fadeUp-out {
|
||||||
|
-webkit-animation: scaleUpTo .5s ease both;
|
||||||
|
-moz-animation: scaleUpTo .5s ease both;
|
||||||
|
animation: scaleUpTo .5s ease both;
|
||||||
|
}
|
||||||
|
/* Keyframes */
|
||||||
|
/*empty*/
|
||||||
|
@-webkit-keyframes empty {
|
||||||
|
0% {opacity: 1}
|
||||||
|
}
|
||||||
|
@-moz-keyframes empty {
|
||||||
|
0% {opacity: 1}
|
||||||
|
}
|
||||||
|
@keyframes empty {
|
||||||
|
0% {opacity: 1}
|
||||||
|
}
|
||||||
|
@-webkit-keyframes fadeIn {
|
||||||
|
0% { opacity:0; }
|
||||||
|
100% { opacity:1; }
|
||||||
|
}
|
||||||
|
@-moz-keyframes fadeIn {
|
||||||
|
0% { opacity:0; }
|
||||||
|
100% { opacity:1; }
|
||||||
|
}
|
||||||
|
@keyframes fadeIn {
|
||||||
|
0% { opacity:0; }
|
||||||
|
100% { opacity:1; }
|
||||||
|
}
|
||||||
|
@-webkit-keyframes fadeOut {
|
||||||
|
0% { opacity:1; }
|
||||||
|
100% { opacity:0; }
|
||||||
|
}
|
||||||
|
@-moz-keyframes fadeOut {
|
||||||
|
0% { opacity:1; }
|
||||||
|
100% { opacity:0; }
|
||||||
|
}
|
||||||
|
@keyframes fadeOut {
|
||||||
|
0% { opacity:1; }
|
||||||
|
100% { opacity:0; }
|
||||||
|
}
|
||||||
|
@-webkit-keyframes backSlideOut {
|
||||||
|
25% { opacity: .5; -webkit-transform: translateZ(-500px); }
|
||||||
|
75% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); }
|
||||||
|
100% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); }
|
||||||
|
}
|
||||||
|
@-moz-keyframes backSlideOut {
|
||||||
|
25% { opacity: .5; -moz-transform: translateZ(-500px); }
|
||||||
|
75% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }
|
||||||
|
100% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }
|
||||||
|
}
|
||||||
|
@keyframes backSlideOut {
|
||||||
|
25% { opacity: .5; transform: translateZ(-500px); }
|
||||||
|
75% { opacity: .5; transform: translateZ(-500px) translateX(-200%); }
|
||||||
|
100% { opacity: .5; transform: translateZ(-500px) translateX(-200%); }
|
||||||
|
}
|
||||||
|
@-webkit-keyframes backSlideIn {
|
||||||
|
0%, 25% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(200%); }
|
||||||
|
75% { opacity: .5; -webkit-transform: translateZ(-500px); }
|
||||||
|
100% { opacity: 1; -webkit-transform: translateZ(0) translateX(0); }
|
||||||
|
}
|
||||||
|
@-moz-keyframes backSlideIn {
|
||||||
|
0%, 25% { opacity: .5; -moz-transform: translateZ(-500px) translateX(200%); }
|
||||||
|
75% { opacity: .5; -moz-transform: translateZ(-500px); }
|
||||||
|
100% { opacity: 1; -moz-transform: translateZ(0) translateX(0); }
|
||||||
|
}
|
||||||
|
@keyframes backSlideIn {
|
||||||
|
0%, 25% { opacity: .5; transform: translateZ(-500px) translateX(200%); }
|
||||||
|
75% { opacity: .5; transform: translateZ(-500px); }
|
||||||
|
100% { opacity: 1; transform: translateZ(0) translateX(0); }
|
||||||
|
}
|
||||||
|
@-webkit-keyframes scaleToFade {
|
||||||
|
to { opacity: 0; -webkit-transform: scale(.8); }
|
||||||
|
}
|
||||||
|
@-moz-keyframes scaleToFade {
|
||||||
|
to { opacity: 0; -moz-transform: scale(.8); }
|
||||||
|
}
|
||||||
|
@keyframes scaleToFade {
|
||||||
|
to { opacity: 0; transform: scale(.8); }
|
||||||
|
}
|
||||||
|
@-webkit-keyframes goDown {
|
||||||
|
from { -webkit-transform: translateY(-100%); }
|
||||||
|
}
|
||||||
|
@-moz-keyframes goDown {
|
||||||
|
from { -moz-transform: translateY(-100%); }
|
||||||
|
}
|
||||||
|
@keyframes goDown {
|
||||||
|
from { transform: translateY(-100%); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes scaleUpFrom {
|
||||||
|
from { opacity: 0; -webkit-transform: scale(1.5); }
|
||||||
|
}
|
||||||
|
@-moz-keyframes scaleUpFrom {
|
||||||
|
from { opacity: 0; -moz-transform: scale(1.5); }
|
||||||
|
}
|
||||||
|
@keyframes scaleUpFrom {
|
||||||
|
from { opacity: 0; transform: scale(1.5); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes scaleUpTo {
|
||||||
|
to { opacity: 0; -webkit-transform: scale(1.5); }
|
||||||
|
}
|
||||||
|
@-moz-keyframes scaleUpTo {
|
||||||
|
to { opacity: 0; -moz-transform: scale(1.5); }
|
||||||
|
}
|
||||||
|
@keyframes scaleUpTo {
|
||||||
|
to { opacity: 0; transform: scale(1.5); }
|
||||||
|
}
|
After Width: | Height: | Size: 97 KiB |
After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 142 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 114 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 120 KiB |
After Width: | Height: | Size: 102 KiB |
After Width: | Height: | Size: 60 KiB |