project done before

This commit is contained in:
kicap1992
2021-06-23 16:57:23 +08:00
commit 15fa0dcc92
1144 changed files with 252494 additions and 0 deletions

15
.editorconfig Normal file
View File

@ -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

31
.gitignore vendored Normal file
View File

@ -0,0 +1,31 @@
.DS_Store
application/cache/*
!application/cache/index.html
application/logs/*
!application/logs/index.html
!application/*/.htaccess
composer.lock
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/

5
.htaccess Normal file
View File

@ -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]

6
application/.htaccess Normal file
View File

@ -0,0 +1,6 @@
<IfModule authz_core_module>
Require all denied
</IfModule>
<IfModule !authz_core_module>
Deny from all
</IfModule>

11
application/cache/index.html vendored Normal file
View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,135 @@
<?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','email','session','user_agent');
/*
| -------------------------------------------------------------------
| 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','form');
/*
| -------------------------------------------------------------------
| 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();

View File

@ -0,0 +1,524 @@
<?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 guess the protocol and path
| 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'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];
$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
/*
|--------------------------------------------------------------------------
| 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/user_guide/general/urls.html
*/
$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/user_guide/general/core_classes.html
| https://codeigniter.com/user_guide/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/user_guide/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_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_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)
|
| 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;
/*
|--------------------------------------------------------------------------
| 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'] = '';

View File

@ -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

View File

@ -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' => 'db_pembangunan',
'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
);

View File

@ -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">'
);

View File

@ -0,0 +1,103 @@
<?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',
'/Ķ|Κ|К/' => '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',
'/Ź|Ż|Ž|Ζ|З/' => 'Z',
'/ź|ż|ž|ζ|з/' => 'z',
'/Æ|Ǽ/' => 'AE',
'/ß/' => 'ss',
'/IJ/' => 'IJ',
'/ij/' => 'ij',
'/Œ/' => 'OE',
'/ƒ/' => 'f',
'/ξ/' => 'ks',
'/π/' => 'p',
'/β/' => 'v',
'/μ/' => 'm',
'/ψ/' => 'ps',
'/Ё/' => 'Yo',
'/ё/' => 'yo',
'/Є/' => 'Ye',
'/є/' => 'ye',
'/Ї/' => 'Yi',
'/Ж/' => 'Zh',
'/ж/' => 'zh',
'/Х/' => 'Kh',
'/х/' => 'kh',
'/Ц/' => 'Ts',
'/ц/' => 'ts',
'/Ч/' => 'Ch',
'/ч/' => 'ch',
'/Ш/' => 'Sh',
'/ш/' => 'sh',
'/Щ/' => 'Shch',
'/щ/' => 'shch',
'/Ъ|ъ|Ь|ь/' => '',
'/Ю/' => 'Yu',
'/ю/' => 'yu',
'/Я/' => 'Ya',
'/я/' => 'ya'
);

View File

@ -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/user_guide/general/hooks.html
|
*/

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -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/user_guide/libraries/caching.html#memcached
|
*/
$config = array(
'default' => array(
'hostname' => '127.0.0.1',
'port' => '11211',
'weight' => '1',
),
);

View File

@ -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/';

View File

@ -0,0 +1,184 @@
<?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',
'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' => 'audio/x-acc',
'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', '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'
);

View File

@ -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/user_guide/general/profiling.html
|
*/

View File

@ -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/user_guide/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'] = 'login';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

View File

@ -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/user_guide/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')
);

View File

@ -0,0 +1,215 @@
<?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',
// 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'
);

View File

@ -0,0 +1,250 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Admin extends CI_Controller {
public function __construct()
{
parent::__construct();
// $this->load->helper('form');
// $this->load->library('form_validation');
$this->load->model('model');
$data = $this->session->userdata('login');
if ($data == '') {
$this->session->set_flashdata('warning','3');
redirect('/login');
}else{
if ($data['level'] == "admin") {
}else{
$this->session->set_flashdata('warning','3');
redirect('/login');
}
}
}
function index()
{
$main['usulan'] = $this->model->tampil_data_keseluruhan('tb_rencana_pembangunan');
$main['usulan_diterima'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 3));
$main['header'] = "Halaman Utama";
$this->load->view('admin/index',$main);
}
function rencana_pembangunan()
{
$main['usulan'] = $this->model->tampil_data_keseluruhan('tb_rencana_pembangunan');
$main['usulan_diterima'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 3));
$main['header'] = "Halaman Pengusulan Rencana Pembangunan";
$main['list'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 1));
$main['list_ditolak'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 5));
if ($this->input->post('id') != '' and $this->input->post('id') != null and $this->input->post('info') == "tolak") {
$no = $this->input->post('id');
$alasan = $this->input->post('alasan');
// print_r($alasan);
$this->model->update('tb_rencana_pembangunan',array('no' => $no),array('status' => 5));
$this->model->insert('tb_ket_penolakan',array('no' => $no, 'ket_admin' => $alasan));
$this->session->set_flashdata('success', 'Pengusulan Rencana Pembangunan Ditolak Oleh Admin');
}elseif ($this->input->post('id') != '' and $this->input->post('id') != null and $this->input->post('info') == "sahkan") {
$no = $this->input->post('id');
$this->model->update('tb_rencana_pembangunan',array('no' => $no),array('status' => 2));
$this->session->set_flashdata('success', 'Pengusulan Rencana Pembangunan Berhasil Disahkan, Menunggu Pengesahan Dari Camat');
}elseif ($this->input->post('id') != '' and $this->input->post('id') != null and $this->input->post('info') == "lihat") {
$cek_data = $this->model->tampil_data_where('tb_rencana_pembangunan',array('no' => $this->input->post('id')));
foreach ($cek_data->result_array() as $key => $value) ;
$cek_status = $this->model->tampil_data_where('tb_status',array('no' => $value['status']));
foreach ($cek_status->result() as $key1 => $value1) ;
$cek_staff = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $value['nik']))->result();
$cek_kelurahan = $this->model->tampil_data_where('tb_kelurahan',array('no' => $cek_staff[0]->kelurahan))->result();
$kelurahan = array('kelurahan' => $cek_kelurahan[0]->kelurahan);
$status = array('ket_status' => $value1->status);
$output = array_merge($value,$status);
$output = array_merge($output,$kelurahan);
if ($value['status'] == 4) {
$cek_ket = $this->model->tampil_data_where('tb_ket_penolakan',array('no' => $this->input->post('id')));
foreach ($cek_ket->result() as $key2 => $value2) ;
$output = array_merge($output,array('ket' => $value2->ket_camat));
}elseif ($value['status'] == 5) {
$cek_ket = $this->model->tampil_data_where('tb_ket_penolakan',array('no' => $this->input->post('id')));
foreach ($cek_ket->result() as $key2 => $value2) ;
$output = array_merge($output,array('ket' => $value2->ket_admin));
}
print_r(json_encode($output));
}else{
$this->load->view('admin/menu/rencana_pembangunan',$main);
}
}
function data_usulan(){
$main['usulan'] = $this->model->tampil_data_keseluruhan('tb_rencana_pembangunan');
$main['usulan_diterima'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 3));
$main['header'] = "Halaman Data Usulan Rencana Pembangunan";
$main['list'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 2));
$main['list_ditolak_camat'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 4));
$this->load->view('admin/menu/data_usulan',$main);
}
function usulan_diterima() {
$main['usulan'] = $this->model->tampil_data_keseluruhan('tb_rencana_pembangunan');
$main['usulan_diterima'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 3));
$main['header'] = "Halaman Data Usulan Diterima";
$main['list'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 3));
$this->load->view('admin/menu/usulan_diterima',$main);
}
function staff() {
$main['usulan'] = $this->model->tampil_data_keseluruhan('tb_rencana_pembangunan');
$main['usulan_diterima'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 3));
$main['list_staff'] = $this->model->tampil_data_keseluruhan('tb_staff_kelurahan');
if ($this->input->post('info') == 'edit' and $this->input->post('id') != '' and $this->input->post('id') != '') {
$id = $this->input->post('id');
$data = $this->model->serialize($this->input->post('data'));
$this->model->update('tb_staff_kelurahan',array('nik' => $id) , $data);
$this->session->set_flashdata('success', 'Data Staff Berhasil Diupdate');
}
elseif ($this->input->post('info') == 'lihat' and $this->input->post('id') != '' and $this->input->post('id') != '') {
$cek_data = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' =>$this->input->post('id')));
$output = $cek_data->result_array()[0];
if ($output['kelurahan'] == 1) {
$kelurahan = array('select_kelurahan' =>'<select class="form-control" title="Klik Tambah Staff Untuk Menambah Staff Baru" data-bv-notempty="true" data-bv-notempty-message="Kelurahan Harus Terpilih" name="kelurahan" id="kelurahan"><option value="" disabled="">-Pilih Kelurahan </option><option value="1" selected="">Galong Maloang</option><option value="2">Lemoe</option><option value="3">Lumpue</option><option value="4">Watang Bacukiki</option></select>');
$output = array_merge($output,$kelurahan);
}elseif ($output['kelurahan'] == 2) {
$kelurahan = array('select_kelurahan' =>'<select class="form-control" title="Klik Tambah Staff Untuk Menambah Staff Baru" data-bv-notempty="true" data-bv-notempty-message="Kelurahan Harus Terpilih" name="kelurahan" id="kelurahan"><option value="" disabled="">-Pilih Kelurahan </option><option value="1" >Galong Maloang</option><option value="2" selected="">Lemoe</option><option value="3">Lumpue</option><option value="4">Watang Bacukiki</option></select>');
$output = array_merge($output,$kelurahan);
}elseif ($output['kelurahan'] == 3) {
$kelurahan = array('select_kelurahan' =>'<select class="form-control" title="Klik Tambah Staff Untuk Menambah Staff Baru" data-bv-notempty="true" data-bv-notempty-message="Kelurahan Harus Terpilih" name="kelurahan" id="kelurahan"><option value="" disabled="">-Pilih Kelurahan </option><option value="1" >Galong Maloang</option><option value="2">Lemoe</option><option value="3" selected="">Lumpue</option><option value="4">Watang Bacukiki</option></select>');
$output = array_merge($output,$kelurahan);
}elseif ($output['kelurahan'] == 4) {
$kelurahan = array('select_kelurahan' =>'<select class="form-control" title="Klik Tambah Staff Untuk Menambah Staff Baru" data-bv-notempty="true" data-bv-notempty-message="Kelurahan Harus Terpilih" name="kelurahan" id="kelurahan"><option value="" disabled="">-Pilih Kelurahan </option><option value="1" >Galong Maloang</option><option value="2">Lemoe</option><option value="3" >Lumpue</option><option value="4" selected="">Watang Bacukiki</option></select>');
$output = array_merge($output,$kelurahan);
}
$script1 = array('script1' => '<script type="text/javascript">
function setInputFilter(textbox, inputFilter) {
["input", "keydown", "keyup", "mousedown", "mouseup", "select", "contextmenu", "drop"].forEach(function(event) {
textbox.addEventListener(event, function() {
if (inputFilter(this.value)) {
this.oldValue = this.value;
this.oldSelectionStart = this.selectionStart;
this.oldSelectionEnd = this.selectionEnd;
} else if (this.hasOwnProperty("oldValue")) {
this.value = this.oldValue;
this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);
} else {
this.value = "";
}
});
});
}
// Install input filters.
setInputFilter(document.getElementById("nik"), function(value) {
return /^-?\d*$/.test(value); });
setInputFilter(document.getElementById("no_telpon"), function(value) {
return /^-?\d*$/.test(value); });
</script>
<script type="text/javascript">
$(document).ready(function(){
$("#sini_form").bootstrapValidator({
message: "This value is not valid",
feedbackIcons: {
// valid: "fa fa-check",
invalid: "fa fa-close",
validating: "fa fa-circle-o-notch"
},
excluded: ":disabled"
})
})
</script>');
$output = array_merge($output,$script1);
$script3 = array('script2' => "<script>
$(document).ready(function(){
$('#sini_form_edit').bootstrapValidator({
message: 'This value is not valid',
feedbackIcons: {
// valid: 'fa fa-check',
invalid: 'fa fa-close',
validating: 'fa fa-circle-o-notch'
},
excluded: ':disabled'
})
})</script>");
$output = array_merge($output,$script3);
print_r(json_encode($output));
}elseif ($this->input->post('info') == 'tambah' and $this->input->post('data') != null and $this->input->post('data') != '') {
$data = $this->model->serialize($this->input->post('data'));
$cek_data = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $data['nik']));
if (count($cek_data->result()) > 0) {
print_r('ada');
$this->session->set_flashdata('error', 'Staff Dengan NIK '. $data['nik'].' Telah Terdaftar Dalam Sistem Sebelumnya');
// redirect($_SERVER['HTTP_REFERER']);
}else{
print_r('tiada');
$this->model->insert('tb_staff_kelurahan',$data);
$this->model->insert('tb_user',array('username' => $data['nik'], 'password' => $data['nik'], 'nik_staff' => $data['nik'], 'level' => 3));
$this->session->set_flashdata('success', 'Staff Dengan NIK '. $data['nik'].' Telah Ditambah Dalam Sistem');
}
// print_r($data);
}else{
$main['header'] = "Halaman Staff Kelurahan";
$this->load->view('admin/menu/staff',$main);
}
}
function laporan() {
$main['usulan_diterima'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 3));
$main['header'] = 'Laporan Pembangunan Bacukiki';
$main['usulan'] = $this->model->tampil_data_keseluruhan('tb_rencana_pembangunan');
if ($this->uri->segment(3) != '' or $this->uri->segment(3) != null) {
$main['list'] = $this->model->custom_query("SELECT * FROM `tb_rencana_pembangunan` WHERE `tanggal_upload` LIKE '%".$this->uri->segment(3)."%'");
$this->load->view('admin/menu/laporan_detail',$main);
}else{
$this->load->view('admin/menu/laporan',$main);
}
}
function try()
{
$cek_staff = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => 1111111111111111))->result()[0]->kelurahan;
print_r($cek_staff);
}
function logout()
{
$this->session->unset_userdata('login');
$this->session->set_flashdata('warning', '2');
redirect('login');
}
}
?>

View File

@ -0,0 +1,110 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Camat extends CI_Controller {
public function __construct()
{
parent::__construct();
// $this->load->helper('form');
// $this->load->library('form_validation');
$this->load->model('model');
$data = $this->session->userdata('login');
if ($data == '') {
$this->session->set_flashdata('warning','3');
redirect('/login');
}else{
if ($data['level'] == "camat") {
}else{
$this->session->set_flashdata('warning','3');
redirect('/login');
}
}
}
function index()
{
$main['usulan'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 2));
$main['usulan_diterima'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 3));
$main['header'] = "Halaman Utama";
$this->load->view('camat/index',$main);
}
function rencana_pembangunan()
{
$main['usulan'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 2));
$main['usulan_diterima'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 3));
$main['header'] = "Halaman Rencana Pembangunan";
$main['list'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 2));
$main['list_ditolak'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 4));
if ($this->input->post('id') != '' and $this->input->post('id') != null and $this->input->post('info') == "tolak") {
$no = $this->input->post('id');
$alasan = $this->input->post('alasan');
// print_r($alasan);
$this->model->update('tb_rencana_pembangunan',array('no' => $no),array('status' => 4));
$this->model->insert('tb_ket_penolakan',array('no' => $no, 'ket_camat' => $alasan));
$this->session->set_flashdata('success', 'Pengusulan Rencana Pembangunan Ditolak Oleh Camat');
}elseif ($this->input->post('id') != '' and $this->input->post('id') != null and $this->input->post('info') == "sahkan") {
$no = $this->input->post('id');
$this->model->update('tb_rencana_pembangunan',array('no' => $no),array('status' => 3));
$this->session->set_flashdata('success', 'Pengusulan Rencana Pembangunan Berhasil Disahkan Oleh Camat');
}elseif ($this->input->post('id') != '' and $this->input->post('id') != null and $this->input->post('info') == "lihat") {
$cek_data = $this->model->tampil_data_where('tb_rencana_pembangunan',array('no' => $this->input->post('id')));
foreach ($cek_data->result_array() as $key => $value) ;
$cek_status = $this->model->tampil_data_where('tb_status',array('no' => $value['status']));
foreach ($cek_status->result() as $key1 => $value1) ;
$cek_staff = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $value['nik']))->result();
$cek_kelurahan = $this->model->tampil_data_where('tb_kelurahan',array('no' => $cek_staff[0]->kelurahan))->result();
$kelurahan = array('kelurahan' => $cek_kelurahan[0]->kelurahan);
$status = array('ket_status' => $value1->status);
$output = array_merge($value,$status);
$output = array_merge($output,$kelurahan);
if ($value['status'] == 4) {
$cek_ket = $this->model->tampil_data_where('tb_ket_penolakan',array('no' => $this->input->post('id')));
foreach ($cek_ket->result() as $key2 => $value2) ;
$output = array_merge($output,array('ket' => $value2->ket_camat));
}
print_r(json_encode($output));
}else{
$this->load->view('camat/menu/rencana',$main);
}
}
function data_usulan()
{
$main['usulan'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 2));
$main['usulan_diterima'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 3));
$main['header'] = "Halaman Rencana Pembangunan";
$main['list'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('status' => 3));
$this->load->view('camat/menu/usulan',$main);
}
function try()
{
$cek_staff = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => 1111111111111111))->result()[0]->kelurahan;
print_r($cek_staff);
}
function logout()
{
$this->session->unset_userdata('login');
$this->session->set_flashdata('warning', '2');
redirect('login');
}
}
?>

View File

@ -0,0 +1,76 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->helper('form');
// $this->load->library('form_validation');
$this->load->model('model');
}
function index()
{
// $main['main']='home/main/main';
// $main['header']='Halaman Utama';
// $this->load->view('login/index');
$user = $this->input->post('username');
$pass = $this->input->post('password');
$ceklogin = $this->model->tampil_data_where('tb_user',array('username' => $user,'password' => $pass ));
// $cekuser = $this->mhome->tampil_data_where('tb_user_login',array('username' => $user,'password' => $pass ));
// $cekresult = $this->mhome->tampil_data_where('tb_user',array('username' => $user,'password' => $pass ,'level' => $level));
if ($this->input->post('login')) {
if (count($ceklogin->row())>0) {
foreach ($ceklogin->result() as $key2 => $value2);
if ($value2->level == 1 )
{
$this->session->set_userdata('login', array('level' => 'admin'));
$this->session->set_flashdata('login_pertama','1');
redirect('/admin');
}elseif ($value2->level == 2)
{
$this->session->set_userdata('login', array('level' => 'camat'));
$this->session->set_flashdata('login_pertama','1');
redirect('/camat');
}elseif ($value2->level == 3)
{
$this->session->set_userdata('login', array('nik' => $value2->nik_staff, 'level' => 'user'));
$this->session->set_flashdata('login_pertama','1');
redirect('/user');
}
}else{
$this->session->set_flashdata('warning','1');
redirect('/login');
}
}else{
$this->load->view('login/index');
}
// if ($user == "admin" and $pass == "admin") {
// // print_r("sini admin");
// redirect('/admin');
// }elseif ($user == "camat" and $pass == "camat") {
// print_r("sini camat");
// }elseif ($user == "lemoe" and $pass == "lemoe") {
// // print_r("sini lemeo");
// redirect('/user');
// }else{
// $this->load->view('login/index');
// }
}
}
?>

View File

@ -0,0 +1,247 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class User extends CI_Controller {
public function __construct()
{
parent::__construct();
// $this->load->helper('form');
// $this->load->library('form_validation');
ini_set('memory_limit', '-1');
$this->load->model('model');
$data = $this->session->userdata('login');
if ($data == '') {
$this->session->set_flashdata('warning','3');
redirect('/login');
}else{
if ($data['level'] == "user") {
$cek_data = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $data['nik']));
if (count($cek_data->result()) > 0) {
# code...
}else{
$this->session->set_flashdata('warning','3');
redirect('/login');
}
}else{
$this->session->set_flashdata('warning','3');
redirect('/login');
}
}
}
function index()
{
$main['header'] = "Halaman Utama";
$main['user'] = $this->model->data_user($this->session->userdata('login')['nik'],"data_diri");
$main['kelurahan'] = $this->model->data_user($this->session->userdata('login')['nik'],"kelurahan");
$main['usulan'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('nik' => $main['user']->nik));
$main['usulan_diterima'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('nik' => $main['user']->nik, 'status' => 3));
$this->load->view('user/index',$main);
}
function rencana_pembangunan() {
$main['header'] = "Rencana Pembangunan";
$main['user'] = $this->model->data_user($this->session->userdata('login')['nik'],"data_diri");
$main['kelurahan'] = $this->model->data_user($this->session->userdata('login')['nik'],"kelurahan");
$main['usulan'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('nik' => $main['user']->nik));
$main['usulan_diterima'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('nik' => $main['user']->nik, 'status' => 3));
$main['usulan_diterima'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('nik' => $main['user']->nik, 'status' => 3));
$cek_kelurahan = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $main['user']->nik));
$main['rtrw'] = $this->model->tampil_data_where('tb_rtrw',array('kelurahan' => $cek_kelurahan->result()[0]->kelurahan));
// $main['list'] = $this->model->tampil_data_keseluruhan('tb_rencana_pembangunan');
if ($this->uri->segment(3) == 'usulkan_edit') {
// print_r("sini usulkan edit");
if ($this->input->post('data') != '' and $this->input->post('data') != null and $this->input->post('id') != null) {
$data = $this->model->serialize(json_decode($this->input->post('data')));
$no = $this->input->post('id') ;
if ($data['laporan'] == 'upload_baru') {
$filename = $_FILES['file']['name'];
$dir = 'laporan/'.$no.'/';
$files1 = glob($dir.'*');
foreach($files1 as $file){ // iterate files
if(is_file($file))
unlink($file); // delete file
}
$path = $dir.$filename;
move_uploaded_file($_FILES['file']['tmp_name'],$path);
$data = array_merge($data,array('exel_url' => $path));
// print_r($data);
// print_r('upload baru');
}
$data = array_diff_key($data, ['laporan' => ""]);
$this->model->update('tb_rencana_pembangunan',array('no' => $no),$data);
$this->session->set_flashdata('success', 'Pengusulan Rencana Pembangunan Berhasil Diedit');
$this->session->set_flashdata('klik', $no);
// print_r($this->input->post('id') );
}else{
redirect('/user/rencana_pembangunan');
}
}elseif ($this->input->post('id') != '' and $this->input->post('id') != null) {
$cek_data = $this->model->tampil_data_where('tb_rencana_pembangunan',array('no' => $this->input->post('id')));
foreach ($cek_data->result_array() as $key => $value) ;
$cek_status = $this->model->tampil_data_where('tb_status',array('no' => $value['status']));
foreach ($cek_status->result() as $key1 => $value1) ;
$status = array('ket_status' => $value1->status);
$script = '<script type="text/javascript">
var elem = document.getElementById("biaya1");
elem.addEventListener("keydown",function(event){
var key = event.which;
if((key<48 || key>57) && key != 8) event.preventDefault();
});
elem.addEventListener("keyup",function(event){
var value = this.value.replace(/,/g,"");
this.dataset.currentValue=parseInt(value);
var caret = value.length-1;
while((caret-3)>-1)
{
caret -= 3;'.
"value = value.split('');".
'value.splice(caret+1,0,",");'.
"value = value.join('');".
'}
this.value = value;
});
</script>';
$script = array('script' => $script);
$script2 = '<script type="text/javascript">'.
"$(document).ready(function(){
$('#sini_form_edit').bootstrapValidator({
message: 'This value is not valid',
feedbackIcons: {
// valid: 'fa fa-check',
invalid: 'fa fa-close',
validating: 'fa fa-circle-o-notch'
},
excluded: ':disabled'
})
})</script>";
$script2 = array('script2' => $script2);
$arraynya = array_merge(array_merge(array_merge($value,$status),$script),$script2);
if ($value['status'] == 4) {
$cek_ket = $this->model->tampil_data_where('tb_ket_penolakan',array('no' => $this->input->post('id')));
foreach ($cek_ket->result() as $key2 => $value2) ;
$arraynya = array_merge($arraynya,array('ket' => $value2->ket_camat));
}elseif ($value['status'] == 5) {
$cek_ket = $this->model->tampil_data_where('tb_ket_penolakan',array('no' => $this->input->post('id')));
foreach ($cek_ket->result() as $key2 => $value2) ;
$arraynya = array_merge($arraynya,array('ket' => $value2->ket_admin));
}
print_r(json_encode($arraynya));
}elseif ($this->uri->segment(3) == 'usulkan') {
if ($this->input->post('data') != '' and $this->input->post('data') != null) {
$data = $this->model->serialize(json_decode($this->input->post('data')));
$array = array('nik' => $main['user']->nik,'status' => 1);
$this->model->insert('tb_rencana_pembangunan',array_merge($data,$array));
$cek_data_last = $this->model->tampil_data_last('tb_rencana_pembangunan','no');
foreach ($cek_data_last->result() as $key => $value) ;
$no_last = $value->no;
// print_r($no_last);
// print_r($_FILES['file']['tmp_name']);
$filename = $_FILES['file']['name'];
$dir = 'laporan/'.$no_last.'/';
if( is_dir($dir) === false )
{
mkdir($dir);
}
$path = $dir.$filename;
move_uploaded_file($_FILES['file']['tmp_name'],$path);
$this->model->update('tb_rencana_pembangunan',array('no' => $no_last),array('exel_url' => $dir.$filename));
$this->session->set_flashdata('success', 'Pengusulan Rencana Pembangunan Berhasil Diusulkan, Menunggu Pengesahan Dari Admin');
}else{
redirect('/user/rencana_pembangunan');
}
}else{
// print_r($main['kelurahan']);
$this->load->view('user/menu/rencana',$main);
}
}
function profil() {
$main['usulan'] = $this->model->tampil_data_keseluruhan('tb_rencana_pembangunan');
$main['header'] = "Halaman Utama";
$main['user'] = $this->model->data_user($this->session->userdata('login')['nik'],"data_diri");
$main['kelurahan'] = $this->model->data_user($this->session->userdata('login')['nik'],"kelurahan");
$main['usulan'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('nik' => $main['user']->nik));
$main['usulan_diterima'] = $this->model->tampil_data_where('tb_rencana_pembangunan',array('nik' => $main['user']->nik, 'status' => 3));
if ($this->input->post("info") == "user_pass" and $this->input->post("data") != '' and $this->input->post("data") != '') {
$data = $this->model->serialize($this->input->post('data'));
$cek_data = $this->model->tampil_data_where('tb_user',array('nik_staff' => $main['user']->nik));
// print_r($data);
foreach ($cek_data->result() as $key => $value) ;
if ($data['username_lama'] !== $value->username) {
$array = array('no' => 0, 'ket' => "Username Lama Yang Dimasukkan Tidak Sama Dengan Username Anda Dalam Sistem");
print_r(json_encode($array));
exit();
}else if ($data['password_lama'] !== $value->password) {
$array = array('no' => 0, 'ket' => "Password Lama Yang Dimasukkan Tidak Sama Dengan Password Anda Dalam Sistem");
print_r(json_encode($array));
exit();
}else if ($data['password'] !== $data['konfirmasi_password']) {
$array = array('no' => 0, 'ket' => "Password Baru Dengan Konfirmasi Password Baru Tidak Cocok");
print_r(json_encode($array));
exit();
}
$data = array_diff_key($data, ['username_lama' => ""]);
$data = array_diff_key($data, ['password_lama' => ""]);
$data = array_diff_key($data, ['konfirmasi_password' => ""]);
$this->model->update('tb_user',array('nik_staff' => $main['user']->nik),$data);
if ($this->db->affected_rows()>0) {
$this->session->set_flashdata('success', 'Username Dan Password berhasil Diperbaharui');
}else{
$this->session->set_flashdata('success', 'Tiada Perubahan Yang Dilakukan');
}
$array = array('no' => 1,'ket' => base_url()."user/profil");
print_r(json_encode($array));
}elseif ($this->input->post("info") == "detail" and $this->input->post("data") != '' and $this->input->post("data") != '') {
// print_r($main['user']);
$data = $this->model->serialize($this->input->post('data'));
$this->model->update('tb_staff_kelurahan',array('nik' => $main['user']->nik),$data);
if ($this->db->affected_rows()>0) {
$this->session->set_flashdata('success', 'Detail Diri Berhasil Diupdate');
}else{
$this->session->set_flashdata('success', 'Tiada Perubahan Pada Detail Diri');
}
print_r(base_url()."user/profil");
}else{
$this->load->view('user/menu/profil',$main);
}
}
function logout()
{
$this->session->unset_userdata('login');
$this->session->set_flashdata('warning', '2');
redirect('login');
}
}
?>

View File

@ -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/user_guide/general/urls.html
*/
public function index()
{
$this->load->view('welcome_message');
}
}

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

11
application/index.html Normal file
View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,207 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Model extends CI_Model {
public function __construct()
{
parent::__construct();
}
function index(){
}
function tampil_data_keseluruhan($namatabel) //gunakan ini untuk menampilkan tabel yg lebih spesifik 'where'
{
$this->db->select("*");
$this->db->from($namatabel);
$query = $this->db->get();
return $query;
}
function tampil_data_where($namatabel,$array) //gunakan ini untuk menampilkan tabel yg lebih spesifik 'where'
{
$this->db->select("*");
$this->db->from($namatabel);
$this->db->where($array);
// $this->db->limit(1);
$query = $this->db->get();
return $query;
}
function tampil_data_keseluruhan_order_by($namatabel,$order_by,$order) //gunakan ini untuk menampilkan tabel yg lebih spesifik 'where'
{
$this->db->select("*");
$this->db->from($namatabel);
// $this->db->where($array);
$this->db->order_by($order_by, $order);
// $this->db->limit(1);
$query = $this->db->get();
return $query;
}
function tampil_data_where_order_by($namatabel,$array,$order_by,$order) //gunakan ini untuk menampilkan tabel yg lebih spesifik 'where'
{
$this->db->select("*");
$this->db->from($namatabel);
$this->db->where($array);
$this->db->order_by($order_by, $order);
// $this->db->limit(1);
$query = $this->db->get();
return $query;
}
function tampil_data_last($namatabel,$kolom)
{
$this->db->select("*");
$this->db->from($namatabel);
$this->db->limit(1);
$this->db->order_by($kolom,"DESC");
$query = $this->db->get();
return $query;
}
function custom_query($query)
{
$query1 = $this->db->query($query);
return $query1;
}
function insert($namatabel,$array)
{
return $this->db->insert($namatabel,$array);
}
function update($table,$array,$array_condition)
{
$this->db->where($array);
$this->db->update($table, $array_condition);
}
function delete($table,$array_condition)
{
// $this->db->where($array);
$this->db->delete($table, $array_condition);
// $this->db->delete(table_name, where_clause)
}
function like($namatabel,$field,$like,$kategori)
{
if ($kategori == '') {
$this->db->select("*");
$this->db->from($namatabel);
$this->db->like($field, $like, 'both');
// $this->db->limit(1);
$query = $this->db->get();
return $query;
}else{
$this->db->select("*");
$this->db->from($namatabel);
$this->db->where(array('kategori'=>$kategori));
$this->db->like($field, $like, 'both');
// $this->db->limit(1);
$query = $this->db->get();
return $query;
}
}
function data_user($nik,$pencarian)
{
$data = $this->tampil_data_where('tb_staff_kelurahan',array('nik' => $nik));
foreach ($data->result() as $key => $value) ;
if ($pencarian == "data_diri") {
return $value;
}else if ($pencarian == "kelurahan") {
$kelurahan = $this->tampil_data_where('tb_kelurahan',array('no' => $value->kelurahan));
foreach ($kelurahan->result() as $key1 => $value1) ;
return $value1->kelurahan;
}
}
function serialize($data){
$keys = array_column($data,'name');
$values = array_column($data,'value');
$data = array_combine($keys, $values);
return $data;
}
function cek_penamaan_foto($imageFileType)
{
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" ) {
return 0;
}else{
return 1;
}
}
function bulan($bulan)
{
switch ($bulan) {
case '01':
$bulannya = 'Januari';
break;
case '02':
$bulannya = 'Februari';
break;
case '03':
$bulannya = 'Maret';
break;
case '04':
$bulannya = 'April';
break;
case '05':
$bulannya = 'Mei';
break;
case '06':
$bulannya = 'Juni';
break;
case '07':
$bulannya = 'Juli';
break;
case '08':
$bulannya = 'Agustus';
break;
case '09':
$bulannya = 'September';
break;
case '10':
$bulannya = 'Oktober';
break;
case '11':
$bulannya = 'November';
break;
case '12':
$bulannya = 'Desember';
break;
default:
$bulannya = '';
break;
}
return $bulannya;
}
}

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

11
application/third_party/index.html vendored Normal file
View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,55 @@
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-6">
<div class="card card-stats">
<div class="card-body ">
<div class="row">
<div class="col-5 col-md-4">
<div class="icon-big text-center icon-info">
<i class="fa fa-list text-info"></i>
</div>
</div>
<div class="col-7 col-md-8">
<div class="numbers">
<p class="card-category">Jumlah Rencana Pembangunan</p>
<p class="card-title"><?=count($usulan->result())?>
<p>
</div>
</div>
</div>
</div>
<div class="card-footer ">
<hr>
<div class="stats">
<a href="" style="color: grey"><i class="fa fa-arrow-right"></i> Ke Halaman</a>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-6">
<div class="card card-stats">
<div class="card-body ">
<div class="row">
<div class="col-5 col-md-4">
<div class="icon-big text-center icon-warning">
<i class="fa fa-file-text-o text-success"></i>
</div>
</div>
<div class="col-7 col-md-8">
<div class="numbers">
<p class="card-category">Rencana Pembangunan Diterima</p>
<p class="card-title"><?=count($usulan_diterima->result())?>
<p>
</div>
</div>
</div>
</div>
<div class="card-footer ">
<hr>
<div class="stats">
<a href="" style="color: grey"><i class="fa fa-arrow-right"></i> Ke Halaman</a>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,27 @@
<footer class="footer footer-black footer-white ">
<div class="container-fluid">
<div class="row">
<nav class="footer-nav">
<ul>
<li>
<a href="#" target="_blank">Bacukiki Parepare</a>
</li>
<li>
<a href="#" target="_blank">Blog</a>
</li>
<li>
<a href="#" target="_blank">Licenses</a>
</li>
</ul>
</nav>
<div class="credits ml-auto">
<span class="copyright">
©
<script>
document.write(new Date().getFullYear())
</script>, Perencanaan Pembangunan Bacukiki, Parepare <i class="fa fa-heart heart"></i> by Kicap Karan
</span>
</div>
</div>
</div>
</footer>

View File

@ -0,0 +1,33 @@
<head>
<meta charset="utf-8" />
<link rel="apple-touch-icon" sizes="76x76" href="<?=base_url()?>assets/img/apple-icon.png">
<link rel="icon" type="image/png" href="<?=base_url()?>assets/img/parepare.png">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>
Rencana Pembangunan Parepare | <?=$header?>
</title>
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, shrink-to-fit=no' name='viewport' />
<!-- Fonts and icons -->
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700,200" rel="stylesheet" />
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" rel="stylesheet">
<!-- CSS Files -->
<link href="<?=base_url()?>assets/css/bootstrap.min.css" rel="stylesheet" />
<link href="<?=base_url()?>assets/css/paper-dashboard.css?v=2.0.0" rel="stylesheet" />
<!-- CSS Just for demo purpose, don't include it in your project -->
<link href="<?=base_url()?>assets/demo/demo.css" rel="stylesheet" />
<link rel="stylesheet" href="<?php echo base_url() ?>sweet-alert/sweetalert.css">
<link rel="stylesheet" href="<?php echo base_url('assets/bootstrap-validator/css/bootstrapValidator.min.css');?>">
<link rel="stylesheet" type="text/css" media="screen" href="<?=base_url()?>assets/js/datatables/jquery.dataTables.min.css">
<style type="text/css">
.has-error .help-block {
color: red;
}
</style>
<style type="text/css">
.swal-modal .swal-text{
text-align: center
}
</style>
</head>

View File

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<?php $this->load->view('admin/head') ?>
<body class="">
<div class="wrapper ">
<?php $this->load->view('admin/sidebar') ?>
<div class="main-panel">
<?php $this->load->view('admin/navbar') ?>
<div class="content">
<?php $this->load->view('admin/atas') ?>
<!-- sini letak main -->
<!-- sini akhir letak main -->
</div>
<?php $this->load->view('admin/footer') ?>
</div>
</div>
<?php $this->load->view('admin/script') ?>
<!-- bawah sini letak js tambahan -->
</body>
</html>

View File

@ -0,0 +1,269 @@
<!DOCTYPE html>
<html lang="en">
<?php $this->load->view('admin/head') ?>
<body class="">
<div class="wrapper ">
<?php $this->load->view('admin/sidebar') ?>
<div class="main-panel">
<?php $this->load->view('admin/navbar') ?>
<div class="content">
<?php $this->load->view('admin/atas') ?>
<!-- sini letak main -->
<div class="modal fade" id="lihat_informasi" tabindex="-1" role="dialog" aria-labelledby="myModalLabel-2">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<h5 class="card-title" id="judul_modal"></h5>
<div id="sini_body"></div>
</div>
<div class="modal-footer">
<div id="sini_button_modal"></div>
<button type="button" class="btn btn-default btn-sm waves-effect waves-light" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="card card-user">
<div class="card-header">
<h5 class="card-title">List Rencana Pembangunan Yang Disahkan Admin</h5>
</div>
<div class="card-body" style="overflow-x: auto">
<table id="tabel-data" class="table table-striped table-bordered" width="100%" cellspacing="0" >
<thead>
<tr>
<th>No</th>
<th>Waktu Pengusulan</th>
<th>Kelurahan</th>
<th>Anggaran</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $i = 1; foreach ($list->result() as $key => $value):
$cek_status = $this->model->tampil_data_where('tb_status',array('no' => $value->status));
$cek_staff = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $value->nik))->result();
$cek_kelurahan = $this->model->tampil_data_where('tb_kelurahan',array('no' => $cek_staff[0]->kelurahan))->result();
if ($value->status == 1 or $value->status == 2) {?>
<tr style="background: #f6a828; ">
<?php
}elseif ($value->status == 4 or $value->status == 5) { ?>
<tr style="background: #BD4A31; ">
<?php
}elseif ($value->status == 3) { ?>
<tr style="background: #8FF085; ">
<?php
}
foreach ($cek_status->result() as $key1 => $value1) ;
?>
<td><?=$i;$i++?></td>
<td><?=$value->tanggal_upload?></td>
<td><?=$cek_kelurahan[0]->kelurahan?></td>
<td>Rp. <?=$value->biaya?></td>
<td><?=$value1->status?></td>
<td>
<a data-toggle="modal" data-id="<?=$value->no?>" title="Lihat Informasi Pengusulan Rencana Pembangunan" class="lihat_informasi btn btn-primary btn-sm nc-icon nc-zoom-split" href="#lihat_informasi" id="klik_<?=$value->no?>"></a>
</td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="card card-user">
<div class="card-header">
<h5 class="card-title">List Pengusulan Yang Ditolak Camat</h5>
</div>
<div class="card-body" style="overflow-x: auto">
<table id="tabel-data1" class="table table-striped table-bordered" width="100%" cellspacing="0" >
<thead>
<tr>
<th>No</th>
<th>Waktu Pengusulan</th>
<th>Kelurahan</th>
<th>Anggaran</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $i = 1; foreach ($list_ditolak_camat->result() as $key => $value):
$cek_status = $this->model->tampil_data_where('tb_status',array('no' => $value->status));
$cek_staff = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $value->nik))->result();
$cek_kelurahan = $this->model->tampil_data_where('tb_kelurahan',array('no' => $cek_staff[0]->kelurahan))->result();
if ($value->status == 1 or $value->status == 2) {?>
<tr style="background: #f6a828; ">
<?php
}elseif ($value->status == 4 or $value->status == 5) { ?>
<tr style="background: #BD4A31; ">
<?php
}elseif ($value->status == 3) { ?>
<tr style="background: #8FF085; ">
<?php
}
foreach ($cek_status->result() as $key1 => $value1) ;
?>
<td><?=$i;$i++?></td>
<td><?=$value->tanggal_upload?></td>
<td><?=$cek_kelurahan[0]->kelurahan?></td>
<td>Rp. <?=$value->biaya?></td>
<td><?=$value1->status?></td>
<td>
<a data-toggle="modal" data-id="<?=$value->no?>" title="Lihat Informasi Pengusulan Rencana Pembangunan" class="lihat_informasi_ditolak btn btn-primary btn-sm nc-icon nc-zoom-split" href="#lihat_informasi" id="klik_<?=$value->no?>"></a>
</td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- sini akhir letak main -->
</div>
<?php $this->load->view('admin/footer') ?>
</div>
</div>
<?php $this->load->view('admin/script') ?>
<!-- bawah sini letak js tambahan -->
<script src="<?=base_url()?>assets/js/datatables/jquery.min.js"></script>
<script src="<?=base_url()?>assets/js/datatables/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function(){
$('#tabel-data').DataTable();
$('#tabel-data1').DataTable();
})
</script>
<script type="text/javascript">
$(document).on("click", ".lihat_informasi", function () {
var id = $(this).data('id');
// console.log(id);
$.ajax({
url: "<?=base_url()?>admin/rencana_pembangunan",
type: 'post',
data: {id :id , info : "lihat"},
dataType: "json",
beforeSend: function(res) {
},
success: function (response) {
// console.log(response);
var html = '<div class="form-group">'+
'<label>Kelurahan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['kelurahan']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Tanggal Pengusulan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['tanggal_upload']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Judul Laporan Rencana Pembangunan</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['judul']+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<label>Jumlah Anggaran Biaya Pembangunan <b><i>(Rp. )</i></b></label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['biaya']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Status</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['ket_status']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<a onclick="window.open('+"'"+'ms-excel:ofe|u|<?=base_url()?>'+response['exel_url']+"'"+')"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Lihat Laporan Rencana Pembangunan</button></a><br><a href="<?=base_url()?>'+response['exel_url']+'"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Download Laporan Rencana Pembangunan</button></a>'+
'</div>'+
'<div class="sini_tolak_textarea form-group">'+
'</div>';
$("#lihat_informasi .modal-body #sini_body").html(html);
$("#lihat_informasi .modal-body #judul_modal").html("Informasi Laporan <br> Rencana Pembangunan");
}
});
});
</script>
<script type="text/javascript">
$(document).on("click", ".lihat_informasi_ditolak", function () {
var id = $(this).data('id');
// console.log(id);
$.ajax({
url: "<?=base_url()?>admin/rencana_pembangunan",
type: 'post',
data: {id :id , info : "lihat"},
dataType: "json",
beforeSend: function(res) {
},
success: function (response) {
// console.log(response);
var html = '<div class="form-group">'+
'<label>Kelurahan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['kelurahan']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Tanggal Pengusulan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['tanggal_upload']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Judul Laporan Rencana Pembangunan</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['judul']+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<label>Jumlah Anggaran Biaya Pembangunan <b><i>(Rp. )</i></b></label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['biaya']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Status</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['ket_status']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Alasan Penolakan Camat</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['ket']+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<a onclick="window.open('+"'"+'ms-excel:ofe|u|<?=base_url()?>'+response['exel_url']+"'"+')"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Lihat Laporan Rencana Pembangunan</button></a><br><a href="<?=base_url()?>'+response['exel_url']+'"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Download Laporan Rencana Pembangunan</button></a>'+
'</div>'+
'<div class="sini_tolak_textarea form-group">'+
'</div>';
$("#lihat_informasi .modal-body #sini_body").html(html);
$("#lihat_informasi .modal-body #judul_modal").html("Informasi Laporan Rencana Pembangunan Yang Ditolak");
// var footer = '<div id="button_modal"><button type="button" class="sahkan_laporannya btn btn-success btn-sm waves-effect waves-light" onclick="sahkan_usulan('+response['no']+')">Sahkan Usulan</button> <button type="button" class="btn btn-danger btn-sm waves-effect waves-light" onclick="tolak_usulan('+response['no']+')">Tolak Usulan</button></div><div id="button_alasan"></div>';
// $("#lihat_informasi .modal-footer #sini_button_modal").html(footer);
}
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,90 @@
<!DOCTYPE html>
<html lang="en">
<?php $this->load->view('admin/head') ?>
<body class="">
<div class="wrapper ">
<?php $this->load->view('admin/sidebar') ?>
<div class="main-panel">
<?php $this->load->view('admin/navbar') ?>
<div class="content">
<?php $this->load->view('admin/atas') ?>
<!-- sini letak main -->
<div class="row">
<div class="col-md-12">
<div class="card card-user">
<div class="card-header">
<h5 class="card-title">List Pengusulan Rencana Pembangunan</h5>
</div>
<div class="card-body" style="overflow-x: auto">
<table id="tabel-data" class="table table-striped table-bordered" width="100%" cellspacing="0" >
<thead>
<tr>
<th>Bulan</th>
<th>Tahun</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php
$data = $this->model->custom_query("SELECT DISTINCT EXTRACT( YEAR_MONTH FROM `tanggal_upload` ) FROM tb_rencana_pembangunan");
foreach ($data->result_array() as $key => $value) {
$bulan = substr($value["EXTRACT( YEAR_MONTH FROM `tanggal_upload` )"],4);
$bulan1 = $this->model->bulan($bulan);
$tahun = substr($value["EXTRACT( YEAR_MONTH FROM `tanggal_upload` )"],0,4);
?>
<tr>
<td><?=$bulan1?></td>
<td><?=$tahun?></td>
<td>
<a class="btn btn-primary btn-sm nc-icon nc-zoom-split" href="<?=base_url()?>admin/laporan/<?=$tahun.'-'.$bulan?>"></a>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- sini akhir letak main -->
</div>
<?php $this->load->view('admin/footer') ?>
</div>
</div>
<?php $this->load->view('admin/script') ?>
<!-- bawah sini letak js tambahan -->
<script src="<?=base_url()?>assets/js/datatables/jquery.min.js"></script>
<script src="<?=base_url()?>assets/js/datatables/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function(){
$('#tabel-data').DataTable();
})
</script>
</body>
</html>

View File

@ -0,0 +1,161 @@
<!DOCTYPE html>
<html lang="en">
<?php $this->load->view('admin/head') ?>
<body class="">
<div class="wrapper ">
<?php $this->load->view('admin/sidebar') ?>
<div class="main-panel">
<?php $this->load->view('admin/navbar') ?>
<div class="content">
<?php $this->load->view('admin/atas') ?>
<!-- sini letak main -->
<div class="modal fade" id="lihat_informasi" tabindex="-1" role="dialog" aria-labelledby="myModalLabel-2">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<h5 class="card-title" id="judul_modal">Informasi Laporan <br>Rencana Pembangunan</h5>
<div id="sini_body"></div>
</div>
<div class="modal-footer">
<div id="sini_button_modal"></div>
<button type="button" class="btn btn-default btn-sm waves-effect waves-light" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="card card-user">
<div class="card-header">
<?php
$tanggal = $this->uri->segment(3);
$bulan = substr($tanggal, 5);
$bulan1 = $this->model->bulan($bulan);
$tahun = substr($tanggal, 0,4);
// print_r($tahun);
?>
<h5 class="card-title">Laporan Bulan <?=$bulan1?>, Tahun <?=$tahun?></h5>
</div>
<div class="card-body" style="overflow-x: auto">
<table id="tabel-data" class="table table-striped table-bordered" width="100%" cellspacing="0" >
<thead>
<tr>
<th>No</th>
<th>Waktu Pengusulan</th>
<th>Kelurahan</th>
<th>Anggaran</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $i = 1 ;foreach ($list->result() as $key => $value):
$cek_status = $this->model->tampil_data_where('tb_status',array('no' => $value->status));
$cek_staff = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $value->nik))->result();
$cek_kelurahan = $this->model->tampil_data_where('tb_kelurahan',array('no' => $cek_staff[0]->kelurahan))->result();
if ($value->status == 1 or $value->status == 2) {?>
<tr style="background: #f6a828; ">
<?php
}elseif ($value->status == 4 or $value->status == 5) { ?>
<tr style="background: #BD4A31; ">
<?php
}elseif ($value->status == 3) { ?>
<tr style="background: #8FF085; ">
<?php
}
?>
<td><?=$i;$i++?></td>
<td><?=$value->tanggal_upload?></td>
<td><?=$cek_kelurahan[0]->kelurahan?></td>
<td>Rp . <?=$value->biaya?></td>
<td><?=$cek_status->result()[0]->status?></td>
<td>
<a data-toggle="modal" data-kelurahan="<?=$cek_kelurahan[0]->kelurahan?>" data-tanggal_pengusulan="<?=$value->tanggal_upload?>" data-laporan="<?=$value->judul?>" data-anggaran="Rp . <?=$value->biaya?>" data-status="<?=$cek_status->result()[0]->status?>" data-url="<?=$value->exel_url?>" title="Lihat Informasi Pengusulan Rencana Pembangunan" class="lihat_informasi btn btn-primary btn-sm nc-icon nc-zoom-split" href="#lihat_informasi" ></a>
</td>
</tr>
<?php endforeach ?>
</table>
</div>
</div>
</div>
</div>
<!-- sini akhir letak main -->
</div>
<?php $this->load->view('admin/footer') ?>
</div>
</div>
<?php $this->load->view('admin/script') ?>
<!-- bawah sini letak js tambahan -->
<script src="<?=base_url()?>assets/js/datatables/jquery.min.js"></script>
<script src="<?=base_url()?>assets/js/datatables/jquery.dataTables.min.js"></script>
<script type="text/javascript">
$(document).on("click", ".lihat_informasi", function () {
var kelurahan = $(this).data('kelurahan');
var tanggal_pengusulan = $(this).data('tanggal_pengusulan');
var laporan = $(this).data('laporan');
var anggaran = $(this).data('anggaran');
var status = $(this).data('status');
var url = $(this).data('url');
var html = '<div class="form-group">'+
'<label>Kelurahan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+kelurahan+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Tanggal Pengusulan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+tanggal_pengusulan+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Judul Laporan Rencana Pembangunan</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+laporan+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<label>Jumlah Anggaran Biaya Pembangunan <b><i>(Rp. )</i></b></label>'+
'<input type="text" class="form-control" maxlength="11" value="'+anggaran+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Status</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+status+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<a onclick="window.open('+"'"+'ms-excel:ofe|u|<?=base_url()?>'+url+"'"+')"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Lihat Laporan Rencana Pembangunan</button></a><br><a href="<?=base_url()?>'+url+'"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Download Laporan Rencana Pembangunan</button></a>'+
'</div>'+
'<div class="sini_tolak_textarea form-group">'+
'</div>';
$("#lihat_informasi .modal-body #sini_body").html(html);
});
</script>
<script>
$(document).ready(function(){
$('#tabel-data').DataTable();
})
</script>
</body>
</html>

View File

@ -0,0 +1,405 @@
<!DOCTYPE html>
<html lang="en">
<?php $this->load->view('admin/head') ?>
<body class="">
<div class="wrapper ">
<?php $this->load->view('admin/sidebar') ?>
<div class="main-panel">
<?php $this->load->view('admin/navbar') ?>
<div class="content">
<?php $this->load->view('admin/atas') ?>
<!-- sini letak main -->
<div class="modal fade" id="lihat_informasi" tabindex="-1" role="dialog" aria-labelledby="myModalLabel-2">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<h5 class="card-title" id="judul_modal">Informasi Laporan <br>Rencana Pembangunan</h5>
<div id="sini_body"></div>
</div>
<div class="modal-footer">
<div id="sini_button_modal"></div>
<button type="button" class="btn btn-default btn-sm waves-effect waves-light" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<!-- <div class="modal fade" id="alasan" tabindex="-1" role="dialog" aria-labelledby="myModalLabel-2">
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-body">
<h5 class="card-title" id="judul_modal">Informasi Laporan <br>Rencana Pembangunan</h5>
<div id="sini_body"></div>
</div>
<div class="modal-footer">
<div id="sini_button_modal"></div>
<button type="button" class="btn btn-default btn-sm waves-effect waves-light" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div> -->
<div class="row">
<div class="col-md-12">
<div class="card card-user">
<div class="card-header">
<h5 class="card-title">List Pengusulan Rencana Pembangunan</h5>
</div>
<div class="card-body" style="overflow-x: auto">
<table id="tabel-data" class="table table-striped table-bordered" width="100%" cellspacing="0" >
<thead>
<tr>
<th>No</th>
<th>Waktu Pengusulan</th>
<th>Kelurahan</th>
<th>Anggaran</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $i = 1; foreach ($list->result() as $key => $value):
$cek_status = $this->model->tampil_data_where('tb_status',array('no' => $value->status));
$cek_staff = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $value->nik))->result();
$cek_kelurahan = $this->model->tampil_data_where('tb_kelurahan',array('no' => $cek_staff[0]->kelurahan))->result();
if ($value->status == 1 or $value->status == 2) {?>
<tr style="background: #f6a828; ">
<?php
}elseif ($value->status == 4 or $value->status == 5) { ?>
<tr style="background: #BD4A31; ">
<?php
}elseif ($value->status == 3) { ?>
<tr style="background: #8FF085; ">
<?php
}
foreach ($cek_status->result() as $key1 => $value1) ;
?>
<td><?=$i;$i++?></td>
<td><?=$value->tanggal_upload?></td>
<td><?=$cek_kelurahan[0]->kelurahan?></td>
<td>Rp. <?=$value->biaya?></td>
<td><?=$value1->status?></td>
<td>
<a data-toggle="modal" data-id="<?=$value->no?>" title="Lihat Informasi Pengusulan Rencana Pembangunan" class="lihat_informasi btn btn-primary btn-sm nc-icon nc-zoom-split" href="#lihat_informasi" id="klik_<?=$value->no?>"></a>
</td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="card card-user">
<div class="card-header">
<h5 class="card-title">List Pengusulan Yang Ditolak Admin</h5>
</div>
<div class="card-body" style="overflow-x: auto">
<table id="tabel-data1" class="table table-striped table-bordered" width="100%" cellspacing="0" >
<thead>
<tr>
<th>No</th>
<th>Waktu Pengusulan</th>
<th>Kelurahan</th>
<th>Anggaran</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $i = 1; foreach ($list_ditolak->result() as $key => $value):
$cek_status = $this->model->tampil_data_where('tb_status',array('no' => $value->status));
$cek_staff = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $value->nik))->result();
$cek_kelurahan = $this->model->tampil_data_where('tb_kelurahan',array('no' => $cek_staff[0]->kelurahan))->result();
if ($value->status == 1 or $value->status == 2) {?>
<tr style="background: #f6a828; ">
<?php
}elseif ($value->status == 4 or $value->status == 5) { ?>
<tr style="background: #BD4A31; ">
<?php
}elseif ($value->status == 3) { ?>
<tr style="background: #8FF085; ">
<?php
}
foreach ($cek_status->result() as $key1 => $value1) ;
?>
<td><?=$i;$i++?></td>
<td><?=$value->tanggal_upload?></td>
<td><?=$cek_kelurahan[0]->kelurahan?></td>
<td>Rp. <?=$value->biaya?></td>
<td><?=$value1->status?></td>
<td>
<a data-toggle="modal" data-id="<?=$value->no?>" title="Lihat Informasi Pengusulan Rencana Pembangunan" class="lihat_informasi_ditolak btn btn-primary btn-sm nc-icon nc-zoom-split" href="#lihat_informasi" id="klik_<?=$value->no?>"></a>
</td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- sini akhir letak main -->
</div>
<?php $this->load->view('admin/footer') ?>
</div>
</div>
<?php $this->load->view('admin/script') ?>
<!-- bawah sini letak js tambahan -->
<script src="<?=base_url()?>assets/js/datatables/jquery.min.js"></script>
<script src="<?=base_url()?>assets/js/datatables/jquery.dataTables.min.js"></script>
<script type="text/javascript">
$(document).on("click", ".lihat_informasi", function () {
var id = $(this).data('id');
// console.log(id);
$.ajax({
url: "<?=base_url()?>admin/rencana_pembangunan",
type: 'post',
data: {id :id , info : "lihat"},
dataType: "json",
beforeSend: function(res) {
},
success: function (response) {
// console.log(response);
var html = '<div class="form-group">'+
'<label>Kelurahan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['kelurahan']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Tanggal Pengusulan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['tanggal_upload']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Judul Laporan Rencana Pembangunan</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['judul']+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<label>Jumlah Anggaran Biaya Pembangunan <b><i>(Rp. )</i></b></label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['biaya']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Status</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['ket_status']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<a onclick="window.open('+"'"+'ms-excel:ofe|u|<?=base_url()?>'+response['exel_url']+"'"+')"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Lihat Laporan Rencana Pembangunan</button></a><br><a href="<?=base_url()?>'+response['exel_url']+'"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Download Laporan Rencana Pembangunan</button></a>'+
'</div>'+
'<div class="sini_tolak_textarea form-group">'+
'</div>';
$("#lihat_informasi .modal-body #sini_body").html(html);
$("#lihat_informasi .modal-body #judul_modal").html("Informasi Laporan <br> Rencana Pembangunan");
var footer = '<div id="button_modal"><button type="button" class="sahkan_laporannya btn btn-success btn-sm waves-effect waves-light" onclick="sahkan_usulan('+response['no']+')">Sahkan Usulan</button> <button type="button" class="btn btn-danger btn-sm waves-effect waves-light" onclick="tolak_usulan('+response['no']+')">Tolak Usulan</button></div><div id="button_alasan"></div>';
$("#lihat_informasi .modal-footer #sini_button_modal").html(footer);
}
});
});
</script>
<script type="text/javascript">
function sahkan_usulan(e){
swal({
title: "Sahkan Usulan Rencana Pembangunan?",
text: "Anda akan mengesahkan usulan rencana pembangunan yang dimasukkan",
icon: "info",
buttons: true,
dangerMode: true,
})
.then((logout) => {
if (logout) {
$.ajax({
url: "<?=base_url()?>admin/rencana_pembangunan/",
type: 'post',
data: {id :e , info : "sahkan"},
// dataType: 'json',
beforeSend: function(res) {
$(".sahkan_laporannya").html('<i class="fa fa-circle-o-notch fa-spin"></i> Mohon Bersabar');
$(".sahkan_laporannya").attr({
"class" : "btn btn-info btn-sm waves-effect waves-light",
"disabled" : ""
})
},
success: function (response) {
// console.log(response);
window.location.replace('<?=base_url()?>admin/data_usulan');
}
});
}
});
}
function tolak_usulan(e) {
// console.log(e);
// window.location.href = "#alasan"
// jQuery.noConflict();
// $('#alasan').modal('show');
// $('#lihat_informasi').modal('hide');
var html = '<label>Alasan Penolakan</label>'+
'<textarea class="form-control" name="alasan" style="resize: none;" placeholder="Isikan Alasan Penolakan" title="Isikan Alasan Penolakan" id="alasan_tolak_textarea"></textarea>';
$('#button_modal').hide();
$('.sini_tolak_textarea').html(html);
var button ='<button type="button" class="btn btn-warning btn-sm waves-effect waves-light" onclick="cancel_alasan()" >Cancel</button> <button type="button" id="yakin_tolak_button" class="btn btn-danger btn-sm waves-effect waves-light" onclick="tolak_usulan_konfirm('+e+')">Yakin Tolak Usulan ?</button>';
$('#button_alasan').html(button);
}
function cancel_alasan() {
$('.sini_tolak_textarea').html(null);
$('#button_alasan').html(null);
$('#button_modal').show();
}
function tolak_usulan_konfirm(e){
var alasan = $("#alasan_tolak_textarea").val();
// console.log(alasan);
if (alasan == '' || alasan == null) {
// console.log("kosong");
toastr.options = {
"closeButton": true,
"debug": false,
"progressBar": true,
"positionClass": "toast-top-right",
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.error("<b>Alasan Penolakan Usulan Harus Terisi</b>");
$("#alasan_tolak_textarea").focus();
}else{
swal({
title: "Tolak Usulan Rencana Pembangunan?",
text: "Anda akan batalkan usulan rencana pembangunan yang dimasukkan",
icon: "warning",
buttons: true,
dangerMode: true,
})
.then((logout) => {
if (logout) {
$.ajax({
url: "<?=base_url()?>admin/rencana_pembangunan/",
type: 'post',
data: {id :e , info : "tolak" ,alasan : alasan},
// dataType: 'json',
beforeSend: function(res) {
$("#yakin_tolak_button").html('<i class="fa fa-circle-o-notch fa-spin"></i> Mohon Bersabar');
$("#yakin_tolak_button").attr({
"class" : "btn btn-info btn-sm waves-effect waves-light",
"disabled" : ""
})
},
success: function (response) {
// console.log(response);
window.location.replace('<?=base_url()?>admin/rencana_pembangunan');
}
});
} else {
// swal("Terima kasih kerana masih di sistem");
// console.log("batal");
cancel_alasan();
}
});
}
}
</script>
<script type="text/javascript">
$(document).on("click", ".lihat_informasi_ditolak", function () {
var id = $(this).data('id');
// console.log(id);
$.ajax({
url: "<?=base_url()?>admin/rencana_pembangunan",
type: 'post',
data: {id :id , info : "lihat"},
dataType: "json",
beforeSend: function(res) {
},
success: function (response) {
// console.log(response);
var html = '<div class="form-group">'+
'<label>Kelurahan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['kelurahan']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Tanggal Pengusulan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['tanggal_upload']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Judul Laporan Rencana Pembangunan</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['judul']+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<label>Jumlah Anggaran Biaya Pembangunan <b><i>(Rp. )</i></b></label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['biaya']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Status</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['ket_status']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Alasan Penolakan Admin</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['ket']+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<a onclick="window.open('+"'"+'ms-excel:ofe|u|<?=base_url()?>'+response['exel_url']+"'"+')"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Lihat Laporan Rencana Pembangunan</button></a><br><a href="<?=base_url()?>'+response['exel_url']+'"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Download Laporan Rencana Pembangunan</button></a>'+
'</div>'+
'<div class="sini_tolak_textarea form-group">'+
'</div>';
$("#lihat_informasi .modal-body #sini_body").html(html);
$("#lihat_informasi .modal-body #judul_modal").html("Informasi Laporan Rencana Pembangunan Yang Ditolak");
// var footer = '<div id="button_modal"><button type="button" class="sahkan_laporannya btn btn-success btn-sm waves-effect waves-light" onclick="sahkan_usulan('+response['no']+')">Sahkan Usulan</button> <button type="button" class="btn btn-danger btn-sm waves-effect waves-light" onclick="tolak_usulan('+response['no']+')">Tolak Usulan</button></div><div id="button_alasan"></div>';
// $("#lihat_informasi .modal-footer #sini_button_modal").html(footer);
}
});
});
</script>
<script>
$(document).ready(function(){
$('#tabel-data').DataTable();
$('#tabel-data1').DataTable();
})
</script>
</body>
</html>

View File

@ -0,0 +1,433 @@
<!DOCTYPE html>
<html lang="en">
<?php $this->load->view('admin/head') ?>
<body class="">
<div class="wrapper ">
<?php $this->load->view('admin/sidebar') ?>
<div class="main-panel">
<?php $this->load->view('admin/navbar') ?>
<div class="content">
<?php $this->load->view('admin/atas') ?>
<!-- sini letak main -->
<div class="modal fade" id="lihat_informasi" tabindex="-1" role="dialog" aria-labelledby="myModalLabel-2">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<h5 class="card-title" id="judul_modal"></h5>
<div id="sini_body"></div>
</div>
<div class="modal-footer">
<div id="sini_button_modal"></div>
<button type="button" class="btn btn-default btn-sm waves-effect waves-light" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4" >
<div class="card card-user">
<div class="card-header">
<h5 class="card-title" >Form Tambah Staff</h5>
</div>
<div class="card-body">
<form id="sini_form">
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>NIK</label>
<input type="text" class="form-control" title="Klik Tambah Staff Untuk Menambah Staff Baru" disabled="" data-bv-notempty="true" data-bv-notempty-message="NIK Harus Terisi" name="nik" id="nik" minlength="16" maxlength="16">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Kelurahan</label>
<select class="form-control" title="Klik Tambah Staff Untuk Menambah Staff Baru" disabled="" data-bv-notempty="true" data-bv-notempty-message="Kelurahan Harus Terpilih" name="kelurahan" id="kelurahan">
<option value="" selected="" disabled="">-Pilih Kelurahan </option>
<option value="1">Galong Maloang</option>
<option value="2">Lemoe</option>
<option value="3">Lumpue</option>
<option value="4">Watang Bacukiki</option>
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Nama </label>
<input type="text" title="Klik Tambah Staff Untuk Menambah Staff Baru" class="form-control" id="nama" name="nama" data-bv-notempty="true" data-bv-notempty-message="Nama Harus Terisi" disabled="">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Email </label>
<input type="text" class="form-control" title="Klik Tambah Staff Untuk Menambah Staff Baru" id="email" name="email" data-bv-notempty="true" data-bv-notempty-message="Email Harus Terisi" disabled="">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>No Telpon </label>
<input type="text" class="form-control" title="Klik Tambah Staff Untuk Menambah Staff Baru" id="no_telpon" name="no_telpon" data-bv-notempty="true" data-bv-notempty-message="No Telpon Harus Terisi" minlength="11" maxlength="13" disabled="">
</div>
</div>
</div>
<div class="row" >
<div class="col-md-12">
<div class="form-group" style="overflow-x: auto; text-align: center">
<button type="button" class="btn btn-warning btn-round" id="tambah_staff">Tambah Staff Baru</button> <br>
<div class="cancel_tambah" style="display: none" ><button type="button" class="btn btn-danger btn-round" id="cancel_tambah">Cancel</button></div>
<input type="submit" name="tambah_staff" style="display: none" id="submit_tambah_staff">
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="col-md-8">
<div class="card card-user">
<div class="card-header">
<h5 class="card-title">List Staff</h5>
</div>
<div class="card-body" style="overflow-x: auto">
<table id="tabel-data" class="table table-striped table-bordered" width="100%" cellspacing="0" >
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Kelurahan</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $i = 1; foreach ($list_staff->result() as $key => $value):
$kelurahan = $this->model->tampil_data_where('tb_kelurahan',array('no' => $value->kelurahan));
?>
<tr>
<td><?=$i;$i++?></td>
<td><?=$value->nama?></td>
<td><?=$kelurahan->result()[0]->kelurahan?></td>
<td><a data-toggle="modal" data-id="<?=$value->nik?>" title="Lihat Informasi Staff" class="lihat_informasi btn btn-primary btn-sm nc-icon nc-zoom-split" href="#lihat_informasi" id="klik_<?=$value->nik?>"></a></td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- sini akhir letak main -->
</div>
<?php $this->load->view('admin/footer') ?>
</div>
</div>
<?php $this->load->view('admin/script') ?>
<!-- bawah sini letak js tambahan -->
<script src="<?=base_url()?>assets/js/datatables/jquery.min.js"></script>
<script src="<?=base_url()?>assets/js/datatables/jquery.dataTables.min.js"></script>
<script src="<?php echo base_url('assets/bootstrap-validator/js/bootstrapValidator.min.js'); ?>"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#sini_form').bootstrapValidator({
message: 'This value is not valid',
feedbackIcons: {
// valid: 'fa fa-check',
invalid: 'fa fa-close',
validating: 'fa fa-circle-o-notch'
},
excluded: ':disabled'
})
})
</script>
<script type="text/javascript">
$("#tambah_staff").click(function(){
$("#tambah_staff").attr({
'class' : "btn btn-success btn-round",
'onclick' : 'tambahkan_staff()'
});
$('.cancel_tambah').css('display','block');
$("#nik").attr({
'required' : "",
'title' : 'Isikan NIK',
'placeholder' : 'Isikan NIK'
});
$("#nik").removeAttr('disabled');
$("#kelurahan").attr({
'required' : "",
'title' : 'Pilih Kelurahan'
});
$("#kelurahan").removeAttr('disabled');
$("#nama").attr({
'required' : "",
'title' : 'Isikan Nama',
'placeholder' : 'Isikan Nama'
});
$("#nama").removeAttr('disabled');
$("#email").attr({
'required' : "",
'title' : 'Isikan Email',
'placeholder' : 'Isikan Email'
});
$("#email").removeAttr('disabled');
$("#no_telpon").attr({
'required' : "",
'title' : 'Isikan No Telpon',
'placeholder' : 'Isikan No Telpon'
});
$("#no_telpon").removeAttr('disabled');
});
$("#cancel_tambah").click(function(){
$("#tambah_staff").attr({
'class' : "btn btn-warning btn-round"
});
$("#tambah_staff").removeAttr('onclick');
$('.cancel_tambah').css('display','none');
$("#nik").attr({
'disabled' : "true"
});
$("#nik").removeAttr('required title placeholder');
$("#kelurahan").attr({
'disabled' : "true"
});
$("#kelurahan").removeAttr('required title placeholder');
$("#nama").attr({
'disabled' : ""
});
$("#nama").removeAttr('required title placeholder');
$("#email").attr({
'disabled' : ""
});
$("#email").removeAttr('required title placeholder');
$("#no_telpon").attr({
'disabled' : ""
});
$("#no_telpon").removeAttr('required title placeholder');
});
</script>
<script type="text/javascript">
function tambahkan_staff(){
$('#sini_form').submit();
var data = $('#sini_form').serializeArray();
// data = jQuery.grep(data, function(value) {
// return value['file'] != 'id';
// });
var error = $('#sini_form').find(".has-error").length;
// console.log(error);
if (error == 0) {
$.ajax({
url: "<?=base_url()?>admin/staff",
type: 'post',
data: {data :data , info : "tambah"},
// dataType: "json",
beforeSend: function(res) {
$("#tambah_staff").html('<i class="fa fa-circle-o-notch fa-spin"></i> Mohon Bersabar');
$("#tambah_staff").attr('disabled' , '');
},
success: function (response) {
// console.log(response);
location.reload();
// $("submit_tambah_staff").click();
}
});
}
}
</script>
<script type="text/javascript">
$(document).on("click", ".lihat_informasi", function () {
var id = $(this).data('id');
// console.log(id);
$.ajax({
url: "<?=base_url()?>admin/staff",
type: 'post',
data: {id :id , info : "lihat"},
dataType: "json",
beforeSend: function(res) {
},
success: function (response) {
// console.log(response);
var html = '<div class="form-group">'+
'<label>NIK</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['nik']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Kelurahan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['kelurahan']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Nama</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['nama']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Email</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['email']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>No Telpon</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['no_telpon']+'" disabled>'+
'</div>';
$("#lihat_informasi .modal-body #sini_body").html(html);
$("#lihat_informasi .modal-body #judul_modal").html("Informasi Staff");
var footer = '<button class="btn btn-warning btn-sm waves-effect waves-light" onclick="edit_staff('+response['nik']+')">Edit Informasi Staff</button> &nbsp <button type="button" class="btn btn-danger btn-sm waves-effect waves-light" onclick="hapus_staff('+response['nik']+')">Hapus Staff</button></form>'
$(".modal-footer #sini_button_modal").html(footer);
}
});
});
function edit_staff(e){
var id = e;
// console.log(id);
$.ajax({
url: "<?=base_url()?>admin/staff",
type: 'post',
data: {id :id , info : "lihat"},
dataType: "json",
beforeSend: function(res) {
},
success: function (response) {
// console.log(response);
var html = '<form id="sini_form_edit"><div class="form-group">'+
'<label>NIK</label>'+
'<input type="text" class="form-control" maxlength="16" minlength="16" value="'+response['nik']+'" required="" id="nik" name="nik" data-bv-notempty="true" data-bv-notempty-message="NIK Harus Terisi">'+
'</div>'+
'<div class="form-group">'+
'<label>Kelurahan</label>';
html += response['select_kelurahan']+'</div>'+
'<div class="form-group">'+
'<label>Nama</label>'+
'<input type="text" class="form-control" value="'+response['nama']+'" required="" name="nama" data-bv-notempty="true" data-bv-notempty-message="Nama Harus Terisi">'+
'</div>'+
'<div class="form-group">'+
'<label>Email</label>'+
'<input type="emai" class="form-control" value="'+response['email']+'" required="" name="email" data-bv-notempty="true" data-bv-notempty-message="Email Harus Terisi">'+
'</div>'+
'<div class="form-group">'+
'<label>No Telpon</label>'+
'<input type="text" class="form-control" maxlength="13" minlength="11" value="'+response['no_telpon']+'" required="" id="no_telpon" name="no_telpon" data-bv-notempty="true" data-bv-notempty-message="No Telpon Harus Terisi">'+
'</div></form>'+response['script1'];
$("#lihat_informasi .modal-body #sini_body").html(html);
$("#lihat_informasi .modal-body #judul_modal").html("Informasi Staff");
var footer = '<button class="btn btn-success btn-sm waves-effect waves-light" onclick="edit_staff_konfirm('+response['nik']+')">Edit Informasi Staff</button> &nbsp <button type="button" class="btn btn-danger btn-sm waves-effect waves-light" data-dismiss="modal">Cancel Edit</button></form>'+response['script2'];
$(".modal-footer #sini_button_modal").html(footer);
}
});
}
</script>
<script type="text/javascript">
function edit_staff_konfirm(e) {
$('#sini_form_edit').submit();
var data = $('#sini_form_edit').serializeArray();
// data = jQuery.grep(data, function(value) {
// return value['file'] != 'id';
// });
console.log(data)
var error = $('#sini_form_edit').find(".has-error").length;
$.ajax({
url: "<?=base_url()?>admin/staff",
type: 'post',
data: {id :e , info : "edit" , data : data},
// dataType: "json",
beforeSend: function(res) {
},
success: function (response) {
// console.log(response);
location.reload()
}
});
}
</script>
<script>
$(document).ready(function(){
$('#tabel-data').DataTable();
})
</script>
<script type="text/javascript">
function setInputFilter(textbox, inputFilter) {
["input", "keydown", "keyup", "mousedown", "mouseup", "select", "contextmenu", "drop"].forEach(function(event) {
textbox.addEventListener(event, function() {
if (inputFilter(this.value)) {
this.oldValue = this.value;
this.oldSelectionStart = this.selectionStart;
this.oldSelectionEnd = this.selectionEnd;
} else if (this.hasOwnProperty("oldValue")) {
this.value = this.oldValue;
this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);
} else {
this.value = "";
}
});
});
}
// Install input filters.
setInputFilter(document.getElementById("nik"), function(value) {
return /^-?\d*$/.test(value); });
</script>
</body>
</html>

View File

@ -0,0 +1,150 @@
<!DOCTYPE html>
<html lang="en">
<?php $this->load->view('admin/head') ?>
<body class="">
<div class="wrapper ">
<?php $this->load->view('admin/sidebar') ?>
<div class="main-panel">
<?php $this->load->view('admin/navbar') ?>
<div class="content">
<?php $this->load->view('admin/atas') ?>
<!-- sini letak main -->
<div class="modal fade" id="lihat_informasi" tabindex="-1" role="dialog" aria-labelledby="myModalLabel-2">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<h5 class="card-title" id="judul_modal"></h5>
<div id="sini_body"></div>
</div>
<div class="modal-footer">
<div id="sini_button_modal"></div>
<button type="button" class="btn btn-default btn-sm waves-effect waves-light" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="card card-user">
<div class="card-header">
<h5 class="card-title">List Rencana Pembangunan Yang Disahkan Camat</h5>
</div>
<div class="card-body" style="overflow-x: auto">
<table id="tabel-data" class="table table-striped table-bordered" width="100%" cellspacing="0" >
<thead>
<tr>
<th>No</th>
<th>Waktu Pengusulan</th>
<th>Kelurahan</th>
<th>Anggaran</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $i = 1; foreach ($list->result() as $key => $value):
$cek_status = $this->model->tampil_data_where('tb_status',array('no' => $value->status));
$cek_staff = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $value->nik))->result();
$cek_kelurahan = $this->model->tampil_data_where('tb_kelurahan',array('no' => $cek_staff[0]->kelurahan))->result();
foreach ($cek_status->result() as $key1 => $value1) ;
?>
<tr style="background: #8FF085;">
<td><?=$i;$i++?></td>
<td><?=$value->tanggal_upload?></td>
<td><?=$cek_kelurahan[0]->kelurahan?></td>
<td>Rp. <?=$value->biaya?></td>
<td><?=$value1->status?></td>
<td>
<a data-toggle="modal" data-id="<?=$value->no?>" title="Lihat Informasi Pengusulan Rencana Pembangunan" class="lihat_informasi btn btn-primary btn-sm nc-icon nc-zoom-split" href="#lihat_informasi" id="klik_<?=$value->no?>"></a>
</td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- sini akhir letak main -->
</div>
<?php $this->load->view('admin/footer') ?>
</div>
</div>
<?php $this->load->view('admin/script') ?>
<!-- bawah sini letak js tambahan -->
<script src="<?=base_url()?>assets/js/datatables/jquery.min.js"></script>
<script src="<?=base_url()?>assets/js/datatables/jquery.dataTables.min.js"></script>
<script type="text/javascript">
$(document).on("click", ".lihat_informasi", function () {
var id = $(this).data('id');
// console.log(id);
$.ajax({
url: "<?=base_url()?>admin/rencana_pembangunan",
type: 'post',
data: {id :id , info : "lihat"},
dataType: "json",
beforeSend: function(res) {
},
success: function (response) {
// console.log(response);
var html = '<div class="form-group">'+
'<label>Kelurahan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['kelurahan']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Tanggal Pengusulan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['tanggal_upload']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Judul Laporan Rencana Pembangunan</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['judul']+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<label>Jumlah Anggaran Biaya Pembangunan <b><i>(Rp. )</i></b></label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['biaya']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Status</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['ket_status']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<a onclick="window.open('+"'"+'ms-excel:ofe|u|<?=base_url()?>'+response['exel_url']+"'"+')"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Lihat Laporan Rencana Pembangunan</button></a><br><a href="<?=base_url()?>'+response['exel_url']+'"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Download Laporan Rencana Pembangunan</button></a>'+
'</div>'+
'<div class="sini_tolak_textarea form-group">'+
'</div>';
$("#lihat_informasi .modal-body #sini_body").html(html);
$("#lihat_informasi .modal-body #judul_modal").html("Informasi Laporan <br> Rencana Pembangunan");
}
});
});
</script>
<script>
$(document).ready(function(){
$('#tabel-data').DataTable();
})
</script>
</body>
</html>

View File

@ -0,0 +1,16 @@
<!-- Navbar -->
<nav class="navbar navbar-expand-lg navbar-absolute fixed-top navbar-transparent">
<div class="container-fluid">
<div class="navbar-wrapper">
<div class="navbar-toggle">
<button type="button" class="navbar-toggler">
<span class="navbar-toggler-bar bar1"></span>
<span class="navbar-toggler-bar bar2"></span>
<span class="navbar-toggler-bar bar3"></span>
</button>
</div>
<a class="navbar-brand" ><?=$header?> | Admin</a>
</div>
</div>
</nav>

View File

@ -0,0 +1,79 @@
<script src="<?=base_url()?>assets/js/core/jquery.min.js"></script>
<script src="<?=base_url()?>assets/js/core/popper.min.js"></script>
<script src="<?=base_url()?>assets/js/core/bootstrap.min.js"></script>
<script src="<?=base_url()?>assets/js/plugins/perfect-scrollbar.jquery.min.js"></script>
<!-- Control Center for Now Ui Dashboard: parallax effects, scripts for the example pages etc -->
<script src="<?=base_url()?>assets/js/paper-dashboard.min.js?v=2.0.0" type="text/javascript"></script>
<script src="<?php echo base_url() ?>sweet-alert/sweetalert.js"></script>
<!-- Control Center for Now Ui Dashboard: parallax effects, scripts for the example pages etc -->
<script src="<?=base_url()?>sweet-alert/toastr/toastr.min.js"></script>
<link rel="stylesheet" type="text/css" href="<?=base_url()?>sweet-alert/toastr/toastr.min.css">
<script type="text/javascript">
function logout(){
swal({
title: "Yakin ingin Logout?",
text: "Anda akan keluar dari sistem",
icon: "warning",
buttons: true,
dangerMode: true,
})
.then((logout) => {
if (logout) {
window.location.href ='<?php echo base_url("admin/logout") ?>';
} else {
swal("Terima kasih kerana masih di sistem");
}
});
}
</script>
<?php if ($this->session->flashdata('login_pertama') == 1): ?>
<script type="text/javascript">
toastr.options = {
"closeButton": true,
"debug": false,
"progressBar": true,
"positionClass": "toast-top-right",
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.success("<b>Selamat Datang Admin</b><br> Anda Berhasil Login");
</script>
<?php endif ?>
<?php if ($this->session->flashdata('success')): ?>
<script type="text/javascript">
swal({
title: "Berhasil",
text: "<?=$this->session->flashdata('success')?>",
icon: "success",
showLoaderOnConfirm: true,
})
</script>
<?php endif ?>
<?php if ($this->session->flashdata('error')): ?>
<script type="text/javascript">
swal({
title: "Berhasil",
text: "<?=$this->session->flashdata('error')?>",
icon: "error",
showLoaderOnConfirm: true,
})
</script>
<?php endif ?>

View File

@ -0,0 +1,63 @@
<div class="sidebar" data-color="white" data-active-color="danger">
<div class="logo">
<a href="<?=base_url()?>admin" class="simple-text logo-mini">
<div class="logo-image-small">
<img src="<?=base_url()?>assets/img/parepare.png" height="40px">
</div>
</a>
<a href="<?=base_url()?>admin" class="simple-text logo-normal">
Bacukiki
</a>
</div>
<div class="sidebar-wrapper">
<ul class="nav">
<li <?php if ($this->uri->segment(2) == ''): ?>class="active"<?php endif ?>>
<a href="<?=base_url()?>admin">
<i class="fa fa-home"></i>
<p>Halaman Utama</p>
</a>
</li>
<li <?php if ($this->uri->segment(2) == 'rencana_pembangunan'): ?>class="active"<?php endif ?>>
<a href="<?=base_url()?>admin/rencana_pembangunan">
<i class="nc-icon nc-bank"></i>
<p>Rencana Pembangunan</p>
</a>
</li>
<li <?php if ($this->uri->segment(2) == 'data_usulan'): ?>class="active"<?php endif ?>>
<a href="<?=base_url()?>admin/data_usulan">
<i class="nc-icon nc-align-left-2"></i>
<p>Data Usulan</p>
</a>
</li>
<li <?php if ($this->uri->segment(2) == 'usulan_diterima'): ?>class="active"<?php endif ?>>
<a href="<?=base_url()?>admin/usulan_diterima">
<i class="nc-icon nc-bullet-list-67"></i>
<p>Usulan Diterima</p>
</a>
</li>
<li <?php if ($this->uri->segment(2) == 'staff'): ?>class="active"<?php endif ?>>
<a href="<?=base_url()?>admin/staff">
<i class="fa fa-address-book"></i>
<p>Staff Kelurahan</p>
</a>
</li>
<li <?php if ($this->uri->segment(2) == 'laporan'): ?>class="active"<?php endif ?>>
<a href="<?=base_url()?>admin/laporan">
<i class="fa fa-list-alt"></i>
<p>Laporan</p>
</a>
</li>
<li>
<a onclick="logout()">
<i class="nc-icon nc-button-power"></i>
<p>Logout</p>
</a>
</li>
</ul>
</div>
</div>

View File

@ -0,0 +1,55 @@
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-6">
<div class="card card-stats">
<div class="card-body ">
<div class="row">
<div class="col-5 col-md-4">
<div class="icon-big text-center icon-info">
<i class="fa fa-list text-info"></i>
</div>
</div>
<div class="col-7 col-md-8">
<div class="numbers">
<p class="card-category">Jumlah Rencana Pembangunan <br> Yang Diterima Admin</p>
<p class="card-title"><?=count($usulan->result())?>
<p>
</div>
</div>
</div>
</div>
<div class="card-footer ">
<hr>
<div class="stats">
<a href="<?=base_url()?>user/rencana_pembangunan" style="color: grey"><i class="fa fa-arrow-right"></i> Ke Halaman</a>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-6">
<div class="card card-stats">
<div class="card-body ">
<div class="row">
<div class="col-5 col-md-4">
<div class="icon-big text-center icon-warning">
<i class="fa fa-file-text-o text-success"></i>
</div>
</div>
<div class="col-7 col-md-8">
<div class="numbers">
<p class="card-category">Jumlah Rencana Pembangunan <br> Yang Disahkan</p>
<p class="card-title"><?=count($usulan_diterima->result())?>
<p>
</div>
</div>
</div>
</div>
<div class="card-footer ">
<hr>
<div class="stats">
<a href="<?=base_url()?>user/rencana_pembangunan" style="color: grey"><i class="fa fa-arrow-right"></i> Ke Halaman</a>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,27 @@
<footer class="footer footer-black footer-white ">
<div class="container-fluid">
<div class="row">
<nav class="footer-nav">
<ul>
<li>
<a href="#" target="_blank">Bacukiki Parepare</a>
</li>
<li>
<a href="#" target="_blank">Blog</a>
</li>
<li>
<a href="#" target="_blank">Licenses</a>
</li>
</ul>
</nav>
<div class="credits ml-auto">
<span class="copyright">
©
<script>
document.write(new Date().getFullYear())
</script>, Perencanaan Pembangunan Bacukiki, Parepare <i class="fa fa-heart heart"></i> by Kicap Karan
</span>
</div>
</div>
</div>
</footer>

View File

@ -0,0 +1,31 @@
<head>
<meta charset="utf-8" />
<link rel="apple-touch-icon" sizes="76x76" href="<?=base_url()?>assets/img/apple-icon.png">
<link rel="icon" type="image/png" href="<?=base_url()?>assets/img/parepare.png">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>
Rencana Pembangunan Parepare | <?=$header?>
</title>
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, shrink-to-fit=no' name='viewport' />
<!-- Fonts and icons -->
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700,200" rel="stylesheet" />
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" rel="stylesheet">
<!-- CSS Files -->
<link href="<?=base_url()?>assets/css/bootstrap.min.css" rel="stylesheet" />
<link href="<?=base_url()?>assets/css/paper-dashboard.css?v=2.0.0" rel="stylesheet" />
<!-- CSS Just for demo purpose, don't include it in your project -->
<link href="<?=base_url()?>assets/demo/demo.css" rel="stylesheet" />
<link rel="stylesheet" href="<?php echo base_url('assets/bootstrap-validator/css/bootstrapValidator.min.css');?>">
<link rel="stylesheet" type="text/css" media="screen" href="<?=base_url()?>assets/js/datatables/jquery.dataTables.min.css">
<style type="text/css">
.has-error .help-block {
color: red;
}
</style>
<style type="text/css">
.swal-modal .swal-text{
text-align: center
}
</style>
</head>

View File

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<?php $this->load->view('camat/head') ?>
<body class="">
<div class="wrapper ">
<?php $this->load->view('camat/sidebar') ?>
<div class="main-panel">
<?php $this->load->view('camat/navbar') ?>
<div class="content">
<?php $this->load->view('camat/atas') ?>
<!-- sini letak main -->
<!-- sini akhir letak main -->
</div>
<?php $this->load->view('camat/footer') ?>
</div>
</div>
<?php $this->load->view('camat/script') ?>
<!-- bawah sini letak js tambahan -->
</body>
</html>

View File

@ -0,0 +1,382 @@
<!DOCTYPE html>
<html lang="en">
<?php $this->load->view('camat/head') ?>
<body class="">
<div class="wrapper ">
<?php $this->load->view('camat/sidebar') ?>
<div class="main-panel">
<?php $this->load->view('camat/navbar') ?>
<div class="content">
<?php $this->load->view('camat/atas') ?>
<!-- sini letak main -->
<div class="modal fade" id="lihat_informasi" tabindex="-1" role="dialog" aria-labelledby="myModalLabel-2">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<h5 class="card-title" id="judul_modal">Informasi Laporan <br>Rencana Pembangunan</h5>
<div id="sini_body"></div>
</div>
<div class="modal-footer">
<div id="sini_button_modal"></div>
<button type="button" class="btn btn-default btn-sm waves-effect waves-light" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="card card-user">
<div class="card-header">
<h5 class="card-title">List Pengusulan Rencana Pembangunan Yang Diterima Admin</h5>
</div>
<div class="card-body" style="overflow-x: auto">
<table id="tabel-data" class="table table-striped table-bordered" width="100%" cellspacing="0" >
<thead>
<tr>
<th>No</th>
<th>Waktu Pengusulan</th>
<th>Kelurahan</th>
<th>Anggaran</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $i = 1; foreach ($list->result() as $key => $value):
$cek_status = $this->model->tampil_data_where('tb_status',array('no' => $value->status));
$cek_staff = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $value->nik))->result();
$cek_kelurahan = $this->model->tampil_data_where('tb_kelurahan',array('no' => $cek_staff[0]->kelurahan))->result();
if ($value->status == 1 or $value->status == 2) {?>
<tr style="background: #f6a828; ">
<?php
}elseif ($value->status == 4 or $value->status == 5) { ?>
<tr style="background: #BD4A31; ">
<?php
}elseif ($value->status == 3) { ?>
<tr style="background: #8FF085; ">
<?php
}
foreach ($cek_status->result() as $key1 => $value1) ;
?>
<td><?=$i;$i++?></td>
<td><?=$value->tanggal_upload?></td>
<td><?=$cek_kelurahan[0]->kelurahan?></td>
<td>Rp. <?=$value->biaya?></td>
<td><?=$value1->status?></td>
<td>
<a data-toggle="modal" data-id="<?=$value->no?>" title="Lihat Informasi Pengusulan Rencana Pembangunan" class="lihat_informasi btn btn-primary btn-sm nc-icon nc-zoom-split" href="#lihat_informasi" id="klik_<?=$value->no?>"></a>
</td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="card card-user">
<div class="card-header">
<h5 class="card-title">List Pengusulan Yang Ditolak Camat</h5>
</div>
<div class="card-body" style="overflow-x: auto">
<table id="tabel-data1" class="table table-striped table-bordered" width="100%" cellspacing="0" >
<thead>
<tr>
<th>No</th>
<th>Waktu Pengusulan</th>
<th>Kelurahan</th>
<th>Anggaran</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $i = 1; foreach ($list_ditolak->result() as $key => $value):
$cek_status = $this->model->tampil_data_where('tb_status',array('no' => $value->status));
$cek_staff = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $value->nik))->result();
$cek_kelurahan = $this->model->tampil_data_where('tb_kelurahan',array('no' => $cek_staff[0]->kelurahan))->result();
if ($value->status == 1 or $value->status == 2) {?>
<tr style="background: #f6a828; ">
<?php
}elseif ($value->status == 4 or $value->status == 5) { ?>
<tr style="background: #BD4A31; ">
<?php
}elseif ($value->status == 3) { ?>
<tr style="background: #8FF085; ">
<?php
}
foreach ($cek_status->result() as $key1 => $value1) ;
?>
<td><?=$i;$i++?></td>
<td><?=$value->tanggal_upload?></td>
<td><?=$cek_kelurahan[0]->kelurahan?></td>
<td>Rp. <?=$value->biaya?></td>
<td><?=$value1->status?></td>
<td>
<a data-toggle="modal" data-id="<?=$value->no?>" title="Lihat Informasi Pengusulan Rencana Pembangunan" class="lihat_informasi_ditolak btn btn-primary btn-sm nc-icon nc-zoom-split" href="#lihat_informasi" id="klik_<?=$value->no?>"></a>
</td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- sini akhir letak main -->
</div>
<?php $this->load->view('camat/footer') ?>
</div>
</div>
<?php $this->load->view('camat/script') ?>
<!-- bawah sini letak js tambahan -->
<script src="<?=base_url()?>assets/js/datatables/jquery.min.js"></script>
<script src="<?=base_url()?>assets/js/datatables/jquery.dataTables.min.js"></script>
<script type="text/javascript">
$(document).on("click", ".lihat_informasi", function () {
var id = $(this).data('id');
// console.log(id);
$.ajax({
url: "<?=base_url()?>camat/rencana_pembangunan",
type: 'post',
data: {id :id , info : "lihat"},
dataType: "json",
beforeSend: function(res) {
},
success: function (response) {
// console.log(response);
var html = '<div class="form-group">'+
'<label>Kelurahan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['kelurahan']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Tanggal Pengusulan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['tanggal_upload']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Judul Laporan Rencana Pembangunan</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['judul']+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<label>Jumlah Anggaran Biaya Pembangunan <b><i>(Rp. )</i></b></label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['biaya']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Status</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['ket_status']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<a onclick="window.open('+"'"+'ms-excel:ofe|u|<?=base_url()?>'+response['exel_url']+"'"+')"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Lihat Laporan Rencana Pembangunan</button></a><br><a href="<?=base_url()?>'+response['exel_url']+'"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Download Laporan Rencana Pembangunan</button></a>'+
'</div>'+
'<div class="sini_tolak_textarea form-group">'+
'</div>';
$(".modal-body #sini_body").html(html);
var footer = '<div id="button_modal"><button type="button" class="sahkan_laporannya btn btn-success btn-sm waves-effect waves-light" onclick="sahkan_usulan('+response['no']+')">Sahkan Usulan</button> <button type="button" class="btn btn-danger btn-sm waves-effect waves-light" onclick="tolak_usulan('+response['no']+')">Tolak Usulan</button></div><div id="button_alasan"></div>'
$(".modal-footer #sini_button_modal").html(footer);
}
});
});
</script>
<script type="text/javascript">
function sahkan_usulan(e){
swal({
title: "Sahkan Usulan Rencana Pembangunan?",
text: "Anda akan mengesahkan usulan rencana pembangunan yang dimasukkan",
icon: "info",
buttons: true,
dangerMode: true,
})
.then((logout) => {
if (logout) {
$.ajax({
url: "<?=base_url()?>camat/rencana_pembangunan/",
type: 'post',
data: {id :e , info : "sahkan"},
// dataType: 'json',
beforeSend: function(res) {
$(".sahkan_laporannya").html('<i class="fa fa-circle-o-notch fa-spin"></i> Mohon Bersabar');
$(".sahkan_laporannya").attr({
"class" : "btn btn-info btn-sm waves-effect waves-light",
"disabled" : ""
})
},
success: function (response) {
// console.log(response);
window.location.replace('<?=base_url()?>camat/data_usulan');
}
});
}
});
}
function tolak_usulan(e) {
// jQuery.noConflict();
var html = '<label>Alasan Penolakan</label>'+
'<textarea class="form-control" name="alasan" style="resize: none;" placeholder="Isikan Alasan Penolakan" title="Isikan Alasan Penolakan" id="alasan_tolak_textarea"></textarea>';
$('#button_modal').hide();
$('.sini_tolak_textarea').html(html);
var button ='<button type="button" class="btn btn-warning btn-sm waves-effect waves-light" onclick="cancel_alasan()" >Cancel</button> <button type="button" id="yakin_tolak_button" class="btn btn-danger btn-sm waves-effect waves-light" onclick="tolak_usulan_konfirm('+e+')">Yakin Tolak Usulan ?</button>';
$('#button_alasan').html(button);
}
function cancel_alasan() {
$('.sini_tolak_textarea').html(null);
$('#button_alasan').html(null);
$('#button_modal').show();
}
function tolak_usulan_konfirm(e){
var alasan = $("#alasan_tolak_textarea").val();
// console.log(alasan);
if (alasan == '' || alasan == null) {
// console.log("kosong");
toastr.options = {
"closeButton": true,
"debug": false,
"progressBar": true,
"positionClass": "toast-top-right",
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.error("<b>Alasan Penolakan Usulan Harus Terisi</b>");
$("#alasan_tolak_textarea").focus();
}else{
swal({
title: "Tolak Usulan Rencana Pembangunan?",
text: "Anda akan batalkan usulan rencana pembangunan yang dimasukkan",
icon: "warning",
buttons: true,
dangerMode: true,
})
.then((logout) => {
if (logout) {
$.ajax({
url: "<?=base_url()?>camat/rencana_pembangunan/",
type: 'post',
data: {id :e , info : "tolak" ,alasan : alasan},
// dataType: 'json',
beforeSend: function(res) {
$("#yakin_tolak_button").html('<i class="fa fa-circle-o-notch fa-spin"></i> Mohon Bersabar');
$("#yakin_tolak_button").attr({
"class" : "btn btn-info btn-sm waves-effect waves-light",
"disabled" : ""
})
},
success: function (response) {
// console.log(response);
window.location.replace('<?=base_url()?>camat/rencana_pembangunan');
}
});
} else {
// swal("Terima kasih kerana masih di sistem");
// console.log("batal");
cancel_alasan();
}
});
}
}
</script>
<script type="text/javascript">
$(document).on("click", ".lihat_informasi_ditolak", function () {
var id = $(this).data('id');
// console.log(id);
$.ajax({
url: "<?=base_url()?>camat/rencana_pembangunan",
type: 'post',
data: {id :id , info : "lihat"},
dataType: "json",
beforeSend: function(res) {
},
success: function (response) {
// console.log(response);
var html = '<div class="form-group">'+
'<label>Kelurahan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['kelurahan']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Tanggal Pengusulan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['tanggal_upload']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Judul Laporan Rencana Pembangunan</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['judul']+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<label>Jumlah Anggaran Biaya Pembangunan <b><i>(Rp. )</i></b></label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['biaya']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Status</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['ket_status']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Alasan Penolakan Camat</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['ket']+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<a onclick="window.open('+"'"+'ms-excel:ofe|u|<?=base_url()?>'+response['exel_url']+"'"+')"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Lihat Laporan Rencana Pembangunan</button></a><br><a href="<?=base_url()?>'+response['exel_url']+'"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Download Laporan Rencana Pembangunan</button></a>'+
'</div>'+
'<div class="sini_tolak_textarea form-group">'+
'</div>';
$("#lihat_informasi .modal-body #sini_body").html(html);
$("#lihat_informasi .modal-body #judul_modal").html("Informasi Laporan Rencana Pembangunan Yang Ditolak");
}
});
});
</script>
<script>
$(document).ready(function(){
$('#tabel-data').DataTable();
$('#tabel-data1').DataTable();
})
</script>
</body>
</html>

View File

@ -0,0 +1,156 @@
<!DOCTYPE html>
<html lang="en">
<?php $this->load->view('camat/head') ?>
<body class="">
<div class="wrapper ">
<?php $this->load->view('camat/sidebar') ?>
<div class="main-panel">
<?php $this->load->view('camat/navbar') ?>
<div class="content">
<?php $this->load->view('camat/atas') ?>
<!-- sini letak main -->
<div class="modal fade" id="lihat_informasi" tabindex="-1" role="dialog" aria-labelledby="myModalLabel-2">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<h5 class="card-title" id="judul_modal">Informasi Laporan <br>Rencana Pembangunan</h5>
<div id="sini_body"></div>
</div>
<div class="modal-footer">
<div id="sini_button_modal"></div>
<button type="button" class="btn btn-default btn-sm waves-effect waves-light" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="card card-user">
<div class="card-header">
<h5 class="card-title">List Pengusulan Rencana Pembangunan Yang Diterima Camat</h5>
</div>
<div class="card-body" style="overflow-x: auto">
<table id="tabel-data" class="table table-striped table-bordered" width="100%" cellspacing="0" >
<thead>
<tr>
<th>No</th>
<th>Waktu Pengusulan</th>
<th>Kelurahan</th>
<th>Anggaran</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $i = 1; foreach ($list->result() as $key => $value):
$cek_status = $this->model->tampil_data_where('tb_status',array('no' => $value->status));
$cek_staff = $this->model->tampil_data_where('tb_staff_kelurahan',array('nik' => $value->nik))->result();
$cek_kelurahan = $this->model->tampil_data_where('tb_kelurahan',array('no' => $cek_staff[0]->kelurahan))->result();
if ($value->status == 1 or $value->status == 2) {?>
<tr style="background: #f6a828; ">
<?php
}elseif ($value->status == 4 or $value->status == 5) { ?>
<tr style="background: #BD4A31; ">
<?php
}elseif ($value->status == 3) { ?>
<tr style="background: #8FF085; ">
<?php
}
foreach ($cek_status->result() as $key1 => $value1) ;
?>
<td><?=$i;$i++?></td>
<td><?=$value->tanggal_upload?></td>
<td><?=$cek_kelurahan[0]->kelurahan?></td>
<td>Rp. <?=$value->biaya?></td>
<td><?=$value1->status?></td>
<td>
<a data-toggle="modal" data-id="<?=$value->no?>" title="Lihat Informasi Pengusulan Rencana Pembangunan" class="lihat_informasi btn btn-primary btn-sm nc-icon nc-zoom-split" href="#lihat_informasi" id="klik_<?=$value->no?>"></a>
</td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- sini akhir letak main -->
</div>
<?php $this->load->view('camat/footer') ?>
</div>
</div>
<?php $this->load->view('camat/script') ?>
<!-- bawah sini letak js tambahan -->
<script src="<?=base_url()?>assets/js/datatables/jquery.min.js"></script>
<script src="<?=base_url()?>assets/js/datatables/jquery.dataTables.min.js"></script>
<script type="text/javascript">
$(document).on("click", ".lihat_informasi", function () {
var id = $(this).data('id');
// console.log(id);
$.ajax({
url: "<?=base_url()?>camat/rencana_pembangunan",
type: 'post',
data: {id :id , info : "lihat"},
dataType: "json",
beforeSend: function(res) {
},
success: function (response) {
// console.log(response);
var html = '<div class="form-group">'+
'<label>Kelurahan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['kelurahan']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Tanggal Pengusulan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['tanggal_upload']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Judul Laporan Rencana Pembangunan</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['judul']+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<label>Jumlah Anggaran Biaya Pembangunan <b><i>(Rp. )</i></b></label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['biaya']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Status</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['ket_status']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<a onclick="window.open('+"'"+'ms-excel:ofe|u|<?=base_url()?>'+response['exel_url']+"'"+')"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Lihat Laporan Rencana Pembangunan</button></a><br><a href="<?=base_url()?>'+response['exel_url']+'"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Download Laporan Rencana Pembangunan</button></a>'+
'</div>'+
'<div class="sini_tolak_textarea form-group">'+
'</div>';
$(".modal-body #sini_body").html(html);
}
});
});
</script>
<script>
$(document).ready(function(){
$('#tabel-data').DataTable();
})
</script>
</body>
</html>

View File

@ -0,0 +1,16 @@
<!-- Navbar -->
<nav class="navbar navbar-expand-lg navbar-absolute fixed-top navbar-transparent">
<div class="container-fluid">
<div class="navbar-wrapper">
<div class="navbar-toggle">
<button type="button" class="navbar-toggler">
<span class="navbar-toggler-bar bar1"></span>
<span class="navbar-toggler-bar bar2"></span>
<span class="navbar-toggler-bar bar3"></span>
</button>
</div>
<a class="navbar-brand" href=""><?=$header?> <b>|</b> <i>Camat</i></a>
</div>
</div>
</nav>

View File

@ -0,0 +1,68 @@
<script src="<?=base_url()?>assets/js/core/jquery.min.js"></script>
<script src="<?=base_url()?>assets/js/core/popper.min.js"></script>
<script src="<?=base_url()?>assets/js/core/bootstrap.min.js"></script>
<script src="<?=base_url()?>assets/js/plugins/perfect-scrollbar.jquery.min.js"></script>
<!-- Control Center for Now Ui Dashboard: parallax effects, scripts for the example pages etc -->
<script src="<?=base_url()?>assets/js/paper-dashboard.min.js?v=2.0.0" type="text/javascript"></script>
<script src="<?=base_url()?>sweet-alert/sweetalert.js"></script>
<!-- Control Center for Now Ui Dashboard: parallax effects, scripts for the example pages etc -->
<script src="<?=base_url()?>sweet-alert/toastr/toastr.min.js"></script>
<link rel="stylesheet" type="text/css" href="<?=base_url()?>sweet-alert/toastr/toastr.min.css">
<script type="text/javascript">
function logout(){
swal({
title: "Yakin ingin Logout?",
text: "Anda akan keluar dari sistem",
icon: "warning",
buttons: true,
dangerMode: true,
})
.then((logout) => {
if (logout) {
window.location.href ='<?php echo base_url("camat/logout") ?>';
} else {
swal("Terima kasih kerana masih di sistem");
}
});
}
</script>
<?php if ($this->session->flashdata('login_pertama') == 1): ?>
<script type="text/javascript">
toastr.options = {
"closeButton": true,
"debug": false,
"progressBar": true,
"positionClass": "toast-top-right",
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.success("<b>Selamat Datang </b><br> Anda Berhasil Login");
</script>
<?php endif ?>
<?php if ($this->session->flashdata('success')): ?>
<script type="text/javascript">
swal({
title: "Berhasil",
text: "<?=$this->session->flashdata('success')?>",
icon: "success",
showLoaderOnConfirm: true,
})
</script>
<?php endif ?>

View File

@ -0,0 +1,45 @@
<div class="sidebar" data-color="white" data-active-color="danger">
<div class="logo">
<a href="<?=base_url()?>user" class="simple-text logo-mini">
<div class="logo-image-small">
<img src="<?=base_url()?>assets/img/parepare.png" height="40px">
</div>
</a>
<a href="<?=base_url()?>user" class="simple-text logo-normal">
Bacukiki
</a>
</div>
<div class="sidebar-wrapper">
<ul class="nav">
<li <?php if ($this->uri->segment(2) == ''): ?>class="active"<?php endif ?>>
<a href="<?=base_url()?>camat">
<i class="fa fa-home"></i>
<p>Halaman Utama</p>
</a>
</li>
<li <?php if ($this->uri->segment(2) == 'rencana_pembangunan'): ?>class="active"<?php endif ?>>
<a href="<?=base_url()?>camat/rencana_pembangunan">
<i class="nc-icon nc-bank"></i>
<p>Rencana Pembangunan</p>
</a>
</li>
<li <?php if ($this->uri->segment(2) == 'data_usulan'): ?>class="active"<?php endif ?>>
<a href="<?=base_url()?>camat/data_usulan">
<i class="nc-icon nc-bullet-list-67"></i>
<p>Usulan Yang Diterima</p>
</a>
</li>
<li>
<a onclick="logout()">
<i class="nc-icon nc-button-power"></i>
<p>Logout</p>
</a>
</li>
</ul>
</div>
</div>

View File

@ -0,0 +1,8 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
echo "\nERROR: ",
$heading,
"\n\n",
$message,
"\n\n";

View File

@ -0,0 +1,8 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
echo "\nDatabase error: ",
$heading,
"\n\n",
$message,
"\n\n";

View File

@ -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 ?>

View File

@ -0,0 +1,8 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
echo "\nERROR: ",
$heading,
"\n\n",
$message,
"\n\n";

View File

@ -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 ?>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<p>Directory access is forbidden.</p>
</body>
</html>

View File

@ -0,0 +1,142 @@
<!DOCTYPE html>
<html lang="en">
<head>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="Sleek Dashboard - Free Bootstrap 4 Admin Dashboard Template and UI Kit. It is very powerful bootstrap admin dashboard, which allows you to build products like admin panels, content management systems and CRMs etc.">
<link rel="icon" type="image/png" href="assets/img/parepare.png">
<title>Rencana Pembangunan Bacukiki | Halaman Login</title>
<!-- GOOGLE FONTS -->
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,500|Poppins:400,500,600,700|Roboto:400,500" rel="stylesheet" />
<link href="https://cdn.materialdesignicons.com/4.4.95/css/materialdesignicons.min.css" rel="stylesheet" />
<!-- PLUGINS CSS STYLE -->
<link href="assets/plugins/nprogress/nprogress.css" rel="stylesheet" />
<!-- SLEEK CSS -->
<link id="sleek-css" rel="stylesheet" href="halaman_login/assets/css/sleek.css" />
<!-- FAVICON -->
<!-- <link href="halaman_login/assets/img/favicon.png" rel="shortcut icon" /> -->
<script src="sweet-alert/sweetalert.js"></script>
<!--
HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries
-->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<script src="halaman_login/assets/plugins/nprogress/nprogress.js"></script>
</head>
</head>
<body class="" id="body">
<div class="container d-flex flex-column justify-content-between vh-100">
<div class="row justify-content-center mt-5">
<div class="col-xl-5 col-lg-6 col-md-10">
<div class="card">
<div class="card-header bg-primary">
<div class="app-brand">
<a href="/index.html">
<!-- <svg class="brand-icon" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid" width="30" height="33"
viewBox="0 0 30 33">
<g fill="none" fill-rule="evenodd">
<path class="logo-fill-blue" fill="#7DBCFF" d="M0 4v25l8 4V0zM22 4v25l8 4V0z" />
<path class="logo-fill-white" fill="#FFF" d="M11 4v25l8 4V0z" />
</g>
</svg> -->
<img src="assets/img/parepare.png" preserveAspectRatio="xMidYMid" width="40" height="50"
viewBox="0 0 30 33">
<span class="brand-name">Bacukiki Parepare</span>
</a>
</div>
</div>
<div class="card-body p-5">
<h4 class="text-dark mb-5">Halaman Login</h4>
<form method="post">
<div class="row">
<div class="form-group col-md-12 mb-4">
<input type="text" class="form-control input-lg" id="username" name="username" placeholder="Isi Username">
</div>
<div class="form-group col-md-12 ">
<input type="password" class="form-control input-lg" id="password" name="password" placeholder="Isi Password">
</div>
<div class="col-md-12">
<!-- <div class="d-flex my-2 justify-content-between">
<div class="d-inline-block mr-3">
<label class="control control-checkbox">Remember me
<input type="checkbox" />
<div class="control-indicator"></div>
</label>
</div>
<p><a class="text-blue" href="#">Forgot Your Password?</a></p>
</div> -->
<input type="submit" class="btn btn-lg btn-primary btn-block mb-4" value="Login" name=login>
<!-- <p>Don't have an account yet ?
<a class="text-blue" href="sign-up.html">Sign Up</a>
</p> -->
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="copyright pl-0">
<p class="text-center">&copy; 2020 Perencanaan Pembangunan Kecamatan Bacukiki, Parepare ,
<a class="text-primary" href="" target="_blank">Risma</a>.
</p>
</div>
</div>
<script src="sweet-alert/sweetalert.js"></script>
<?php if ($this->session->flashdata('warning')=='1'): ?>
<script type="text/javascript">
swal({
title: "Username dan Password Salah!",
text: "Silakan login kembali.",
timer: 2500,
icon: "warning",
button: false
});
</script>
<?php elseif ($this->session->flashdata('warning')=='3'): ?>
<script type="text/javascript">
swal({
title: "Halaman Tidak Bisa Diakses",
text: "Anda Tidak Bisa Mengakses Halaman Ini Tanpa Login",
timer: 2500,
icon: "warning",
button: false
});
</script>
<?php elseif ($this->session->flashdata('warning')=='2'): ?>
<script type="text/javascript">
swal({
title: "Anda Telah Logout Dari Sistem",
text: "Terima Kasih Karena Menggunakan Sistem Ini.",
timer: 2500,
icon: "info",
button: false
});
</script>
<?php endif ?>
</body>
</html>

View File

@ -0,0 +1,55 @@
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-6">
<div class="card card-stats">
<div class="card-body ">
<div class="row">
<div class="col-5 col-md-4">
<div class="icon-big text-center icon-info">
<i class="fa fa-list text-info"></i>
</div>
</div>
<div class="col-7 col-md-8">
<div class="numbers">
<p class="card-category">Jumlah Rencana Pembangunan <br> Yang Dimasukkan</p>
<p class="card-title"><?=count($usulan->result())?>
<p>
</div>
</div>
</div>
</div>
<div class="card-footer ">
<hr>
<div class="stats">
<a href="<?=base_url()?>user/rencana_pembangunan" style="color: grey"><i class="fa fa-arrow-right"></i> Ke Halaman</a>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-6">
<div class="card card-stats">
<div class="card-body ">
<div class="row">
<div class="col-5 col-md-4">
<div class="icon-big text-center icon-warning">
<i class="fa fa-file-text-o text-success"></i>
</div>
</div>
<div class="col-7 col-md-8">
<div class="numbers">
<p class="card-category">Jumlah Rencana Pembangunan <br> Yang Diterima</p>
<p class="card-title"><?=count($usulan_diterima->result())?>
<p>
</div>
</div>
</div>
</div>
<div class="card-footer ">
<hr>
<div class="stats">
<a href="<?=base_url()?>user/rencana_pembangunan" style="color: grey"><i class="fa fa-arrow-right"></i> Ke Halaman</a>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,27 @@
<footer class="footer footer-black footer-white ">
<div class="container-fluid">
<div class="row">
<nav class="footer-nav">
<ul>
<li>
<a href="#" target="_blank">Bacukiki Parepare</a>
</li>
<li>
<a href="#" target="_blank">Blog</a>
</li>
<li>
<a href="#" target="_blank">Licenses</a>
</li>
</ul>
</nav>
<div class="credits ml-auto">
<span class="copyright">
©
<script>
document.write(new Date().getFullYear())
</script>, Perencanaan Pembangunan Bacukiki, Parepare <i class="fa fa-heart heart"></i> by Kicap Karan
</span>
</div>
</div>
</div>
</footer>

View File

@ -0,0 +1,31 @@
<head>
<meta charset="utf-8" />
<link rel="apple-touch-icon" sizes="76x76" href="<?=base_url()?>assets/img/apple-icon.png">
<link rel="icon" type="image/png" href="<?=base_url()?>assets/img/parepare.png">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>
Rencana Pembangunan Parepare | <?=$header?>
</title>
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, shrink-to-fit=no' name='viewport' />
<!-- Fonts and icons -->
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700,200" rel="stylesheet" />
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" rel="stylesheet">
<!-- CSS Files -->
<link href="<?=base_url()?>assets/css/bootstrap.min.css" rel="stylesheet" />
<link href="<?=base_url()?>assets/css/paper-dashboard.css?v=2.0.0" rel="stylesheet" />
<!-- CSS Just for demo purpose, don't include it in your project -->
<link href="<?=base_url()?>assets/demo/demo.css" rel="stylesheet" />
<link rel="stylesheet" href="<?php echo base_url('assets/bootstrap-validator/css/bootstrapValidator.min.css');?>">
<link rel="stylesheet" type="text/css" media="screen" href="<?=base_url()?>assets/js/datatables/jquery.dataTables.min.css">
<style type="text/css">
.has-error .help-block {
color: red;
}
</style>
<style type="text/css">
.swal-modal .swal-text{
text-align: center
}
</style>
</head>

View File

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<?php $this->load->view('user/head') ?>
<body class="">
<div class="wrapper ">
<?php $this->load->view('user/sidebar') ?>
<div class="main-panel">
<?php $this->load->view('user/navbar') ?>
<div class="content">
<?php $this->load->view('user/atas') ?>
<!-- sini letak main -->
<!-- sini akhir letak main -->
</div>
<?php $this->load->view('user/footer') ?>
</div>
</div>
<?php $this->load->view('user/script') ?>
<!-- bawah sini letak js tambahan -->
</body>
</html>

View File

@ -0,0 +1,307 @@
<!DOCTYPE html>
<html lang="en">
<?php $this->load->view('user/head') ?>
<body class="">
<div class="wrapper ">
<?php $this->load->view('user/sidebar') ?>
<div class="main-panel">
<?php $this->load->view('user/navbar') ?>
<div class="content">
<?php $this->load->view('user/atas') ?>
<!-- sini letak main -->
<div class="row">
<div class="col-md-4" >
<div class="card card-user">
<div class="card-header">
<h5 class="card-title" >Form Detail Diri</h5>
</div>
<div class="card-body">
<form id="sini_form">
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>NIK</label>
<input type="text" class="form-control" value="<?=$user->nik?>" disabled="" title="NIK">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Kelurahan</label>
<input type="text" class="form-control" value="<?=$kelurahan?>" disabled="" title="kelurahan">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Nama </label>
<input type="text" class="form-control" placeholder="Isikan Nama" title="Isikan Nama" id="nama" name="nama" data-bv-notempty="true" data-bv-notempty-message="Nama Harus Terisi" value="<?=$user->nama?>">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Email </label>
<input type="text" class="form-control" placeholder="Isikan Email" title="Isikan Email" id="email" name="email" data-bv-notempty="true" data-bv-notempty-message="Email Harus Terisi" value="<?=$user->email?>">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>No Telpon </label>
<input type="text" class="form-control" placeholder="Isikan No Telpon" title="Isikan No Telpon" id="no_telpon" name="no_telpon" data-bv-notempty="true" data-bv-notempty-message="No Telpon Harus Terisi" value="<?=$user->no_telpon?>" minlength="11" maxlength="13">
</div>
</div>
</div>
<div class="row" >
<div class="col-md-12">
<div class="form-group" style="overflow-x: auto; text-align: center">
<button class="btn btn-primary btn-round" id="edit_info_diri">Edit Informasi Diri</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="col-md-8">
<div class="card card-user">
<div class="card-header">
<h5 class="card-title">Form Username Dan Password</h5>
</div>
<div class="card-body" style="overflow-x: auto">
<form id="sini_form_user_pass">
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Username Lama</label>
<input type="text" class="form-control" placeholder="Isikan Username Lama" title="Isikan Username Lama" id="username_lama" name="username_lama" data-bv-notempty="true" data-bv-notempty-message="Username Lama Harus Terisi" minlength="8">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Username Baru</label>
<input type="text" class="form-control" placeholder="Isikan Username Baru" title="Isikan Username Baru" id="username" name="username" data-bv-notempty="true" data-bv-notempty-message="Username Baru Harus Terisi" minlength="8">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Password Lama</label>
<input type="text" class="form-control" placeholder="Isikan Password Lama" title="Isikan Password Lama" id="password_lama" name="password_lama" data-bv-notempty="true" data-bv-notempty-message="Password Lama Harus Terisi" minlength="8">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Password Baru</label>
<input type="text" class="form-control" placeholder="Isikan Passwod Baru" title="Isikan Password Baru" id="password" name="password" data-bv-notempty="true" data-bv-notempty-message="Password Baru Harus Terisi" minlength="8">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Konfirmasi Password Baru</label>
<input type="text" class="form-control" placeholder="Isikan Konfirmasi Passwod Baru" title="Isikan Konfirmasi Password Baru" id="konfirmasi_password" name="konfirmasi_password" data-bv-notempty="true" data-bv-notempty-message="Konfirmasi Password Baru Harus Terisi" minlength="8">
</div>
</div>
</div>
<div class="row" >
<div class="col-md-12">
<div class="form-group" style="overflow-x: auto; text-align: center">
<button class="btn btn-primary btn-round" id="ganti_user_pass">Ganti Username Dan Password</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- sini akhir letak main -->
</div>
<?php $this->load->view('user/footer') ?>
</div>
</div>
<?php $this->load->view('user/script') ?>
<!-- bawah sini letak js tambahan -->
<script src="<?php echo base_url('assets/bootstrap-validator/js/bootstrapValidator.min.js'); ?>"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#sini_form').bootstrapValidator({
message: 'This value is not valid',
feedbackIcons: {
// valid: 'fa fa-check',
invalid: 'fa fa-close',
validating: 'fa fa-circle-o-notch'
},
excluded: ':disabled'
})
})
$("#edit_info_diri").click(function (){
$('#sini_form').submit();
var data = $('#sini_form').serializeArray();
// data = jQuery.grep(data, function(value) {
// return value['file'] != 'id';
// });
var error = $('#sini_form').find(".has-error").length;
if (error == 0) {
$.ajax({
url: "<?=base_url()?>user/profil",
type: 'post',
data: {data :data , info : "detail"},
// dataType: "json",
beforeSend: function(res) {
$("#edit_info_diri").html('<i class="fa fa-circle-o-notch fa-spin"></i> Harap Bersabar');
$("#edit_info_diri").attr({
"class" : "btn btn-warning btn-round",
"disabled" : ""
});
},
success: function (response) {
window.location.replace(response);
}
});
}
})
$(document).ready(function(){
$('#sini_form_user_pass').bootstrapValidator({
message: 'This value is not valid',
feedbackIcons: {
// valid: 'fa fa-check',
invalid: 'fa fa-close',
validating: 'fa fa-circle-o-notch'
},
excluded: ':disabled'
})
})
$("#ganti_user_pass").click(function (){
$('#sini_form_user_pass').submit();
var data = $('#sini_form_user_pass').serializeArray();
// console.log(data);
// data = jQuery.grep(data, function(value) {
// return value['file'] != 'id';
// });
var error = $('#sini_form_user_pass').find(".has-error").length;
if (error == 0) {
$.ajax({
url: "<?=base_url()?>user/profil",
type: 'post',
data: {data :data , info : "user_pass"},
dataType: "json",
beforeSend: function(res) {
$("#ganti_user_pass").html('<i class="fa fa-circle-o-notch fa-spin"></i> Harap Bersabar');
$("#ganti_user_pass").attr({
"class" : "btn btn-warning btn-round",
"disabled" : ""
});
},
success: function (response) {
console.log(response['no']);
// window.location.replace(response);
if (response['no'] == 0) {
toastr.options = {
"closeButton": true,
"debug": false,
"progressBar": true,
"positionClass": "toast-top-right",
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.error("<b>Error </b><br>"+response['ket']);
$("#ganti_user_pass").html('Ganti Username Dan Password');
$('#ganti_user_pass').removeAttr("disabled")
$("#ganti_user_pass").attr({
"class" : "btn btn-primary btn-round"
});
}else{
window.location.replace(response['ket']);
}
}
});
}
})
</script>
<script type="text/javascript">
function setInputFilter(textbox, inputFilter) {
["input", "keydown", "keyup", "mousedown", "mouseup", "select", "contextmenu", "drop"].forEach(function(event) {
textbox.addEventListener(event, function() {
if (inputFilter(this.value)) {
this.oldValue = this.value;
this.oldSelectionStart = this.selectionStart;
this.oldSelectionEnd = this.selectionEnd;
} else if (this.hasOwnProperty("oldValue")) {
this.value = this.oldValue;
this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);
} else {
this.value = "";
}
});
});
}
// Install input filters.
setInputFilter(document.getElementById("no_telpon"), function(value) {
return /^-?\d*$/.test(value); });
</script>
</body>
</html>

View File

@ -0,0 +1,508 @@
<!DOCTYPE html>
<html lang="en">
<?php $this->load->view('user/head') ?>
<body class="">
<div class="wrapper ">
<?php $this->load->view('user/sidebar') ?>
<div class="main-panel">
<?php $this->load->view('user/navbar') ?>
<div class="content">
<?php $this->load->view('user/atas') ?>
<!-- sini letak main -->
<div class="modal fade" id="lihat_informasi" tabindex="-1" role="dialog" aria-labelledby="myModalLabel-2">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<h5 class="card-title" id="judul_modal">Informasi Laporan <br>Rencana Pembangunan</h5>
<div id="sini_body"></div>
</div>
<div class="modal-footer">
<div id="sini_button_modal"></div>
<button type="button" class="btn btn-default btn-sm waves-effect waves-light" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4" >
<div class="card card-user">
<div class="card-header">
<h5 class="card-title" >Form Pengusulan <br> Rencana Pembangunan</h5>
</div>
<div class="card-body">
<form enctype="multipart/form-data" id="sini_form">
<div class="row">
<div class="col-md-12">
<label>Upload Laporan Rencana Pembangunan</label>
<input type="file" name="file" id="file" class="form-control" data-bv-notempty="true" data-bv-notempty-message="Laporan Rencana Pembangunan Harus Dipilih">
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Judul Laporan Rencana Pembangunan</label>
<textarea class="form-control" name="judul" id="judul" style="resize: none;" title="Isikan Judul Laporan Rencana Pembangunan" placeholder="Isikan Judul Laporan Rencana Pembangunan" data-bv-notempty="true" data-bv-notempty-message="Judul Laporan Pembangunan Harus Terisi"></textarea>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Jumlah Anggaran Biaya Pembangunan <b><i>(Rp. )</i></b></label>
<input type="text" class="form-control" placeholder="Isikan Jumlah Biaya Pembangunan" id="biaya" name="biaya" data-bv-notempty="true" data-bv-notempty-message="Jumlah Anggaran Biaya Pembangunan Harus Terisi" maxlength="11">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>RT / RW</label>
<select data-bv-notempty="true" data-bv-notempty-message="RT / RW Harus Dipilih" title="Pilih RT / RW" class="form-control" name="rtrw">
<option selected="" value="" disabled="">-Pilih RT / RW</option>
<?php foreach ($rtrw->result() as $key => $value): ?>
<option value="<?=$value->no?>"><?=$value->rt.'/'.$value->rw?></option>
<?php endforeach ?>
</select>
</div>
</div>
</div>
<div class="row" >
<div class="col-md-12">
<div class="form-group" style="overflow-x: auto; text-align: center">
<button class="btn btn-primary btn-round" id="usulkan">Usulkan Rencana Pembangunan</button>
<div id="sinidia"></div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="col-md-8">
<div class="card card-user">
<div class="card-header">
<h5 class="card-title">List Pengusulan Rencana Pembangunan</h5>
</div>
<div class="card-body" style="overflow-x: auto">
<table id="tabel-data" class="table table-striped table-bordered" width="100%" cellspacing="0" >
<thead>
<tr>
<th>No</th>
<th>Waktu Pengusulan</th>
<th>Judul</th>
<th>RT / RW</th>
<th>Anggaran</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $i = 1; foreach ($usulan->result() as $key => $value):
$cek_status = $this->model->tampil_data_where('tb_status',array('no' => $value->status));
$cek_rtrw = $this->model->tampil_data_where('tb_rtrw',array('no' => $value->rtrw));
if ($value->status == 1 or $value->status == 2) {?>
<tr style="background: #f6a828; ">
<?php
}elseif ($value->status == 4 or $value->status == 5) { ?>
<tr style="background: #BD4A31; ">
<?php
}elseif ($value->status == 3) { ?>
<tr style="background: #8FF085; ">
<?php
}
foreach ($cek_status->result() as $key1 => $value1) ;
?>
<td><?=$i;$i++?></td>
<td><?=$value->tanggal_upload?></td>
<td><?=$value->judul?></td>
<td><?=$cek_rtrw->result()[0]->rt?>/<?=$cek_rtrw->result()[0]->rw?></td>
<td>Rp. <?=$value->biaya?></td>
<td><?=$value1->status?></td>
<td>
<a data-toggle="modal" data-id="<?=$value->no?>" title="Lihat Informasi Pengusulan Rencana Pembangunan" class="lihat_informasi btn btn-primary btn-sm nc-icon nc-zoom-split" href="#lihat_informasi" id="klik_<?=$value->no?>"></a>
</td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- sini akhir letak main -->
</div>
<?php $this->load->view('user/footer') ?>
</div>
</div>
<?php $this->load->view('user/script') ?>
<!-- bawah sini letak js tambahan -->
<script src="<?=base_url()?>assets/js/datatables/jquery.min.js"></script>
<script src="<?=base_url()?>assets/js/datatables/jquery.dataTables.min.js"></script>
<script src="<?php echo base_url('assets/bootstrap-validator/js/bootstrapValidator.min.js'); ?>"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#sini_form').bootstrapValidator({
message: 'This value is not valid',
feedbackIcons: {
// valid: 'fa fa-check',
invalid: 'fa fa-close',
validating: 'fa fa-circle-o-notch'
},
excluded: ':disabled'
})
})
$("#usulkan").click(function (){
$('#sini_form').submit();
var data = $('#sini_form').serializeArray();
var form_data = new FormData();
var totalfiles = document.getElementById('file').files.length;
data = jQuery.grep(data, function(value) {
return value['file'] != 'id';
});
data = JSON.stringify(data);
form_data.append('data', data);
var error = $('#sini_form').find(".has-error").length;
if (error == 0) {
if (totalfiles == 0) {
toastr.options = {
"closeButton": true,
"debug": false,
"progressBar": true,
"positionClass": "toast-top-right",
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.warning("<center><b>File Laporan Rencana Pembangunan Harus Diupload</b></ccenter>");
$("#file").focus();
}else{
var name = document.getElementById('file').files[0]['name'];
name = name.split('.').pop().trim();
// console.log(name);
if (name !== 'pdf') {
toastr.options = {
"closeButton": true,
"debug": false,
"progressBar": true,
"positionClass": "toast-top-right",
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.warning("<center><b>Ekstensi Laporan Yang Diupload Harus Berbentuk <i>.pdf</i> </b></ccenter>");
$("#file").val();
$("#file").focus();
}else{
form_data.append("file", document.getElementById('file').files[0]);
console.log(document.getElementById('file').files[0])
// $.ajax({
// url: "<?=base_url()?>user/rencana_pembangunan/usulkan",
// type: 'post',
// data: form_data,
// // dataType: 'json',
// contentType: false,
// processData: false,
// beforeSend: function(res) {
// $("#sinidia").html('<button class="btn btn-primary btn-round" disabled><i class="fa fa-circle-o-notch fa-spin"></i> Mohon Bersabar</button>');
// $("#usulkan").hide();
// },
// success: function (response) {
// window.location.replace('<?=base_url()?>user/rencana_pembangunan');
// }
// });
}
}
}
})
$(document).on("click", ".lihat_informasi", function () {
var id = $(this).data('id');
// console.log(id);
$.ajax({
url: "<?=base_url()?>user/rencana_pembangunan",
type: 'post',
data: {id :id , info : "lihat"},
dataType: "json",
beforeSend: function(res) {
},
success: function (response) {
// console.log(response);
var html = '<div class="form-group">'+
'<label>Tanggal Pengusulan</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['tanggal_upload']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Judul Laporan Rencana Pembangunan</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['judul']+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<label>Jumlah Anggaran Biaya Pembangunan <b><i>(Rp. )</i></b></label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['biaya']+'" disabled>'+
'</div>'+
'<div class="form-group">'+
'<label>Status</label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['ket_status']+'" disabled>'+
'</div>';
if (response['status'] == 1) {
var footer = '<button type="button" class="btn btn-warning btn-sm waves-effect waves-light" onclick="edit_usulan('+response['no']+')">Edit Laporan</button>'
}else if (response['status'] == 3) {
var footer = '<button type="button" class="btn btn-success btn-sm waves-effect waves-light" disabled="">Rencana Pembangunan Diterima</button>'
}else if (response['status'] == 2){
var footer = '<button type="button" class="btn btn-warning btn-sm waves-effect waves-light" disabled="">Dalam Pengesahan</button>'
}else if (response['status'] == 4){
var footer = '<button type="button" class="btn btn-danger btn-sm waves-effect waves-light" disabled="">Ditolak Oleh Camat</button>';
html += '<div class="form-group">'+
'<label>Alasan Penolakan Camat</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['ket']+'</textarea>'+
'</div>';
}else if (response['status'] == 5){
var footer = '<button type="button" class="btn btn-danger btn-sm waves-effect waves-light" disabled="">Ditolak Oleh Admin</button>';
html += '<div class="form-group">'+
'<label>Alasan Penolakan Admin</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" disabled>'+response['ket']+'</textarea>'+
'</div>';
}
html += '<div class="form-group">'+
'<a href="<?=base_url()?>'+response['exel_url']+'" target="blank"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Download Laporan Rencana Pembangunan</button></a>'+
'</div>';
$(".modal-body #sini_body").html(html);
$(".modal-footer #sini_button_modal").html(footer);
}
});
});
function edit_usulan(e){
$.ajax({
url: "<?=base_url()?>user/rencana_pembangunan",
type: 'post',
data: {id :e },
dataType: "json",
beforeSend: function(res) {
},
success: function (response) {
// console.log(response);
var html = '<form enctype="multipart/form-data" id="sini_form_edit"><div class="form-group">'+
'<label>Judul Laporan Rencana Pembangunan</label>'+
'<textarea class="form-control" name="judul" style="resize: none;" placeholder="Isikan Judul Laporan Rencana Pembangunan" title="Isikan Judul Laporan Rencana Pembangunan" data-bv-notempty="true" data-bv-notempty-message="Judul Laporan Pembangunan Harus Terisi">'+response['judul']+'</textarea>'+
'</div>'+
'<div class="form-group">'+
'<label>Jumlah Anggaran Biaya Pembangunan <b><i>(Rp. )</i></b></label>'+
'<input type="text" class="form-control" maxlength="11" value="'+response['biaya']+'" id="biaya1" name="biaya" data-bv-notempty="true" data-bv-notempty-message="Jumlah Anggaran Biaya Pembangunan Harus Terisi" placeholder="Isikan Jumlah Biaya Pembangunan" title="Isikan Jumlah Biaya Pembangunan">'+
'</div>'+
'<div class="yang_lama form-group">'+
'<a href="<?=base_url()?>'+response['exel_url']+'" target="blank"><button type="button" class="btn btn-info btn-sm waves-effect waves-light" >Download Laporan Rencana Pembangunan</button></a>'+
'</div>'+
'<div class="form-group">'+
'<input type="radio" name="laporan" value="tetap" style="display: inline;" checked="" onclick="klik_upload(1)"><label class="text-black" for="email">Kekalkan Laporan Lama</label> &nbsp &nbsp<input type="radio" name="laporan" value="upload_baru" style="display: inline;" onclick="klik_upload(2)"><label class="text-black" for="email">Upload Laporan Baru</label>'+
'</div><div class="sini_laporan_upload"></div>'+response['script']+response['script2'];
$(".modal-body #sini_body").html(html);
var footer = '<button class="edit_laporannya btn btn-primary btn-sm waves-effect waves-light" onclick="usulkan_edit('+response['no']+')">Edit Rencana Pembangunan</button><button type="button" class="btn btn-danger btn-sm waves-effect waves-light" data-dismiss="modal">batalkan</button></form>'
$(".modal-footer #sini_button_modal").html(footer);
}
});
}
function klik_upload(e){
// console.log(e);
if (e == 1) {
$(".yang_lama").show();
$(".file1").val(null);
var html = "";
}else if (e == 2) {
$(".yang_lama").hide();
var html = '<label>Upload Laporan Rencana Pembangunan</label><input type="file" name="file" id="file1" class="form-control" data-bv-notempty="true" data-bv-notempty-message="Laporan Rencana Pembangunan Harus Dipilih">'
}
$(".sini_laporan_upload").html(html);
}
function usulkan_edit(e){
$('#sini_form_edit').submit();
var data = $('#sini_form_edit').serializeArray();
var form_data = new FormData();
var totalfiles = document.getElementById('file').files.length;
data = jQuery.grep(data, function(value) {
return value['file'] != 'id';
});
data = JSON.stringify(data);
form_data.append('data', data);
form_data.append('id', e);
var error = $('#sini_form_edit').find(".has-error").length;
if (error == 0) {
var laporan = $( "input[name='laporan']:checked" ).val();
if (laporan == 'upload_baru') {
// console.log("sini upload baru");
var totalfiles = document.getElementById('file1').files.length;
if (totalfiles == 0) {
toastr.options = {
"closeButton": true,
"debug": false,
"progressBar": true,
"positionClass": "toast-top-right",
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.warning("<center><b>File Laporan Rencana Pembangunan Harus Diupload</b></ccenter>");
$("#file1").focus();
throw "stop execution";
}else{
var name = document.getElementById('file1').files[0]['name'];
name = name.split('.').pop().trim();
// console.log(name);
if (name !== 'pdf') {
toastr.options = {
"closeButton": true,
"debug": false,
"progressBar": true,
"positionClass": "toast-top-right",
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.warning("<center><b>Ekstensi Laporan Yang Diupload Harus Berbentuk <i>.pdf</i></b></center>");
$("#file1").val();
$("#file1").focus();
throw "stop execution";
}else{
form_data.append("file", document.getElementById('file1').files[0]);
}
}
}
$.ajax({
url: "<?=base_url()?>user/rencana_pembangunan/usulkan_edit",
type: 'post',
data: form_data,
// dataType: 'json',
contentType: false,
processData: false,
beforeSend: function(res) {
$(".edit_laporannya").html('<i class="fa fa-circle-o-notch fa-spin"></i> Mohon Bersabar');
$(".edit_laporannya").attr({
"class" : "edit_laporannya btn btn-primary btn-sm waves-effect waves-light",
"disabled" : ""
})
// $("#usulkan").hide();
},
success: function (response) {
// console.log(response);
window.location.replace('<?=base_url()?>user/rencana_pembangunan');
}
});
}
}
</script>
<script type="text/javascript">
var elem = document.getElementById("biaya");
elem.addEventListener("keydown",function(event){
var key = event.which;
if((key<48 || key>57) && key != 8) event.preventDefault();
});
elem.addEventListener("keyup",function(event){
var value = this.value.replace(/,/g,"");
this.dataset.currentValue=parseInt(value);
var caret = value.length-1;
while((caret-3)>-1)
{
caret -= 3;
value = value.split("");
value.splice(caret+1,0,",");
value = value.join("");
}
this.value = value;
});
</script>
<script>
$(document).ready(function(){
$('#tabel-data').DataTable();
})
</script>
<?php if ($this->session->flashdata('klik')): ?>
<script type="text/javascript">
document.getElementById("klik_<?=$this->session->flashdata('klik')?>").click();
</script>
<?php endif ?>
</body>
</html>

View File

@ -0,0 +1,16 @@
<!-- Navbar -->
<nav class="navbar navbar-expand-lg navbar-absolute fixed-top navbar-transparent">
<div class="container-fluid">
<div class="navbar-wrapper">
<div class="navbar-toggle">
<button type="button" class="navbar-toggler">
<span class="navbar-toggler-bar bar1"></span>
<span class="navbar-toggler-bar bar2"></span>
<span class="navbar-toggler-bar bar3"></span>
</button>
</div>
<a class="navbar-brand" href=""><?=$header?> <b>|</b> <i><?=$kelurahan?></i></a>
</div>
</div>
</nav>

View File

@ -0,0 +1,68 @@
<script src="<?=base_url()?>assets/js/core/jquery.min.js"></script>
<script src="<?=base_url()?>assets/js/core/popper.min.js"></script>
<script src="<?=base_url()?>assets/js/core/bootstrap.min.js"></script>
<script src="<?=base_url()?>assets/js/plugins/perfect-scrollbar.jquery.min.js"></script>
<!-- Control Center for Now Ui Dashboard: parallax effects, scripts for the example pages etc -->
<script src="<?=base_url()?>assets/js/paper-dashboard.min.js?v=2.0.0" type="text/javascript"></script>
<script src="<?=base_url()?>sweet-alert/sweetalert.js"></script>
<!-- Control Center for Now Ui Dashboard: parallax effects, scripts for the example pages etc -->
<script src="<?=base_url()?>sweet-alert/toastr/toastr.min.js"></script>
<link rel="stylesheet" type="text/css" href="<?=base_url()?>sweet-alert/toastr/toastr.min.css">
<script type="text/javascript">
function logout(){
swal({
title: "Yakin ingin Logout?",
text: "Anda akan keluar dari sistem",
icon: "warning",
buttons: true,
dangerMode: true,
})
.then((logout) => {
if (logout) {
window.location.href ='<?php echo base_url("user/logout") ?>';
} else {
swal("Terima kasih kerana masih di sistem");
}
});
}
</script>
<?php if ($this->session->flashdata('login_pertama') == 1): ?>
<script type="text/javascript">
toastr.options = {
"closeButton": true,
"debug": false,
"progressBar": true,
"positionClass": "toast-top-right",
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
};
toastr.success("<b>Selamat Datang </b><br> Anda Berhasil Login");
</script>
<?php endif ?>
<?php if ($this->session->flashdata('success')): ?>
<script type="text/javascript">
swal({
title: "Berhasil",
text: "<?=$this->session->flashdata('success')?>",
icon: "success",
showLoaderOnConfirm: true,
})
</script>
<?php endif ?>

View File

@ -0,0 +1,51 @@
<div class="sidebar" data-color="white" data-active-color="danger">
<div class="logo">
<a href="<?=base_url()?>user" class="simple-text logo-mini">
<div class="logo-image-small">
<img src="<?=base_url()?>assets/img/parepare.png" height="40px">
</div>
</a>
<a href="<?=base_url()?>user" class="simple-text logo-normal">
Bacukiki
</a>
</div>
<div class="sidebar-wrapper">
<ul class="nav">
<li <?php if ($this->uri->segment(2) == ''): ?>class="active"<?php endif ?>>
<a href="<?=base_url()?>user">
<i class="fa fa-home"></i>
<p>Halaman Utama</p>
</a>
</li>
<li <?php if ($this->uri->segment(2) == 'rencana_pembangunan'): ?>class="active"<?php endif ?>>
<a href="<?=base_url()?>user/rencana_pembangunan">
<i class="nc-icon nc-bank"></i>
<p>Rencana Pembangunan</p>
</a>
</li>
<!-- <li <?php if ($this->uri->segment(2) == 'laporan'): ?>class="active"<?php endif ?>>
<a href="<?=base_url()?>user/laporan">
<i class="nc-icon nc-bullet-list-67"></i>
<p>Laporan</p>
</a>
</li> -->
<li <?php if ($this->uri->segment(2) == 'profil'): ?>class="active"<?php endif ?>>
<a href="<?=base_url()?>user/profil">
<i class="fa fa-user-circle"></i>
<p>Profil</p>
</a>
</li>
<li>
<a onclick="logout()">
<i class="nc-icon nc-button-power"></i>
<p>Logout</p>
</a>
</li>
</ul>
</div>
</div>

View File

@ -0,0 +1,89 @@
<?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;
}
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;
}
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="user_guide/">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>

View File

@ -0,0 +1,30 @@
/**
* BootstrapValidator (http://bootstrapvalidator.com)
* The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3
*
* @author http://twitter.com/nghuuphuoc
* @copyright (c) 2013 - 2014 Nguyen Huu Phuoc
* @license MIT
*/
.bv-form .help-block {
margin-bottom: 0;
}
.bv-form .tooltip-inner {
text-align: left;
}
.nav-tabs li.bv-tab-success > a {
color: #3c763d;
}
.nav-tabs li.bv-tab-error > a {
color: #a94442;
}
.bv-form .bv-icon-no-label {
top: 0;
}
.bv-form .bv-icon-input-group {
top: 0;
z-index: 100;
}

View File

@ -0,0 +1,11 @@
/*!
* BootstrapValidator (http://bootstrapvalidator.com)
* The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3
*
* @version v0.5.2, built on 2014-09-25 4:01:07 PM
* @author https://twitter.com/nghuuphuoc
* @copyright (c) 2013 - 2014 Nguyen Huu Phuoc
* @license MIT
*/
.bv-form .help-block{margin-bottom:0}.bv-form .tooltip-inner{text-align:left}.nav-tabs li.bv-tab-success>a{color:#3c763d}.nav-tabs li.bv-tab-error>a{color:#a94442}.bv-form .bv-icon-no-label{top:0}.bv-form .bv-icon-input-group{top:0;z-index:100}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

7
assets/css/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

22
assets/css/paper-dashboard.min.css vendored Normal file

File diff suppressed because one or more lines are too long

189
assets/demo/demo.css Normal file
View File

@ -0,0 +1,189 @@
.tim-row {
margin-bottom: 20px;
}
.tim-white-buttons {
background-color: #777777;
}
.typography-line {
padding-left: 25%;
margin-bottom: 35px;
position: relative;
display: block;
width: 100%;
}
.typography-line span {
bottom: 10px;
color: #c0c1c2;
display: block;
font-weight: 400;
font-size: 13px;
line-height: 13px;
left: 0;
position: absolute;
width: 260px;
text-transform: none;
}
.tim-row {
padding-top: 60px;
}
.tim-row h3 {
margin-top: 0;
}
.offline-doc .page-header {
display: flex;
align-items: center;
}
.offline-doc .footer {
position: absolute;
width: 100%;
background: transparent;
bottom: 0;
color: #fff;
z-index: 1;
}
@media all and (min-width: 992px) {
.sidebar .nav>li.active-pro {
position: absolute;
width: 100%;
bottom: 10px;
}
}
.card.card-upgrade .card-category {
max-width: 530px;
margin: 0 auto;
}
/* Nucleo Style */
.demo-iconshtml {
font-size: 62.5%;
}
.demo-icons body {
font-size: 1.6rem;
font-family: sans-serif;
color: #333333;
background: white;
}
.demo-icons a {
color: #608CEE;
text-decoration: none;
}
.demo-icons header {
text-align: center;
padding: 100px 0 0;
}
.demo-icons header h1 {
font-size: 2.8rem;
}
.demo-icons header p {
font-size: 1.4rem;
margin-top: 1em;
}
.demo-icons header a:hover {
text-decoration: underline;
}
.demo-icons .nc-icon {
font-size: 34px;
}
.demo-icons section h2 {
border-bottom: 1px solid #e2e2e2;
padding: 0 0 1em .2em;
margin-bottom: 1em;
}
.demo-icons ul {
padding-left: 0;
}
.demo-icons ul::after {
clear: both;
content: "";
display: table;
}
.demo-icons ul li {
width: 20%;
float: left;
padding: 16px 0;
text-align: center;
border-radius: .25em;
-webkit-transition: background 0.2s;
-moz-transition: background 0.2s;
transition: background 0.2s;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
overflow: hidden;
}
.demo-icons ul li:hover {
background: #f4f4f4;
}
.demo-icons ul p,
.demo-icons ul em,
.demo-icons ul input {
display: inline-block;
font-size: 1rem;
color: #999999;
-webkit-user-select: auto;
-moz-user-select: auto;
-ms-user-select: auto;
user-select: auto;
white-space: nowrap;
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
cursor: pointer;
}
.demo-icons ul p {
padding: 20px 0 0;
font-size: 12px;
margin: 0;
}
.demo-icons ul p::selection,
.demo-icons ul em::selection {
background: #608CEE;
color: #efefef;
}
.demo-icons ul em {
font-size: 12px;
}
.demo-icons ul em::before {
content: '[';
}
.demo-icons ul em::after {
content: ']';
}
.demo-icons ul input {
text-align: center;
background: transparent;
border: none;
box-shadow: none;
outline: none;
display: none;
}

408
assets/demo/demo.js Normal file
View File

@ -0,0 +1,408 @@
demo = {
initPickColor: function() {
$('.pick-class-label').click(function() {
var new_class = $(this).attr('new-class');
var old_class = $('#display-buttons').attr('data-class');
var display_div = $('#display-buttons');
if (display_div.length) {
var display_buttons = display_div.find('.btn');
display_buttons.removeClass(old_class);
display_buttons.addClass(new_class);
display_div.attr('data-class', new_class);
}
});
},
initDocChart: function() {
chartColor = "#FFFFFF";
ctx = document.getElementById('chartHours').getContext("2d");
myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct"],
datasets: [{
borderColor: "#6bd098",
backgroundColor: "#6bd098",
pointRadius: 0,
pointHoverRadius: 0,
borderWidth: 3,
data: [300, 310, 316, 322, 330, 326, 333, 345, 338, 354]
},
{
borderColor: "#f17e5d",
backgroundColor: "#f17e5d",
pointRadius: 0,
pointHoverRadius: 0,
borderWidth: 3,
data: [320, 340, 365, 360, 370, 385, 390, 384, 408, 420]
},
{
borderColor: "#fcc468",
backgroundColor: "#fcc468",
pointRadius: 0,
pointHoverRadius: 0,
borderWidth: 3,
data: [370, 394, 415, 409, 425, 445, 460, 450, 478, 484]
}
]
},
options: {
legend: {
display: false
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
fontColor: "#9f9f9f",
beginAtZero: false,
maxTicksLimit: 5,
//padding: 20
},
gridLines: {
drawBorder: false,
zeroLineColor: "#ccc",
color: 'rgba(255,255,255,0.05)'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
color: 'rgba(255,255,255,0.1)',
zeroLineColor: "transparent",
display: false,
},
ticks: {
padding: 20,
fontColor: "#9f9f9f"
}
}]
},
}
});
},
initChartsPages: function() {
chartColor = "#FFFFFF";
ctx = document.getElementById('chartHours').getContext("2d");
myChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct"],
datasets: [{
borderColor: "#6bd098",
backgroundColor: "#6bd098",
pointRadius: 0,
pointHoverRadius: 0,
borderWidth: 3,
data: [300, 310, 316, 322, 330, 326, 333, 345, 338, 354]
},
{
borderColor: "#f17e5d",
backgroundColor: "#f17e5d",
pointRadius: 0,
pointHoverRadius: 0,
borderWidth: 3,
data: [320, 340, 365, 360, 370, 385, 390, 384, 408, 420]
},
{
borderColor: "#fcc468",
backgroundColor: "#fcc468",
pointRadius: 0,
pointHoverRadius: 0,
borderWidth: 3,
data: [370, 394, 415, 409, 425, 445, 460, 450, 478, 484]
}
]
},
options: {
legend: {
display: false
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
fontColor: "#9f9f9f",
beginAtZero: false,
maxTicksLimit: 5,
//padding: 20
},
gridLines: {
drawBorder: false,
zeroLineColor: "#ccc",
color: 'rgba(255,255,255,0.05)'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
color: 'rgba(255,255,255,0.1)',
zeroLineColor: "transparent",
display: false,
},
ticks: {
padding: 20,
fontColor: "#9f9f9f"
}
}]
},
}
});
ctx = document.getElementById('chartEmail').getContext("2d");
myChart = new Chart(ctx, {
type: 'pie',
data: {
labels: [1, 2, 3],
datasets: [{
label: "Emails",
pointRadius: 0,
pointHoverRadius: 0,
backgroundColor: [
'#e3e3e3',
'#4acccd',
'#fcc468',
'#ef8157'
],
borderWidth: 0,
data: [342, 480, 530, 120]
}]
},
options: {
legend: {
display: false
},
pieceLabel: {
render: 'percentage',
fontColor: ['white'],
precision: 2
},
tooltips: {
enabled: false
},
scales: {
yAxes: [{
ticks: {
display: false
},
gridLines: {
drawBorder: false,
zeroLineColor: "transparent",
color: 'rgba(255,255,255,0.05)'
}
}],
xAxes: [{
barPercentage: 1.6,
gridLines: {
drawBorder: false,
color: 'rgba(255,255,255,0.1)',
zeroLineColor: "transparent"
},
ticks: {
display: false,
}
}]
},
}
});
var speedCanvas = document.getElementById("speedChart");
var dataFirst = {
data: [0, 19, 15, 20, 30, 40, 40, 50, 25, 30, 50, 70],
fill: false,
borderColor: '#fbc658',
backgroundColor: 'transparent',
pointBorderColor: '#fbc658',
pointRadius: 4,
pointHoverRadius: 4,
pointBorderWidth: 8,
};
var dataSecond = {
data: [0, 5, 10, 12, 20, 27, 30, 34, 42, 45, 55, 63],
fill: false,
borderColor: '#51CACF',
backgroundColor: 'transparent',
pointBorderColor: '#51CACF',
pointRadius: 4,
pointHoverRadius: 4,
pointBorderWidth: 8
};
var speedData = {
labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
datasets: [dataFirst, dataSecond]
};
var chartOptions = {
legend: {
display: false,
position: 'top'
}
};
var lineChart = new Chart(speedCanvas, {
type: 'line',
hover: false,
data: speedData,
options: chartOptions
});
},
initGoogleMaps: function() {
var myLatlng = new google.maps.LatLng(40.748817, -73.985428);
var mapOptions = {
zoom: 13,
center: myLatlng,
scrollwheel: false, //we disable de scroll over the map, it is a really annoing when you scroll through page
styles: [{
"featureType": "water",
"stylers": [{
"saturation": 43
}, {
"lightness": -11
}, {
"hue": "#0088ff"
}]
}, {
"featureType": "road",
"elementType": "geometry.fill",
"stylers": [{
"hue": "#ff0000"
}, {
"saturation": -100
}, {
"lightness": 99
}]
}, {
"featureType": "road",
"elementType": "geometry.stroke",
"stylers": [{
"color": "#808080"
}, {
"lightness": 54
}]
}, {
"featureType": "landscape.man_made",
"elementType": "geometry.fill",
"stylers": [{
"color": "#ece2d9"
}]
}, {
"featureType": "poi.park",
"elementType": "geometry.fill",
"stylers": [{
"color": "#ccdca1"
}]
}, {
"featureType": "road",
"elementType": "labels.text.fill",
"stylers": [{
"color": "#767676"
}]
}, {
"featureType": "road",
"elementType": "labels.text.stroke",
"stylers": [{
"color": "#ffffff"
}]
}, {
"featureType": "poi",
"stylers": [{
"visibility": "off"
}]
}, {
"featureType": "landscape.natural",
"elementType": "geometry.fill",
"stylers": [{
"visibility": "on"
}, {
"color": "#b8cb93"
}]
}, {
"featureType": "poi.park",
"stylers": [{
"visibility": "on"
}]
}, {
"featureType": "poi.sports_complex",
"stylers": [{
"visibility": "on"
}]
}, {
"featureType": "poi.medical",
"stylers": [{
"visibility": "on"
}]
}, {
"featureType": "poi.business",
"stylers": [{
"visibility": "simplified"
}]
}]
}
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
title: "Hello World!"
});
// To add the marker to the map, call setMap();
marker.setMap(map);
},
showNotification: function(from, align) {
color = 'primary';
$.notify({
icon: "nc-icon nc-bell-55",
message: "Welcome to <b>Paper Dashboard</b> - a beautiful bootstrap dashboard for every web developer."
}, {
type: color,
timer: 8000,
placement: {
from: from,
align: align
}
});
}
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/img/apple-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Some files were not shown because too many files have changed in this diff Show More