├── .gitignore ├── .htaccess ├── LICENSE ├── README.md ├── application ├── .htaccess ├── cache │ ├── .htaccess │ ├── index.html │ └── install │ │ ├── install.sql │ │ └── update.sql ├── config │ ├── autoload.php │ ├── config.php │ ├── constants.php │ ├── database.php │ ├── doctypes.php │ ├── foreign_chars.php │ ├── hooks.php │ ├── index.html │ ├── migration.php │ ├── mimes.php │ ├── profiler.php │ ├── routes.php │ ├── sampledatabase.php │ ├── smileys.php │ └── user_agents.php ├── controllers │ ├── admin │ │ ├── node.php │ │ ├── settings.php │ │ ├── topic.php │ │ └── user.php │ ├── comment.php │ ├── index.html │ ├── install.php │ ├── member.php │ ├── node.php │ ├── notification.php │ ├── settings.php │ ├── topic.php │ ├── update.php │ ├── user.php │ └── welcome.php ├── core │ ├── MY_Controller.php │ └── index.html ├── errors │ ├── error_404.php │ ├── error_db.php │ ├── error_general.php │ ├── error_php.php │ └── index.html ├── helpers │ ├── MY_captcha_helper.php │ ├── MY_date_helper.php │ ├── auth_helper.php │ └── index.html ├── hooks │ └── index.html ├── index.html ├── language │ ├── chinese │ │ ├── calendar_lang.php │ │ ├── date_lang.php │ │ ├── db_lang.php │ │ ├── email_lang.php │ │ ├── form_validation_lang.php │ │ ├── ftp_lang.php │ │ ├── imglib_lang.php │ │ ├── index.html │ │ ├── migration_lang.php │ │ ├── number_lang.php │ │ ├── profiler_lang.php │ │ ├── unit_test_lang.php │ │ └── upload_lang.php │ ├── english │ │ └── index.html │ └── index.html ├── libraries │ ├── AvatarResize.php │ ├── XssHtml.php │ └── index.html ├── logs │ └── index.html ├── models │ ├── comment_m.php │ ├── index.html │ ├── node_m.php │ ├── notification_m.php │ ├── site_m.php │ ├── topic_m.php │ ├── user_m.php │ └── welcome_m.php ├── third_party │ └── index.html └── views │ ├── admin │ ├── common │ │ ├── footer_common.php │ │ ├── footer_editor.php │ │ ├── header.php │ │ └── sidebar.php │ ├── node_add.php │ ├── node_edit.php │ ├── node_list.php │ ├── settings_site.php │ ├── settings_verify.php │ ├── topic_edit.php │ ├── topic_list.php │ ├── topic_verify_list.php │ ├── user_banned_list.php │ ├── user_edit.php │ └── user_list.php │ ├── common │ ├── footer_common.php │ ├── footer_editor.php │ ├── header_common.php │ ├── header_home.php │ ├── header_topic_detail.php │ ├── sidebar_common.php │ └── sidebar_home.php │ ├── index.html │ ├── install │ ├── install.lock │ ├── install_check.php │ ├── install_deal.php │ ├── install_done.php │ ├── install_process.php │ ├── update.lock │ └── update.php │ ├── member_comment_list.php │ ├── member_detail.php │ ├── member_topic_list.php │ ├── node_list.php │ ├── notification_list.php │ ├── topic_add.php │ ├── topic_detail.php │ ├── topic_home_list.php │ ├── topic_node_list.php │ ├── topic_recent_list.php │ ├── user_avatar.php │ ├── user_login.php │ ├── user_password.php │ ├── user_profile.php │ └── user_reg.php ├── captcha └── .gitkeep ├── demo1.png ├── demo2.png ├── demo3.png ├── index.php ├── static ├── css │ ├── bootstrap-theme.css │ ├── bootstrap-theme.css.map │ ├── bootstrap-theme.min.css │ ├── bootstrap.css │ ├── bootstrap.css.map │ ├── bootstrap.min.css │ └── custom.css ├── editor │ ├── kindeditor-all-min.js │ ├── kindeditor-all.js │ ├── kindeditor-config.js │ ├── kindeditor-min.js │ ├── kindeditor.js │ ├── lang │ │ ├── ar.js │ │ ├── en.js │ │ ├── ko.js │ │ ├── zh_CN.js │ │ └── zh_TW.js │ ├── license.txt │ ├── php │ │ ├── JSON.php │ │ ├── file_manager_json.php │ │ └── upload_json.php │ ├── plugins │ │ ├── anchor │ │ │ └── anchor.js │ │ ├── autoheight │ │ │ └── autoheight.js │ │ ├── baidumap │ │ │ ├── baidumap.js │ │ │ ├── index.html │ │ │ └── map.html │ │ ├── clearhtml │ │ │ └── clearhtml.js │ │ ├── code │ │ │ ├── code.js │ │ │ ├── prettify.css │ │ │ └── prettify.js │ │ ├── emoticons │ │ │ ├── emoticons.js │ │ │ └── images │ │ │ │ ├── 0.gif │ │ │ │ ├── 1.gif │ │ │ │ ├── 10.gif │ │ │ │ ├── 100.gif │ │ │ │ ├── 101.gif │ │ │ │ ├── 102.gif │ │ │ │ ├── 103.gif │ │ │ │ ├── 104.gif │ │ │ │ ├── 105.gif │ │ │ │ ├── 106.gif │ │ │ │ ├── 107.gif │ │ │ │ ├── 108.gif │ │ │ │ ├── 109.gif │ │ │ │ ├── 11.gif │ │ │ │ ├── 110.gif │ │ │ │ ├── 111.gif │ │ │ │ ├── 112.gif │ │ │ │ ├── 113.gif │ │ │ │ ├── 114.gif │ │ │ │ ├── 115.gif │ │ │ │ ├── 116.gif │ │ │ │ ├── 117.gif │ │ │ │ ├── 118.gif │ │ │ │ ├── 119.gif │ │ │ │ ├── 12.gif │ │ │ │ ├── 120.gif │ │ │ │ ├── 121.gif │ │ │ │ ├── 122.gif │ │ │ │ ├── 123.gif │ │ │ │ ├── 124.gif │ │ │ │ ├── 125.gif │ │ │ │ ├── 126.gif │ │ │ │ ├── 127.gif │ │ │ │ ├── 128.gif │ │ │ │ ├── 129.gif │ │ │ │ ├── 13.gif │ │ │ │ ├── 130.gif │ │ │ │ ├── 131.gif │ │ │ │ ├── 132.gif │ │ │ │ ├── 133.gif │ │ │ │ ├── 134.gif │ │ │ │ ├── 14.gif │ │ │ │ ├── 15.gif │ │ │ │ ├── 16.gif │ │ │ │ ├── 17.gif │ │ │ │ ├── 18.gif │ │ │ │ ├── 19.gif │ │ │ │ ├── 2.gif │ │ │ │ ├── 20.gif │ │ │ │ ├── 21.gif │ │ │ │ ├── 22.gif │ │ │ │ ├── 23.gif │ │ │ │ ├── 24.gif │ │ │ │ ├── 25.gif │ │ │ │ ├── 26.gif │ │ │ │ ├── 27.gif │ │ │ │ ├── 28.gif │ │ │ │ ├── 29.gif │ │ │ │ ├── 3.gif │ │ │ │ ├── 30.gif │ │ │ │ ├── 31.gif │ │ │ │ ├── 32.gif │ │ │ │ ├── 33.gif │ │ │ │ ├── 34.gif │ │ │ │ ├── 35.gif │ │ │ │ ├── 36.gif │ │ │ │ ├── 37.gif │ │ │ │ ├── 38.gif │ │ │ │ ├── 39.gif │ │ │ │ ├── 4.gif │ │ │ │ ├── 40.gif │ │ │ │ ├── 41.gif │ │ │ │ ├── 42.gif │ │ │ │ ├── 43.gif │ │ │ │ ├── 44.gif │ │ │ │ ├── 45.gif │ │ │ │ ├── 46.gif │ │ │ │ ├── 47.gif │ │ │ │ ├── 48.gif │ │ │ │ ├── 49.gif │ │ │ │ ├── 5.gif │ │ │ │ ├── 50.gif │ │ │ │ ├── 51.gif │ │ │ │ ├── 52.gif │ │ │ │ ├── 53.gif │ │ │ │ ├── 54.gif │ │ │ │ ├── 55.gif │ │ │ │ ├── 56.gif │ │ │ │ ├── 57.gif │ │ │ │ ├── 58.gif │ │ │ │ ├── 59.gif │ │ │ │ ├── 6.gif │ │ │ │ ├── 60.gif │ │ │ │ ├── 61.gif │ │ │ │ ├── 62.gif │ │ │ │ ├── 63.gif │ │ │ │ ├── 64.gif │ │ │ │ ├── 65.gif │ │ │ │ ├── 66.gif │ │ │ │ ├── 67.gif │ │ │ │ ├── 68.gif │ │ │ │ ├── 69.gif │ │ │ │ ├── 7.gif │ │ │ │ ├── 70.gif │ │ │ │ ├── 71.gif │ │ │ │ ├── 72.gif │ │ │ │ ├── 73.gif │ │ │ │ ├── 74.gif │ │ │ │ ├── 75.gif │ │ │ │ ├── 76.gif │ │ │ │ ├── 77.gif │ │ │ │ ├── 78.gif │ │ │ │ ├── 79.gif │ │ │ │ ├── 8.gif │ │ │ │ ├── 80.gif │ │ │ │ ├── 81.gif │ │ │ │ ├── 82.gif │ │ │ │ ├── 83.gif │ │ │ │ ├── 84.gif │ │ │ │ ├── 85.gif │ │ │ │ ├── 86.gif │ │ │ │ ├── 87.gif │ │ │ │ ├── 88.gif │ │ │ │ ├── 89.gif │ │ │ │ ├── 9.gif │ │ │ │ ├── 90.gif │ │ │ │ ├── 91.gif │ │ │ │ ├── 92.gif │ │ │ │ ├── 93.gif │ │ │ │ ├── 94.gif │ │ │ │ ├── 95.gif │ │ │ │ ├── 96.gif │ │ │ │ ├── 97.gif │ │ │ │ ├── 98.gif │ │ │ │ ├── 99.gif │ │ │ │ └── static.gif │ │ ├── filemanager │ │ │ ├── filemanager.js │ │ │ └── images │ │ │ │ ├── file-16.gif │ │ │ │ ├── file-64.gif │ │ │ │ ├── folder-16.gif │ │ │ │ ├── folder-64.gif │ │ │ │ └── go-up.gif │ │ ├── flash │ │ │ └── flash.js │ │ ├── image │ │ │ ├── image.js │ │ │ └── images │ │ │ │ ├── align_left.gif │ │ │ │ ├── align_right.gif │ │ │ │ ├── align_top.gif │ │ │ │ └── refresh.png │ │ ├── insertfile │ │ │ └── insertfile.js │ │ ├── lineheight │ │ │ └── lineheight.js │ │ ├── link │ │ │ └── link.js │ │ ├── map │ │ │ ├── map.html │ │ │ └── map.js │ │ ├── media │ │ │ └── media.js │ │ ├── multiimage │ │ │ ├── images │ │ │ │ ├── image.png │ │ │ │ ├── select-files-en.png │ │ │ │ ├── select-files-zh_CN.png │ │ │ │ └── swfupload.swf │ │ │ └── multiimage.js │ │ ├── pagebreak │ │ │ └── pagebreak.js │ │ ├── plainpaste │ │ │ └── plainpaste.js │ │ ├── preview │ │ │ └── preview.js │ │ ├── quickformat │ │ │ └── quickformat.js │ │ ├── table │ │ │ └── table.js │ │ ├── template │ │ │ ├── html │ │ │ │ ├── 1.html │ │ │ │ ├── 2.html │ │ │ │ └── 3.html │ │ │ └── template.js │ │ └── wordpaste │ │ │ └── wordpaste.js │ └── themes │ │ ├── common │ │ ├── anchor.gif │ │ ├── blank.gif │ │ ├── flash.gif │ │ ├── loading.gif │ │ ├── media.gif │ │ └── rm.gif │ │ ├── default │ │ ├── background.png │ │ ├── default.css │ │ └── default.png │ │ ├── qq │ │ ├── editor.gif │ │ └── qq.css │ │ └── simple │ │ └── simple.css ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ └── glyphicons-halflings-regular.woff ├── img │ ├── favicon.png │ └── grid.png └── js │ ├── bootstrap.js │ ├── bootstrap.min.js │ ├── jquery.min.js │ └── npm.js ├── system ├── .htaccess ├── core │ ├── Benchmark.php │ ├── CodeIgniter.php │ ├── Common.php │ ├── Config.php │ ├── Controller.php │ ├── Exceptions.php │ ├── Hooks.php │ ├── Input.php │ ├── Lang.php │ ├── Loader.php │ ├── Model.php │ ├── Output.php │ ├── Router.php │ ├── Security.php │ ├── URI.php │ ├── Utf8.php │ └── index.html ├── database │ ├── DB.php │ ├── DB_active_rec.php │ ├── DB_cache.php │ ├── DB_driver.php │ ├── DB_forge.php │ ├── DB_result.php │ ├── DB_utility.php │ ├── drivers │ │ ├── cubrid │ │ │ ├── cubrid_driver.php │ │ │ ├── cubrid_forge.php │ │ │ ├── cubrid_result.php │ │ │ ├── cubrid_utility.php │ │ │ └── index.html │ │ ├── index.html │ │ ├── mssql │ │ │ ├── index.html │ │ │ ├── mssql_driver.php │ │ │ ├── mssql_forge.php │ │ │ ├── mssql_result.php │ │ │ └── mssql_utility.php │ │ ├── mysql │ │ │ ├── index.html │ │ │ ├── mysql_driver.php │ │ │ ├── mysql_forge.php │ │ │ ├── mysql_result.php │ │ │ └── mysql_utility.php │ │ ├── mysqli │ │ │ ├── index.html │ │ │ ├── mysqli_driver.php │ │ │ ├── mysqli_forge.php │ │ │ ├── mysqli_result.php │ │ │ └── mysqli_utility.php │ │ ├── oci8 │ │ │ ├── index.html │ │ │ ├── oci8_driver.php │ │ │ ├── oci8_forge.php │ │ │ ├── oci8_result.php │ │ │ └── oci8_utility.php │ │ ├── odbc │ │ │ ├── index.html │ │ │ ├── odbc_driver.php │ │ │ ├── odbc_forge.php │ │ │ ├── odbc_result.php │ │ │ └── odbc_utility.php │ │ ├── pdo │ │ │ ├── index.html │ │ │ ├── pdo_driver.php │ │ │ ├── pdo_forge.php │ │ │ ├── pdo_result.php │ │ │ └── pdo_utility.php │ │ ├── postgre │ │ │ ├── index.html │ │ │ ├── postgre_driver.php │ │ │ ├── postgre_forge.php │ │ │ ├── postgre_result.php │ │ │ └── postgre_utility.php │ │ ├── sqlite │ │ │ ├── index.html │ │ │ ├── sqlite_driver.php │ │ │ ├── sqlite_forge.php │ │ │ ├── sqlite_result.php │ │ │ └── sqlite_utility.php │ │ └── sqlsrv │ │ │ ├── index.html │ │ │ ├── sqlsrv_driver.php │ │ │ ├── sqlsrv_forge.php │ │ │ ├── sqlsrv_result.php │ │ │ └── sqlsrv_utility.php │ └── index.html ├── fonts │ ├── index.html │ └── texb.ttf ├── helpers │ ├── array_helper.php │ ├── captcha_helper.php │ ├── cookie_helper.php │ ├── date_helper.php │ ├── directory_helper.php │ ├── download_helper.php │ ├── email_helper.php │ ├── file_helper.php │ ├── form_helper.php │ ├── html_helper.php │ ├── index.html │ ├── inflector_helper.php │ ├── language_helper.php │ ├── number_helper.php │ ├── path_helper.php │ ├── security_helper.php │ ├── smiley_helper.php │ ├── string_helper.php │ ├── text_helper.php │ ├── typography_helper.php │ ├── url_helper.php │ └── xml_helper.php ├── index.html ├── language │ ├── english │ │ ├── calendar_lang.php │ │ ├── date_lang.php │ │ ├── db_lang.php │ │ ├── email_lang.php │ │ ├── form_validation_lang.php │ │ ├── ftp_lang.php │ │ ├── imglib_lang.php │ │ ├── index.html │ │ ├── migration_lang.php │ │ ├── number_lang.php │ │ ├── profiler_lang.php │ │ ├── unit_test_lang.php │ │ └── upload_lang.php │ └── index.html └── libraries │ ├── Cache │ ├── Cache.php │ ├── drivers │ │ ├── Cache_apc.php │ │ ├── Cache_dummy.php │ │ ├── Cache_file.php │ │ ├── Cache_memcached.php │ │ └── index.html │ └── index.html │ ├── Calendar.php │ ├── Cart.php │ ├── Driver.php │ ├── Email.php │ ├── Encrypt.php │ ├── Form_validation.php │ ├── Ftp.php │ ├── Image_lib.php │ ├── Javascript.php │ ├── Log.php │ ├── Migration.php │ ├── Pagination.php │ ├── Parser.php │ ├── Profiler.php │ ├── Session.php │ ├── Sha1.php │ ├── Table.php │ ├── Trackback.php │ ├── Typography.php │ ├── Unit_test.php │ ├── Upload.php │ ├── User_agent.php │ ├── Xmlrpc.php │ ├── Xmlrpcs.php │ ├── Zip.php │ ├── index.html │ └── javascript │ ├── Jquery.php │ └── index.html └── uploads └── avatar └── default ├── big.png ├── normal.png └── small.png /.gitignore: -------------------------------------------------------------------------------- 1 | uploads/* 2 | captcha/*.jpg -------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- 1 | RewriteEngine on 2 | 3 | RewriteCond %{REQUEST_FILENAME} !-f 4 | RewriteCond %{REQUEST_FILENAME} !-d 5 | 6 | RewriteCond $1 !^(index\.php|images|robots\.txt) 7 | RewriteRule ^(.*)$ /index.php/$1 [L] -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Let'sBBS 2 | ======= 3 | 4 | **Let'sBBS 是一个简约开源的轻社区程序。** 5 | 6 | demo网站已经撤下,需要感受一下的话,可以看看这几张截图。 7 | 8 | ![demo1](demo1.png) 9 | 10 | ![demo2](demo2.png) 11 | 12 | ![demo3](demo3.png) 13 | 14 | ----------------- 15 | 16 | ##安装说明 17 | 18 | ####前期准备 19 | 1.下载本程序的源代码。 20 | 21 | 2.Let'sBBS 使用PHP + Mysql的模式,推荐使用LAMP(Linux+Apache+Mysql+PHP)的服务器架构。如果你使用的是LNMP(Linux+Nginx+Mysql+PHP)的服务器架构,请参考末尾所列的配置。 22 | 23 | 3.程序正常安装使用需要空间支持伪静态(对Apache而言需要支持.htaccess文件定义重写规则,对Nginx而言需要按照第2点中提到的配置服务器)。 24 | 25 | 4.将程序解压上传到网站根目录(暂时未测试可能不支持子目录安装)。 26 | 27 | 5.准备好Mysql数据库账号等信息。 28 | 29 | ###正式安装 30 | 访问 http://www.yourdomain.com/install 进入程序安装向导。 31 | 32 | 1.第一步,请仔细阅读Let'sBBS软件使用协议,如果同意此协议,则点击“接受协议并继续”,进入下一步。 33 | 34 | 2.第二步,安装程序将检查安装环境是否满足需求,检查文件、目录权限是否满足需求,如果有不满足,则无法进入下一步继续安装,请修改不满足项后,重新检测,直到所有项检测通过后,点击进入下一步。 35 | 36 | 3.第三步,填入数据库信息和创始人信息(为网站的1号用户,也是管理员),信息全部填写完毕并数据库连接测试成功时点击“创建数据”,即可完成网站初始数据创建。 37 | 38 | 4.安装完成,点击进入后台,进行必要的网站基本信息设置和节点设置,您的网站即安装完成。 39 | 40 | 至此,安装完成,enjoy yourself ! 41 | 42 | ##NGINX下的配置示例 43 |
44 | server
45 | 	{
46 | 		listen 80;
47 | 		server_name domain.com;
48 | 		index index.php index.html;
49 | 		root  /home/wwwroot/letsbbs.com;
50 | 
51 | 		location /
52 | 			{
53 | 				try_files $uri $uri/ /index.php;
54 | 			}
55 | 
56 | 		location ~ [^/]\.php(/|$)
57 | 			{
58 | 				fastcgi_pass  unix:/tmp/php-cgi.sock;
59 | 				include fastcgi.conf;
60 | 			}
61 | 
62 | 		location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
63 | 			{
64 | 				expires      30d;
65 | 			}
66 | 
67 | 		location ~ .*\.(js|css)?$
68 | 			{
69 | 				expires      12h;
70 | 			}
71 | 
72 | 		access_log off;
73 | 	}
74 | 
75 | -------------------------------------------------------------------------------- /application/.htaccess: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /application/cache/.htaccess: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /application/cache/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/cache/install/update.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `letsbbs_node` ADD `topshow` INT(11) NOT NULL DEFAULT '0' AFTER `featured`; 2 | INSERT INTO `letsbbs_option` (`oname`, `ovalue`) VALUES ('site_introduction', "

欢迎访问 Let'sBBS !

Let'sBBS 是一个简约开源的轻社区程序。

"), ('site_user_number', '0'), ('site_topic_number', '0'), ('site_comment_number', '0'); 3 | 4 | DROP TABLE IF EXISTS `letsbbs_node_follow`; 5 | CREATE TABLE IF NOT EXISTS `letsbbs_node_follow` ( 6 | `nfid` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 7 | `nid` bigint(20) unsigned NOT NULL DEFAULT '0', 8 | `uid` bigint(20) unsigned NOT NULL DEFAULT '0', 9 | `addtime` int(10) unsigned NOT NULL DEFAULT '0', 10 | PRIMARY KEY (`nfid`), 11 | KEY `uid` (`uid`) 12 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 13 | 14 | ALTER TABLE `letsbbs_user` CHANGE `follower` `node_follow` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0'; 15 | ALTER TABLE `letsbbs_user` ADD `topic_follow` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' AFTER `node_follow`; 16 | ALTER TABLE `letsbbs_user` ADD `user_follow` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0' AFTER `node_follow`; 17 | 18 | DROP TABLE IF EXISTS `letsbbs_user_follow`; 19 | CREATE TABLE IF NOT EXISTS `letsbbs_user_follow` ( 20 | `ufid` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 21 | `fuid` bigint(20) unsigned NOT NULL DEFAULT '0', 22 | `myuid` bigint(20) unsigned NOT NULL DEFAULT '0', 23 | `addtime` int(10) unsigned NOT NULL DEFAULT '0', 24 | PRIMARY KEY (`ufid`), 25 | KEY `myuid` (`myuid`) 26 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 27 | 28 | DROP TABLE IF EXISTS `letsbbs_topic_follow`; 29 | CREATE TABLE IF NOT EXISTS `letsbbs_topic_follow` ( 30 | `tfid` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 31 | `tid` bigint(20) unsigned NOT NULL DEFAULT '0', 32 | `uid` bigint(20) unsigned NOT NULL DEFAULT '0', 33 | `addtime` int(10) unsigned NOT NULL DEFAULT '0', 34 | PRIMARY KEY (`tfid`), 35 | KEY `uid` (`uid`) 36 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -------------------------------------------------------------------------------- /application/config/constants.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 */ -------------------------------------------------------------------------------- /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/config/hooks.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /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 */ -------------------------------------------------------------------------------- /application/config/profiler.php: -------------------------------------------------------------------------------- 1 | load->model('node_m'); 9 | } 10 | 11 | /** 12 | * 主页 显示节点列表 13 | */ 14 | public function index() 15 | { 16 | $data['nodes']=$this->node_m->get_nodes(); 17 | $this->load->view('admin/node_list', $data); 18 | } 19 | 20 | /** 21 | * 添加节点 22 | */ 23 | public function add() 24 | { 25 | $this->load->helper('form'); 26 | $this->load->library('form_validation'); 27 | 28 | $this->form_validation->set_rules('nname', '节点名称', 'trim|required|is_unique[letsbbs_node.nname]'); 29 | $this->form_validation->set_rules('keywords', '关键词', 'trim'); 30 | $this->form_validation->set_rules('content', '简介', 'trim'); 31 | 32 | if ($this->form_validation->run() == FALSE) 33 | { 34 | //form failed 35 | $data['nodes']=$this->node_m->get_nodes(); 36 | $this->load->view('admin/node_add', $data); 37 | } 38 | else 39 | { 40 | //form success 41 | $data = $this->input->post(); 42 | 43 | $this->node_m->add($data); 44 | redirect('admin/node'); 45 | } 46 | } 47 | 48 | /** 49 | * 修改节点 50 | */ 51 | public function edit($nid) 52 | { 53 | $this->load->helper('form'); 54 | $this->load->library('form_validation'); 55 | 56 | $this->form_validation->set_rules('nname', '节点名称', 'trim|required'); 57 | 58 | if ($this->form_validation->run() == FALSE) 59 | { 60 | //form failed 61 | $data['nodes']=$this->node_m->get_nodes(); 62 | $data['editnode']=$this->node_m->get_node_byid($nid); 63 | $this->load->view('admin/node_edit', $data); 64 | } 65 | else 66 | { 67 | //form success 68 | $data = $this->input->post(); 69 | 70 | $this->node_m->update($nid, $data); 71 | redirect('admin/node'); 72 | } 73 | } 74 | 75 | } 76 | 77 | /* End of file node.php */ 78 | /* Location: ./app/controllers/admin/node.php */ 79 | -------------------------------------------------------------------------------- /application/controllers/admin/settings.php: -------------------------------------------------------------------------------- 1 | load->helper('form'); 9 | $this->load->library('form_validation'); 10 | $this->load->model('site_m'); 11 | } 12 | 13 | public function index() 14 | { 15 | $this->site(); 16 | } 17 | 18 | /** 19 | * 网站基本设置 20 | */ 21 | public function site() 22 | { 23 | $this->form_validation->set_rules('site_name', '网站名', 'trim|required'); 24 | $this->form_validation->set_rules('site_subtitle', '网站副标题', 'trim'); 25 | $this->form_validation->set_rules('site_welcome_msg', '欢迎信息', 'trim'); 26 | $this->form_validation->set_rules('site_keywords', '关键词', 'trim'); 27 | $this->form_validation->set_rules('site_description', '网站描述', 'trim'); 28 | 29 | if ($this->form_validation->run() == FALSE) 30 | { 31 | //form failed 32 | $this->load->view('admin/settings_site'); 33 | } 34 | else 35 | { 36 | //form success 37 | $data = $this->input->post(); 38 | 39 | $this->site_m->update_site($data); 40 | redirect('admin/settings'); 41 | } 42 | } 43 | 44 | /** 45 | * 审核设置 46 | * @return [type] [description] 47 | */ 48 | public function verify() 49 | { 50 | $this->form_validation->set_rules('site_topic_status', '主题审核设置', 'required'); 51 | 52 | if ($this->form_validation->run() == FALSE) 53 | { 54 | //form failed 55 | $this->load->view('admin/settings_verify'); 56 | } 57 | else 58 | { 59 | //form success 60 | $data = $this->input->post(); 61 | 62 | $this->site_m->update_site($data); 63 | redirect('admin/settings/verify'); 64 | } 65 | } 66 | } 67 | 68 | /* End of file settings.php */ 69 | /* Location: ./app/controllers/admin/settings.php */ 70 | -------------------------------------------------------------------------------- /application/controllers/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/controllers/notification.php: -------------------------------------------------------------------------------- 1 | load->model('notification_m'); 9 | $this->load->model('user_m'); 10 | 11 | $this->load->helper('auth'); 12 | is_login_exit(); 13 | } 14 | 15 | /** 16 | * 通知页面 17 | * @param $page 当前页码 18 | */ 19 | public function index($page=1) 20 | { 21 | $where = array('a.tuid' => $this->session->userdata('uid')); 22 | $data=$this->notification_m->get_notifications_recent($where, $page, 15, 'notification', 2); 23 | 24 | $data['site_title'] = '通知中心'; 25 | $this->load->view('notification_list', $data); 26 | 27 | //提醒数量归零 28 | $this->user_m->update($this->session->userdata('uid'), array('notice' => 0)); 29 | $this->session->set_userdata('notification', 0); 30 | } 31 | } 32 | 33 | /* End of file notification.php */ 34 | /* Location: ./application/controllers/notification.php */ -------------------------------------------------------------------------------- /application/controllers/update.php: -------------------------------------------------------------------------------- 1 | 12 | 16 | '; 17 | exit($string); 18 | } 19 | } 20 | 21 | public function index() 22 | { 23 | $this->load->view('install/update'); 24 | } 25 | 26 | /** 27 | * 更新数据表 28 | */ 29 | private function _updateTables() 30 | { 31 | $sql = file_get_contents(FCPATH.'application/cache/install/update.sql'); 32 | //$sql = str_replace('prefix_', $dbprefix, $sql); 33 | if (!@mysqli_connect($this->db->hostname, $this->db->username, $this->db->password, $this->db->database)->multi_query($sql)) { 34 | $string=' 35 | 36 | 40 | '; 41 | exit($string); 42 | } 43 | } 44 | 45 | public function process() 46 | { 47 | $this->_updateTables(); 48 | 49 | sleep(2); 50 | //写禁止再次更新的文件 51 | file_put_contents(FCPATH.'application/views/install/update.lock', time()); 52 | 53 | $string=' 54 | 55 | 59 | '; 60 | exit($string); 61 | } 62 | } 63 | 64 | /* End of file update.php */ 65 | /* Location: ./application/controllers/update.php */ -------------------------------------------------------------------------------- /application/controllers/welcome.php: -------------------------------------------------------------------------------- 1 | load->model('topic_m'); 9 | } 10 | 11 | public function index() 12 | { 13 | $this->load->view('welcome_message'); 14 | } 15 | } 16 | 17 | /* End of file welcome.php */ 18 | /* Location: ./application/controllers/welcome.php */ -------------------------------------------------------------------------------- /application/core/MY_Controller.php: -------------------------------------------------------------------------------- 1 | load->database(); 9 | //$this->output->enable_profiler(TRUE); 10 | 11 | //全局传递网站设置数据 12 | $this->load->model('site_m'); 13 | $site_settings = $this->site_m->get_site_settings(); 14 | $this->load->vars($site_settings); 15 | } 16 | } 17 | // END Base_Controller class 18 | 19 | class Front_Controller extends Base_Controller { 20 | 21 | public function __construct() 22 | { 23 | parent::__construct(); 24 | 25 | //更新用户组、提醒数量、禁言 26 | if ($this->session->userdata('uid')) { 27 | $this->db->where('uid', $this->session->userdata('uid')); 28 | $query = $this->db->get('letsbbs_user'); 29 | $user_info = $query->row_array(); 30 | $this->session->set_userdata('notification', $user_info['notice']); 31 | $this->session->set_userdata('group_id', $user_info['group_id']); 32 | $this->session->set_userdata('is_active', $user_info['is_active']); 33 | } 34 | } 35 | } 36 | // END Front_Controller class 37 | 38 | class Admin_Controller extends Base_Controller { 39 | 40 | public function __construct() 41 | { 42 | parent::__construct(); 43 | 44 | //admin访问控制 45 | $this->load->helper('auth'); 46 | is_admin_exit(); 47 | } 48 | } 49 | // END Admin_Controller class 50 | 51 | /* End of file MY_Controller.php */ 52 | /* Location: ./application/core/MY_Controller.php */ 53 | -------------------------------------------------------------------------------- /application/core/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/errors/error_404.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 404 Page Not Found 5 | 55 | 56 | 57 |
58 |

59 | 60 |
61 | 62 | -------------------------------------------------------------------------------- /application/errors/error_db.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 | -------------------------------------------------------------------------------- /application/errors/error_php.php: -------------------------------------------------------------------------------- 1 |
2 | 3 |

A PHP Error was encountered

4 | 5 |

Severity:

6 |

Message:

7 |

Filename:

8 |

Line Number:

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

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/helpers/auth_helper.php: -------------------------------------------------------------------------------- 1 | session->userdata('group_id')!=1) { 12 | $string=' 13 | 14 | 18 | '; 19 | exit($string); 20 | } 21 | } 22 | } 23 | 24 | /** 25 | * 用于检查用户是否登录 26 | */ 27 | if ( ! function_exists('is_login_exit')) 28 | { 29 | function is_login_exit($alert="游客不能发表主题,注册用户请先登录。", $go="login") 30 | { 31 | $CI =& get_instance(); 32 | if (!$CI->session->userdata('username')) { 33 | $string=' 34 | 35 | 39 | '; 40 | exit($string); 41 | } 42 | } 43 | } 44 | 45 | /** 46 | * 用于检查用户是否被禁言 47 | */ 48 | if ( ! function_exists('is_user_active_exit')) 49 | { 50 | function is_user_active_exit() 51 | { 52 | $CI =& get_instance(); 53 | if ($CI->session->userdata('is_active') != '1') { 54 | $string=' 55 | 56 | 60 | '; 61 | exit($string); 62 | } 63 | } 64 | } 65 | 66 | /* End of file auth_helper.php */ 67 | /* Location: ./app/helpers/auth_helper.php */ -------------------------------------------------------------------------------- /application/helpers/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/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/language/chinese/calendar_lang.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/language/chinese/migration_lang.php: -------------------------------------------------------------------------------- 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/AvatarResize.php: -------------------------------------------------------------------------------- 1 | CI =& get_instance(); 12 | $this->CI->load->library('image_lib'); 13 | $this->uid = $this->CI->session->userdata('uid'); 14 | $this->avatar_dir = $this->set_dir(); 15 | } 16 | 17 | /** 18 | * 设置目录 19 | */ 20 | function set_dir() { 21 | $uid = md5($this->uid); 22 | $dir1 = substr ( $uid, 0, 4 ); 23 | $dir2 = substr ( $uid, 3, 4 ); 24 | $path = FCPATH.'uploads/avatar/'. $dir1 . '/' . $dir2. '/'; 25 | if(!file_exists($path)){ 26 | mkdir($path,0777,true); 27 | } 28 | return $path; 29 | } 30 | 31 | /** 32 | * 获得目录 33 | */ 34 | function get_dir() { 35 | $uid = md5($this->uid); 36 | $dir1 = substr ( $uid, 0, 4 ); 37 | $dir2 = substr ( $uid, 3, 4 ); 38 | $path = 'uploads/avatar/'. $dir1 . '/' . $dir2. '/'. $this->uid . '_'; 39 | return $path; 40 | } 41 | 42 | /** 43 | * resize用户头像 44 | * @param $source 源文件路径 45 | * @param $width 宽度 46 | * @param $height 高度 47 | * @param $size size名称 48 | */ 49 | public function resize($source, $width, $height, $size) 50 | { 51 | $config['image_library'] = 'gd2'; 52 | $config['source_image'] = $source; 53 | $config['maintain_ratio'] = TRUE; 54 | $config['width'] = $width; 55 | $config['height'] = $height; 56 | $config['new_image'] = $this->avatar_dir . $this->uid . '_' . $size .'.png'; 57 | 58 | $this->CI->image_lib->initialize($config); 59 | return $this->CI->image_lib->resize(); 60 | $this->CI->image_lib->clear(); 61 | } 62 | } 63 | 64 | /* End of file AvatarResize.php */ 65 | /* Location: ./application/libraries/AvatarResize.php */ 66 | -------------------------------------------------------------------------------- /application/libraries/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/models/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/models/site_m.php: -------------------------------------------------------------------------------- 1 | db->get('letsbbs_option'); 17 | $settings = $query->result_array(); 18 | foreach ($settings as $setting) { 19 | $data[$setting['oname']]=$setting['ovalue']; 20 | } 21 | return $data; 22 | } 23 | 24 | /** 25 | * 更新网站设置 26 | * @param $data 关联数组 27 | * @return 操作结果 28 | */ 29 | public function update_site($data) 30 | { 31 | foreach ($data as $key => $value) { 32 | $updatedata[]=array( 33 | 'oname' => $key, 34 | 'ovalue' => $value 35 | ); 36 | } 37 | return $this->db->update_batch('letsbbs_option', $updatedata, 'oname'); 38 | } 39 | 40 | } 41 | 42 | /* End of file site_m.php */ 43 | /* Location: ./application/models/site_m.php */ -------------------------------------------------------------------------------- /application/models/welcome_m.php: -------------------------------------------------------------------------------- 1 | db->insert('letsbbs_topic', $data); 18 | return $this->db->insert_id(); 19 | } 20 | 21 | } 22 | 23 | /* End of file welcome_m.php */ 24 | /* Location: ./application/models/welcome_m.php */ -------------------------------------------------------------------------------- /application/third_party/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/views/admin/common/footer_common.php: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /application/views/admin/common/footer_editor.php: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /application/views/admin/common/sidebar.php: -------------------------------------------------------------------------------- 1 |
2 |
3 | 主题 4 | 所有主题 5 | 待审主题 6 |
7 |
8 | 用户 9 | 所有用户 10 | 禁言用户 11 |
12 |
13 | 节点 14 | 节点列表 15 | 添加节点 16 |
17 |
18 | 网站 19 | 基本设置 20 | 审核设置 21 |
22 |
23 | -------------------------------------------------------------------------------- /application/views/admin/node_list.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
5 |
6 |
7 |
8 |

节点管理

9 |
10 |
11 |
    12 | '.$node['nname'].'编辑'; 17 | foreach ($nodes[$node['nid']] as $childnode) { 18 | echo '
  •     |---- '.$childnode['nname'].'编辑
  • '; 19 | } 20 | }else{ 21 | $nochildnodes[]=$node; 22 | } 23 | } 24 | //单独输出无子类无父类的节点 25 | foreach ($nochildnodes as $node) { 26 | echo '
  • '.$node['nname'].'编辑
  • '; 27 | } ?> 28 |
29 |
30 |
31 |
32 | 33 | 34 | 35 |
36 |
37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /application/views/admin/settings_verify.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
5 |
6 |
7 |
8 |

审核设置

9 |
10 |
11 | ', '
'); ?> 12 | 'form-horizontal', 'role' => 'form'));?> 13 |
14 | 15 |
16 | 20 | 21 |
22 |
23 |
24 |
25 | 26 |
27 |
28 | 29 |
30 |
31 |
32 | 33 | 34 | 35 |
36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /application/views/admin/topic_verify_list.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 | 31 | 32 |
#标题作者发布时间操作
编辑 通过 删除
33 |
34 |
35 |
36 |
37 | 38 | 39 | 40 |
41 |
42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /application/views/common/footer_common.php: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /application/views/common/footer_editor.php: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /application/views/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/views/install/install.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/application/views/install/install.lock -------------------------------------------------------------------------------- /application/views/install/install_done.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 17 | 18 | 安装向导 | Powered By Let'sBBS 19 | 20 | 21 |
22 |
23 |
24 |
25 |
安装向导 >> 安装完成
26 |
27 |
28 |

29 |

安装完成!

30 |

31 |
32 |
33 | 点击访问前台 34 |
35 |
36 | 点击进入后台 37 |
38 |
39 |
40 |
41 |
42 | 45 |
46 |
47 |
48 |
49 | 50 | -------------------------------------------------------------------------------- /application/views/install/update.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/application/views/install/update.lock -------------------------------------------------------------------------------- /application/views/install/update.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 17 | 18 | 升级向导 | Powered By Let'sBBS 19 | 20 | 21 |
22 |
23 |
24 |
25 |
升级向导
26 |
27 |

Let'sBBS软件升级说明

28 | 29 |
30 |

本升级包仅支持Let'sBBS版本 v0.1.2 build-141205 到 v0.2.0 build-150408 的升级。

31 | 32 |
33 |

升级说明

34 |

1. 请务必仔细阅读官网的升级提示和说明。

35 |

2. 请务必在升级前备份数据库和网站相关文件数据,以免造成损失。

36 |

3. 您在自行操作升级的过程中造成的任何后果由您自行承担,与Let'sBBS无关。

37 |

4. 点击“同意并马上升级”表示您已完全知悉并同意此升级说明,网站将立即开始升级。

38 | 39 |
40 |

Let'sBBS 2015.04.08

41 |
42 |
43 |
44 | 同意并马上升级 45 |
46 |
47 | 50 |
51 |
52 |
53 |
54 | 55 | -------------------------------------------------------------------------------- /application/views/member_comment_list.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 | 31 | 32 |
33 |
34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /application/views/node_list.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
5 |
6 |
7 |
8 |

首页 / 所有节点

9 |
10 |
11 |
'.$node['nname'].'

'; 15 | foreach ($nodes[$node['nid']] as $childnode) { 16 | echo ''.$childnode['nname'].''; 17 | } 18 | echo '

'; 19 | }else{ 20 | $singlenode[] = $node; 21 | } 22 | } 23 | echo '

'; 24 | foreach ($singlenode as $node) { 25 | echo ''.$node['nname'].''; 26 | } 27 | echo '

';?> 28 |
29 |
30 |
31 | 32 | 33 | 34 |
35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /application/views/notification_list.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 | 31 | 32 |
33 |
34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /captcha/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/captcha/.gitkeep -------------------------------------------------------------------------------- /demo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/demo1.png -------------------------------------------------------------------------------- /demo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/demo2.png -------------------------------------------------------------------------------- /demo3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/demo3.png -------------------------------------------------------------------------------- /static/css/custom.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: url(../img/grid.png); 3 | } 4 | 5 | @media (min-width: 992px) { 6 | .container { 7 | max-width: 970px; 8 | } 9 | } 10 | 11 | .footer{ 12 | padding: 15px 0; 13 | background-color: #f8f8f8; 14 | border-top: 1px solid #e7e7e7; 15 | } 16 | 17 | .alert-avatar{ 18 | margin-top: 20px; 19 | } 20 | 21 | .topic-list-heading { 22 | margin: 0 0 10px; 23 | } 24 | 25 | .topic-list-heading a{ 26 | font-size: 16px; 27 | color: #444; 28 | } 29 | 30 | .hot-topic a{ 31 | color: #444; 32 | } 33 | 34 | .hot-topic-title{ 35 | background: #f5f5f5; 36 | } 37 | 38 | .smallhr{ 39 | margin: 5px 0; 40 | } 41 | 42 | .topic-comment a{ 43 | color: #fff; 44 | } 45 | 46 | .panel-default .topic-detail-heading{ 47 | background-color: #fff; 48 | } 49 | 50 | .topic-detail-heading h1{ 51 | font-size: 24px; 52 | margin: 15px 0; 53 | } 54 | 55 | .topic-detail-heading img{ 56 | width: 64px; 57 | } 58 | 59 | .panel-body p{ 60 | word-break: break-all; 61 | word-wrap: break-word; 62 | } 63 | 64 | .panel-body p img{ 65 | max-width: 100%; 66 | height: auto; 67 | } 68 | 69 | .nodes{ 70 | margin: 3px; 71 | } 72 | 73 | .list-tnode{ 74 | padding: 3px 8px; 75 | } 76 | 77 | .list-tnode .btn-default{ 78 | border-color: #fff; 79 | } 80 | 81 | .topshow{ 82 | background-color: #e6e6e6; 83 | } 84 | 85 | blockquote p { 86 | font-size: 14px; 87 | font-weight: normal; 88 | } 89 | 90 | .username{ 91 | margin-left: 65px; 92 | margin-bottom: 25px; 93 | height: 48px; 94 | line-height: 48px; 95 | font-size: 20px; 96 | } 97 | 98 | .username a, .user-panel a{ 99 | color: #444; 100 | } 101 | 102 | .user-panel a:hover{ 103 | text-decoration: none; 104 | } 105 | 106 | .big-font{ 107 | font-size: 16px; 108 | font-weight: bold; 109 | margin-bottom: 5px; 110 | } 111 | 112 | .side-border{ 113 | border-right:1px solid #ddd; 114 | border-left:1px solid #ddd; 115 | } -------------------------------------------------------------------------------- /static/editor/kindeditor-config.js: -------------------------------------------------------------------------------- 1 | KindEditor.ready(function(K) { 2 | var options = { 3 | autoHeightMode : true, 4 | afterCreate : function() { 5 | if (this.isEmpty()) { 6 | this.html('


'); 7 | }; 8 | this.focus(); 9 | this.loadPlugin('autoheight'); 10 | }, 11 | resizeType: 1, 12 | items : [ 13 | 'source', 'preview', '|', 'formatblock', 'fontsize', 'bold', 'italic', 'underline', 14 | 'strikethrough', 'hr', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist', 15 | 'insertunorderedlist', '|', 'emoticons', 'image', 'link', 'unlink', '|', 'fullscreen'] 16 | }; 17 | window.editor = K.create('#content', options); 18 | }); -------------------------------------------------------------------------------- /static/editor/plugins/anchor/anchor.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('anchor', function(K) { 11 | var self = this, name = 'anchor', lang = self.lang(name + '.'); 12 | self.plugin.anchor = { 13 | edit : function() { 14 | var html = ['
', 15 | '
', 16 | '', 17 | '', 18 | '
', 19 | '
'].join(''); 20 | var dialog = self.createDialog({ 21 | name : name, 22 | width : 300, 23 | title : self.lang(name), 24 | body : html, 25 | yesBtn : { 26 | name : self.lang('yes'), 27 | click : function(e) { 28 | self.insertHtml('').hideDialog().focus(); 29 | } 30 | } 31 | }); 32 | var div = dialog.div, 33 | nameBox = K('input[name="name"]', div); 34 | var img = self.plugin.getSelectedAnchor(); 35 | if (img) { 36 | nameBox.val(unescape(img.attr('data-ke-name'))); 37 | } 38 | nameBox[0].focus(); 39 | nameBox[0].select(); 40 | }, 41 | 'delete' : function() { 42 | self.plugin.getSelectedAnchor().remove(); 43 | } 44 | }; 45 | self.clickToolbar(name, self.plugin.anchor.edit); 46 | }); 47 | -------------------------------------------------------------------------------- /static/editor/plugins/autoheight/autoheight.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('autoheight', function(K) { 11 | var self = this; 12 | 13 | if (!self.autoHeightMode) { 14 | return; 15 | } 16 | 17 | var minHeight; 18 | 19 | function hideScroll() { 20 | var edit = self.edit; 21 | var body = edit.doc.body; 22 | edit.iframe[0].scroll = 'no'; 23 | body.style.overflowY = 'hidden'; 24 | } 25 | 26 | function resetHeight() { 27 | var edit = self.edit; 28 | var body = edit.doc.body; 29 | edit.iframe.height(minHeight); 30 | self.resize(null, Math.max((K.IE ? body.scrollHeight : body.offsetHeight) + 76, minHeight)); 31 | } 32 | 33 | function init() { 34 | minHeight = K.removeUnit(self.height); 35 | 36 | self.edit.afterChange(resetHeight); 37 | hideScroll(); 38 | resetHeight(); 39 | } 40 | 41 | if (self.isCreated) { 42 | init(); 43 | } else { 44 | self.afterCreate(init); 45 | } 46 | }); 47 | 48 | /* 49 | * 如何实现真正的自动高度? 50 | * 修改编辑器高度之后,再次获取body内容高度时,最小值只会是当前iframe的设置高度,这样就导致高度只增不减。 51 | * 所以每次获取body内容高度之前,先将iframe的高度重置为最小高度,这样就能获取body的实际高度。 52 | * 由此就实现了真正的自动高度 53 | * 测试:chrome、firefox、IE9、IE8 54 | * */ 55 | -------------------------------------------------------------------------------- /static/editor/plugins/baidumap/map.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Baidu Maps 6 | 10 | 11 | 39 | 40 | 41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /static/editor/plugins/clearhtml/clearhtml.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('clearhtml', function(K) { 11 | var self = this, name = 'clearhtml'; 12 | self.clickToolbar(name, function() { 13 | self.focus(); 14 | var html = self.html(); 15 | html = html.replace(/(]*>)([\s\S]*?)(<\/script>)/ig, ''); 16 | html = html.replace(/(]*>)([\s\S]*?)(<\/style>)/ig, ''); 17 | html = K.formatHtml(html, { 18 | a : ['href', 'target'], 19 | embed : ['src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess'], 20 | img : ['src', 'width', 'height', 'border', 'alt', 'title', '.width', '.height'], 21 | table : ['border'], 22 | 'td,th' : ['rowspan', 'colspan'], 23 | 'div,hr,br,tbody,tr,p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : [] 24 | }); 25 | self.html(html); 26 | self.cmd.selection(true); 27 | self.addBookmark(); 28 | }); 29 | }); 30 | -------------------------------------------------------------------------------- /static/editor/plugins/code/code.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | // google code prettify: http://google-code-prettify.googlecode.com/ 11 | // http://google-code-prettify.googlecode.com/ 12 | 13 | KindEditor.plugin('code', function(K) { 14 | var self = this, name = 'code'; 15 | self.clickToolbar(name, function() { 16 | var lang = self.lang(name + '.'), 17 | html = ['
', 18 | '
', 19 | '', 35 | '
', 36 | '', 37 | '
'].join(''), 38 | dialog = self.createDialog({ 39 | name : name, 40 | width : 450, 41 | title : self.lang(name), 42 | body : html, 43 | yesBtn : { 44 | name : self.lang('yes'), 45 | click : function(e) { 46 | var type = K('.ke-code-type', dialog.div).val(), 47 | code = textarea.val(), 48 | cls = type === '' ? '' : ' lang-' + type, 49 | html = '
\n' + K.escape(code) + '
'; 50 | if (K.trim(code) === '') { 51 | alert(lang.pleaseInput); 52 | textarea[0].focus(); 53 | return; 54 | } 55 | self.insertHtml(html).hideDialog().focus(); 56 | } 57 | } 58 | }), 59 | textarea = K('textarea', dialog.div); 60 | textarea[0].focus(); 61 | }); 62 | }); 63 | -------------------------------------------------------------------------------- /static/editor/plugins/code/prettify.css: -------------------------------------------------------------------------------- 1 | .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} 2 | 3 | pre.prettyprint { 4 | border: 0; 5 | border-left: 3px solid rgb(204, 204, 204); 6 | margin-left: 2em; 7 | padding: 0.5em; 8 | font-size: 110%; 9 | display: block; 10 | font-family: "Consolas", "Monaco", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; 11 | margin: 1em 0px; 12 | white-space: pre; 13 | } 14 | -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/0.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/1.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/10.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/100.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/100.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/101.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/101.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/102.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/102.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/103.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/103.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/104.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/104.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/105.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/105.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/106.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/106.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/107.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/107.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/108.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/108.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/109.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/109.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/11.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/110.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/110.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/111.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/111.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/112.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/112.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/113.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/113.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/114.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/114.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/115.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/115.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/116.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/116.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/117.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/117.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/118.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/118.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/119.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/119.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/12.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/120.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/120.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/121.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/121.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/122.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/122.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/123.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/123.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/124.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/124.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/125.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/125.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/126.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/126.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/127.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/127.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/128.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/128.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/129.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/129.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/13.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/130.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/130.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/131.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/131.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/132.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/132.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/133.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/133.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/134.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/134.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/14.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/15.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/16.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/17.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/18.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/19.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/2.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/20.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/21.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/22.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/23.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/24.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/25.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/26.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/27.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/28.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/29.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/3.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/30.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/31.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/32.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/33.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/34.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/35.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/36.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/37.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/38.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/39.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/4.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/40.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/41.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/42.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/43.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/44.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/45.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/46.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/47.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/48.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/49.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/5.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/50.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/51.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/52.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/53.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/54.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/55.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/56.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/57.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/58.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/59.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/6.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/60.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/61.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/62.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/63.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/64.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/65.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/66.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/67.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/68.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/69.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/7.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/70.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/71.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/72.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/72.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/73.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/73.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/74.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/74.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/75.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/75.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/76.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/76.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/77.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/77.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/78.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/78.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/79.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/79.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/8.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/80.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/80.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/81.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/81.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/82.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/82.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/83.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/83.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/84.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/84.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/85.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/85.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/86.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/86.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/87.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/87.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/88.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/88.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/89.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/89.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/9.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/90.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/90.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/91.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/91.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/92.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/92.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/93.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/93.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/94.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/94.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/95.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/95.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/96.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/96.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/97.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/97.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/98.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/98.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/99.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/99.gif -------------------------------------------------------------------------------- /static/editor/plugins/emoticons/images/static.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/emoticons/images/static.gif -------------------------------------------------------------------------------- /static/editor/plugins/filemanager/images/file-16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/filemanager/images/file-16.gif -------------------------------------------------------------------------------- /static/editor/plugins/filemanager/images/file-64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/filemanager/images/file-64.gif -------------------------------------------------------------------------------- /static/editor/plugins/filemanager/images/folder-16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/filemanager/images/folder-16.gif -------------------------------------------------------------------------------- /static/editor/plugins/filemanager/images/folder-64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/filemanager/images/folder-64.gif -------------------------------------------------------------------------------- /static/editor/plugins/filemanager/images/go-up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/filemanager/images/go-up.gif -------------------------------------------------------------------------------- /static/editor/plugins/image/images/align_left.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/image/images/align_left.gif -------------------------------------------------------------------------------- /static/editor/plugins/image/images/align_right.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/image/images/align_right.gif -------------------------------------------------------------------------------- /static/editor/plugins/image/images/align_top.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/image/images/align_top.gif -------------------------------------------------------------------------------- /static/editor/plugins/image/images/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/image/images/refresh.png -------------------------------------------------------------------------------- /static/editor/plugins/lineheight/lineheight.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('lineheight', function(K) { 11 | var self = this, name = 'lineheight', lang = self.lang(name + '.'); 12 | self.clickToolbar(name, function() { 13 | var curVal = '', commonNode = self.cmd.commonNode({'*' : '.line-height'}); 14 | if (commonNode) { 15 | curVal = commonNode.css('line-height'); 16 | } 17 | var menu = self.createMenu({ 18 | name : name, 19 | width : 150 20 | }); 21 | K.each(lang.lineHeight, function(i, row) { 22 | K.each(row, function(key, val) { 23 | menu.addItem({ 24 | title : val, 25 | checked : curVal === key, 26 | click : function() { 27 | self.cmd.toggle('', { 28 | span : '.line-height=' + key 29 | }); 30 | self.updateState(); 31 | self.addBookmark(); 32 | self.hideMenu(); 33 | } 34 | }); 35 | }); 36 | }); 37 | }); 38 | }); 39 | -------------------------------------------------------------------------------- /static/editor/plugins/link/link.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('link', function(K) { 11 | var self = this, name = 'link'; 12 | self.plugin.link = { 13 | edit : function() { 14 | var lang = self.lang(name + '.'), 15 | html = '
' + 16 | //url 17 | '
' + 18 | '' + 19 | '
' + 20 | //type 21 | '
' + 22 | '' + 23 | '' + 24 | '
' + 25 | '
', 26 | dialog = self.createDialog({ 27 | name : name, 28 | width : 450, 29 | title : self.lang(name), 30 | body : html, 31 | yesBtn : { 32 | name : self.lang('yes'), 33 | click : function(e) { 34 | var url = K.trim(urlBox.val()); 35 | if (url == 'http://' || K.invalidUrl(url)) { 36 | alert(self.lang('invalidUrl')); 37 | urlBox[0].focus(); 38 | return; 39 | } 40 | self.exec('createlink', url, typeBox.val()).hideDialog().focus(); 41 | } 42 | } 43 | }), 44 | div = dialog.div, 45 | urlBox = K('input[name="url"]', div), 46 | typeBox = K('select[name="type"]', div); 47 | urlBox.val('http://'); 48 | typeBox[0].options[0] = new Option(lang.newWindow, '_blank'); 49 | typeBox[0].options[1] = new Option(lang.selfWindow, ''); 50 | self.cmd.selection(); 51 | var a = self.plugin.getSelectedLink(); 52 | if (a) { 53 | self.cmd.range.selectNode(a[0]); 54 | self.cmd.select(); 55 | urlBox.val(a.attr('data-ke-src')); 56 | typeBox.val(a.attr('target')); 57 | } 58 | urlBox[0].focus(); 59 | urlBox[0].select(); 60 | }, 61 | 'delete' : function() { 62 | self.exec('unlink', null); 63 | } 64 | }; 65 | self.clickToolbar(name, self.plugin.link.edit); 66 | }); 67 | -------------------------------------------------------------------------------- /static/editor/plugins/map/map.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 10 | 11 | 53 | 54 | 55 |
56 | 57 | -------------------------------------------------------------------------------- /static/editor/plugins/multiimage/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/multiimage/images/image.png -------------------------------------------------------------------------------- /static/editor/plugins/multiimage/images/select-files-en.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/multiimage/images/select-files-en.png -------------------------------------------------------------------------------- /static/editor/plugins/multiimage/images/select-files-zh_CN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/multiimage/images/select-files-zh_CN.png -------------------------------------------------------------------------------- /static/editor/plugins/multiimage/images/swfupload.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/plugins/multiimage/images/swfupload.swf -------------------------------------------------------------------------------- /static/editor/plugins/pagebreak/pagebreak.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('pagebreak', function(K) { 11 | var self = this; 12 | var name = 'pagebreak'; 13 | var pagebreakHtml = K.undef(self.pagebreakHtml, '
'); 14 | 15 | self.clickToolbar(name, function() { 16 | var cmd = self.cmd, range = cmd.range; 17 | self.focus(); 18 | var tail = self.newlineTag == 'br' || K.WEBKIT ? '' : ''; 19 | self.insertHtml(pagebreakHtml + tail); 20 | if (tail !== '') { 21 | var p = K('#__kindeditor_tail_tag__', self.edit.doc); 22 | range.selectNodeContents(p[0]); 23 | p.removeAttr('id'); 24 | cmd.select(); 25 | } 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /static/editor/plugins/plainpaste/plainpaste.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('plainpaste', function(K) { 11 | var self = this, name = 'plainpaste'; 12 | self.clickToolbar(name, function() { 13 | var lang = self.lang(name + '.'), 14 | html = '
' + 15 | '
' + lang.comment + '
' + 16 | '' + 17 | '
', 18 | dialog = self.createDialog({ 19 | name : name, 20 | width : 450, 21 | title : self.lang(name), 22 | body : html, 23 | yesBtn : { 24 | name : self.lang('yes'), 25 | click : function(e) { 26 | var html = textarea.val(); 27 | html = K.escape(html); 28 | html = html.replace(/ {2}/g, '  '); 29 | if (self.newlineTag == 'p') { 30 | html = html.replace(/^/, '

').replace(/$/, '

').replace(/\n/g, '

'); 31 | } else { 32 | html = html.replace(/\n/g, '
$&'); 33 | } 34 | self.insertHtml(html).hideDialog().focus(); 35 | } 36 | } 37 | }), 38 | textarea = K('textarea', dialog.div); 39 | textarea[0].focus(); 40 | }); 41 | }); 42 | -------------------------------------------------------------------------------- /static/editor/plugins/preview/preview.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('preview', function(K) { 11 | var self = this, name = 'preview', undefined; 12 | self.clickToolbar(name, function() { 13 | var lang = self.lang(name + '.'), 14 | html = '

' + 15 | '' + 16 | '
', 17 | dialog = self.createDialog({ 18 | name : name, 19 | width : 750, 20 | title : self.lang(name), 21 | body : html 22 | }), 23 | iframe = K('iframe', dialog.div), 24 | doc = K.iframeDoc(iframe); 25 | doc.open(); 26 | doc.write(self.fullHtml()); 27 | doc.close(); 28 | K(doc.body).css('background-color', '#FFF'); 29 | iframe[0].contentWindow.focus(); 30 | }); 31 | }); 32 | -------------------------------------------------------------------------------- /static/editor/plugins/quickformat/quickformat.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('quickformat', function(K) { 11 | var self = this, name = 'quickformat', 12 | blockMap = K.toMap('blockquote,center,div,h1,h2,h3,h4,h5,h6,p'); 13 | function getFirstChild(knode) { 14 | var child = knode.first(); 15 | while (child && child.first()) { 16 | child = child.first(); 17 | } 18 | return child; 19 | } 20 | self.clickToolbar(name, function() { 21 | self.focus(); 22 | var doc = self.edit.doc, 23 | range = self.cmd.range, 24 | child = K(doc.body).first(), next, 25 | nodeList = [], subList = [], 26 | bookmark = range.createBookmark(true); 27 | while(child) { 28 | next = child.next(); 29 | var firstChild = getFirstChild(child); 30 | if (!firstChild || firstChild.name != 'img') { 31 | if (blockMap[child.name]) { 32 | child.html(child.html().replace(/^(\s| | )+/ig, '')); 33 | child.css('text-indent', '2em'); 34 | } else { 35 | subList.push(child); 36 | } 37 | if (!next || (blockMap[next.name] || blockMap[child.name] && !blockMap[next.name])) { 38 | if (subList.length > 0) { 39 | nodeList.push(subList); 40 | } 41 | subList = []; 42 | } 43 | } 44 | child = next; 45 | } 46 | K.each(nodeList, function(i, subList) { 47 | var wrapper = K('

', doc); 48 | subList[0].before(wrapper); 49 | K.each(subList, function(i, knode) { 50 | wrapper.append(knode); 51 | }); 52 | }); 53 | range.moveToBookmark(bookmark); 54 | self.addBookmark(); 55 | }); 56 | }); 57 | 58 | /** 59 | -------------------------- 60 | abcd
61 | 1234
62 | 63 | to 64 | 65 |

66 | abcd
67 | 1234
68 |

69 | 70 | -------------------------- 71 | 72 |   abcd1233 73 |

1234

74 | 75 | to 76 | 77 |

abcd1233

78 |

1234

79 | 80 | -------------------------- 81 | */ -------------------------------------------------------------------------------- /static/editor/plugins/template/html/1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

8 | 在此处输入标题 9 |

10 |

11 | 在此处输入内容 12 |

13 | 14 | -------------------------------------------------------------------------------- /static/editor/plugins/template/html/2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

8 | 标题 9 |

10 | 11 | 12 | 13 | 16 | 19 | 20 | 21 | 24 | 27 | 28 | 29 | 32 | 35 | 36 | 37 |
14 |

标题1

15 |
17 |

标题1

18 |
22 | 内容1 23 | 25 | 内容2 26 |
30 | 内容3 31 | 33 | 内容4 34 |
38 |

39 | 表格说明 40 |

41 | 42 | -------------------------------------------------------------------------------- /static/editor/plugins/template/html/3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |

8 | 在此处输入内容 9 |

10 |
    11 |
  1. 12 | 描述1 13 |
  2. 14 |
  3. 15 | 描述2 16 |
  4. 17 |
  5. 18 | 描述3 19 |
  6. 20 |
21 |

22 | 在此处输入内容 23 |

24 |
    25 |
  • 26 | 描述1 27 |
  • 28 |
  • 29 | 描述2 30 |
  • 31 |
  • 32 | 描述3 33 |
  • 34 |
35 | 36 | -------------------------------------------------------------------------------- /static/editor/plugins/template/template.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('template', function(K) { 11 | var self = this, name = 'template', lang = self.lang(name + '.'), 12 | htmlPath = self.pluginsPath + name + '/html/'; 13 | function getFilePath(fileName) { 14 | return htmlPath + fileName + '?ver=' + encodeURIComponent(K.DEBUG ? K.TIME : K.VERSION); 15 | } 16 | self.clickToolbar(name, function() { 17 | var lang = self.lang(name + '.'), 18 | arr = ['
', 19 | '
', 20 | // left start 21 | '
', 22 | lang. selectTemplate + '
', 28 | // right start 29 | '
', 30 | ' ', 31 | '
', 32 | '
', 33 | '
', 34 | '', 35 | '
'].join(''); 36 | var dialog = self.createDialog({ 37 | name : name, 38 | width : 500, 39 | title : self.lang(name), 40 | body : html, 41 | yesBtn : { 42 | name : self.lang('yes'), 43 | click : function(e) { 44 | var doc = K.iframeDoc(iframe); 45 | self[checkbox[0].checked ? 'html' : 'insertHtml'](doc.body.innerHTML).hideDialog().focus(); 46 | } 47 | } 48 | }); 49 | var selectBox = K('select', dialog.div), 50 | checkbox = K('[name="replaceFlag"]', dialog.div), 51 | iframe = K('iframe', dialog.div); 52 | checkbox[0].checked = true; 53 | iframe.attr('src', getFilePath(selectBox.val())); 54 | selectBox.change(function() { 55 | iframe.attr('src', getFilePath(this.value)); 56 | }); 57 | }); 58 | }); 59 | -------------------------------------------------------------------------------- /static/editor/plugins/wordpaste/wordpaste.js: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * KindEditor - WYSIWYG HTML Editor for Internet 3 | * Copyright (C) 2006-2011 kindsoft.net 4 | * 5 | * @author Roddy 6 | * @site http://www.kindsoft.net/ 7 | * @licence http://www.kindsoft.net/license.php 8 | *******************************************************************************/ 9 | 10 | KindEditor.plugin('wordpaste', function(K) { 11 | var self = this, name = 'wordpaste'; 12 | self.clickToolbar(name, function() { 13 | var lang = self.lang(name + '.'), 14 | html = '
' + 15 | '
' + lang.comment + '
' + 16 | '' + 17 | '
', 18 | dialog = self.createDialog({ 19 | name : name, 20 | width : 450, 21 | title : self.lang(name), 22 | body : html, 23 | yesBtn : { 24 | name : self.lang('yes'), 25 | click : function(e) { 26 | var str = doc.body.innerHTML; 27 | str = K.clearMsWord(str, self.filterMode ? self.htmlTags : K.options.htmlTags); 28 | self.insertHtml(str).hideDialog().focus(); 29 | } 30 | } 31 | }), 32 | div = dialog.div, 33 | iframe = K('iframe', div), 34 | doc = K.iframeDoc(iframe); 35 | if (!K.IE) { 36 | doc.designMode = 'on'; 37 | } 38 | doc.open(); 39 | doc.write('WordPaste'); 40 | doc.write(''); 41 | if (!K.IE) { 42 | doc.write('
'); 43 | } 44 | doc.write(''); 45 | doc.close(); 46 | if (K.IE) { 47 | doc.body.contentEditable = 'true'; 48 | } 49 | iframe[0].contentWindow.focus(); 50 | }); 51 | }); 52 | -------------------------------------------------------------------------------- /static/editor/themes/common/anchor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/themes/common/anchor.gif -------------------------------------------------------------------------------- /static/editor/themes/common/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/themes/common/blank.gif -------------------------------------------------------------------------------- /static/editor/themes/common/flash.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/themes/common/flash.gif -------------------------------------------------------------------------------- /static/editor/themes/common/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/themes/common/loading.gif -------------------------------------------------------------------------------- /static/editor/themes/common/media.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/themes/common/media.gif -------------------------------------------------------------------------------- /static/editor/themes/common/rm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/themes/common/rm.gif -------------------------------------------------------------------------------- /static/editor/themes/default/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/themes/default/background.png -------------------------------------------------------------------------------- /static/editor/themes/default/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/themes/default/default.png -------------------------------------------------------------------------------- /static/editor/themes/qq/editor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/editor/themes/qq/editor.gif -------------------------------------------------------------------------------- /static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /static/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/img/favicon.png -------------------------------------------------------------------------------- /static/img/grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/static/img/grid.png -------------------------------------------------------------------------------- /static/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /system/.htaccess: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /system/core/Controller.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 */ -------------------------------------------------------------------------------- /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 */ -------------------------------------------------------------------------------- /system/core/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/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/mssql/mssql_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/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/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/oci8/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /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 */ -------------------------------------------------------------------------------- /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/pdo/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/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 */ -------------------------------------------------------------------------------- /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/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 */ -------------------------------------------------------------------------------- /system/database/drivers/sqlsrv/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /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/database/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 | -------------------------------------------------------------------------------- /system/fonts/texb.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/system/fonts/texb.ttf -------------------------------------------------------------------------------- /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 */ -------------------------------------------------------------------------------- /system/helpers/email_helper.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /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/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 */ -------------------------------------------------------------------------------- /system/helpers/path_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 */ -------------------------------------------------------------------------------- /system/helpers/xml_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/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

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

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /system/language/english/migration_lang.php: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /system/libraries/Cache/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 | -------------------------------------------------------------------------------- /system/libraries/javascript/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /uploads/avatar/default/big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/uploads/avatar/default/big.png -------------------------------------------------------------------------------- /uploads/avatar/default/normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/uploads/avatar/default/normal.png -------------------------------------------------------------------------------- /uploads/avatar/default/small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imxz/LetsBBS/6d78b10ea5e50bacbc12502fec01c296d134ac9f/uploads/avatar/default/small.png --------------------------------------------------------------------------------