├── system ├── database │ ├── readme.md │ ├── index.html │ └── drivers │ │ ├── index.html │ │ ├── pdo │ │ ├── index.html │ │ └── pdo_utility.php │ │ ├── cubrid │ │ ├── index.html │ │ └── cubrid_utility.php │ │ ├── mssql │ │ ├── index.html │ │ └── mssql_utility.php │ │ ├── mysql │ │ └── index.html │ │ ├── mysqli │ │ ├── index.html │ │ └── mysqli_utility.php │ │ ├── oci8 │ │ ├── index.html │ │ └── oci8_utility.php │ │ ├── odbc │ │ ├── index.html │ │ └── odbc_utility.php │ │ ├── postgre │ │ ├── index.html │ │ └── postgre_utility.php │ │ ├── sqlite │ │ ├── index.html │ │ └── sqlite_utility.php │ │ └── sqlsrv │ │ ├── index.html │ │ └── sqlsrv_utility.php ├── .htaccess ├── fonts │ ├── texb.ttf │ └── index.html ├── index.html ├── core │ ├── index.html │ ├── Model.php │ └── Controller.php ├── helpers │ ├── index.html │ ├── language_helper.php │ ├── email_helper.php │ ├── path_helper.php │ ├── xml_helper.php │ ├── number_helper.php │ ├── directory_helper.php │ ├── typography_helper.php │ ├── cookie_helper.php │ ├── array_helper.php │ ├── download_helper.php │ └── security_helper.php ├── language │ ├── index.html │ └── english │ │ ├── index.html │ │ ├── number_lang.php │ │ ├── migration_lang.php │ │ ├── unit_test_lang.php │ │ ├── profiler_lang.php │ │ ├── ftp_lang.php │ │ ├── calendar_lang.php │ │ ├── upload_lang.php │ │ ├── email_lang.php │ │ ├── form_validation_lang.php │ │ ├── imglib_lang.php │ │ ├── db_lang.php │ │ └── date_lang.php └── libraries │ ├── index.html │ ├── Cache │ ├── index.html │ └── drivers │ │ ├── index.html │ │ └── Cache_dummy.php │ ├── javascript │ └── index.html │ └── Log.php ├── .gitignore ├── application ├── .htaccess ├── cache │ ├── .htaccess │ └── index.html ├── index.html ├── core │ └── index.html ├── hooks │ └── index.html ├── logs │ └── index.html ├── views │ ├── index.html │ ├── auth │ │ ├── done.php │ │ ├── welcome.php │ │ └── authing.php │ ├── vote │ │ ├── done.php │ │ ├── single.php │ │ ├── many.php │ │ ├── many_single.php │ │ ├── welcome_remote.php │ │ ├── multiple.php │ │ ├── many_multiple.php │ │ └── welcome.php │ ├── testvote │ │ └── testvote.php │ ├── login.php │ └── admin │ │ ├── result.php │ │ ├── caculate.php │ │ ├── candidate.php │ │ ├── account.php │ │ ├── ballot_type.php │ │ ├── caculate_show_multi.php │ │ ├── mapping.php │ │ ├── caculate_show_single.php │ │ └── setting.php ├── config │ ├── index.html │ ├── hooks.php │ ├── profiler.php │ ├── doctypes.php │ ├── migration.php │ ├── constants.php │ ├── routes.php │ └── foreign_chars.php ├── errors │ ├── index.html │ ├── error_php.php │ ├── error_db.php │ ├── error_general.php │ └── error_404.php ├── helpers │ └── index.html ├── language │ ├── index.html │ └── english │ │ └── index.html ├── libraries │ ├── index.html │ ├── config_lib.php │ ├── authcode_lib.php │ └── ticket_lib.php ├── models │ ├── index.html │ ├── test_model.php │ └── vote_core_model.php ├── controllers │ ├── index.html │ ├── testvote.php │ └── login.php └── third_party │ └── index.html ├── .DS_Store ├── assets ├── .DS_Store ├── img │ ├── logo.jpg │ └── cimg │ │ ├── 吳昊.jpg │ │ ├── 彭晧.jpg │ │ ├── 林謙.jpg │ │ ├── 田芃.jpg │ │ ├── 高強.jpg │ │ ├── 劉世琁.jpg │ │ ├── 劉品辰.jpg │ │ ├── 劉彥成.jpg │ │ ├── 周亞萱.jpg │ │ ├── 周安履.jpg │ │ ├── 孟令晨.jpg │ │ ├── 孫廷禎.jpg │ │ ├── 廖俊翔.jpg │ │ ├── 廖經晏.jpg │ │ ├── 張子龍.jpg │ │ ├── 張巍騰.jpg │ │ ├── 徐培瑄.jpg │ │ ├── 施力瑀.jpg │ │ ├── 施欣佑.jpg │ │ ├── 施雯婷.jpg │ │ ├── 曾寶億.jpg │ │ ├── 曾柏翰.jpg │ │ ├── 曾遠鵬.jpg │ │ ├── 李侑哲.jpg │ │ ├── 李宗穎.jpg │ │ ├── 李成蔭.jpg │ │ ├── 李辰諭.jpg │ │ ├── 林于哲.jpg │ │ ├── 林冠廷.jpg │ │ ├── 林啟翔.jpg │ │ ├── 林奕宏.jpg │ │ ├── 林子堯.jpg │ │ ├── 林宇廷.jpg │ │ ├── 林弘曄.jpg │ │ ├── 林彥廷.jpg │ │ ├── 林意庭.jpg │ │ ├── 林昱嘉.jpg │ │ ├── 梁家豪.jpg │ │ ├── 楊天傑.jpg │ │ ├── 楊易修.jpg │ │ ├── 楊智鈞.jpg │ │ ├── 楊育綸.jpg │ │ ├── 樊宸安.jpg │ │ ├── 江懿友.jpg │ │ ├── 江昱霆.jpg │ │ ├── 游士朋.jpg │ │ ├── 王宇綺.jpg │ │ ├── 王昱翔.jpg │ │ ├── 王昱鈞.jpg │ │ ├── 王筱婷.jpg │ │ ├── 王賢慈.jpg │ │ ├── 童昱文.jpg │ │ ├── 紀緯明.jpg │ │ ├── 蔡孟穎.jpg │ │ ├── 蔡蔚澤.jpg │ │ ├── 蘇子恩.jpg │ │ ├── 許庭豪.jpg │ │ ├── 許瑞福.jpg │ │ ├── 許軒瑋.jpg │ │ ├── 賴浩恩.jpg │ │ ├── 閻孝和.jpg │ │ ├── 陳欣妤.jpg │ │ ├── 陳立倫.jpg │ │ ├── 馮宜陽.jpg │ │ ├── 高子甯.jpg │ │ ├── 高浩凱.jpg │ │ ├── 高章琛.jpg │ │ ├── 黃思嘉.jpg │ │ ├── 黃浩珉.jpg │ │ ├── 黃莉晴.jpg │ │ └── 李奕潔(Abdul Rahman).jpg ├── css │ ├── fonts │ │ ├── Montserrat400.woff │ │ └── Montserrat800.woff │ ├── signin.css │ └── dashboard.css └── js │ ├── styles │ ├── layouts │ │ ├── done.js │ │ └── default.js │ └── components │ │ └── candidate.js │ ├── classifier.js │ ├── ie10-viewport-bug-workaround.js │ ├── open_multi.js │ ├── open_single.js │ ├── dashboard.js │ └── ie-emulation-modes-warning.js ├── .htaccess ├── sftp-config.json ├── readme.md └── license.txt /system/database/readme.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | application/config/* -------------------------------------------------------------------------------- /system/.htaccess: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /application/.htaccess: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /application/cache/.htaccess: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/.DS_Store -------------------------------------------------------------------------------- /assets/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/.DS_Store -------------------------------------------------------------------------------- /assets/img/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/logo.jpg -------------------------------------------------------------------------------- /assets/img/cimg/吳昊.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/吳昊.jpg -------------------------------------------------------------------------------- /assets/img/cimg/彭晧.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/彭晧.jpg -------------------------------------------------------------------------------- /assets/img/cimg/林謙.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/林謙.jpg -------------------------------------------------------------------------------- /assets/img/cimg/田芃.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/田芃.jpg -------------------------------------------------------------------------------- /assets/img/cimg/高強.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/高強.jpg -------------------------------------------------------------------------------- /system/fonts/texb.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/system/fonts/texb.ttf -------------------------------------------------------------------------------- /assets/img/cimg/劉世琁.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/劉世琁.jpg -------------------------------------------------------------------------------- /assets/img/cimg/劉品辰.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/劉品辰.jpg -------------------------------------------------------------------------------- /assets/img/cimg/劉彥成.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/劉彥成.jpg -------------------------------------------------------------------------------- /assets/img/cimg/周亞萱.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/周亞萱.jpg -------------------------------------------------------------------------------- /assets/img/cimg/周安履.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/周安履.jpg -------------------------------------------------------------------------------- /assets/img/cimg/孟令晨.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/孟令晨.jpg -------------------------------------------------------------------------------- /assets/img/cimg/孫廷禎.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/孫廷禎.jpg -------------------------------------------------------------------------------- /assets/img/cimg/廖俊翔.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/廖俊翔.jpg -------------------------------------------------------------------------------- /assets/img/cimg/廖經晏.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/廖經晏.jpg -------------------------------------------------------------------------------- /assets/img/cimg/張子龍.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/張子龍.jpg -------------------------------------------------------------------------------- /assets/img/cimg/張巍騰.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/張巍騰.jpg -------------------------------------------------------------------------------- /assets/img/cimg/徐培瑄.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/徐培瑄.jpg -------------------------------------------------------------------------------- /assets/img/cimg/施力瑀.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/施力瑀.jpg -------------------------------------------------------------------------------- /assets/img/cimg/施欣佑.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/施欣佑.jpg -------------------------------------------------------------------------------- /assets/img/cimg/施雯婷.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/施雯婷.jpg -------------------------------------------------------------------------------- /assets/img/cimg/曾寶億.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/曾寶億.jpg -------------------------------------------------------------------------------- /assets/img/cimg/曾柏翰.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/曾柏翰.jpg -------------------------------------------------------------------------------- /assets/img/cimg/曾遠鵬.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/曾遠鵬.jpg -------------------------------------------------------------------------------- /assets/img/cimg/李侑哲.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/李侑哲.jpg -------------------------------------------------------------------------------- /assets/img/cimg/李宗穎.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/李宗穎.jpg -------------------------------------------------------------------------------- /assets/img/cimg/李成蔭.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/李成蔭.jpg -------------------------------------------------------------------------------- /assets/img/cimg/李辰諭.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/李辰諭.jpg -------------------------------------------------------------------------------- /assets/img/cimg/林于哲.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/林于哲.jpg -------------------------------------------------------------------------------- /assets/img/cimg/林冠廷.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/林冠廷.jpg -------------------------------------------------------------------------------- /assets/img/cimg/林啟翔.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/林啟翔.jpg -------------------------------------------------------------------------------- /assets/img/cimg/林奕宏.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/林奕宏.jpg -------------------------------------------------------------------------------- /assets/img/cimg/林子堯.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/林子堯.jpg -------------------------------------------------------------------------------- /assets/img/cimg/林宇廷.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/林宇廷.jpg -------------------------------------------------------------------------------- /assets/img/cimg/林弘曄.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/林弘曄.jpg -------------------------------------------------------------------------------- /assets/img/cimg/林彥廷.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/林彥廷.jpg -------------------------------------------------------------------------------- /assets/img/cimg/林意庭.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/林意庭.jpg -------------------------------------------------------------------------------- /assets/img/cimg/林昱嘉.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/林昱嘉.jpg -------------------------------------------------------------------------------- /assets/img/cimg/梁家豪.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/梁家豪.jpg -------------------------------------------------------------------------------- /assets/img/cimg/楊天傑.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/楊天傑.jpg -------------------------------------------------------------------------------- /assets/img/cimg/楊易修.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/楊易修.jpg -------------------------------------------------------------------------------- /assets/img/cimg/楊智鈞.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/楊智鈞.jpg -------------------------------------------------------------------------------- /assets/img/cimg/楊育綸.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/楊育綸.jpg -------------------------------------------------------------------------------- /assets/img/cimg/樊宸安.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/樊宸安.jpg -------------------------------------------------------------------------------- /assets/img/cimg/江懿友.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/江懿友.jpg -------------------------------------------------------------------------------- /assets/img/cimg/江昱霆.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/江昱霆.jpg -------------------------------------------------------------------------------- /assets/img/cimg/游士朋.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/游士朋.jpg -------------------------------------------------------------------------------- /assets/img/cimg/王宇綺.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/王宇綺.jpg -------------------------------------------------------------------------------- /assets/img/cimg/王昱翔.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/王昱翔.jpg -------------------------------------------------------------------------------- /assets/img/cimg/王昱鈞.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/王昱鈞.jpg -------------------------------------------------------------------------------- /assets/img/cimg/王筱婷.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/王筱婷.jpg -------------------------------------------------------------------------------- /assets/img/cimg/王賢慈.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/王賢慈.jpg -------------------------------------------------------------------------------- /assets/img/cimg/童昱文.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/童昱文.jpg -------------------------------------------------------------------------------- /assets/img/cimg/紀緯明.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/紀緯明.jpg -------------------------------------------------------------------------------- /assets/img/cimg/蔡孟穎.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/蔡孟穎.jpg -------------------------------------------------------------------------------- /assets/img/cimg/蔡蔚澤.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/蔡蔚澤.jpg -------------------------------------------------------------------------------- /assets/img/cimg/蘇子恩.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/蘇子恩.jpg -------------------------------------------------------------------------------- /assets/img/cimg/許庭豪.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/許庭豪.jpg -------------------------------------------------------------------------------- /assets/img/cimg/許瑞福.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/許瑞福.jpg -------------------------------------------------------------------------------- /assets/img/cimg/許軒瑋.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/許軒瑋.jpg -------------------------------------------------------------------------------- /assets/img/cimg/賴浩恩.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/賴浩恩.jpg -------------------------------------------------------------------------------- /assets/img/cimg/閻孝和.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/閻孝和.jpg -------------------------------------------------------------------------------- /assets/img/cimg/陳欣妤.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/陳欣妤.jpg -------------------------------------------------------------------------------- /assets/img/cimg/陳立倫.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/陳立倫.jpg -------------------------------------------------------------------------------- /assets/img/cimg/馮宜陽.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/馮宜陽.jpg -------------------------------------------------------------------------------- /assets/img/cimg/高子甯.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/高子甯.jpg -------------------------------------------------------------------------------- /assets/img/cimg/高浩凱.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/高浩凱.jpg -------------------------------------------------------------------------------- /assets/img/cimg/高章琛.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/高章琛.jpg -------------------------------------------------------------------------------- /assets/img/cimg/黃思嘉.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/黃思嘉.jpg -------------------------------------------------------------------------------- /assets/img/cimg/黃浩珉.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/黃浩珉.jpg -------------------------------------------------------------------------------- /assets/img/cimg/黃莉晴.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/黃莉晴.jpg -------------------------------------------------------------------------------- /assets/css/fonts/Montserrat400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/css/fonts/Montserrat400.woff -------------------------------------------------------------------------------- /assets/css/fonts/Montserrat800.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/css/fonts/Montserrat800.woff -------------------------------------------------------------------------------- /assets/img/cimg/李奕潔(Abdul Rahman).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mousems/NTUvoteV2/HEAD/assets/img/cimg/李奕潔(Abdul Rahman).jpg -------------------------------------------------------------------------------- /system/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/core/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/fonts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/cache/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/core/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/hooks/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/logs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/views/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/helpers/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/language/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/libraries/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/config/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/errors/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/helpers/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/language/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/libraries/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/models/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/libraries/Cache/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/controllers/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/third_party/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/pdo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/language/english/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/libraries/javascript/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/language/english/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/cubrid/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/mssql/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/mysql/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/mysqli/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/oci8/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/odbc/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/postgre/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/sqlite/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/database/drivers/sqlsrv/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/libraries/Cache/drivers/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /assets/js/styles/layouts/done.js: -------------------------------------------------------------------------------- 1 | (function(){null==$.style&&($.style={}),$.style.layo_done=function(){return setTimeout(function(){return $("body").addClass("ready")},300)},$(window).load(function(){return $.style.layo_done()})}).call(this); -------------------------------------------------------------------------------- /assets/js/styles/layouts/default.js: -------------------------------------------------------------------------------- 1 | (function(){null==$.style&&($.style={}),$.style.layo_default=function(){return setTimeout(function(){return $("body").addClass("ready")},300)},$(window).load(function(){return $.style.layo_default()})}).call(this); -------------------------------------------------------------------------------- /system/language/english/number_lang.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |

A PHP Error was encountered

4 | 5 |

Severity:

6 |

Message:

7 |

Filename:

8 |

Line Number:

9 | 10 | -------------------------------------------------------------------------------- /assets/js/classifier.js: -------------------------------------------------------------------------------- 1 | (function(){var a;a=document.getElementsByTagName("html")[0],window.chrome&&(a.className+=" chrome"),a.className+=Modernizr.touch?" touch":" non-touch",navigator.platform.toUpperCase().indexOf("MAC")>=0&&(a.className+=" mac"),navigator.platform.match(/(iPhone|iPod|iPad)/i)&&(a.className+=" ios"),navigator.appVersion.match(/(Win)/i)&&(a.className+=" windows")}).call(this); -------------------------------------------------------------------------------- /application/config/hooks.php: -------------------------------------------------------------------------------- 1 | {point.key}', 20 | pointFormat: '' + 21 | '', 22 | footerFormat: '
{series.name}: {point.y} 次
', 23 | shared: true, 24 | useHTML: true 25 | }, 26 | plotOptions: { 27 | column: { 28 | pointPadding: 0.2, 29 | borderWidth: 0 30 | } 31 | }, 32 | series: vote_count_value 33 | }); 34 | }); -------------------------------------------------------------------------------- /application/libraries/config_lib.php: -------------------------------------------------------------------------------- 1 | 7 | * http://opensource.org/licenses/MIT 8 | * https://github.com/mousems/NTUVoteV2 9 | **/ 10 | 11 | 12 | private $db; 13 | 14 | function __construct() 15 | { 16 | 17 | $this->CI =& get_instance(); 18 | 19 | 20 | 21 | 22 | $this->db = $this->CI->load->database('default', true); 23 | 24 | } 25 | 26 | 27 | 28 | 29 | 30 | 31 | function Get_Config($id) 32 | { 33 | $this->db->from('config')->where('id',$id); 34 | $query = $this->db->get(); 35 | if ($query->num_rows()>0) { 36 | return $query->row(1)->{'value'}; 37 | }else{ 38 | return ""; 39 | } 40 | 41 | } 42 | 43 | 44 | function Set_Config($id,$value=null) 45 | { 46 | $data = array("value"=>$value); 47 | $this->db->where("id",$id)->update("config",$data); 48 | 49 | } 50 | } 51 | 52 | /* End of file welcome.php */ 53 | /* Location: ./application/controllers/welcome.php */ -------------------------------------------------------------------------------- /assets/js/open_single.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | $('#container').highcharts({ 3 | chart: { 4 | type: 'column' 5 | }, 6 | title: { 7 | text: '開票' 8 | }, 9 | xAxis: { 10 | categories: vote_count_title 11 | }, 12 | yAxis: { 13 | min: 0, 14 | title: { 15 | text: '票數' 16 | } 17 | }, 18 | tooltip: { 19 | headerFormat: '{point.key}', 20 | pointFormat: '' + 21 | '', 22 | footerFormat: '
{series.name}: {point.y} 次
', 23 | shared: true, 24 | useHTML: true 25 | }, 26 | plotOptions: { 27 | column: { 28 | pointPadding: 0.2, 29 | borderWidth: 0 30 | } 31 | }, 32 | series: [{ 33 | name: '票數', 34 | data: vote_count_value 35 | 36 | }] 37 | }); 38 | }); -------------------------------------------------------------------------------- /assets/js/dashboard.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | $('#container').highcharts({ 3 | chart: { 4 | type: 'column' 5 | }, 6 | title: { 7 | text: '各票亭投票狀況' 8 | }, 9 | xAxis: { 10 | categories: vote_count_title 11 | }, 12 | yAxis: { 13 | min: 0, 14 | title: { 15 | text: '使用人數' 16 | } 17 | }, 18 | tooltip: { 19 | headerFormat: '{point.key}', 20 | pointFormat: '' + 21 | '', 22 | footerFormat: '
{series.name}: {point.y} 次
', 23 | shared: true, 24 | useHTML: true 25 | }, 26 | plotOptions: { 27 | column: { 28 | pointPadding: 0.2, 29 | borderWidth: 0 30 | } 31 | }, 32 | series: [{ 33 | name: '次數', 34 | data: vote_count_value 35 | 36 | }] 37 | }); 38 | }); -------------------------------------------------------------------------------- /application/config/doctypes.php: -------------------------------------------------------------------------------- 1 | '', 5 | 'xhtml1-strict' => '', 6 | 'xhtml1-trans' => '', 7 | 'xhtml1-frame' => '', 8 | 'html5' => '', 9 | 'html4-strict' => '', 10 | 'html4-trans' => '', 11 | 'html4-frame' => '' 12 | ); 13 | 14 | /* End of file doctypes.php */ 15 | /* Location: ./application/config/doctypes.php */ -------------------------------------------------------------------------------- /system/language/english/profiler_lang.php: -------------------------------------------------------------------------------- 1 | 6 | * http://opensource.org/licenses/MIT 7 | * https://github.com/mousems/NTUVoteV2 8 | **/ 9 | 10 | 11 | function __construct() 12 | { 13 | // 呼叫模型(Model)的建構函數 14 | parent::__construct(); 15 | } 16 | 17 | function get_unuse_authcode() 18 | { 19 | $this->db->select('authcode')->from('test_authcode'); 20 | $this->db->where('used' ,"0"); 21 | $this->db->order_by('RAND()'); 22 | $this->db->limit('1'); 23 | $query = $this->db->get(); 24 | $authcode_plain = $query->result(); 25 | $authcode_plain = $authcode_plain[0]->{'authcode'}; 26 | 27 | $data = array( 28 | "used"=>"1" 29 | ); 30 | $this->db->where('authcode',$authcode_plain); 31 | $this->db->update('test_authcode',$data); 32 | 33 | 34 | return $authcode_plain; 35 | } 36 | function get_ballotlist($prefix) 37 | { 38 | $this->db->select('name')->from('ballot_list')->where('prefix',$prefix); 39 | $query = $this->db->get(); 40 | $result = $query->result(); 41 | return $result[0]->{'name'}; 42 | 43 | } 44 | 45 | } 46 | 47 | ?> -------------------------------------------------------------------------------- /system/language/english/ftp_lang.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Database Error 5 | 55 | 56 | 57 |
58 |

59 | 60 |
61 | 62 | -------------------------------------------------------------------------------- /application/errors/error_general.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Error 5 | 55 | 56 | 57 |
58 |

59 | 60 |
61 | 62 | -------------------------------------------------------------------------------- /system/core/Model.php: -------------------------------------------------------------------------------- 1 | $key; 52 | } 53 | } 54 | // END Model Class 55 | 56 | /* End of file Model.php */ 57 | /* Location: ./system/core/Model.php */ -------------------------------------------------------------------------------- /application/errors/error_404.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 404 Page Not Found 5 | 55 | 56 | 57 |
58 |

59 | 60 |
61 | 62 | -------------------------------------------------------------------------------- /application/config/migration.php: -------------------------------------------------------------------------------- 1 | migration->latest() this is the version that schema will 21 | | be upgraded / downgraded to. 22 | | 23 | */ 24 | $config['migration_version'] = 0; 25 | 26 | 27 | /* 28 | |-------------------------------------------------------------------------- 29 | | Migrations Path 30 | |-------------------------------------------------------------------------- 31 | | 32 | | Path to your migrations folder. 33 | | Typically, it will be within your application path. 34 | | Also, writing permission is required within the migrations path. 35 | | 36 | */ 37 | $config['migration_path'] = APPPATH . 'migrations/'; 38 | 39 | 40 | /* End of file migration.php */ 41 | /* Location: ./application/config/migration.php */ -------------------------------------------------------------------------------- /sftp-config.json: -------------------------------------------------------------------------------- 1 | { 2 | // The tab key will cycle through the settings when first created 3 | // Visit http://wbond.net/sublime_packages/sftp/settings for help 4 | 5 | // sftp, ftp or ftps 6 | "type": "sftp", 7 | 8 | "save_before_upload": true, 9 | "upload_on_save": true, 10 | "sync_down_on_open": false, 11 | "sync_skip_deletes": false, 12 | "sync_same_age": true, 13 | "confirm_downloads": false, 14 | "confirm_sync": true, 15 | "confirm_overwrite_newer": false, 16 | 17 | "host": "ntuvote.org", 18 | // "host":"103.253.146.23", 19 | "user": "root", 20 | //"password": "password", 21 | //"port": "22", 22 | 23 | "remote_path": "/var/www", 24 | "ignore_regexes": [ 25 | "\\.sublime-(project|workspace)", "sftp-config(-alt\\d?)?\\.json", 26 | "sftp-settings\\.json", "/venv/", "\\.svn/", "\\.hg/", "\\.git/", 27 | "\\.bzr", "_darcs", "CVS", "\\.DS_Store", "Thumbs\\.db", "desktop\\.ini" 28 | ], 29 | //"file_permissions": "664", 30 | //"dir_permissions": "775", 31 | 32 | //"extra_list_connections": 0, 33 | 34 | "connect_timeout": 30, 35 | //"keepalive": 120, 36 | //"ftp_passive_mode": true, 37 | //"ftp_obey_passive_host": false, 38 | //"ssh_key_file": "~/.ssh/id_rsa", 39 | //"sftp_flags": ["-F", "/path/to/ssh_config"], 40 | 41 | //"preserve_modification_times": false, 42 | //"remote_time_offset_in_hours": 0, 43 | //"remote_encoding": "utf-8", 44 | //"remote_locale": "C", 45 | //"allow_config_upload": false, 46 | } 47 | -------------------------------------------------------------------------------- /application/views/auth/done.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 身份驗證 | NTUVoteV2 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 |
24 | 25 |

取票完成

26 | 27 |
28 | 29 |
30 | 31 | 32 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /system/helpers/language_helper.php: -------------------------------------------------------------------------------- 1 | lang->line($line); 46 | 47 | if ($id != '') 48 | { 49 | $line = '"; 50 | } 51 | 52 | return $line; 53 | } 54 | } 55 | 56 | // ------------------------------------------------------------------------ 57 | /* End of file language_helper.php */ 58 | /* Location: ./system/helpers/language_helper.php */ -------------------------------------------------------------------------------- /system/language/english/calendar_lang.php: -------------------------------------------------------------------------------- 1 | $class) 45 | { 46 | $this->$var =& load_class($class); 47 | } 48 | 49 | $this->load =& load_class('Loader', 'core'); 50 | 51 | $this->load->initialize(); 52 | 53 | log_message('debug', "Controller Class Initialized"); 54 | } 55 | 56 | public static function &get_instance() 57 | { 58 | return self::$instance; 59 | } 60 | } 61 | // END Controller class 62 | 63 | /* End of file Controller.php */ 64 | /* Location: ./system/core/Controller.php */ -------------------------------------------------------------------------------- /application/config/foreign_chars.php: -------------------------------------------------------------------------------- 1 | 'ae', 12 | '/ö|œ/' => 'oe', 13 | '/ü/' => 'ue', 14 | '/Ä/' => 'Ae', 15 | '/Ü/' => 'Ue', 16 | '/Ö/' => 'Oe', 17 | '/À|Á|Â|Ã|Ä|Å|Ǻ|Ā|Ă|Ą|Ǎ/' => 'A', 18 | '/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª/' => 'a', 19 | '/Ç|Ć|Ĉ|Ċ|Č/' => 'C', 20 | '/ç|ć|ĉ|ċ|č/' => 'c', 21 | '/Ð|Ď|Đ/' => 'D', 22 | '/ð|ď|đ/' => 'd', 23 | '/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/' => 'E', 24 | '/è|é|ê|ë|ē|ĕ|ė|ę|ě/' => 'e', 25 | '/Ĝ|Ğ|Ġ|Ģ/' => 'G', 26 | '/ĝ|ğ|ġ|ģ/' => 'g', 27 | '/Ĥ|Ħ/' => 'H', 28 | '/ĥ|ħ/' => 'h', 29 | '/Ì|Í|Î|Ï|Ĩ|Ī|Ĭ|Ǐ|Į|İ/' => 'I', 30 | '/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı/' => 'i', 31 | '/Ĵ/' => 'J', 32 | '/ĵ/' => 'j', 33 | '/Ķ/' => 'K', 34 | '/ķ/' => 'k', 35 | '/Ĺ|Ļ|Ľ|Ŀ|Ł/' => 'L', 36 | '/ĺ|ļ|ľ|ŀ|ł/' => 'l', 37 | '/Ñ|Ń|Ņ|Ň/' => 'N', 38 | '/ñ|ń|ņ|ň|ʼn/' => 'n', 39 | '/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ/' => 'O', 40 | '/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º/' => 'o', 41 | '/Ŕ|Ŗ|Ř/' => 'R', 42 | '/ŕ|ŗ|ř/' => 'r', 43 | '/Ś|Ŝ|Ş|Š/' => 'S', 44 | '/ś|ŝ|ş|š|ſ/' => 's', 45 | '/Ţ|Ť|Ŧ/' => 'T', 46 | '/ţ|ť|ŧ/' => 't', 47 | '/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/' => 'U', 48 | '/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/' => 'u', 49 | '/Ý|Ÿ|Ŷ/' => 'Y', 50 | '/ý|ÿ|ŷ/' => 'y', 51 | '/Ŵ/' => 'W', 52 | '/ŵ/' => 'w', 53 | '/Ź|Ż|Ž/' => 'Z', 54 | '/ź|ż|ž/' => 'z', 55 | '/Æ|Ǽ/' => 'AE', 56 | '/ß/'=> 'ss', 57 | '/IJ/' => 'IJ', 58 | '/ij/' => 'ij', 59 | '/Œ/' => 'OE', 60 | '/ƒ/' => 'f' 61 | ); 62 | 63 | /* End of file foreign_chars.php */ 64 | /* Location: ./application/config/foreign_chars.php */ -------------------------------------------------------------------------------- /application/controllers/testvote.php: -------------------------------------------------------------------------------- 1 | 8 | * http://opensource.org/licenses/MIT 9 | * https://github.com/mousems/NTUVoteV2 10 | **/ 11 | 12 | function __construct() 13 | { 14 | 15 | parent::__construct(); 16 | 17 | if (ENVIRONMENT=="production") { 18 | redirect('login', 'location'); 19 | } 20 | } 21 | 22 | public function index() 23 | { 24 | $this->load->view('testvote/testvote',array("title_return"=>"")); 25 | } 26 | public function do_submit() 27 | { 28 | $this->load->model('test_model'); 29 | 30 | 31 | 32 | $authcode_plain = $this->test_model->get_unuse_authcode(); 33 | $ballotname = $this->test_model->get_ballotlist(substr($authcode_plain, 0,2)); 34 | 35 | redirect('/vote/remote/'.$authcode_plain,'location'); 36 | 37 | $ch = curl_init(); 38 | curl_setopt($ch, CURLOPT_URL, "https://ntuvote.org/api/vote/new"); 39 | curl_setopt($ch, CURLOPT_POST, true); // enable POST 40 | curl_setopt($ch, CURLOPT_POSTFIELDS, "apikey=123456789012345678901234567890&a_id=45&authcode=".$authcode_plain); 41 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 42 | $curl_result = json_decode(curl_exec($ch)); 43 | curl_close($ch); 44 | if (isset($curl_result->{'message'})){ 45 | if($curl_result->{'message'}=="there are no more online-booth-tablet") { 46 | $result_string = "沒有待命的平版可以用惹。"; 47 | }else{ 48 | $result_string = $curl_result->{'message'}; 49 | } 50 | }else{ 51 | $result_string = $ballotname."安安,請到".$curl_result->{'num'}."號平版"; 52 | } 53 | 54 | $this->load->view('testvote/testvote',array("title_return"=>$result_string)); 55 | 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /system/language/english/form_validation_lang.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Login | NTUVoteV2 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 |
22 |
23 |
24 | 25 | 26 |

您已完成投票,謝謝您。

27 | 28 |

臺灣高等教育產業工會第三屆會員代表選舉

29 |

主辦單位:臺灣高等教育產業工會

30 |

投票時間:2017年12月11日9時 至 12月12日18時

31 |

開票時間:2017年12月12日19時

32 |

開票地點:臺灣高等教育產業工會辦公室

33 |
34 | 35 | 36 |
37 | 38 | 39 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /assets/js/styles/components/candidate.js: -------------------------------------------------------------------------------- 1 | (function(){null==$.style&&($.style={}),$.style.candidate=function(){return $(".candidate .choices label.agree").append('\n \n \n \n \n'),$(".candidate .choices label.neutral").append('\n \n \n \n \n'),$(".candidate .choices label.disagree").append('\n \n \n \n \n'),$(".candidate .choices label.none").append('\n'),Modernizr.cssvhunit&&Modernizr.csscalc?void 0:$(".candidate .pic").css("height",.8*$(window).height()-$(".candidate .id").height()-$(".candidate .elect").height()-$(".candidate .choices").height()-$(".candidate .name").height()-60+"px")},$(window).load(function(){return $.style.candidate()})}).call(this); -------------------------------------------------------------------------------- /system/helpers/path_helper.php: -------------------------------------------------------------------------------- 1 | ","\"", "'", "-"), 53 | array("&", "<", ">", """, "'", "-"), 54 | $str); 55 | 56 | // Decode the temp markers back to entities 57 | $str = preg_replace("/$temp(\d+);/","&#\\1;",$str); 58 | 59 | if ($protect_all === TRUE) 60 | { 61 | $str = preg_replace("/$temp(\w+);/","&\\1;", $str); 62 | } 63 | 64 | return $str; 65 | } 66 | } 67 | 68 | // ------------------------------------------------------------------------ 69 | 70 | /* End of file xml_helper.php */ 71 | /* Location: ./system/helpers/xml_helper.php */ -------------------------------------------------------------------------------- /system/language/english/imglib_lang.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 票亭測試活動 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 |
22 |
23 |
24 |

NTU VOTE 系統體驗

25 |

104-1學代選舉 票點票選活動

26 | 27 |

主辦單位:臺大學生會選委會

28 |

舉辦時間:11/20(Fri) 00:00 - 11/27(Fri) 23:59

29 |

注意事項:按開始即可開始投票,如有疑問請洽臺大學生會選委會

30 |

◎投票介面與選舉當日(12/17)所操作之機台相同。

31 |

唯投票當日,須至實體票點感應學生證,將會派發匿名選票至本系統,供選舉人投票。

32 |

◎選票中出現「請向右滑動到底」之圖示為因應選舉當日使用之機台為平板電腦做設計。

33 |
34 |
35 | 36 |
37 |

38 | 39 |
40 | 41 | 42 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | ## NTUVoteV2 2 | 3 | 這是一個電子投票系統,將使用於臺灣大學103學年第1學期學代會選舉,前身是 NTUVote,改用 Codeigniter Framework 重構,並增加了 API 、管理後台等方便選委會編輯選舉。 4 | 5 | 本系統由臺灣大學選委會外包 MouseMs 開發,並由台大開源社開發身份認證系統。 6 | 7 | 簡介之簡報請參考:http://www.slideshare.net/mousems/ntuvotev2 8 | 更技術的規格請參考:https://hackpad.com/NTUvoteV2-uK5hxqFocM0 9 | 10 | 11 | 本系統亦於 2014/11/17-18 進行假票真投六都市長。 12 | 13 | #### 平版投票介面 14 | 15 | ![preview](https://dl.dropboxusercontent.com/s/5xth0ebcvb7hx0z/SC-VBm1E.png?dl=0) 16 | ![preview](https://dl.dropboxusercontent.com/s/66t2t1cwnwgqas7/SC-2Sr90.png?dl=0) 17 | ![preview](https://dl.dropboxusercontent.com/s/rgce9xtw2d8ljqd/SC-e57FI.png?dl=0) 18 | 19 | #### 管理員介面 20 | 21 | ![preview](https://dl.dropboxusercontent.com/s/xgdfd0ffpx86y16/SC-GHrWJ.png?dl=0) 22 | 23 | #### 票所後台 24 | 25 | ![preview](https://dl.dropboxusercontent.com/s/sfyas1b324ks5sj/SC-kK8Ij.png?dl=0) 26 | 27 | ## 投票流程 28 | 29 | 30 | 1. 同學們選擇一個最近的投票所 31 | 2. 持學生證,選務人員使用開源社 APP 進行身份確認 32 | 3. 身份認證通過 33 | 4. 開源社 APP 隨機將一組授權碼 push 給投票系統 34 | 5. 投票系統回答:請至第n號平版 35 | 6. 前往第n號平版 36 | 7. 按下開始按鈕,一一將每一票別完成,其間可略過不投。 37 | 38 | 39 | 40 | ## 名詞定義 41 | 42 | 43 | * 投票所:station 44 | * 一場選舉有多個投票亭提供投票服務 45 | * 投票亭包含 46 | * n台平版(booth) 47 | * 開源社開發的身份認證系統(APP) 48 | * 投票票種:ballot type 49 | * 一個投票項目(一張選票)就代表一個票種,例如「學生會長」 50 | * 有多個候選人 51 | * 投票票別:ballot list 52 | * 一些票種的集合 53 | * 以台大選舉來說,代表投票人的一種身份別,例如「社會科學院大學部」 54 | * 「社會科學院大學部」可以投多種選票,因此票別會對應到一個系列的票種 55 | * 授權碼:authcode 56 | * 投票時的辨識碼,在系統內用此碼進行投票 57 | * 發放隨機授權碼給投票人,即可達成匿名效果 58 | * 範例:1B-MZCROQXVS-VJK0MW2XB-761C0 59 | * 相關規格請參考 hackpad 60 | 61 | ## 架設 62 | 63 | https://github.com/mousems/NTUVoteV2_install 64 | 65 | ## 開票 66 | 67 | 若使用上述方法架設,選票會儲存於 /var/log/NTUticket 68 | 69 | 請執行 /var/log/NTUticket/Result.sh 70 | 開票原始碼:https://github.com/mousems/NTUVoteV2_install/blob/master/Result.sh 71 | 如:cd /var/log/NTUticket && sh Result.sh 72 | 73 | 便會顯示投票結果。 74 | 75 | 76 | ## License 77 | 78 | MIT License (MIT) 79 | Copyright (c) 2014 MouseMs 80 | http://opensource.org/licenses/MIT 81 | 82 | * /application/controllers/* 83 | * /application/views/* 84 | * /application/models/* 85 | * /application/libraries/* 86 | 87 | -------------------------------------------------------------------------------- /assets/css/dashboard.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Base structure 3 | */ 4 | 5 | /* Move down content because we have a fixed navbar that is 50px tall */ 6 | body { 7 | padding-top: 50px; 8 | } 9 | 10 | 11 | /* 12 | * Global add-ons 13 | */ 14 | 15 | .sub-header { 16 | padding-bottom: 10px; 17 | border-bottom: 1px solid #eee; 18 | } 19 | 20 | /* 21 | * Top navigation 22 | * Hide default border to remove 1px line. 23 | */ 24 | .navbar-fixed-top { 25 | border: 0; 26 | } 27 | 28 | /* 29 | * Sidebar 30 | */ 31 | 32 | /* Hide for mobile, show later */ 33 | .sidebar { 34 | display: none; 35 | } 36 | @media (min-width: 768px) { 37 | .sidebar { 38 | position: fixed; 39 | top: 51px; 40 | bottom: 0; 41 | left: 0; 42 | z-index: 1000; 43 | display: block; 44 | padding: 20px; 45 | overflow-x: hidden; 46 | overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */ 47 | background-color: #f5f5f5; 48 | border-right: 1px solid #eee; 49 | } 50 | } 51 | 52 | /* Sidebar navigation */ 53 | .nav-sidebar { 54 | margin-right: -21px; /* 20px padding + 1px border */ 55 | margin-bottom: 20px; 56 | margin-left: -20px; 57 | } 58 | .nav-sidebar > li > a { 59 | padding-right: 20px; 60 | padding-left: 20px; 61 | } 62 | .nav-sidebar > .active > a, 63 | .nav-sidebar > .active > a:hover, 64 | .nav-sidebar > .active > a:focus { 65 | color: #fff; 66 | background-color: #428bca; 67 | } 68 | 69 | 70 | /* 71 | * Main content 72 | */ 73 | 74 | .main { 75 | padding: 20px; 76 | } 77 | @media (min-width: 768px) { 78 | .main { 79 | padding-right: 40px; 80 | padding-left: 40px; 81 | } 82 | } 83 | .main .page-header { 84 | margin-top: 0; 85 | } 86 | 87 | 88 | /* 89 | * Placeholder dashboard ideas 90 | */ 91 | 92 | .placeholders { 93 | margin-bottom: 30px; 94 | text-align: center; 95 | } 96 | .placeholders h4 { 97 | margin-bottom: 0; 98 | } 99 | .placeholder { 100 | margin-bottom: 20px; 101 | } 102 | .placeholder img { 103 | display: inline-block; 104 | border-radius: 50%; 105 | } 106 | -------------------------------------------------------------------------------- /application/views/auth/welcome.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 身份驗證 | NTUVoteV2 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 39 | 40 | 41 |
42 | 43 | 44 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /application/views/login.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Login | NTUVoteV2 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 37 | 38 |
39 | 40 | 41 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /system/helpers/number_helper.php: -------------------------------------------------------------------------------- 1 | lang->load('number'); 43 | 44 | if ($num >= 1000000000000) 45 | { 46 | $num = round($num / 1099511627776, $precision); 47 | $unit = $CI->lang->line('terabyte_abbr'); 48 | } 49 | elseif ($num >= 1000000000) 50 | { 51 | $num = round($num / 1073741824, $precision); 52 | $unit = $CI->lang->line('gigabyte_abbr'); 53 | } 54 | elseif ($num >= 1000000) 55 | { 56 | $num = round($num / 1048576, $precision); 57 | $unit = $CI->lang->line('megabyte_abbr'); 58 | } 59 | elseif ($num >= 1000) 60 | { 61 | $num = round($num / 1024, $precision); 62 | $unit = $CI->lang->line('kilobyte_abbr'); 63 | } 64 | else 65 | { 66 | $unit = $CI->lang->line('bytes'); 67 | return number_format($num).' '.$unit; 68 | } 69 | 70 | return number_format($num, $precision).' '.$unit; 71 | } 72 | } 73 | 74 | 75 | /* End of file number_helper.php */ 76 | /* Location: ./system/helpers/number_helper.php */ -------------------------------------------------------------------------------- /application/views/auth/authing.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 身份驗證 | NTUVoteV2 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 38 |

39 | 42 | 43 |
44 | 45 | 46 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /system/database/drivers/postgre/postgre_utility.php: -------------------------------------------------------------------------------- 1 | db->display_error('db_unsuported_feature'); 83 | } 84 | } 85 | 86 | 87 | /* End of file postgre_utility.php */ 88 | /* Location: ./system/database/drivers/postgre/postgre_utility.php */ -------------------------------------------------------------------------------- /application/views/vote/single.php: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | NTU Voting 11 | 12 | 13 | 14 | 15 |
16 |
17 |
18 |

19 |

(票亭號機) (step of

20 |
21 |
22 | 23 | 24 |
25 | 26 |
27 |
28 |
請向右滑動到底再送出
29 |
30 |
31 | $value) { 34 | # code... 35 | 36 | 37 | ?> 38 |
39 |
{'num'};?>
40 |
41 |
42 |
)'>
43 |
44 |
{'name'};?>
45 |
46 | 47 | 50 | 51 | 52 | 53 |
54 |
55 |
56 |
57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /system/database/drivers/oci8/oci8_utility.php: -------------------------------------------------------------------------------- 1 | db->display_error('db_unsuported_feature'); 83 | } 84 | } 85 | 86 | /* End of file oci8_utility.php */ 87 | /* Location: ./system/database/drivers/oci8/oci8_utility.php */ -------------------------------------------------------------------------------- /application/libraries/authcode_lib.php: -------------------------------------------------------------------------------- 1 | 7 | * http://opensource.org/licenses/MIT 8 | * https://github.com/mousems/NTUVoteV2 9 | **/ 10 | 11 | private $db; 12 | 13 | function __construct() 14 | { 15 | 16 | $this->CI =& get_instance(); 17 | $this->db = $this->CI->load->database('default', true); 18 | 19 | } 20 | 21 | function vaild_authcode_format($authcode) 22 | { 23 | preg_match("/^(.*)\-([A-Z0-9]{9})-([A-Z0-9]{9})-([A-Z0-9]{5})$/", $authcode, $matches); 24 | 25 | 26 | if (isset($matches[4])) { 27 | 28 | 29 | 30 | 31 | $this->db->from('ballot_list')->where('prefix' , $matches[1]); 32 | $query = $this->db->get(); 33 | if ($query->num_rows()==0) { 34 | return FALSE; 35 | } 36 | 37 | 38 | 39 | $part1 = $matches[2]; 40 | $part2 = $matches[3]; 41 | $part3 = strtoupper(substr(md5($part1.md5($part2)), 1, 5)) ; 42 | if ($part3==$matches[4]) { 43 | return TRUE; 44 | }else{ 45 | return FALSE; 46 | 47 | } 48 | }else{ 49 | return FALSE; 50 | } 51 | } 52 | function get_authcode_status($authcode) 53 | { 54 | if ($this->vaild_authcode_format($authcode)===FALSE) { 55 | return FALSE; 56 | } 57 | 58 | 59 | $this->db->select("hash ,prefix , step , b_id")->from('authcode')->where('hash' , sha1($authcode)); 60 | $query = $this->db->get(); 61 | 62 | if($query->num_rows()==0){ 63 | return FALSE; 64 | }else{ 65 | return $query->row(1); 66 | } 67 | 68 | } 69 | function plus_authcode($authcode) 70 | { 71 | $authcode_status = $this->get_authcode_status($authcode); 72 | if ($authcode_status===FALSE) { 73 | return FALSE; 74 | } 75 | 76 | $data = array( 77 | "step"=>$authcode_status->{'step'}+1 78 | ); 79 | $this->db->where('hash',sha1($authcode)); 80 | $this->db->update('authcode',$data); 81 | return True; 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /assets/js/ie-emulation-modes-warning.js: -------------------------------------------------------------------------------- 1 | // NOTICE!! DO NOT USE ANY OF THIS JAVASCRIPT 2 | // IT'S JUST JUNK FOR OUR DOCS! 3 | // ++++++++++++++++++++++++++++++++++++++++++ 4 | /*! 5 | * Copyright 2014 Twitter, Inc. 6 | * 7 | * Licensed under the Creative Commons Attribution 3.0 Unported License. For 8 | * details, see http://creativecommons.org/licenses/by/3.0/. 9 | */ 10 | // Intended to prevent false-positive bug reports about Bootstrap not working properly in old versions of IE due to folks testing using IE's unreliable emulation modes. 11 | (function () { 12 | 'use strict'; 13 | 14 | function emulatedIEMajorVersion() { 15 | var groups = /MSIE ([0-9.]+)/.exec(window.navigator.userAgent) 16 | if (groups === null) { 17 | return null 18 | } 19 | var ieVersionNum = parseInt(groups[1], 10) 20 | var ieMajorVersion = Math.floor(ieVersionNum) 21 | return ieMajorVersion 22 | } 23 | 24 | function actualNonEmulatedIEMajorVersion() { 25 | // Detects the actual version of IE in use, even if it's in an older-IE emulation mode. 26 | // IE JavaScript conditional compilation docs: http://msdn.microsoft.com/en-us/library/ie/121hztk3(v=vs.94).aspx 27 | // @cc_on docs: http://msdn.microsoft.com/en-us/library/ie/8ka90k2e(v=vs.94).aspx 28 | var jscriptVersion = new Function('/*@cc_on return @_jscript_version; @*/')() // jshint ignore:line 29 | if (jscriptVersion === undefined) { 30 | return 11 // IE11+ not in emulation mode 31 | } 32 | if (jscriptVersion < 9) { 33 | return 8 // IE8 (or lower; haven't tested on IE<8) 34 | } 35 | return jscriptVersion // IE9 or IE10 in any mode, or IE11 in non-IE11 mode 36 | } 37 | 38 | var ua = window.navigator.userAgent 39 | if (ua.indexOf('Opera') > -1 || ua.indexOf('Presto') > -1) { 40 | return // Opera, which might pretend to be IE 41 | } 42 | var emulated = emulatedIEMajorVersion() 43 | if (emulated === null) { 44 | return // Not IE 45 | } 46 | var nonEmulated = actualNonEmulatedIEMajorVersion() 47 | 48 | if (emulated !== nonEmulated) { 49 | window.alert('WARNING: You appear to be using IE' + nonEmulated + ' in IE' + emulated + ' emulation mode.\nIE emulation modes can behave significantly differently from ACTUAL older versions of IE.\nPLEASE DON\'T FILE BOOTSTRAP BUGS based on testing in IE emulation modes!') 50 | } 51 | })(); 52 | -------------------------------------------------------------------------------- /application/libraries/ticket_lib.php: -------------------------------------------------------------------------------- 1 | 7 | * http://opensource.org/licenses/MIT 8 | * https://github.com/mousems/NTUVoteV2 9 | **/ 10 | 11 | 12 | 13 | function __construct() 14 | { 15 | 16 | $this->CI =& get_instance(); 17 | 18 | } 19 | 20 | 21 | 22 | 23 | function Store_single($t_id , $selection) 24 | { 25 | if (preg_match("/^\d+$/", $t_id)!==1) { 26 | return FALSE; 27 | } 28 | 29 | // won't miss again :P 30 | if (preg_match("/^\d+$/", $selection)!==1) { 31 | $selection = 0; 32 | } 33 | 34 | $this->CI->load->helper('file'); 35 | $filename = '/var/log/NTUticket/'.$t_id; 36 | 37 | 38 | if (get_file_info($filename)==FALSE) { 39 | $content = date("Y.m.d H:i:s")." ".$selection; 40 | }else{ 41 | $content = "\n".date("Y.m.d H:i:s")." ".$selection; 42 | } 43 | 44 | 45 | if(!write_file($filename, $content,"a+")){ 46 | return FALSE; 47 | }else{ 48 | $path = "/var/log/NTUticket/"; 49 | chdir($path); 50 | 51 | exec('git config user.email "mousems.kuo@gmail.com"'); 52 | exec('git config user.name "NTUvoteV2"'); 53 | exec(escapeshellcmd("git add $t_id")); 54 | exec(escapeshellcmd("git commit -m'submit ticket by ".$ServerName." automatically , ".$t_id."-".$selection."'")); 55 | 56 | return TRUE; 57 | } 58 | } 59 | 60 | 61 | function Store_multiple($t_id , $vote_result) 62 | { 63 | 64 | 65 | 66 | $this->CI->load->helper('file'); 67 | $filename = '/var/log/NTUticket/'.$t_id; 68 | 69 | foreach ($vote_result as $key => $value) { 70 | $content.="\n".date("Y.m.d H:i:s")." ".$t_id."-".$value->{'num'}.":".$value->{'opinion'}; 71 | } 72 | 73 | 74 | if(!write_file($filename, $content,"a+")){ 75 | return FALSE; 76 | }else{ 77 | $path = "/var/log/NTUticket/"; 78 | chdir($path); 79 | 80 | exec('git config user.email "root@ntuvote.org"'); 81 | exec('git config user.name "NTUvoteV2"'); 82 | exec(escapeshellcmd("git add $t_id")); 83 | exec(escapeshellcmd("git commit -m'submit ticket by ".$ServerName." automatically , ".$t_id."'")); 84 | 85 | return TRUE; 86 | } 87 | } 88 | 89 | } 90 | 91 | /* End of file welcome.php */ 92 | /* Location: ./application/controllers/welcome.php */ -------------------------------------------------------------------------------- /system/language/english/db_lang.php: -------------------------------------------------------------------------------- 1 | db->display_error('db_unsuported_feature'); 83 | } 84 | 85 | } 86 | 87 | /* End of file mssql_utility.php */ 88 | /* Location: ./system/database/drivers/mssql/mssql_utility.php */ -------------------------------------------------------------------------------- /system/database/drivers/mysqli/mysqli_utility.php: -------------------------------------------------------------------------------- 1 | db->_escape_identifiers($table); 52 | } 53 | 54 | // -------------------------------------------------------------------- 55 | 56 | /** 57 | * Repair table query 58 | * 59 | * Generates a platform-specific query so that a table can be repaired 60 | * 61 | * @access private 62 | * @param string the table name 63 | * @return object 64 | */ 65 | function _repair_table($table) 66 | { 67 | return "REPAIR TABLE ".$this->db->_escape_identifiers($table); 68 | } 69 | 70 | // -------------------------------------------------------------------- 71 | 72 | /** 73 | * MySQLi Export 74 | * 75 | * @access private 76 | * @param array Preferences 77 | * @return mixed 78 | */ 79 | function _backup($params = array()) 80 | { 81 | // Currently unsupported 82 | return $this->db->display_error('db_unsuported_feature'); 83 | } 84 | } 85 | 86 | /* End of file mysqli_utility.php */ 87 | /* Location: ./system/database/drivers/mysqli/mysqli_utility.php */ -------------------------------------------------------------------------------- /system/database/drivers/sqlsrv/sqlsrv_utility.php: -------------------------------------------------------------------------------- 1 | db->display_error('db_unsuported_feature'); 83 | } 84 | 85 | } 86 | 87 | /* End of file mssql_utility.php */ 88 | /* Location: ./system/database/drivers/mssql/mssql_utility.php */ -------------------------------------------------------------------------------- /system/helpers/directory_helper.php: -------------------------------------------------------------------------------- 1 | 0) && @is_dir($source_dir.$file)) 61 | { 62 | $filedata[$file] = directory_map($source_dir.$file.DIRECTORY_SEPARATOR, $new_depth, $hidden); 63 | } 64 | else 65 | { 66 | $filedata[] = $file; 67 | } 68 | } 69 | 70 | closedir($fp); 71 | return $filedata; 72 | } 73 | 74 | return FALSE; 75 | } 76 | } 77 | 78 | 79 | /* End of file directory_helper.php */ 80 | /* Location: ./system/helpers/directory_helper.php */ -------------------------------------------------------------------------------- /application/views/vote/many.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | NTU Voting 8 | 9 | 10 | 11 | 12 |
13 |
14 |
15 |

高教工會第三屆會員代表選舉

16 | 17 |

投票說明:本選區應選名額為人,每張選票最多可圈選人。

18 |

投票規則:請在候選人姓名上方的空白欄位處進行圈選。若未圈選或圈選超過應選名額,視為廢票。選票在未送出前皆可修改,圈選確定後請按送出。

19 | 20 | 21 |
22 |
23 | 24 | 25 | 26 |
27 | 28 |
29 |
30 |
向右滑動來完成票選
31 |
32 |
33 | $value) { 36 | # code... 37 | 38 | 39 | ?> 40 |
41 |
{'num'};?>
42 |
43 |
{'name'};?>
44 |
{'title'};?>
45 |
46 | 47 | 50 | 51 | 52 | 53 |
54 |
55 |
56 |
57 | 58 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /application/models/vote_core_model.php: -------------------------------------------------------------------------------- 1 | 6 | * http://opensource.org/licenses/MIT 7 | * https://github.com/mousems/NTUVoteV2 8 | **/ 9 | 10 | 11 | function __construct() 12 | { 13 | // 呼叫模型(Model)的建構函數 14 | parent::__construct(); 15 | } 16 | 17 | function get_ballot_type_status_by_prefix($prefix) 18 | { 19 | 20 | 21 | 22 | $this->db->from('ballot_list')->where('prefix' , $prefix)->join('ballot_map','ballot_map.l_id=ballot_list.l_id'); 23 | $query = $this->db->get(); 24 | 25 | if($query->num_rows()==0){ 26 | return FALSE; 27 | }else{ 28 | $result = $query->result(); 29 | if (isset($result[0])) { 30 | $tmp = new stdClass(); 31 | $tmp->{'count'} = count($result); 32 | $tmp->{'t_id'} = array(); 33 | foreach ($result as $key => $value) { 34 | array_push($tmp->{'t_id'}, $value->{'t_id'}); 35 | } 36 | return $tmp; 37 | }else{ 38 | $tmp = new stdClass(); 39 | $tmp->{'count'} = count($result); 40 | $tmp->{'t_id'} = array(); 41 | 42 | return $tmp; 43 | } 44 | } 45 | 46 | } 47 | 48 | function get_ballot_type_status($t_id) 49 | { 50 | 51 | 52 | 53 | $this->db->from('ballot_type')->where('t_id' , $t_id); 54 | $query = $this->db->get(); 55 | 56 | if($query->num_rows()==0){ 57 | return FALSE; 58 | }else{ 59 | return $query->row(); 60 | 61 | } 62 | 63 | } 64 | function checkVoteStatus($booth_username="") 65 | { 66 | 67 | $this->db->from('booth')->where('username' , $booth_username); 68 | $query = $this->db->get(); 69 | 70 | if($query->num_rows()==0){ 71 | return FALSE; 72 | }elseif($query->row(1)->{'status'} == "lock") { 73 | return $query->row(1)->{'authcode'}; 74 | }else{ 75 | return FALSE; 76 | } 77 | 78 | } 79 | function get_candidate_list($t_id) 80 | { 81 | $this->db->from('candidate')->where('t_id',$t_id); 82 | $query = $this->db->get(); 83 | 84 | return $query->result(); 85 | } 86 | 87 | } 88 | 89 | ?> -------------------------------------------------------------------------------- /application/views/vote/many_single.php: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | NTU Voting 11 | 12 | 13 | 14 | 15 |
16 |
17 |
18 |

19 |

(票亭號機) (step of

20 |
21 |
22 | 23 | 24 |
25 | 26 |
27 |
28 |
向右滑動來完成票選
29 |
30 |
31 | $value) { 33 | # code... 34 | 35 | 36 | ?> 37 |
38 |
{'num'};?>
39 |
40 |
41 |
)'>
42 |
)'>
43 |
44 |
45 |
{'name1'};?>
46 |
{'name2'};?>
47 |
48 |
49 | 50 | 53 | 54 | 55 | 56 |
57 |
58 |
59 |
60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /system/database/drivers/sqlite/sqlite_utility.php: -------------------------------------------------------------------------------- 1 | db_debug) 41 | { 42 | return $this->db->display_error('db_unsuported_feature'); 43 | } 44 | return array(); 45 | } 46 | 47 | // -------------------------------------------------------------------- 48 | 49 | /** 50 | * Optimize table query 51 | * 52 | * Is optimization even supported in SQLite? 53 | * 54 | * @access private 55 | * @param string the table name 56 | * @return object 57 | */ 58 | function _optimize_table($table) 59 | { 60 | return FALSE; 61 | } 62 | 63 | // -------------------------------------------------------------------- 64 | 65 | /** 66 | * Repair table query 67 | * 68 | * Are table repairs even supported in SQLite? 69 | * 70 | * @access private 71 | * @param string the table name 72 | * @return object 73 | */ 74 | function _repair_table($table) 75 | { 76 | return FALSE; 77 | } 78 | 79 | // -------------------------------------------------------------------- 80 | 81 | /** 82 | * SQLite Export 83 | * 84 | * @access private 85 | * @param array Preferences 86 | * @return mixed 87 | */ 88 | function _backup($params = array()) 89 | { 90 | // Currently unsupported 91 | return $this->db->display_error('db_unsuported_feature'); 92 | } 93 | } 94 | 95 | /* End of file sqlite_utility.php */ 96 | /* Location: ./system/database/drivers/sqlite/sqlite_utility.php */ -------------------------------------------------------------------------------- /application/views/vote/welcome_remote.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 線上投票 | 臺灣高等教育產業工會第三屆會員代表選舉 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 |
22 |
23 |
24 | 25 | 26 | 27 |

臺灣高等教育產業工會第三屆會員代表選舉

28 |

主辦單位:臺灣高等教育產業工會

29 |

投票時間:2017年12月11日9時 至 12月12日18時

30 |

開票時間:2017年12月12日19時

31 |

開票地點:臺灣高等教育產業工會辦公室

32 |

投票方式:點選開始投票後,進入投票頁面。

33 |

注意事項:請使用電腦開啟本系統

34 |
35 |

36 |

理監事召集人 李威霆

37 | 38 | 41 |
42 | 43 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /system/helpers/typography_helper.php: -------------------------------------------------------------------------------- 1 | load->library('typography'); 44 | 45 | return $CI->typography->nl2br_except_pre($str); 46 | } 47 | } 48 | 49 | // ------------------------------------------------------------------------ 50 | 51 | /** 52 | * Auto Typography Wrapper Function 53 | * 54 | * 55 | * @access public 56 | * @param string 57 | * @param bool whether to allow javascript event handlers 58 | * @param bool whether to reduce multiple instances of double newlines to two 59 | * @return string 60 | */ 61 | if ( ! function_exists('auto_typography')) 62 | { 63 | function auto_typography($str, $strip_js_event_handlers = TRUE, $reduce_linebreaks = FALSE) 64 | { 65 | $CI =& get_instance(); 66 | $CI->load->library('typography'); 67 | return $CI->typography->auto_typography($str, $strip_js_event_handlers, $reduce_linebreaks); 68 | } 69 | } 70 | 71 | 72 | // -------------------------------------------------------------------- 73 | 74 | /** 75 | * HTML Entities Decode 76 | * 77 | * This function is a replacement for html_entity_decode() 78 | * 79 | * @access public 80 | * @param string 81 | * @return string 82 | */ 83 | if ( ! function_exists('entity_decode')) 84 | { 85 | function entity_decode($str, $charset='UTF-8') 86 | { 87 | global $SEC; 88 | return $SEC->entity_decode($str, $charset); 89 | } 90 | } 91 | 92 | /* End of file typography_helper.php */ 93 | /* Location: ./system/helpers/typography_helper.php */ -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2008 - 2014, EllisLab, Inc. 2 | All rights reserved. 3 | 4 | This license is a legal agreement between you and EllisLab Inc. for the use 5 | of CodeIgniter Software (the "Software"). By obtaining the Software you 6 | agree to comply with the terms and conditions of this license. 7 | 8 | PERMITTED USE 9 | You are permitted to use, copy, modify, and distribute the Software and its 10 | documentation, with or without modification, for any purpose, provided that 11 | the following conditions are met: 12 | 13 | 1. A copy of this license agreement must be included with the distribution. 14 | 15 | 2. Redistributions of source code must retain the above copyright notice in 16 | all source code files. 17 | 18 | 3. Redistributions in binary form must reproduce the above copyright notice 19 | in the documentation and/or other materials provided with the distribution. 20 | 21 | 4. Any files that have been modified must carry notices stating the nature 22 | of the change and the names of those who changed them. 23 | 24 | 5. Products derived from the Software must include an acknowledgment that 25 | they are derived from CodeIgniter in their documentation and/or other 26 | materials provided with the distribution. 27 | 28 | 6. Products derived from the Software may not be called "CodeIgniter", 29 | nor may "CodeIgniter" appear in their name, without prior written 30 | permission from EllisLab, Inc. 31 | 32 | INDEMNITY 33 | You agree to indemnify and hold harmless the authors of the Software and 34 | any contributors for any direct, indirect, incidental, or consequential 35 | third-party claims, actions or suits, as well as any related expenses, 36 | liabilities, damages, settlements or fees arising from your use or misuse 37 | of the Software, or a violation of any terms of this license. 38 | 39 | DISCLAIMER OF WARRANTY 40 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR 41 | IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF QUALITY, PERFORMANCE, 42 | NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. 43 | 44 | LIMITATIONS OF LIABILITY 45 | YOU ASSUME ALL RISK ASSOCIATED WITH THE INSTALLATION AND USE OF THE SOFTWARE. 46 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS OF THE SOFTWARE BE LIABLE 47 | FOR CLAIMS, DAMAGES OR OTHER LIABILITY ARISING FROM, OUT OF, OR IN CONNECTION 48 | WITH THE SOFTWARE. LICENSE HOLDERS ARE SOLELY RESPONSIBLE FOR DETERMINING THE 49 | APPROPRIATENESS OF USE AND ASSUME ALL RISKS ASSOCIATED WITH ITS USE, INCLUDING 50 | BUT NOT LIMITED TO THE RISKS OF PROGRAM ERRORS, DAMAGE TO EQUIPMENT, LOSS OF 51 | DATA OR SOFTWARE PROGRAMS, OR UNAVAILABILITY OR INTERRUPTION OF OPERATIONS. 52 | -------------------------------------------------------------------------------- /system/database/drivers/pdo/pdo_utility.php: -------------------------------------------------------------------------------- 1 | db->db_debug) 37 | { 38 | return $this->db->display_error('db_unsuported_feature'); 39 | } 40 | return FALSE; 41 | } 42 | 43 | // -------------------------------------------------------------------- 44 | 45 | /** 46 | * Optimize table query 47 | * 48 | * Generates a platform-specific query so that a table can be optimized 49 | * 50 | * @access private 51 | * @param string the table name 52 | * @return object 53 | */ 54 | function _optimize_table($table) 55 | { 56 | // Not a supported PDO feature 57 | if ($this->db->db_debug) 58 | { 59 | return $this->db->display_error('db_unsuported_feature'); 60 | } 61 | return FALSE; 62 | } 63 | 64 | // -------------------------------------------------------------------- 65 | 66 | /** 67 | * Repair table query 68 | * 69 | * Generates a platform-specific query so that a table can be repaired 70 | * 71 | * @access private 72 | * @param string the table name 73 | * @return object 74 | */ 75 | function _repair_table($table) 76 | { 77 | // Not a supported PDO feature 78 | if ($this->db->db_debug) 79 | { 80 | return $this->db->display_error('db_unsuported_feature'); 81 | } 82 | return FALSE; 83 | } 84 | 85 | // -------------------------------------------------------------------- 86 | 87 | /** 88 | * PDO Export 89 | * 90 | * @access private 91 | * @param array Preferences 92 | * @return mixed 93 | */ 94 | function _backup($params = array()) 95 | { 96 | // Currently unsupported 97 | return $this->db->display_error('db_unsuported_feature'); 98 | } 99 | 100 | } 101 | 102 | /* End of file pdo_utility.php */ 103 | /* Location: ./system/database/drivers/pdo/pdo_utility.php */ -------------------------------------------------------------------------------- /application/views/vote/multiple.php: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | NTU Voting 11 | 12 | 13 | 14 | 15 |
16 |
17 |
18 |

19 |

(票亭號機) (step of

20 |
21 |
22 | 23 | 24 |
25 |
26 |
27 |
請向右滑動到底再送出
28 |
29 | $value) { 32 | # code... 33 | 34 | 35 | ?> 36 |
37 |
38 |
{'num'};?>
39 |
40 | 41 | 42 | 43 | 44 | 45 |
46 |
47 |
)'>
48 |
49 |
{'name'};?>
50 |
51 |
52 | 53 | 56 | 57 |
58 |
59 |
60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /system/database/drivers/odbc/odbc_utility.php: -------------------------------------------------------------------------------- 1 | db->db_debug) 37 | { 38 | return $this->db->display_error('db_unsuported_feature'); 39 | } 40 | return FALSE; 41 | } 42 | 43 | // -------------------------------------------------------------------- 44 | 45 | /** 46 | * Optimize table query 47 | * 48 | * Generates a platform-specific query so that a table can be optimized 49 | * 50 | * @access private 51 | * @param string the table name 52 | * @return object 53 | */ 54 | function _optimize_table($table) 55 | { 56 | // Not a supported ODBC feature 57 | if ($this->db->db_debug) 58 | { 59 | return $this->db->display_error('db_unsuported_feature'); 60 | } 61 | return FALSE; 62 | } 63 | 64 | // -------------------------------------------------------------------- 65 | 66 | /** 67 | * Repair table query 68 | * 69 | * Generates a platform-specific query so that a table can be repaired 70 | * 71 | * @access private 72 | * @param string the table name 73 | * @return object 74 | */ 75 | function _repair_table($table) 76 | { 77 | // Not a supported ODBC feature 78 | if ($this->db->db_debug) 79 | { 80 | return $this->db->display_error('db_unsuported_feature'); 81 | } 82 | return FALSE; 83 | } 84 | 85 | // -------------------------------------------------------------------- 86 | 87 | /** 88 | * ODBC Export 89 | * 90 | * @access private 91 | * @param array Preferences 92 | * @return mixed 93 | */ 94 | function _backup($params = array()) 95 | { 96 | // Currently unsupported 97 | return $this->db->display_error('db_unsuported_feature'); 98 | } 99 | 100 | } 101 | 102 | /* End of file odbc_utility.php */ 103 | /* Location: ./system/database/drivers/odbc/odbc_utility.php */ -------------------------------------------------------------------------------- /application/controllers/login.php: -------------------------------------------------------------------------------- 1 | 7 | * http://opensource.org/licenses/MIT 8 | * https://github.com/mousems/NTUVoteV2 9 | **/ 10 | 11 | 12 | public function index() 13 | { 14 | 15 | $this->load->library('user'); 16 | 17 | if ($this->user->valid_session()) { 18 | switch ($this->session->userdata('logintype')) { 19 | case 'admin': 20 | redirect('admin', 'location'); 21 | break; 22 | 23 | case 'station': 24 | redirect('station', 'location'); 25 | break; 26 | 27 | case 'vote': 28 | redirect('vote', 'location'); 29 | break; 30 | 31 | case 'auth': 32 | redirect('auth', 'location'); 33 | break; 34 | 35 | default: 36 | $this->load->view('login'); 37 | break; 38 | } 39 | }else{ 40 | $this->load->view('login' , array("title"=>$this->config_lib->Get_Config('title'))); 41 | } 42 | } 43 | 44 | 45 | public function logout() 46 | { 47 | $this->session->sess_destroy(); 48 | redirect("/" , "location"); 49 | } 50 | public function autoreload() 51 | { 52 | if ($this->session->userdata('autoreload')=="true") { 53 | $this->session->set_userdata('autoreload',"false"); 54 | }else{ 55 | $this->session->set_userdata('autoreload',"true"); 56 | } 57 | 58 | switch ($this->session->userdata('logintype')) { 59 | case 'admin': 60 | redirect('admin', 'location'); 61 | break; 62 | 63 | case 'station': 64 | redirect('station', 'location'); 65 | break; 66 | default: 67 | $this->logout(); 68 | break; 69 | } 70 | 71 | 72 | } 73 | 74 | public function login_do() 75 | { 76 | $this->load->library('user'); 77 | if ($this->user->valid_account( 78 | $this->input->post('logintype'), 79 | $this->input->post('username'), 80 | $this->input->post('password'), 81 | FALSE 82 | ) //login test 83 | ) { 84 | switch ($this->session->userdata('logintype')) { 85 | case 'admin': 86 | redirect('admin', 'location'); 87 | break; 88 | 89 | case 'station': 90 | redirect('station', 'location'); 91 | break; 92 | 93 | case 'vote': 94 | redirect('vote', 'location'); 95 | break; 96 | 97 | case 'auth': 98 | redirect('auth', 'location'); 99 | break; 100 | 101 | default: 102 | $this->logout(); 103 | break; 104 | } 105 | }else{ 106 | log_message('debug' , "hello"); 107 | $this->logout(); 108 | } 109 | } 110 | } 111 | 112 | /* End of file welcome.php */ 113 | /* Location: ./application/controllers/welcome.php */ -------------------------------------------------------------------------------- /application/views/vote/many_multiple.php: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | NTU Voting 11 | 12 | 13 | 14 | 15 |
16 |
17 |
18 |

19 |

(票亭號機) (step of

20 |
21 |
22 | 23 | 24 |
25 |
26 |
27 |
向右滑動來完成票選
28 |
29 | $value) { 32 | # code... 33 | 34 | 35 | ?> 36 |
37 |
38 |
{'num'};?>
39 |
40 | 41 | 42 | 43 |
44 |
45 |
)'>
46 |
)'>
47 |
48 |
{'name1'};?>
49 |
{'name2'};?>
50 |
51 |
52 | 53 | 56 | 57 |
58 |
59 |
60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /application/views/admin/result.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <?=str_replace(">>", "" ,$sider_array[$pageid]);?> | NTUvoteV2 後台管理 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 40 | 41 |
42 |
43 | 56 | 57 | 58 | 59 | 60 |
61 |

62 | 63 |
64 |
65 |
66 | 67 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /system/helpers/cookie_helper.php: -------------------------------------------------------------------------------- 1 | input->set_cookie($name, $value, $expire, $domain, $path, $prefix, $secure); 52 | } 53 | } 54 | 55 | // -------------------------------------------------------------------- 56 | 57 | /** 58 | * Fetch an item from the COOKIE array 59 | * 60 | * @access public 61 | * @param string 62 | * @param bool 63 | * @return mixed 64 | */ 65 | if ( ! function_exists('get_cookie')) 66 | { 67 | function get_cookie($index = '', $xss_clean = FALSE) 68 | { 69 | $CI =& get_instance(); 70 | 71 | $prefix = ''; 72 | 73 | if ( ! isset($_COOKIE[$index]) && config_item('cookie_prefix') != '') 74 | { 75 | $prefix = config_item('cookie_prefix'); 76 | } 77 | 78 | return $CI->input->cookie($prefix.$index, $xss_clean); 79 | } 80 | } 81 | 82 | // -------------------------------------------------------------------- 83 | 84 | /** 85 | * Delete a COOKIE 86 | * 87 | * @param mixed 88 | * @param string the cookie domain. Usually: .yourdomain.com 89 | * @param string the cookie path 90 | * @param string the cookie prefix 91 | * @return void 92 | */ 93 | if ( ! function_exists('delete_cookie')) 94 | { 95 | function delete_cookie($name = '', $domain = '', $path = '/', $prefix = '') 96 | { 97 | set_cookie($name, '', '', $domain, $path, $prefix); 98 | } 99 | } 100 | 101 | 102 | /* End of file cookie_helper.php */ 103 | /* Location: ./system/helpers/cookie_helper.php */ -------------------------------------------------------------------------------- /system/helpers/array_helper.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <?=str_replace(">>", "" ,$sider_array[$pageid]);?> | NTUvoteV2 後台管理 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 39 | 40 |
41 |
42 | 55 | 56 | 57 | 58 | 59 |
60 |

開票

61 |

請點選左方票別

62 |
63 |
64 |
65 | 66 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /application/views/admin/candidate.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <?=str_replace(">>", "" ,$sider_array[$pageid]);?> | NTUvoteV2 後台管理 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 40 | 41 |
42 |
43 | 56 | 57 | 58 | 59 | 60 |
61 |

>", "" ,$sider_array[$pageid]);?>

62 |

此處可觀看觀看候選人相關資料。

63 | 64 |
65 |
66 | 67 |

候選人清單

68 |
69 | 70 |
71 |
72 |
73 |
74 | 75 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /application/views/admin/account.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <?=str_replace(">>", "" ,$sider_array[$pageid]);?> | NTUvoteV2 後台管理 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 40 | 41 |
42 |
43 | 56 | 57 | 58 | 59 | 60 |
61 |

>", "" ,$sider_array[$pageid]);?>

62 |

此處可管理投票亭、設定帳號密碼、產生平版登入密碼等功能

63 | 64 |
65 | 66 |
67 | 68 |

票亭清單

69 |
70 | 71 |
72 |
73 |
74 |
75 | 76 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /application/views/admin/ballot_type.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <?=str_replace(">>", "" ,$sider_array[$pageid]);?> | NTUvoteV2 後台管理 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 40 | 41 |
42 |
43 | 56 | 57 | 58 | 59 | 60 |
61 |

>", "" ,$sider_array[$pageid]);?>

62 |

此處可觀看票種設定,與新增、刪除。若要設定票別對應的票種,請至票種關連設定。

63 | 64 |
65 |
66 | 67 |

票種清單

68 |
69 | 70 |
71 |
72 |
73 |
74 | 75 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /system/libraries/Cache/drivers/Cache_dummy.php: -------------------------------------------------------------------------------- 1 | '1', 'DEBUG' => '2', 'INFO' => '3', 'ALL' => '4'); 34 | 35 | /** 36 | * Constructor 37 | */ 38 | public function __construct() 39 | { 40 | $config =& get_config(); 41 | 42 | $this->_log_path = ($config['log_path'] != '') ? $config['log_path'] : APPPATH.'logs/'; 43 | 44 | if ( ! is_dir($this->_log_path) OR ! is_really_writable($this->_log_path)) 45 | { 46 | $this->_enabled = FALSE; 47 | } 48 | 49 | if (is_numeric($config['log_threshold'])) 50 | { 51 | $this->_threshold = $config['log_threshold']; 52 | } 53 | 54 | if ($config['log_date_format'] != '') 55 | { 56 | $this->_date_fmt = $config['log_date_format']; 57 | } 58 | } 59 | 60 | // -------------------------------------------------------------------- 61 | 62 | /** 63 | * Write Log File 64 | * 65 | * Generally this function will be called using the global log_message() function 66 | * 67 | * @param string the error level 68 | * @param string the error message 69 | * @param bool whether the error is a native PHP error 70 | * @return bool 71 | */ 72 | public function write_log($level = 'error', $msg, $php_error = FALSE) 73 | { 74 | if ($this->_enabled === FALSE) 75 | { 76 | return FALSE; 77 | } 78 | 79 | $level = strtoupper($level); 80 | 81 | if ( ! isset($this->_levels[$level]) OR ($this->_levels[$level] > $this->_threshold)) 82 | { 83 | return FALSE; 84 | } 85 | 86 | $filepath = $this->_log_path.'log-'.date('Y-m-d').'.php'; 87 | $message = ''; 88 | 89 | if ( ! file_exists($filepath)) 90 | { 91 | $message .= "<"."?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); ?".">\n\n"; 92 | } 93 | 94 | if ( ! $fp = @fopen($filepath, FOPEN_WRITE_CREATE)) 95 | { 96 | return FALSE; 97 | } 98 | 99 | $message .= $level.' '.(($level == 'INFO') ? ' -' : '-').' '.date($this->_date_fmt). ' --> '.$msg."\n"; 100 | 101 | flock($fp, LOCK_EX); 102 | fwrite($fp, $message); 103 | flock($fp, LOCK_UN); 104 | fclose($fp); 105 | 106 | @chmod($filepath, FILE_WRITE_MODE); 107 | return TRUE; 108 | } 109 | 110 | } 111 | // END Log Class 112 | 113 | /* End of file Log.php */ 114 | /* Location: ./system/libraries/Log.php */ -------------------------------------------------------------------------------- /system/helpers/download_helper.php: -------------------------------------------------------------------------------- 1 | security->xss_clean($str, $is_image); 44 | } 45 | } 46 | 47 | // ------------------------------------------------------------------------ 48 | 49 | /** 50 | * Sanitize Filename 51 | * 52 | * @access public 53 | * @param string 54 | * @return string 55 | */ 56 | if ( ! function_exists('sanitize_filename')) 57 | { 58 | function sanitize_filename($filename) 59 | { 60 | $CI =& get_instance(); 61 | return $CI->security->sanitize_filename($filename); 62 | } 63 | } 64 | 65 | // -------------------------------------------------------------------- 66 | 67 | /** 68 | * Hash encode a string 69 | * 70 | * @access public 71 | * @param string 72 | * @return string 73 | */ 74 | if ( ! function_exists('do_hash')) 75 | { 76 | function do_hash($str, $type = 'sha1') 77 | { 78 | if ($type == 'sha1') 79 | { 80 | return sha1($str); 81 | } 82 | else 83 | { 84 | return md5($str); 85 | } 86 | } 87 | } 88 | 89 | // ------------------------------------------------------------------------ 90 | 91 | /** 92 | * Strip Image Tags 93 | * 94 | * @access public 95 | * @param string 96 | * @return string 97 | */ 98 | if ( ! function_exists('strip_image_tags')) 99 | { 100 | function strip_image_tags($str) 101 | { 102 | $str = preg_replace("##", "\\1", $str); 103 | $str = preg_replace("##", "\\1", $str); 104 | 105 | return $str; 106 | } 107 | } 108 | 109 | // ------------------------------------------------------------------------ 110 | 111 | /** 112 | * Convert PHP tags to entities 113 | * 114 | * @access public 115 | * @param string 116 | * @return string 117 | */ 118 | if ( ! function_exists('encode_php_tags')) 119 | { 120 | function encode_php_tags($str) 121 | { 122 | return str_replace(array(''), array('<?php', '<?PHP', '<?', '?>'), $str); 123 | } 124 | } 125 | 126 | 127 | /* End of file security_helper.php */ 128 | /* Location: ./system/helpers/security_helper.php */ -------------------------------------------------------------------------------- /system/language/english/date_lang.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 線上投票 | 臺灣高等教育產業工會第三屆會員代表選舉 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 |
22 |
23 |
24 | 25 | 26 | 27 | 28 |

臺灣高等教育產業工會第三屆會員代表選舉

29 |

主辦單位:臺灣高等教育產業工會

30 |

投票時間:2017年12月11日9時 至 12月12日18時

31 |

開票時間:2017年12月12日19時

32 |

開票地點:臺灣高等教育產業工會辦公室

33 |

投票方式:點選開始投票後,進入投票頁面。

34 |

注意事項:請使用電腦開啟本系統

35 |
36 |

37 |

理監事召集人 李威霆

38 | 39 | 42 |
43 | --> 60 | 61 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /application/views/admin/caculate_show_multi.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <?=str_replace(">>", "" ,$sider_array[$pageid]);?> | NTUvoteV2 後台管理 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 39 | 40 |
41 |
42 | 55 | 56 | 57 | 58 | 62 | 63 | 64 |
65 |

66 |
67 |
68 |
69 | 70 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /application/views/admin/mapping.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 票別對應設定 | NTUvoteV2 後台管理 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 40 | 41 |
42 |
43 | 56 | 57 | 58 | 59 | 60 |
61 |

票別對應設定

62 |

此處為關連票別與票種用,為票別建立完整的票種。

63 | 64 | 65 |
66 | 74 |
75 |
76 |
77 |
78 | 79 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /application/views/admin/caculate_show_single.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | <?=str_replace(">>", "" ,$sider_array[$pageid]);?> | NTUvoteV2 後台管理 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 39 | 40 |
41 |
42 | 55 | 56 | 57 | 58 | 62 | 63 |
64 |

65 |
66 |
67 |
68 |
69 | 70 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /system/database/drivers/cubrid/cubrid_utility.php: -------------------------------------------------------------------------------- 1 | conn_id) 41 | { 42 | return "SELECT '" . $this->database . "'"; 43 | } 44 | else 45 | { 46 | return FALSE; 47 | } 48 | } 49 | 50 | // -------------------------------------------------------------------- 51 | 52 | /** 53 | * Optimize table query 54 | * 55 | * Generates a platform-specific query so that a table can be optimized 56 | * 57 | * @access private 58 | * @param string the table name 59 | * @return object 60 | * @link http://www.cubrid.org/manual/840/en/Optimize%20Database 61 | */ 62 | function _optimize_table($table) 63 | { 64 | // No SQL based support in CUBRID as of version 8.4.0. Database or 65 | // table optimization can be performed using CUBRID Manager 66 | // database administration tool. See the link above for more info. 67 | return FALSE; 68 | } 69 | 70 | // -------------------------------------------------------------------- 71 | 72 | /** 73 | * Repair table query 74 | * 75 | * Generates a platform-specific query so that a table can be repaired 76 | * 77 | * @access private 78 | * @param string the table name 79 | * @return object 80 | * @link http://www.cubrid.org/manual/840/en/Checking%20Database%20Consistency 81 | */ 82 | function _repair_table($table) 83 | { 84 | // Not supported in CUBRID as of version 8.4.0. Database or 85 | // table consistency can be checked using CUBRID Manager 86 | // database administration tool. See the link above for more info. 87 | return FALSE; 88 | } 89 | 90 | // -------------------------------------------------------------------- 91 | /** 92 | * CUBRID Export 93 | * 94 | * @access private 95 | * @param array Preferences 96 | * @return mixed 97 | */ 98 | function _backup($params = array()) 99 | { 100 | // No SQL based support in CUBRID as of version 8.4.0. Database or 101 | // table backup can be performed using CUBRID Manager 102 | // database administration tool. 103 | return $this->db->display_error('db_unsuported_feature'); 104 | } 105 | } 106 | 107 | /* End of file cubrid_utility.php */ 108 | /* Location: ./system/database/drivers/cubrid/cubrid_utility.php */ -------------------------------------------------------------------------------- /application/views/admin/setting.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | <?=str_replace(">>", "" ,$sider_array[$pageid]);?> | NTUvoteV2 後台管理 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 39 | 40 |
41 |
42 | 55 | 56 | 57 | 58 | 59 |
60 |

>", "" ,$sider_array[$pageid]);?>

61 |
62 |
63 |

系統公告設定

64 | 68 |
69 |
70 |
71 |
72 |
73 | 74 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | --------------------------------------------------------------------------------