├── public ├── js │ └── login.js ├── log │ └── a ├── scripts │ └── crontab.sh ├── lib │ ├── .DS_Store │ ├── lib │ │ ├── .DS_Store │ │ ├── font-awesome │ │ │ ├── FontAwesome.ttf │ │ │ ├── FontAwesome-Vectors.pdf │ │ │ ├── docs │ │ │ │ └── assets │ │ │ │ │ ├── ico │ │ │ │ │ └── favicon.ico │ │ │ │ │ ├── font │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ ├── proximanova-webfont.eot │ │ │ │ │ ├── proximanova-webfont.ttf │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ ├── museo_slab_300-webfont.eot │ │ │ │ │ ├── museo_slab_300-webfont.ttf │ │ │ │ │ ├── museo_slab_500-webfont.eot │ │ │ │ │ └── museo_slab_500-webfont.ttf │ │ │ │ │ ├── less │ │ │ │ │ ├── twbs-203 │ │ │ │ │ │ ├── grid.less │ │ │ │ │ │ ├── utilities.less │ │ │ │ │ │ ├── component-animations.less │ │ │ │ │ │ ├── layouts.less │ │ │ │ │ │ ├── responsive-768px-979px.less │ │ │ │ │ │ ├── hero-unit.less │ │ │ │ │ │ ├── responsive-1200px-min.less │ │ │ │ │ │ ├── breadcrumbs.less │ │ │ │ │ │ ├── wells.less │ │ │ │ │ │ ├── scaffolding.less │ │ │ │ │ │ ├── close.less │ │ │ │ │ │ ├── pager.less │ │ │ │ │ │ ├── accordion.less │ │ │ │ │ │ ├── tooltip.less │ │ │ │ │ │ ├── thumbnails.less │ │ │ │ │ │ ├── responsive.less │ │ │ │ │ │ ├── pagination.less │ │ │ │ │ │ ├── alerts.less │ │ │ │ │ │ ├── popovers.less │ │ │ │ │ │ ├── responsive-utilities.less │ │ │ │ │ │ ├── code.less │ │ │ │ │ │ ├── labels-badges.less │ │ │ │ │ │ ├── bootstrap.less │ │ │ │ │ │ ├── modals.less │ │ │ │ │ │ ├── carousel.less │ │ │ │ │ │ └── progress-bars.less │ │ │ │ │ ├── font-site.less │ │ │ │ │ └── mixins.less │ │ │ │ │ ├── css │ │ │ │ │ └── prettify.css │ │ │ │ │ └── js │ │ │ │ │ ├── tw-bs-201 │ │ │ │ │ ├── bootstrap-transition.js │ │ │ │ │ ├── bootstrap-alert.js │ │ │ │ │ ├── bootstrap-dropdown.js │ │ │ │ │ └── bootstrap-button.js │ │ │ │ │ └── index │ │ │ │ │ └── index.js │ │ │ ├── font │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ └── fontawesome-webfont.woff │ │ │ ├── .gitignore │ │ │ └── README.md │ │ ├── bootstrap │ │ │ └── img │ │ │ │ ├── glyphicons-halflings.png │ │ │ │ └── glyphicons-halflings-white.png │ │ └── fullcalendar-1.5.3 │ │ │ ├── demos │ │ │ ├── cupertino │ │ │ │ └── images │ │ │ │ │ ├── ui-icons_2694e8_256x240.png │ │ │ │ │ ├── ui-icons_2e83ff_256x240.png │ │ │ │ │ ├── ui-icons_3d80b3_256x240.png │ │ │ │ │ ├── ui-icons_72a7cf_256x240.png │ │ │ │ │ ├── ui-icons_ffffff_256x240.png │ │ │ │ │ ├── ui-bg_flat_15_cd0a0a_40x100.png │ │ │ │ │ ├── ui-bg_glass_50_3baae3_1x400.png │ │ │ │ │ ├── ui-bg_glass_80_d7ebf9_1x400.png │ │ │ │ │ ├── ui-bg_glass_100_e4f1fb_1x400.png │ │ │ │ │ ├── ui-bg_diagonals-thick_90_eeeeee_40x40.png │ │ │ │ │ ├── ui-bg_highlight-hard_100_f2f5f7_1x100.png │ │ │ │ │ ├── ui-bg_highlight-hard_70_000000_1x100.png │ │ │ │ │ ├── ui-bg_highlight-soft_100_deedf7_1x100.png │ │ │ │ │ └── ui-bg_highlight-soft_25_ffef8f_1x100.png │ │ │ ├── json-events.php │ │ │ ├── json.html │ │ │ ├── gcal.html │ │ │ ├── default.html │ │ │ ├── basic-views.html │ │ │ ├── agenda-views.html │ │ │ ├── theme.html │ │ │ └── selectable.html │ │ │ ├── MIT-LICENSE.txt │ │ │ └── fullcalendar │ │ │ └── fullcalendar.print.css │ ├── font-awesome │ │ ├── FontAwesome.ttf │ │ ├── FontAwesome-Vectors.pdf │ │ ├── docs │ │ │ └── assets │ │ │ │ ├── ico │ │ │ │ └── favicon.ico │ │ │ │ ├── font │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ ├── proximanova-webfont.eot │ │ │ │ ├── proximanova-webfont.ttf │ │ │ │ ├── museo_slab_300-webfont.eot │ │ │ │ ├── museo_slab_300-webfont.ttf │ │ │ │ ├── museo_slab_500-webfont.eot │ │ │ │ └── museo_slab_500-webfont.ttf │ │ │ │ ├── less │ │ │ │ ├── twbs-203 │ │ │ │ │ ├── grid.less │ │ │ │ │ ├── utilities.less │ │ │ │ │ ├── component-animations.less │ │ │ │ │ ├── layouts.less │ │ │ │ │ ├── responsive-768px-979px.less │ │ │ │ │ ├── hero-unit.less │ │ │ │ │ ├── responsive-1200px-min.less │ │ │ │ │ ├── breadcrumbs.less │ │ │ │ │ ├── wells.less │ │ │ │ │ ├── scaffolding.less │ │ │ │ │ ├── close.less │ │ │ │ │ ├── pager.less │ │ │ │ │ ├── accordion.less │ │ │ │ │ ├── tooltip.less │ │ │ │ │ ├── thumbnails.less │ │ │ │ │ ├── responsive.less │ │ │ │ │ ├── pagination.less │ │ │ │ │ ├── alerts.less │ │ │ │ │ ├── responsive-utilities.less │ │ │ │ │ ├── popovers.less │ │ │ │ │ ├── code.less │ │ │ │ │ ├── labels-badges.less │ │ │ │ │ ├── bootstrap.less │ │ │ │ │ ├── modals.less │ │ │ │ │ ├── carousel.less │ │ │ │ │ └── progress-bars.less │ │ │ │ ├── font-site.less │ │ │ │ └── mixins.less │ │ │ │ ├── css │ │ │ │ └── prettify.css │ │ │ │ └── js │ │ │ │ ├── tw-bs-201 │ │ │ │ ├── bootstrap-transition.js │ │ │ │ ├── bootstrap-alert.js │ │ │ │ ├── bootstrap-dropdown.js │ │ │ │ └── bootstrap-button.js │ │ │ │ └── index │ │ │ │ └── index.js │ │ ├── font │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ └── fontawesome-webfont.woff │ │ ├── .gitignore │ │ └── README.md │ ├── bootstrap │ │ └── img │ │ │ ├── glyphicons-halflings.png │ │ │ └── glyphicons-halflings-white.png │ └── fullcalendar-1.5.3 │ │ ├── demos │ │ ├── cupertino │ │ │ └── images │ │ │ │ ├── ui-icons_2694e8_256x240.png │ │ │ │ ├── ui-icons_2e83ff_256x240.png │ │ │ │ ├── ui-icons_3d80b3_256x240.png │ │ │ │ ├── ui-icons_72a7cf_256x240.png │ │ │ │ ├── ui-icons_ffffff_256x240.png │ │ │ │ ├── ui-bg_flat_15_cd0a0a_40x100.png │ │ │ │ ├── ui-bg_glass_100_e4f1fb_1x400.png │ │ │ │ ├── ui-bg_glass_50_3baae3_1x400.png │ │ │ │ ├── ui-bg_glass_80_d7ebf9_1x400.png │ │ │ │ ├── ui-bg_highlight-hard_70_000000_1x100.png │ │ │ │ ├── ui-bg_highlight-soft_25_ffef8f_1x100.png │ │ │ │ ├── ui-bg_diagonals-thick_90_eeeeee_40x40.png │ │ │ │ ├── ui-bg_highlight-hard_100_f2f5f7_1x100.png │ │ │ │ └── ui-bg_highlight-soft_100_deedf7_1x100.png │ │ ├── json-events.php │ │ ├── json.html │ │ ├── gcal.html │ │ ├── default.html │ │ ├── agenda-views.html │ │ ├── basic-views.html │ │ ├── theme.html │ │ └── selectable.html │ │ ├── MIT-LICENSE.txt │ │ └── fullcalendar │ │ └── fullcalendar.print.css ├── images │ ├── 140x140.gif │ ├── 170x170.gif │ ├── background.png │ ├── blue-paper.png │ ├── furley_bg.png │ ├── black-Linen.png │ ├── subtle_surface.png │ └── extra_clean_paper.png ├── index.php └── stylesheets │ └── elements.css ├── .gitignore ├── robots.txt ├── Yaf框架使用 .doc ├── application ├── library │ ├── Raven │ │ ├── Exception.php │ │ ├── SanitizeDataProcessor.php │ │ ├── Context.php │ │ ├── Util.php │ │ ├── Processor │ │ │ ├── RemoveHttpBodyProcessor.php │ │ │ └── RemoveCookiesProcessor.php │ │ ├── Processor.php │ │ ├── Autoloader.php │ │ ├── TransactionStack.php │ │ ├── Breadcrumbs │ │ │ └── ErrorHandler.php │ │ ├── ReprSerializer.php │ │ └── Breadcrumbs.php │ ├── Controller.php │ ├── Db │ │ └── Base.php │ ├── Base.php │ ├── Error.php │ ├── Raven.php │ ├── Captcha.php │ └── Log.php ├── modules │ └── Api │ │ ├── views │ │ └── search │ │ │ └── index.html │ │ └── controllers │ │ └── Search.php ├── controllers │ ├── Main.php │ ├── Index.php │ └── Error.php ├── components │ └── Controller │ │ ├── AjaxBase.php │ │ └── Base.php ├── views │ └── admin │ │ ├── passwd.html │ │ ├── index.html │ │ └── add.html ├── models │ ├── Bulletin.php │ └── Admin.php ├── plugins │ └── Layout.php └── Bootstrap.php ├── conf ├── route.php └── app.ini ├── Changelog.md ├── nginx.conf ├── README.md └── database.sql /public/js/login.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/log/a: -------------------------------------------------------------------------------- 1 | 123 -------------------------------------------------------------------------------- /public/scripts/crontab.sh: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | log 3 | *.swp 4 | 5 | -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: / -------------------------------------------------------------------------------- /Yaf框架使用 .doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/Yaf框架使用 .doc -------------------------------------------------------------------------------- /public/lib/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/.DS_Store -------------------------------------------------------------------------------- /public/images/140x140.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/images/140x140.gif -------------------------------------------------------------------------------- /public/images/170x170.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/images/170x170.gif -------------------------------------------------------------------------------- /public/lib/lib/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/.DS_Store -------------------------------------------------------------------------------- /application/library/Raven/Exception.php: -------------------------------------------------------------------------------- 1 | _req = $this->getRequest(); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/font/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/font-awesome/docs/assets/font/fontawesome-webfont.eot -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/font/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/font-awesome/docs/assets/font/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/font/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/font-awesome/docs/assets/font/fontawesome-webfont.woff -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/font/proximanova-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/font-awesome/docs/assets/font/proximanova-webfont.eot -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/font/proximanova-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/font-awesome/docs/assets/font/proximanova-webfont.ttf -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/font/museo_slab_300-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/font-awesome/docs/assets/font/museo_slab_300-webfont.eot -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/font/museo_slab_300-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/font-awesome/docs/assets/font/museo_slab_300-webfont.ttf -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/font/museo_slab_500-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/font-awesome/docs/assets/font/museo_slab_500-webfont.eot -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/font/museo_slab_500-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/font-awesome/docs/assets/font/museo_slab_500-webfont.ttf -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/font/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/font-awesome/docs/assets/font/fontawesome-webfont.eot -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/font/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/font-awesome/docs/assets/font/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/font/proximanova-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/font-awesome/docs/assets/font/proximanova-webfont.eot -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/font/proximanova-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/font-awesome/docs/assets/font/proximanova-webfont.ttf -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/font/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/font-awesome/docs/assets/font/fontawesome-webfont.woff -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/font/museo_slab_300-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/font-awesome/docs/assets/font/museo_slab_300-webfont.eot -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/font/museo_slab_300-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/font-awesome/docs/assets/font/museo_slab_300-webfont.ttf -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/font/museo_slab_500-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/font-awesome/docs/assets/font/museo_slab_500-webfont.eot -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/font/museo_slab_500-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/font-awesome/docs/assets/font/museo_slab_500-webfont.ttf -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_2694e8_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_2694e8_256x240.png -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_3d80b3_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_3d80b3_256x240.png -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_72a7cf_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_72a7cf_256x240.png -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /application/modules/Api/views/search/index.html: -------------------------------------------------------------------------------- 1 | url数据:
2 | id:id;?>
3 | code:code;?>
4 | key:key;?>
5 | This is Module search index.html 6 | -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_glass_50_3baae3_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_glass_50_3baae3_1x400.png -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_2694e8_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_2694e8_256x240.png -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_3d80b3_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_3d80b3_256x240.png -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_72a7cf_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_72a7cf_256x240.png -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/grid.less: -------------------------------------------------------------------------------- 1 | // Fixed (940px) 2 | #grid > .core(@gridColumnWidth, @gridGutterWidth); 3 | 4 | // Fluid (940px) 5 | #grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth); -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_glass_50_3baae3_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_glass_50_3baae3_1x400.png -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/grid.less: -------------------------------------------------------------------------------- 1 | // Fixed (940px) 2 | #grid > .core(@gridColumnWidth, @gridGutterWidth); 3 | 4 | // Fluid (940px) 5 | #grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth); -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/melonwool/YafUse/HEAD/public/lib/lib/fullcalendar-1.5.3/demos/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png -------------------------------------------------------------------------------- /application/library/Db/Base.php: -------------------------------------------------------------------------------- 1 | _config = Yaf_Registry::get("config"); 6 | $this->_db = new Db_Mysql ($this->_config->mysql->config->toArray()); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /application/modules/Api/controllers/Search.php: -------------------------------------------------------------------------------- 1 | 'rewrite', 6 | 'match' => '/search/', 7 | 'route' => array( 8 | 'module' => 'Api', 9 | 'controller' => 'Search', 10 | 'action' => 'Index' 11 | ) 12 | ) , 13 | ); 14 | -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- 1 | bootstrap()->run(); 10 | -------------------------------------------------------------------------------- /Changelog.md: -------------------------------------------------------------------------------- 1 | # YafUse - Log 2 | ##2014-11-28 3 | - 修改了项目目录结构 4 | - 优化了报错显示 5 | - 添加了路由rewrite示例(及配置) 6 | - 简单实现了Modue(/api/search/indx ) 7 | - library /components 区分 8 | - log 报错日志记录 9 | 10 | ##2014-7-23 11 | - 配置文件继承 12 | - 目录结构修改 13 | - 添加modules使用 14 | 15 | ##2013-12-8 16 | - 第一次提交 17 | - 主从库 18 | - layout布局 19 | ##2018-09-27 20 | - 错误捕获及增加sentry错误记录 21 | - 修改配置文件位置 22 | -------------------------------------------------------------------------------- /application/library/Base.php: -------------------------------------------------------------------------------- 1 | _config = Yaf_Registry::get('config'); 6 | $this->_req = $this->getRequest(); 7 | $this->_session = Yaf_Session::getInstance(); 8 | $this->_session->start(); 9 | if(!$this->_session->has('username')){ 10 | $this->redirect('/index/'); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/utilities.less: -------------------------------------------------------------------------------- 1 | // UTILITY CLASSES 2 | // --------------- 3 | 4 | // Quick floats 5 | .pull-right { 6 | float: right; 7 | } 8 | .pull-left { 9 | float: left; 10 | } 11 | 12 | // Toggling content 13 | .hide { 14 | display: none; 15 | } 16 | .show { 17 | display: block; 18 | } 19 | 20 | // Visibility 21 | .invisible { 22 | visibility: hidden; 23 | } 24 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/utilities.less: -------------------------------------------------------------------------------- 1 | // UTILITY CLASSES 2 | // --------------- 3 | 4 | // Quick floats 5 | .pull-right { 6 | float: right; 7 | } 8 | .pull-left { 9 | float: left; 10 | } 11 | 12 | // Toggling content 13 | .hide { 14 | display: none; 15 | } 16 | .show { 17 | display: block; 18 | } 19 | 20 | // Visibility 21 | .invisible { 22 | visibility: hidden; 23 | } 24 | -------------------------------------------------------------------------------- /public/lib/font-awesome/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.egg-info 3 | *.db 4 | *.db.old 5 | *.swp 6 | *.db-journal 7 | 8 | .coverage 9 | .DS_Store 10 | .installed.cfg 11 | 12 | .idea/* 13 | .svn/* 14 | src/website/static/* 15 | src/website/media/* 16 | 17 | bin 18 | build 19 | cfcache 20 | develop-eggs 21 | dist 22 | downloads 23 | eggs 24 | parts 25 | tmp 26 | .sass-cache 27 | 28 | src/website/settingslocal.py 29 | stunnel.log -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/component-animations.less: -------------------------------------------------------------------------------- 1 | // COMPONENT ANIMATIONS 2 | // -------------------- 3 | 4 | .fade { 5 | .opacity(0); 6 | .transition(opacity .15s linear); 7 | &.in { 8 | .opacity(100); 9 | } 10 | } 11 | 12 | .collapse { 13 | position: relative; 14 | height: 0; 15 | overflow: hidden; 16 | .transition(height .35s ease); 17 | &.in { 18 | height: auto; 19 | } 20 | } -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.egg-info 3 | *.db 4 | *.db.old 5 | *.swp 6 | *.db-journal 7 | 8 | .coverage 9 | .DS_Store 10 | .installed.cfg 11 | 12 | .idea/* 13 | .svn/* 14 | src/website/static/* 15 | src/website/media/* 16 | 17 | bin 18 | build 19 | cfcache 20 | develop-eggs 21 | dist 22 | downloads 23 | eggs 24 | parts 25 | tmp 26 | .sass-cache 27 | 28 | src/website/settingslocal.py 29 | stunnel.log -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/component-animations.less: -------------------------------------------------------------------------------- 1 | // COMPONENT ANIMATIONS 2 | // -------------------- 3 | 4 | .fade { 5 | .opacity(0); 6 | .transition(opacity .15s linear); 7 | &.in { 8 | .opacity(100); 9 | } 10 | } 11 | 12 | .collapse { 13 | position: relative; 14 | height: 0; 15 | overflow: hidden; 16 | .transition(height .35s ease); 17 | &.in { 18 | height: auto; 19 | } 20 | } -------------------------------------------------------------------------------- /application/controllers/Main.php: -------------------------------------------------------------------------------- 1 | _layout = new LayoutPlugin('layout.html'); 8 | $this->dispatcher = Yaf_Registry::get("dispatcher"); 9 | $this->dispatcher->registerPlugin($this->_layout); 10 | } 11 | 12 | public function indexAction() 13 | { 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /application/library/Error.php: -------------------------------------------------------------------------------- 1 | LogException($exception); 14 | return true; 15 | } 16 | -------------------------------------------------------------------------------- /application/components/Controller/AjaxBase.php: -------------------------------------------------------------------------------- 1 | autoRender(false); 8 | if ($this->_req->isPost()) { 9 | $this->checkReffer(array( 10 | isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : "" 11 | )); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /public/stylesheets/elements.css: -------------------------------------------------------------------------------- 1 | /*--------------------------------------------------- 2 | LESS Elements 0.6 3 | --------------------------------------------------- 4 | A set of useful LESS mixins by Dmitry Fadeyev 5 | Special thanks for mixin suggestions to: 6 | Kris Van Herzeele, 7 | Benoit Adam, 8 | Portenart Emile-Victor, 9 | Ryan Faerman 10 | 11 | More info at: http://lesselements.com 12 | -----------------------------------------------------*/ 13 | -------------------------------------------------------------------------------- /nginx.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | server_name yaf.melonz.com; 4 | #root /home/melon/github/YafUse/; 5 | root /home/malong/samba/yaf/public/; 6 | index index.php; 7 | 8 | 9 | location / { 10 | try_files $uri $uri/ /index.php?$args; 11 | } 12 | 13 | location ~ .*\.php?$ { 14 | include fastcgi.conf; 15 | fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; 16 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 17 | fastcgi_index index.php; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/layouts.less: -------------------------------------------------------------------------------- 1 | // 2 | // Layouts 3 | // Fixed-width and fluid (with sidebar) layouts 4 | // -------------------------------------------- 5 | 6 | 7 | // Container (centered, fixed-width layouts) 8 | .container { 9 | .container-fixed(); 10 | } 11 | 12 | // Fluid layouts (left aligned, with sidebar, min- & max-width content) 13 | .container-fluid { 14 | padding-right: @gridGutterWidth; 15 | padding-left: @gridGutterWidth; 16 | .clearfix(); 17 | } -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/layouts.less: -------------------------------------------------------------------------------- 1 | // 2 | // Layouts 3 | // Fixed-width and fluid (with sidebar) layouts 4 | // -------------------------------------------- 5 | 6 | 7 | // Container (centered, fixed-width layouts) 8 | .container { 9 | .container-fixed(); 10 | } 11 | 12 | // Fluid layouts (left aligned, with sidebar, min- & max-width content) 13 | .container-fluid { 14 | padding-right: @gridGutterWidth; 15 | padding-left: @gridGutterWidth; 16 | .clearfix(); 17 | } -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/responsive-768px-979px.less: -------------------------------------------------------------------------------- 1 | // PORTRAIT TABLET TO DEFAULT DESKTOP 2 | // ---------------------------------- 3 | 4 | @media (min-width: 768px) and (max-width: 979px) { 5 | 6 | // Fixed grid 7 | #grid > .core(42px, 20px); 8 | 9 | // Fluid grid 10 | #grid > .fluid(5.801104972%, 2.762430939%); 11 | 12 | // Input grid 13 | #grid > .input(42px, 20px); 14 | 15 | // No need to reset .thumbnails here since it's the same @gridGutterWidth 16 | 17 | } 18 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/responsive-768px-979px.less: -------------------------------------------------------------------------------- 1 | // PORTRAIT TABLET TO DEFAULT DESKTOP 2 | // ---------------------------------- 3 | 4 | @media (min-width: 768px) and (max-width: 979px) { 5 | 6 | // Fixed grid 7 | #grid > .core(42px, 20px); 8 | 9 | // Fluid grid 10 | #grid > .fluid(5.801104972%, 2.762430939%); 11 | 12 | // Input grid 13 | #grid > .input(42px, 20px); 14 | 15 | // No need to reset .thumbnails here since it's the same @gridGutterWidth 16 | 17 | } 18 | -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/json-events.php: -------------------------------------------------------------------------------- 1 | 111, 10 | 'title' => "Event1", 11 | 'start' => "$year-$month-10", 12 | 'url' => "http://yahoo.com/" 13 | ), 14 | 15 | array( 16 | 'id' => 222, 17 | 'title' => "Event2", 18 | 'start' => "$year-$month-20", 19 | 'end' => "$year-$month-22", 20 | 'url' => "http://yahoo.com/" 21 | ) 22 | 23 | )); 24 | 25 | ?> 26 | -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/json-events.php: -------------------------------------------------------------------------------- 1 | 111, 10 | 'title' => "Event1", 11 | 'start' => "$year-$month-10", 12 | 'url' => "http://yahoo.com/" 13 | ), 14 | 15 | array( 16 | 'id' => 222, 17 | 'title' => "Event2", 18 | 'start' => "$year-$month-20", 19 | 'end' => "$year-$month-22", 20 | 'url' => "http://yahoo.com/" 21 | ) 22 | 23 | )); 24 | 25 | ?> 26 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/hero-unit.less: -------------------------------------------------------------------------------- 1 | // HERO UNIT 2 | // --------- 3 | 4 | .hero-unit { 5 | padding: 60px; 6 | margin-bottom: 30px; 7 | background-color: @heroUnitBackground; 8 | .border-radius(6px); 9 | h1 { 10 | margin-bottom: 0; 11 | font-size: 60px; 12 | line-height: 1; 13 | color: @heroUnitHeadingColor; 14 | letter-spacing: -1px; 15 | } 16 | p { 17 | font-size: 18px; 18 | font-weight: 200; 19 | line-height: @baseLineHeight * 1.5; 20 | color: @heroUnitLeadColor; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/hero-unit.less: -------------------------------------------------------------------------------- 1 | // HERO UNIT 2 | // --------- 3 | 4 | .hero-unit { 5 | padding: 60px; 6 | margin-bottom: 30px; 7 | background-color: @heroUnitBackground; 8 | .border-radius(6px); 9 | h1 { 10 | margin-bottom: 0; 11 | font-size: 60px; 12 | line-height: 1; 13 | color: @heroUnitHeadingColor; 14 | letter-spacing: -1px; 15 | } 16 | p { 17 | font-size: 18px; 18 | font-weight: 200; 19 | line-height: @baseLineHeight * 1.5; 20 | color: @heroUnitLeadColor; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /application/library/Raven.php: -------------------------------------------------------------------------------- 1 | getConfig()->toArray(); 13 | $this->url = $config["sentry"]["dsn"]; 14 | $this->sentryClient = new Raven_Client($this->url); 15 | } 16 | 17 | public function LogException($exception) 18 | { 19 | $this->sentryClient->captureException($exception); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/responsive-1200px-min.less: -------------------------------------------------------------------------------- 1 | // LARGE DESKTOP & UP 2 | // ------------------ 3 | 4 | @media (min-width: 1200px) { 5 | 6 | // Fixed grid 7 | #grid > .core(70px, 30px); 8 | 9 | // Fluid grid 10 | #grid > .fluid(5.982905983%, 2.564102564%); 11 | 12 | // Input grid 13 | #grid > .input(70px, 30px); 14 | 15 | // Thumbnails 16 | .thumbnails { 17 | margin-left: -30px; 18 | } 19 | .thumbnails > li { 20 | margin-left: 30px; 21 | } 22 | .row-fluid .thumbnails { 23 | margin-left: 0; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/responsive-1200px-min.less: -------------------------------------------------------------------------------- 1 | // LARGE DESKTOP & UP 2 | // ------------------ 3 | 4 | @media (min-width: 1200px) { 5 | 6 | // Fixed grid 7 | #grid > .core(70px, 30px); 8 | 9 | // Fluid grid 10 | #grid > .fluid(5.982905983%, 2.564102564%); 11 | 12 | // Input grid 13 | #grid > .input(70px, 30px); 14 | 15 | // Thumbnails 16 | .thumbnails { 17 | margin-left: -30px; 18 | } 19 | .thumbnails > li { 20 | margin-left: 30px; 21 | } 22 | .row-fluid .thumbnails { 23 | margin-left: 0; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // BREADCRUMBS 2 | // ----------- 3 | 4 | .breadcrumb { 5 | padding: 7px 14px; 6 | margin: 0 0 @baseLineHeight; 7 | list-style: none; 8 | #gradient > .vertical(@white, #f5f5f5); 9 | border: 1px solid #ddd; 10 | .border-radius(3px); 11 | .box-shadow(inset 0 1px 0 @white); 12 | li { 13 | display: inline-block; 14 | .ie7-inline-block(); 15 | text-shadow: 0 1px 0 @white; 16 | } 17 | .divider { 18 | padding: 0 5px; 19 | color: @grayLight; 20 | } 21 | .active a { 22 | color: @grayDark; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // BREADCRUMBS 2 | // ----------- 3 | 4 | .breadcrumb { 5 | padding: 7px 14px; 6 | margin: 0 0 @baseLineHeight; 7 | list-style: none; 8 | #gradient > .vertical(@white, #f5f5f5); 9 | border: 1px solid #ddd; 10 | .border-radius(3px); 11 | .box-shadow(inset 0 1px 0 @white); 12 | li { 13 | display: inline-block; 14 | .ie7-inline-block(); 15 | text-shadow: 0 1px 0 @white; 16 | } 17 | .divider { 18 | padding: 0 5px; 19 | color: @grayLight; 20 | } 21 | .active a { 22 | color: @grayDark; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/wells.less: -------------------------------------------------------------------------------- 1 | // WELLS 2 | // ----- 3 | 4 | .well { 5 | min-height: 20px; 6 | padding: 19px; 7 | margin-bottom: 20px; 8 | background-color: #f5f5f5; 9 | border: 1px solid #eee; 10 | border: 1px solid rgba(0,0,0,.05); 11 | .border-radius(4px); 12 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 13 | blockquote { 14 | border-color: #ddd; 15 | border-color: rgba(0,0,0,.15); 16 | } 17 | } 18 | 19 | // Sizes 20 | .well-large { 21 | padding: 24px; 22 | .border-radius(6px); 23 | } 24 | .well-small { 25 | padding: 9px; 26 | .border-radius(3px); 27 | } 28 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/wells.less: -------------------------------------------------------------------------------- 1 | // WELLS 2 | // ----- 3 | 4 | .well { 5 | min-height: 20px; 6 | padding: 19px; 7 | margin-bottom: 20px; 8 | background-color: #f5f5f5; 9 | border: 1px solid #eee; 10 | border: 1px solid rgba(0,0,0,.05); 11 | .border-radius(4px); 12 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 13 | blockquote { 14 | border-color: #ddd; 15 | border-color: rgba(0,0,0,.15); 16 | } 17 | } 18 | 19 | // Sizes 20 | .well-large { 21 | padding: 24px; 22 | .border-radius(6px); 23 | } 24 | .well-small { 25 | padding: 9px; 26 | .border-radius(3px); 27 | } 28 | -------------------------------------------------------------------------------- /application/library/Raven/SanitizeDataProcessor.php: -------------------------------------------------------------------------------- 1 | clear(); 25 | } 26 | 27 | /** 28 | * Clean up existing context. 29 | */ 30 | public function clear() 31 | { 32 | $this->tags = array(); 33 | $this->extra = array(); 34 | $this->user = null; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/scaffolding.less: -------------------------------------------------------------------------------- 1 | // Scaffolding 2 | // Basic and global styles for generating a grid system, structural layout, and page templates 3 | // ------------------------------------------------------------------------------------------- 4 | 5 | 6 | // Body reset 7 | // ---------- 8 | 9 | body { 10 | margin: 0; 11 | font-family: @baseFontFamily; 12 | font-size: @baseFontSize; 13 | line-height: @baseLineHeight; 14 | color: @textColor; 15 | background-color: @bodyBackground; 16 | } 17 | 18 | 19 | // Links 20 | // ----- 21 | 22 | a { 23 | color: @linkColor; 24 | text-decoration: none; 25 | } 26 | a:hover { 27 | color: @linkColorHover; 28 | text-decoration: underline; 29 | } 30 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/scaffolding.less: -------------------------------------------------------------------------------- 1 | // Scaffolding 2 | // Basic and global styles for generating a grid system, structural layout, and page templates 3 | // ------------------------------------------------------------------------------------------- 4 | 5 | 6 | // Body reset 7 | // ---------- 8 | 9 | body { 10 | margin: 0; 11 | font-family: @baseFontFamily; 12 | font-size: @baseFontSize; 13 | line-height: @baseLineHeight; 14 | color: @textColor; 15 | background-color: @bodyBackground; 16 | } 17 | 18 | 19 | // Links 20 | // ----- 21 | 22 | a { 23 | color: @linkColor; 24 | text-decoration: none; 25 | } 26 | a:hover { 27 | color: @linkColorHover; 28 | text-decoration: underline; 29 | } 30 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/close.less: -------------------------------------------------------------------------------- 1 | // CLOSE ICONS 2 | // ----------- 3 | 4 | .close { 5 | float: right; 6 | font-size: 20px; 7 | font-weight: bold; 8 | line-height: @baseLineHeight; 9 | color: @black; 10 | text-shadow: 0 1px 0 rgba(255,255,255,1); 11 | .opacity(20); 12 | &:hover { 13 | color: @black; 14 | text-decoration: none; 15 | cursor: pointer; 16 | .opacity(40); 17 | } 18 | } 19 | 20 | // Additional properties for button version 21 | // iOS requires the button element instead of an anchor tag. 22 | // If you want the anchor version, it requires `href="#"`. 23 | button.close { 24 | padding: 0; 25 | cursor: pointer; 26 | background: transparent; 27 | border: 0; 28 | -webkit-appearance: none; 29 | } -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/close.less: -------------------------------------------------------------------------------- 1 | // CLOSE ICONS 2 | // ----------- 3 | 4 | .close { 5 | float: right; 6 | font-size: 20px; 7 | font-weight: bold; 8 | line-height: @baseLineHeight; 9 | color: @black; 10 | text-shadow: 0 1px 0 rgba(255,255,255,1); 11 | .opacity(20); 12 | &:hover { 13 | color: @black; 14 | text-decoration: none; 15 | cursor: pointer; 16 | .opacity(40); 17 | } 18 | } 19 | 20 | // Additional properties for button version 21 | // iOS requires the button element instead of an anchor tag. 22 | // If you want the anchor version, it requires `href="#"`. 23 | button.close { 24 | padding: 0; 25 | cursor: pointer; 26 | background: transparent; 27 | border: 0; 28 | -webkit-appearance: none; 29 | } -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/pager.less: -------------------------------------------------------------------------------- 1 | // PAGER 2 | // ----- 3 | 4 | .pager { 5 | margin-left: 0; 6 | margin-bottom: @baseLineHeight; 7 | list-style: none; 8 | text-align: center; 9 | .clearfix(); 10 | } 11 | .pager li { 12 | display: inline; 13 | } 14 | .pager a { 15 | display: inline-block; 16 | padding: 5px 14px; 17 | background-color: #fff; 18 | border: 1px solid #ddd; 19 | .border-radius(15px); 20 | } 21 | .pager a:hover { 22 | text-decoration: none; 23 | background-color: #f5f5f5; 24 | } 25 | .pager .next a { 26 | float: right; 27 | } 28 | .pager .previous a { 29 | float: left; 30 | } 31 | .pager .disabled a, 32 | .pager .disabled a:hover { 33 | color: @grayLight; 34 | background-color: #fff; 35 | cursor: default; 36 | } -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/accordion.less: -------------------------------------------------------------------------------- 1 | // ACCORDION 2 | // --------- 3 | 4 | 5 | // Parent container 6 | .accordion { 7 | margin-bottom: @baseLineHeight; 8 | } 9 | 10 | // Group == heading + body 11 | .accordion-group { 12 | margin-bottom: 2px; 13 | border: 1px solid #e5e5e5; 14 | .border-radius(4px); 15 | } 16 | .accordion-heading { 17 | border-bottom: 0; 18 | } 19 | .accordion-heading .accordion-toggle { 20 | display: block; 21 | padding: 8px 15px; 22 | } 23 | 24 | // General toggle styles 25 | .accordion-toggle { 26 | cursor: pointer; 27 | } 28 | 29 | // Inner needs the styles because you can't animate properly with any styles on the element 30 | .accordion-inner { 31 | padding: 9px 15px; 32 | border-top: 1px solid #e5e5e5; 33 | } 34 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/pager.less: -------------------------------------------------------------------------------- 1 | // PAGER 2 | // ----- 3 | 4 | .pager { 5 | margin-left: 0; 6 | margin-bottom: @baseLineHeight; 7 | list-style: none; 8 | text-align: center; 9 | .clearfix(); 10 | } 11 | .pager li { 12 | display: inline; 13 | } 14 | .pager a { 15 | display: inline-block; 16 | padding: 5px 14px; 17 | background-color: #fff; 18 | border: 1px solid #ddd; 19 | .border-radius(15px); 20 | } 21 | .pager a:hover { 22 | text-decoration: none; 23 | background-color: #f5f5f5; 24 | } 25 | .pager .next a { 26 | float: right; 27 | } 28 | .pager .previous a { 29 | float: left; 30 | } 31 | .pager .disabled a, 32 | .pager .disabled a:hover { 33 | color: @grayLight; 34 | background-color: #fff; 35 | cursor: default; 36 | } -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/accordion.less: -------------------------------------------------------------------------------- 1 | // ACCORDION 2 | // --------- 3 | 4 | 5 | // Parent container 6 | .accordion { 7 | margin-bottom: @baseLineHeight; 8 | } 9 | 10 | // Group == heading + body 11 | .accordion-group { 12 | margin-bottom: 2px; 13 | border: 1px solid #e5e5e5; 14 | .border-radius(4px); 15 | } 16 | .accordion-heading { 17 | border-bottom: 0; 18 | } 19 | .accordion-heading .accordion-toggle { 20 | display: block; 21 | padding: 8px 15px; 22 | } 23 | 24 | // General toggle styles 25 | .accordion-toggle { 26 | cursor: pointer; 27 | } 28 | 29 | // Inner needs the styles because you can't animate properly with any styles on the element 30 | .accordion-inner { 31 | padding: 9px 15px; 32 | border-top: 1px solid #e5e5e5; 33 | } 34 | -------------------------------------------------------------------------------- /application/library/Raven/Util.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 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/css/prettify.css: -------------------------------------------------------------------------------- 1 | .com { color: #93a1a1; } 2 | .lit { color: #195f91; } 3 | .pun, .opn, .clo { color: #93a1a1; } 4 | .fun { color: #dc322f; } 5 | .str, .atv { color: #D14; } 6 | .kwd, .linenums .tag { color: #1e347b; } 7 | .typ, .atn, .dec, .var { color: teal; } 8 | .pln { color: #48484c; } 9 | 10 | .prettyprint { 11 | padding: 8px; 12 | background-color: #f7f7f9; 13 | border: 1px solid #e1e1e8; 14 | } 15 | .prettyprint.linenums { 16 | -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 17 | -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 18 | box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 19 | } 20 | 21 | /* Specify class=linenums on a pre to get line numbering */ 22 | ol.linenums { 23 | margin: 0 0 0 33px; /* IE indents via margin-left */ 24 | } 25 | ol.linenums li { 26 | padding-left: 12px; 27 | color: #bebec5; 28 | line-height: 18px; 29 | text-shadow: 0 1px 0 #fff; 30 | } -------------------------------------------------------------------------------- /application/library/Raven/Processor/RemoveHttpBodyProcessor.php: -------------------------------------------------------------------------------- 1 | 18 | */ 19 | final class Raven_Processor_RemoveHttpBodyProcessor extends Raven_Processor 20 | { 21 | /** 22 | * {@inheritdoc} 23 | */ 24 | public function process(&$data) 25 | { 26 | if (isset($data['request'], $data['request']['method']) && in_array(strtoupper($data['request']['method']), array('POST', 'PUT', 'PATCH', 'DELETE'))) { 27 | $data['request']['data'] = self::STRING_MASK; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/css/prettify.css: -------------------------------------------------------------------------------- 1 | .com { color: #93a1a1; } 2 | .lit { color: #195f91; } 3 | .pun, .opn, .clo { color: #93a1a1; } 4 | .fun { color: #dc322f; } 5 | .str, .atv { color: #D14; } 6 | .kwd, .linenums .tag { color: #1e347b; } 7 | .typ, .atn, .dec, .var { color: teal; } 8 | .pln { color: #48484c; } 9 | 10 | .prettyprint { 11 | padding: 8px; 12 | background-color: #f7f7f9; 13 | border: 1px solid #e1e1e8; 14 | } 15 | .prettyprint.linenums { 16 | -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 17 | -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 18 | box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0; 19 | } 20 | 21 | /* Specify class=linenums on a pre to get line numbering */ 22 | ol.linenums { 23 | margin: 0 0 0 33px; /* IE indents via margin-left */ 24 | } 25 | ol.linenums li { 26 | padding-left: 12px; 27 | color: #bebec5; 28 | line-height: 18px; 29 | text-shadow: 0 1px 0 #fff; 30 | } -------------------------------------------------------------------------------- /application/controllers/Index.php: -------------------------------------------------------------------------------- 1 | _layout = new LayoutPlugin('layout.html', APP_PATH . '/views/layout/'); 10 | } 11 | /*首页展示*/ 12 | public function IndexAction() 13 | { 14 | if($this->_req->isXmlHttpRequest()){ 15 | //获取post提交的参数 16 | $name = $this->_req->getPost('usrname'); 17 | $pwd = $this->_req->getPost('pwd'); 18 | $Admin = new AdminModel(); 19 | if(!$Admin->LoginUsr($name, md5($pwd))){ 20 | exit("101:用户名或密码错误!"); 21 | } 22 | $this->_session->set('username',$name); 23 | exit("100:登录成功!"); 24 | } 25 | } 26 | 27 | /*用户登录*/ 28 | public function LogoutAction() 29 | { 30 | $this->_session->__unset('username'); 31 | header('Location:/index/'); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/tooltip.less: -------------------------------------------------------------------------------- 1 | // TOOLTIP 2 | // ------= 3 | 4 | .tooltip { 5 | position: absolute; 6 | z-index: @zindexTooltip; 7 | display: block; 8 | visibility: visible; 9 | padding: 5px; 10 | font-size: 11px; 11 | .opacity(0); 12 | &.in { .opacity(80); } 13 | &.top { margin-top: -2px; } 14 | &.right { margin-left: 2px; } 15 | &.bottom { margin-top: 2px; } 16 | &.left { margin-left: -2px; } 17 | &.top .tooltip-arrow { #popoverArrow > .top(); } 18 | &.left .tooltip-arrow { #popoverArrow > .left(); } 19 | &.bottom .tooltip-arrow { #popoverArrow > .bottom(); } 20 | &.right .tooltip-arrow { #popoverArrow > .right(); } 21 | } 22 | .tooltip-inner { 23 | max-width: 200px; 24 | padding: 3px 8px; 25 | color: @white; 26 | text-align: center; 27 | text-decoration: none; 28 | background-color: @black; 29 | .border-radius(4px); 30 | } 31 | .tooltip-arrow { 32 | position: absolute; 33 | width: 0; 34 | height: 0; 35 | } 36 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/tooltip.less: -------------------------------------------------------------------------------- 1 | // TOOLTIP 2 | // ------= 3 | 4 | .tooltip { 5 | position: absolute; 6 | z-index: @zindexTooltip; 7 | display: block; 8 | visibility: visible; 9 | padding: 5px; 10 | font-size: 11px; 11 | .opacity(0); 12 | &.in { .opacity(80); } 13 | &.top { margin-top: -2px; } 14 | &.right { margin-left: 2px; } 15 | &.bottom { margin-top: 2px; } 16 | &.left { margin-left: -2px; } 17 | &.top .tooltip-arrow { #popoverArrow > .top(); } 18 | &.left .tooltip-arrow { #popoverArrow > .left(); } 19 | &.bottom .tooltip-arrow { #popoverArrow > .bottom(); } 20 | &.right .tooltip-arrow { #popoverArrow > .right(); } 21 | } 22 | .tooltip-inner { 23 | max-width: 200px; 24 | padding: 3px 8px; 25 | color: @white; 26 | text-align: center; 27 | text-decoration: none; 28 | background-color: @black; 29 | .border-radius(4px); 30 | } 31 | .tooltip-arrow { 32 | position: absolute; 33 | width: 0; 34 | height: 0; 35 | } 36 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/font-site.less: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'museo-slab'; 3 | src: url('../font/museo_slab_300-webfont.eot'); 4 | src: url('../font/museo_slab_300-webfont.eot?#iefix') format('embedded-opentype'), 5 | url('../font/museo_slab_300-webfont.ttf') format('truetype'); 6 | font-weight: normal; 7 | font-style: normal; 8 | } 9 | 10 | @font-face { 11 | font-family: 'museo-slab'; 12 | src: url('../font/museo_slab_500-webfont.eot'); 13 | src: url('../font/museo_slab_500-webfont.eot?#iefix') format('embedded-opentype'), 14 | url('../font/museo_slab_500-webfont.ttf') format('truetype'); 15 | font-weight: bold; 16 | font-style: normal; 17 | } 18 | 19 | @font-face { 20 | font-family: 'proxima-nova'; 21 | src: url('../font/proximanova-webfont.eot'); 22 | src: url('../font/proximanova-webfont.eot?#iefix') format('embedded-opentype'), 23 | url('../font/proximanova-webfont.ttf') format('truetype'); 24 | font-weight: normal; 25 | font-style: normal; 26 | } 27 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/font-site.less: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'museo-slab'; 3 | src: url('../font/museo_slab_300-webfont.eot'); 4 | src: url('../font/museo_slab_300-webfont.eot?#iefix') format('embedded-opentype'), 5 | url('../font/museo_slab_300-webfont.ttf') format('truetype'); 6 | font-weight: normal; 7 | font-style: normal; 8 | } 9 | 10 | @font-face { 11 | font-family: 'museo-slab'; 12 | src: url('../font/museo_slab_500-webfont.eot'); 13 | src: url('../font/museo_slab_500-webfont.eot?#iefix') format('embedded-opentype'), 14 | url('../font/museo_slab_500-webfont.ttf') format('truetype'); 15 | font-weight: bold; 16 | font-style: normal; 17 | } 18 | 19 | @font-face { 20 | font-family: 'proxima-nova'; 21 | src: url('../font/proximanova-webfont.eot'); 22 | src: url('../font/proximanova-webfont.eot?#iefix') format('embedded-opentype'), 23 | url('../font/proximanova-webfont.ttf') format('truetype'); 24 | font-weight: normal; 25 | font-style: normal; 26 | } 27 | -------------------------------------------------------------------------------- /application/library/Raven/Processor/RemoveCookiesProcessor.php: -------------------------------------------------------------------------------- 1 | 17 | */ 18 | final class Raven_Processor_RemoveCookiesProcessor extends Raven_Processor 19 | { 20 | /** 21 | * {@inheritdoc} 22 | */ 23 | public function process(&$data) 24 | { 25 | if (isset($data['request'])) { 26 | if (isset($data['request']['cookies'])) { 27 | $data['request']['cookies'] = self::STRING_MASK; 28 | } 29 | 30 | if (isset($data['request']['headers']) && isset($data['request']['headers']['Cookie'])) { 31 | $data['request']['headers']['Cookie'] = self::STRING_MASK; 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /application/library/Raven/Processor.php: -------------------------------------------------------------------------------- 1 | client = $client; 28 | } 29 | 30 | /** 31 | * Override the default processor options 32 | * 33 | * @param array $options Associative array of processor options 34 | */ 35 | public function setProcessorOptions(array $options) 36 | { 37 | } 38 | 39 | /** 40 | * Process and sanitize data, modifying the existing value if necessary. 41 | * 42 | * @param array $data Array of log data 43 | */ 44 | abstract public function process(&$data); 45 | } 46 | -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 Adam Shaw 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/MIT-LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2009 Adam Shaw 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /application/library/Raven/Autoloader.php: -------------------------------------------------------------------------------- 1 | li` are overriden in responsive files 4 | 5 | // Make wrapper ul behave like the grid 6 | .thumbnails { 7 | margin-left: -@gridGutterWidth; 8 | list-style: none; 9 | .clearfix(); 10 | } 11 | // Fluid rows have no left margin 12 | .row-fluid .thumbnails { 13 | margin-left: 0; 14 | } 15 | 16 | // Float li to make thumbnails appear in a row 17 | .thumbnails > li { 18 | float: left; // Explicity set the float since we don't require .span* classes 19 | margin-bottom: @baseLineHeight; 20 | margin-left: @gridGutterWidth; 21 | } 22 | 23 | // The actual thumbnail (can be `a` or `div`) 24 | .thumbnail { 25 | display: block; 26 | padding: 4px; 27 | line-height: 1; 28 | border: 1px solid #ddd; 29 | .border-radius(4px); 30 | .box-shadow(0 1px 1px rgba(0,0,0,.075)); 31 | } 32 | // Add a hover state for linked versions only 33 | a.thumbnail:hover { 34 | border-color: @linkColor; 35 | .box-shadow(0 1px 4px rgba(0,105,214,.25)); 36 | } 37 | 38 | // Images and captions 39 | .thumbnail > img { 40 | display: block; 41 | max-width: 100%; 42 | margin-left: auto; 43 | margin-right: auto; 44 | } 45 | .thumbnail .caption { 46 | padding: 9px; 47 | } 48 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/thumbnails.less: -------------------------------------------------------------------------------- 1 | // THUMBNAILS 2 | // ---------- 3 | // Note: `.thumbnails` and `.thumbnails > li` are overriden in responsive files 4 | 5 | // Make wrapper ul behave like the grid 6 | .thumbnails { 7 | margin-left: -@gridGutterWidth; 8 | list-style: none; 9 | .clearfix(); 10 | } 11 | // Fluid rows have no left margin 12 | .row-fluid .thumbnails { 13 | margin-left: 0; 14 | } 15 | 16 | // Float li to make thumbnails appear in a row 17 | .thumbnails > li { 18 | float: left; // Explicity set the float since we don't require .span* classes 19 | margin-bottom: @baseLineHeight; 20 | margin-left: @gridGutterWidth; 21 | } 22 | 23 | // The actual thumbnail (can be `a` or `div`) 24 | .thumbnail { 25 | display: block; 26 | padding: 4px; 27 | line-height: 1; 28 | border: 1px solid #ddd; 29 | .border-radius(4px); 30 | .box-shadow(0 1px 1px rgba(0,0,0,.075)); 31 | } 32 | // Add a hover state for linked versions only 33 | a.thumbnail:hover { 34 | border-color: @linkColor; 35 | .box-shadow(0 1px 4px rgba(0,105,214,.25)); 36 | } 37 | 38 | // Images and captions 39 | .thumbnail > img { 40 | display: block; 41 | max-width: 100%; 42 | margin-left: auto; 43 | margin-right: auto; 44 | } 45 | .thumbnail .caption { 46 | padding: 9px; 47 | } 48 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/responsive.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Responsive v2.0.3 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | */ 10 | 11 | 12 | // Responsive.less 13 | // For phone and tablet devices 14 | // ------------------------------------------------------------- 15 | 16 | 17 | // REPEAT VARIABLES & MIXINS 18 | // ------------------------- 19 | // Required since we compile the responsive stuff separately 20 | 21 | @import "variables.less"; // Modify this for custom colors, font-sizes, etc 22 | @import "mixins.less"; 23 | 24 | 25 | // RESPONSIVE CLASSES 26 | // ------------------ 27 | 28 | @import "responsive-utilities.less"; 29 | 30 | 31 | // MEDIA QUERIES 32 | // ------------------ 33 | 34 | // Phones to portrait tablets and narrow desktops 35 | @import "responsive-767px-max.less"; 36 | 37 | // Tablets to regular desktops 38 | @import "responsive-768px-979px.less"; 39 | 40 | // Large desktops 41 | @import "responsive-1200px-min.less"; 42 | 43 | 44 | // RESPONSIVE NAVBAR 45 | // ------------------ 46 | 47 | // From 979px and below, show a button to toggle navbar contents 48 | @import "responsive-navbar.less"; 49 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/responsive.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Responsive v2.0.3 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | */ 10 | 11 | 12 | // Responsive.less 13 | // For phone and tablet devices 14 | // ------------------------------------------------------------- 15 | 16 | 17 | // REPEAT VARIABLES & MIXINS 18 | // ------------------------- 19 | // Required since we compile the responsive stuff separately 20 | 21 | @import "variables.less"; // Modify this for custom colors, font-sizes, etc 22 | @import "mixins.less"; 23 | 24 | 25 | // RESPONSIVE CLASSES 26 | // ------------------ 27 | 28 | @import "responsive-utilities.less"; 29 | 30 | 31 | // MEDIA QUERIES 32 | // ------------------ 33 | 34 | // Phones to portrait tablets and narrow desktops 35 | @import "responsive-767px-max.less"; 36 | 37 | // Tablets to regular desktops 38 | @import "responsive-768px-979px.less"; 39 | 40 | // Large desktops 41 | @import "responsive-1200px-min.less"; 42 | 43 | 44 | // RESPONSIVE NAVBAR 45 | // ------------------ 46 | 47 | // From 979px and below, show a button to toggle navbar contents 48 | @import "responsive-navbar.less"; 49 | -------------------------------------------------------------------------------- /application/library/Raven/TransactionStack.php: -------------------------------------------------------------------------------- 1 | stack = array(); 16 | } 17 | 18 | public function clear() 19 | { 20 | $this->stack = array(); 21 | } 22 | 23 | public function peek() 24 | { 25 | $len = count($this->stack); 26 | if ($len === 0) { 27 | return null; 28 | } 29 | return $this->stack[$len - 1]; 30 | } 31 | 32 | public function push($context) 33 | { 34 | $this->stack[] = $context; 35 | } 36 | 37 | /** @noinspection PhpInconsistentReturnPointsInspection 38 | * @param string|null $context 39 | * @return mixed 40 | */ 41 | public function pop($context = null) 42 | { 43 | if (!$context) { 44 | return array_pop($this->stack); 45 | } 46 | while (!empty($this->stack)) { 47 | if (array_pop($this->stack) === $context) { 48 | return $context; 49 | } 50 | } 51 | // @codeCoverageIgnoreStart 52 | } 53 | // @codeCoverageIgnoreEnd 54 | } 55 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/pagination.less: -------------------------------------------------------------------------------- 1 | // PAGINATION 2 | // ---------- 3 | 4 | .pagination { 5 | height: @baseLineHeight * 2; 6 | margin: @baseLineHeight 0; 7 | } 8 | .pagination ul { 9 | display: inline-block; 10 | .ie7-inline-block(); 11 | margin-left: 0; 12 | margin-bottom: 0; 13 | .border-radius(3px); 14 | .box-shadow(0 1px 2px rgba(0,0,0,.05)); 15 | } 16 | .pagination li { 17 | display: inline; 18 | } 19 | .pagination a { 20 | float: left; 21 | padding: 0 14px; 22 | line-height: (@baseLineHeight * 2) - 2; 23 | text-decoration: none; 24 | border: 1px solid #ddd; 25 | border-left-width: 0; 26 | } 27 | .pagination a:hover, 28 | .pagination .active a { 29 | background-color: #f5f5f5; 30 | } 31 | .pagination .active a { 32 | color: @grayLight; 33 | cursor: default; 34 | } 35 | .pagination .disabled span, 36 | .pagination .disabled a, 37 | .pagination .disabled a:hover { 38 | color: @grayLight; 39 | background-color: transparent; 40 | cursor: default; 41 | } 42 | .pagination li:first-child a { 43 | border-left-width: 1px; 44 | .border-radius(3px 0 0 3px); 45 | } 46 | .pagination li:last-child a { 47 | .border-radius(0 3px 3px 0); 48 | } 49 | 50 | // Centered 51 | .pagination-centered { 52 | text-align: center; 53 | } 54 | .pagination-right { 55 | text-align: right; 56 | } 57 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/pagination.less: -------------------------------------------------------------------------------- 1 | // PAGINATION 2 | // ---------- 3 | 4 | .pagination { 5 | height: @baseLineHeight * 2; 6 | margin: @baseLineHeight 0; 7 | } 8 | .pagination ul { 9 | display: inline-block; 10 | .ie7-inline-block(); 11 | margin-left: 0; 12 | margin-bottom: 0; 13 | .border-radius(3px); 14 | .box-shadow(0 1px 2px rgba(0,0,0,.05)); 15 | } 16 | .pagination li { 17 | display: inline; 18 | } 19 | .pagination a { 20 | float: left; 21 | padding: 0 14px; 22 | line-height: (@baseLineHeight * 2) - 2; 23 | text-decoration: none; 24 | border: 1px solid #ddd; 25 | border-left-width: 0; 26 | } 27 | .pagination a:hover, 28 | .pagination .active a { 29 | background-color: #f5f5f5; 30 | } 31 | .pagination .active a { 32 | color: @grayLight; 33 | cursor: default; 34 | } 35 | .pagination .disabled span, 36 | .pagination .disabled a, 37 | .pagination .disabled a:hover { 38 | color: @grayLight; 39 | background-color: transparent; 40 | cursor: default; 41 | } 42 | .pagination li:first-child a { 43 | border-left-width: 1px; 44 | .border-radius(3px 0 0 3px); 45 | } 46 | .pagination li:last-child a { 47 | .border-radius(0 3px 3px 0); 48 | } 49 | 50 | // Centered 51 | .pagination-centered { 52 | text-align: center; 53 | } 54 | .pagination-right { 55 | text-align: right; 56 | } 57 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/alerts.less: -------------------------------------------------------------------------------- 1 | // ALERT STYLES 2 | // ------------ 3 | 4 | // Base alert styles 5 | .alert { 6 | padding: 8px 35px 8px 14px; 7 | margin-bottom: @baseLineHeight; 8 | text-shadow: 0 1px 0 rgba(255,255,255,.5); 9 | background-color: @warningBackground; 10 | border: 1px solid @warningBorder; 11 | .border-radius(4px); 12 | color: @warningText; 13 | } 14 | .alert-heading { 15 | color: inherit; 16 | } 17 | 18 | // Adjust close link position 19 | .alert .close { 20 | position: relative; 21 | top: -2px; 22 | right: -21px; 23 | line-height: 18px; 24 | } 25 | 26 | // Alternate styles 27 | // ---------------- 28 | 29 | .alert-success { 30 | background-color: @successBackground; 31 | border-color: @successBorder; 32 | color: @successText; 33 | } 34 | .alert-danger, 35 | .alert-error { 36 | background-color: @errorBackground; 37 | border-color: @errorBorder; 38 | color: @errorText; 39 | } 40 | .alert-info { 41 | background-color: @infoBackground; 42 | border-color: @infoBorder; 43 | color: @infoText; 44 | } 45 | 46 | // Block alerts 47 | // ------------------------ 48 | .alert-block { 49 | padding-top: 14px; 50 | padding-bottom: 14px; 51 | } 52 | .alert-block > p, 53 | .alert-block > ul { 54 | margin-bottom: 0; 55 | } 56 | .alert-block p + p { 57 | margin-top: 5px; 58 | } 59 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/responsive-utilities.less: -------------------------------------------------------------------------------- 1 | // RESPONSIVE CLASSES 2 | // ------------------ 3 | 4 | // Hide from screenreaders and browsers 5 | // Credit: HTML5 Boilerplate 6 | .hidden { 7 | display: none; 8 | visibility: hidden; 9 | } 10 | 11 | // Visibility utilities 12 | 13 | // For desktops 14 | .visible-phone { display: none !important; } 15 | .visible-tablet { display: none !important; } 16 | .visible-desktop { } // Don't set initially 17 | .hidden-phone { } 18 | .hidden-tablet { } 19 | .hidden-desktop { display: none !important; } 20 | 21 | // Phones only 22 | @media (max-width: 767px) { 23 | // Show 24 | .visible-phone { display: inherit !important; } // Use inherit to restore previous behavior 25 | // Hide 26 | .hidden-phone { display: none !important; } 27 | // Hide everything else 28 | .hidden-desktop { display: inherit !important; } 29 | .visible-desktop { display: none !important; } 30 | } 31 | 32 | // Tablets & small desktops only 33 | @media (min-width: 768px) and (max-width: 979px) { 34 | // Show 35 | .visible-tablet { display: inherit !important; } 36 | // Hide 37 | .hidden-tablet { display: none !important; } 38 | // Hide everything else 39 | .hidden-desktop { display: inherit !important; } 40 | .visible-desktop { display: none !important ; } 41 | } 42 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/alerts.less: -------------------------------------------------------------------------------- 1 | // ALERT STYLES 2 | // ------------ 3 | 4 | // Base alert styles 5 | .alert { 6 | padding: 8px 35px 8px 14px; 7 | margin-bottom: @baseLineHeight; 8 | text-shadow: 0 1px 0 rgba(255,255,255,.5); 9 | background-color: @warningBackground; 10 | border: 1px solid @warningBorder; 11 | .border-radius(4px); 12 | color: @warningText; 13 | } 14 | .alert-heading { 15 | color: inherit; 16 | } 17 | 18 | // Adjust close link position 19 | .alert .close { 20 | position: relative; 21 | top: -2px; 22 | right: -21px; 23 | line-height: 18px; 24 | } 25 | 26 | // Alternate styles 27 | // ---------------- 28 | 29 | .alert-success { 30 | background-color: @successBackground; 31 | border-color: @successBorder; 32 | color: @successText; 33 | } 34 | .alert-danger, 35 | .alert-error { 36 | background-color: @errorBackground; 37 | border-color: @errorBorder; 38 | color: @errorText; 39 | } 40 | .alert-info { 41 | background-color: @infoBackground; 42 | border-color: @infoBorder; 43 | color: @infoText; 44 | } 45 | 46 | // Block alerts 47 | // ------------------------ 48 | .alert-block { 49 | padding-top: 14px; 50 | padding-bottom: 14px; 51 | } 52 | .alert-block > p, 53 | .alert-block > ul { 54 | margin-bottom: 0; 55 | } 56 | .alert-block p + p { 57 | margin-top: 5px; 58 | } 59 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/popovers.less: -------------------------------------------------------------------------------- 1 | // POPOVERS 2 | // -------- 3 | 4 | .popover { 5 | position: absolute; 6 | top: 0; 7 | left: 0; 8 | z-index: @zindexPopover; 9 | display: none; 10 | padding: 5px; 11 | &.top { margin-top: -5px; } 12 | &.right { margin-left: 5px; } 13 | &.bottom { margin-top: 5px; } 14 | &.left { margin-left: -5px; } 15 | &.top .arrow { #popoverArrow > .top(); } 16 | &.right .arrow { #popoverArrow > .right(); } 17 | &.bottom .arrow { #popoverArrow > .bottom(); } 18 | &.left .arrow { #popoverArrow > .left(); } 19 | .arrow { 20 | position: absolute; 21 | width: 0; 22 | height: 0; 23 | } 24 | } 25 | .popover-inner { 26 | padding: 3px; 27 | width: 280px; 28 | overflow: hidden; 29 | background: @black; // has to be full background declaration for IE fallback 30 | background: rgba(0,0,0,.8); 31 | .border-radius(6px); 32 | .box-shadow(0 3px 7px rgba(0,0,0,0.3)); 33 | } 34 | .popover-title { 35 | padding: 9px 15px; 36 | line-height: 1; 37 | background-color: #f5f5f5; 38 | border-bottom:1px solid #eee; 39 | .border-radius(3px 3px 0 0); 40 | } 41 | .popover-content { 42 | padding: 14px; 43 | background-color: @white; 44 | .border-radius(0 0 3px 3px); 45 | .background-clip(padding-box); 46 | p, ul, ol { 47 | margin-bottom: 0; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/popovers.less: -------------------------------------------------------------------------------- 1 | // POPOVERS 2 | // -------- 3 | 4 | .popover { 5 | position: absolute; 6 | top: 0; 7 | left: 0; 8 | z-index: @zindexPopover; 9 | display: none; 10 | padding: 5px; 11 | &.top { margin-top: -5px; } 12 | &.right { margin-left: 5px; } 13 | &.bottom { margin-top: 5px; } 14 | &.left { margin-left: -5px; } 15 | &.top .arrow { #popoverArrow > .top(); } 16 | &.right .arrow { #popoverArrow > .right(); } 17 | &.bottom .arrow { #popoverArrow > .bottom(); } 18 | &.left .arrow { #popoverArrow > .left(); } 19 | .arrow { 20 | position: absolute; 21 | width: 0; 22 | height: 0; 23 | } 24 | } 25 | .popover-inner { 26 | padding: 3px; 27 | width: 280px; 28 | overflow: hidden; 29 | background: @black; // has to be full background declaration for IE fallback 30 | background: rgba(0,0,0,.8); 31 | .border-radius(6px); 32 | .box-shadow(0 3px 7px rgba(0,0,0,0.3)); 33 | } 34 | .popover-title { 35 | padding: 9px 15px; 36 | line-height: 1; 37 | background-color: #f5f5f5; 38 | border-bottom:1px solid #eee; 39 | .border-radius(3px 3px 0 0); 40 | } 41 | .popover-content { 42 | padding: 14px; 43 | background-color: @white; 44 | .border-radius(0 0 3px 3px); 45 | .background-clip(padding-box); 46 | p, ul, ol { 47 | margin-bottom: 0; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/responsive-utilities.less: -------------------------------------------------------------------------------- 1 | // RESPONSIVE CLASSES 2 | // ------------------ 3 | 4 | // Hide from screenreaders and browsers 5 | // Credit: HTML5 Boilerplate 6 | .hidden { 7 | display: none; 8 | visibility: hidden; 9 | } 10 | 11 | // Visibility utilities 12 | 13 | // For desktops 14 | .visible-phone { display: none !important; } 15 | .visible-tablet { display: none !important; } 16 | .visible-desktop { } // Don't set initially 17 | .hidden-phone { } 18 | .hidden-tablet { } 19 | .hidden-desktop { display: none !important; } 20 | 21 | // Phones only 22 | @media (max-width: 767px) { 23 | // Show 24 | .visible-phone { display: inherit !important; } // Use inherit to restore previous behavior 25 | // Hide 26 | .hidden-phone { display: none !important; } 27 | // Hide everything else 28 | .hidden-desktop { display: inherit !important; } 29 | .visible-desktop { display: none !important; } 30 | } 31 | 32 | // Tablets & small desktops only 33 | @media (min-width: 768px) and (max-width: 979px) { 34 | // Show 35 | .visible-tablet { display: inherit !important; } 36 | // Hide 37 | .hidden-tablet { display: none !important; } 38 | // Hide everything else 39 | .hidden-desktop { display: inherit !important; } 40 | .visible-desktop { display: none !important ; } 41 | } 42 | -------------------------------------------------------------------------------- /application/library/Raven/Breadcrumbs/ErrorHandler.php: -------------------------------------------------------------------------------- 1 | ravenClient = $ravenClient; 18 | } 19 | 20 | public function handleError($code, $message, $file = '', $line = 0, $context = array()) 21 | { 22 | $this->ravenClient->breadcrumbs->record(array( 23 | 'category' => 'error_reporting', 24 | 'message' => $message, 25 | 'level' => $this->ravenClient->translateSeverity($code), 26 | 'data' => array( 27 | 'code' => $code, 28 | 'line' => $line, 29 | 'file' => $file, 30 | ), 31 | )); 32 | 33 | if ($this->existingHandler !== null) { 34 | return call_user_func($this->existingHandler, $code, $message, $file, $line, $context); 35 | } else { 36 | return false; 37 | } 38 | } 39 | 40 | public function install() 41 | { 42 | $this->existingHandler = set_error_handler(array($this, 'handleError'), E_ALL); 43 | return $this; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /application/library/Raven/ReprSerializer.php: -------------------------------------------------------------------------------- 1 | serializeString($value); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /database.sql: -------------------------------------------------------------------------------- 1 | -- phpMyAdmin SQL Dump 2 | -- version 3.3.1 3 | -- http://www.phpmyadmin.net 4 | -- 5 | -- 主机: localhost 6 | -- 生成日期: 2013 年 12 月 18 日 20:03 7 | -- 服务器版本: 5.1.38 8 | -- PHP 版本: 5.5.3 9 | 10 | SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; 11 | 12 | 13 | /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; 14 | /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; 15 | /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; 16 | /*!40101 SET NAMES utf8 */; 17 | 18 | -- 19 | -- 数据库: `yaf_demo` 20 | -- 21 | 22 | -- -------------------------------------------------------- 23 | 24 | -- 25 | -- 表的结构 `admin` 26 | -- 27 | 28 | CREATE TABLE IF NOT EXISTS `admin` ( 29 | `id` int(10) unsigned NOT NULL AUTO_INCREMENT, 30 | `username` varchar(32) NOT NULL, 31 | `password` varchar(32) NOT NULL, 32 | `nickname` varchar(32) NOT NULL, 33 | `realname` varchar(16) NOT NULL, 34 | `email` varchar(255) NOT NULL, 35 | `is_del` enum('0','1') NOT NULL, 36 | PRIMARY KEY (`id`), 37 | KEY `id` (`id`) 38 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理员表' AUTO_INCREMENT=8 ; 39 | 40 | -- 41 | -- 转存表中的数据 `admin` 42 | -- 43 | 44 | INSERT INTO `admin` (`id`, `username`, `password`, `nickname`, `realname`, `email`, `is_del`) VALUES 45 | (1, 'melon', '25d55ad283aa400af464c76d713c07ad', 'melon', 'melon', 'malong.chn@gmail.com', '0'), 46 | (3, 'admin', '25d55ad283aa400af464c76d713c07ad', 'admin', 'admin', 'admin@gmail.com', '0'), 47 | (7, 'melons', 'b45746b95e3ca1a2486ad63222c37c4b', 'melons', 'melons', 'melons@gmail.com', '0'); -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/code.less: -------------------------------------------------------------------------------- 1 | // Code.less 2 | // Code typography styles for the and
 elements
 3 | // --------------------------------------------------------
 4 | 
 5 | // Inline and block code styles
 6 | code,
 7 | pre {
 8 |   padding: 0 3px 2px;
 9 |   #font > #family > .monospace;
10 |   font-size: @baseFontSize - 1;
11 |   color: @grayDark;
12 |   .border-radius(3px);
13 | }
14 | 
15 | // Inline code
16 | code {
17 |   padding: 2px 4px;
18 |   color: #d14;
19 |   background-color: #f7f7f9;
20 |   border: 1px solid #e1e1e8;
21 | }
22 | 
23 | // Blocks of code
24 | pre {
25 |   display: block;
26 |   padding: (@baseLineHeight - 1) / 2;
27 |   margin: 0 0 @baseLineHeight / 2;
28 |   font-size: @baseFontSize * .925; // 13px to 12px
29 |   line-height: @baseLineHeight;
30 |   word-break: break-all;
31 |   word-wrap: break-word;
32 |   white-space: pre;
33 |   white-space: pre-wrap;
34 |   background-color: #f5f5f5;
35 |   border: 1px solid #ccc; // fallback for IE7-8
36 |   border: 1px solid rgba(0,0,0,.15);
37 |   .border-radius(4px);
38 | 
39 |   // Make prettyprint styles more spaced out for readability
40 |   &.prettyprint {
41 |     margin-bottom: @baseLineHeight;
42 |   }
43 | 
44 |   // Account for some code outputs that place code tags in pre tags
45 |   code {
46 |     padding: 0;
47 |     color: inherit;
48 |     background-color: transparent;
49 |     border: 0;
50 |   }
51 | }
52 | 
53 | // Enable scrollable blocks of code
54 | .pre-scrollable {
55 |   max-height: 340px;
56 |   overflow-y: scroll;
57 | }


--------------------------------------------------------------------------------
/public/lib/lib/font-awesome/docs/assets/less/twbs-203/code.less:
--------------------------------------------------------------------------------
 1 | // Code.less
 2 | // Code typography styles for the  and 
 elements
 3 | // --------------------------------------------------------
 4 | 
 5 | // Inline and block code styles
 6 | code,
 7 | pre {
 8 |   padding: 0 3px 2px;
 9 |   #font > #family > .monospace;
10 |   font-size: @baseFontSize - 1;
11 |   color: @grayDark;
12 |   .border-radius(3px);
13 | }
14 | 
15 | // Inline code
16 | code {
17 |   padding: 2px 4px;
18 |   color: #d14;
19 |   background-color: #f7f7f9;
20 |   border: 1px solid #e1e1e8;
21 | }
22 | 
23 | // Blocks of code
24 | pre {
25 |   display: block;
26 |   padding: (@baseLineHeight - 1) / 2;
27 |   margin: 0 0 @baseLineHeight / 2;
28 |   font-size: @baseFontSize * .925; // 13px to 12px
29 |   line-height: @baseLineHeight;
30 |   word-break: break-all;
31 |   word-wrap: break-word;
32 |   white-space: pre;
33 |   white-space: pre-wrap;
34 |   background-color: #f5f5f5;
35 |   border: 1px solid #ccc; // fallback for IE7-8
36 |   border: 1px solid rgba(0,0,0,.15);
37 |   .border-radius(4px);
38 | 
39 |   // Make prettyprint styles more spaced out for readability
40 |   &.prettyprint {
41 |     margin-bottom: @baseLineHeight;
42 |   }
43 | 
44 |   // Account for some code outputs that place code tags in pre tags
45 |   code {
46 |     padding: 0;
47 |     color: inherit;
48 |     background-color: transparent;
49 |     border: 0;
50 |   }
51 | }
52 | 
53 | // Enable scrollable blocks of code
54 | .pre-scrollable {
55 |   max-height: 340px;
56 |   overflow-y: scroll;
57 | }


--------------------------------------------------------------------------------
/application/controllers/Error.php:
--------------------------------------------------------------------------------
 1 | LogException($exception);
 9 |         Yaf_Dispatcher::getInstance()->autoRender(false);
10 |         $e = $exception->getPrevious();
11 |         if (!empty($e)){
12 |             $errors = $e;
13 |             $errMessage = $e->getMessage();
14 |             $errFile = $e->getFile();
15 |             $errLine = $e->getLine();
16 |         }else{
17 |             $errors = $exception;
18 |             $errMessage = $exception->getMessage();
19 |             $errFile = $exception->getFile();
20 |             $errLine = $exception->getLine();
21 |         }
22 |         switch ($exception->getCode()) {
23 |         case YAF_ERR_AUTOLOAD_FAILED:
24 |         case YAF_ERR_NOTFOUND_MODULE:
25 |         case YAF_ERR_NOTFOUND_CONTROLLER:
26 |         case YAF_ERR_NOTFOUND_ACTION:
27 |         case YAF_ERR_NOTFOUND_VIEW:
28 |             header('HTTP/1.1 404 Not Found');
29 |             Log::error(Log::NOTICE, $errMessage . ' IN FILE ' . $errFile . ' ON LINE ' . $errLine);
30 |             break;
31 |         default:
32 |             //记录文件错误日志
33 |             Log::error(Log::ERROR, $errMessage . ' IN FILE ' . $errFile . ' ON LINE ' . $errLine);
34 |             header('HTTP/1.1 500 Internal Server Error');
35 |             break;
36 |         }
37 |         //这里添加了使用sentry进行异常捕获
38 |         //sentry错误搜集
39 |     }
40 | }
41 | 


--------------------------------------------------------------------------------
/public/lib/fullcalendar-1.5.3/fullcalendar/fullcalendar.print.css:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * FullCalendar v1.5.3 Print Stylesheet
 3 |  *
 4 |  * Include this stylesheet on your page to get a more printer-friendly calendar.
 5 |  * When including this stylesheet, use the media='print' attribute of the  tag.
 6 |  * Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css.
 7 |  *
 8 |  * Copyright (c) 2011 Adam Shaw
 9 |  * Dual licensed under the MIT and GPL licenses, located in
10 |  * MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
11 |  *
12 |  * Date: Mon Feb 6 22:40:40 2012 -0800
13 |  *
14 |  */
15 |  
16 |  
17 |  /* Events
18 | -----------------------------------------------------*/
19 |  
20 | .fc-event-skin {
21 | 	background: none !important;
22 | 	color: #000 !important;
23 | 	}
24 | 	
25 | /* horizontal events */
26 | 	
27 | .fc-event-hori {
28 | 	border-width: 0 0 1px 0 !important;
29 | 	border-bottom-style: dotted !important;
30 | 	border-bottom-color: #000 !important;
31 | 	padding: 1px 0 0 0 !important;
32 | 	}
33 | 	
34 | .fc-event-hori .fc-event-inner {
35 | 	border-width: 0 !important;
36 | 	padding: 0 1px !important;
37 | 	}
38 | 	
39 | /* vertical events */
40 | 	
41 | .fc-event-vert {
42 | 	border-width: 0 0 0 1px !important;
43 | 	border-left-style: dotted !important;
44 | 	border-left-color: #000 !important;
45 | 	padding: 0 1px 0 0 !important;
46 | 	}
47 | 	
48 | .fc-event-vert .fc-event-inner {
49 | 	border-width: 0 !important;
50 | 	padding: 1px 0 !important;
51 | 	}
52 | 	
53 | .fc-event-bg {
54 | 	display: none !important;
55 | 	}
56 | 	
57 | .fc-event .ui-resizable-handle {
58 | 	display: none !important;
59 | 	}
60 | 	
61 | 	
62 | 


--------------------------------------------------------------------------------
/public/lib/lib/fullcalendar-1.5.3/fullcalendar/fullcalendar.print.css:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * FullCalendar v1.5.3 Print Stylesheet
 3 |  *
 4 |  * Include this stylesheet on your page to get a more printer-friendly calendar.
 5 |  * When including this stylesheet, use the media='print' attribute of the  tag.
 6 |  * Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css.
 7 |  *
 8 |  * Copyright (c) 2011 Adam Shaw
 9 |  * Dual licensed under the MIT and GPL licenses, located in
10 |  * MIT-LICENSE.txt and GPL-LICENSE.txt respectively.
11 |  *
12 |  * Date: Mon Feb 6 22:40:40 2012 -0800
13 |  *
14 |  */
15 |  
16 |  
17 |  /* Events
18 | -----------------------------------------------------*/
19 |  
20 | .fc-event-skin {
21 | 	background: none !important;
22 | 	color: #000 !important;
23 | 	}
24 | 	
25 | /* horizontal events */
26 | 	
27 | .fc-event-hori {
28 | 	border-width: 0 0 1px 0 !important;
29 | 	border-bottom-style: dotted !important;
30 | 	border-bottom-color: #000 !important;
31 | 	padding: 1px 0 0 0 !important;
32 | 	}
33 | 	
34 | .fc-event-hori .fc-event-inner {
35 | 	border-width: 0 !important;
36 | 	padding: 0 1px !important;
37 | 	}
38 | 	
39 | /* vertical events */
40 | 	
41 | .fc-event-vert {
42 | 	border-width: 0 0 0 1px !important;
43 | 	border-left-style: dotted !important;
44 | 	border-left-color: #000 !important;
45 | 	padding: 0 1px 0 0 !important;
46 | 	}
47 | 	
48 | .fc-event-vert .fc-event-inner {
49 | 	border-width: 0 !important;
50 | 	padding: 1px 0 !important;
51 | 	}
52 | 	
53 | .fc-event-bg {
54 | 	display: none !important;
55 | 	}
56 | 	
57 | .fc-event .ui-resizable-handle {
58 | 	display: none !important;
59 | 	}
60 | 	
61 | 	
62 | 


--------------------------------------------------------------------------------
/application/library/Captcha.php:
--------------------------------------------------------------------------------
 1 | _config = Yaf_Registry::get("config");
16 |         $this->_redis = new Redis();
17 |         $this->_redis->connect($this->_config->redis->host);
18 |         $this->_redis->setOption(Redis::OPT_PREFIX, $this->_config->redis->prefix);
19 |         $this->_sid = session_id();
20 |         $this->_error = new errorCode();
21 |     }
22 | 
23 |     public function setCacheCode($code) {
24 |         $this->_redis->set($this->_sid, $code);
25 |         return $this->_redis->expire($this->_sid, $this->expire);
26 |     }
27 | 
28 |     /**
29 |      * 
30 |      * 获取缓存的验证码
31 |      * 
32 |      * @param type $input
33 |      */
34 |     public function getCacheCode() {
35 |         return $this->_redis->get($this->_sid);
36 |     }
37 | 
38 |     /**
39 |      * 验证码校验
40 |      * @param string $code
41 |      * @param boolean $clean
42 |      * @return boolean
43 |      */
44 |     public function verifyCode($code, $clean = false) {
45 |         $cacheCode = $this->getCacheCode();
46 |         if (!$cacheCode) {
47 |             return $this->_error->getError(4003, 'api');
48 |         } elseif (strtolower($cacheCode) !== strtolower($code)) {
49 |             return $this->_error->getError(4004, 'api');
50 |         }
51 |         $clean ? $this->cleanCacheCode() : null;
52 |         return true;
53 |     }
54 |     /*
55 |      * 
56 |      * 清除验证码缓存
57 |      * 
58 |      */
59 |     public function cleanCacheCode() {
60 |         $this->_redis->del($this->_sid);
61 |     }
62 | 
63 | }
64 | 


--------------------------------------------------------------------------------
/application/library/Log.php:
--------------------------------------------------------------------------------
 1 | app->log;                                                    
23 |         $message = date('Y/m/d H:i:s') . ' [' . $level . ']' .' ['.$fileName.'] '. $message . PHP_EOL;       
24 |         $message .= $debugInfo[0]['file']. ' ('.$debugInfo[0]['line'].')'.PHP_EOL;                           
25 |         file_put_contents($filePath.$fileName."-".date('Y-m-d').'.log', $message, FILE_APPEND);   
26 |     }
27 |     /**
28 |      * [记录程序错误日志]
29 |      * @param  [type] $level   [description]
30 |      * @param  [type] $message [description]
31 |      * @param  [type] $context [description]
32 |      * @return [type]          [description]
33 |      */
34 |     public static function error($level, $message)
35 |     {
36 |         $filePath = Yaf_Registry::get('config')->app->log;
37 |         $message = '[' . date('Y-m-d H:i:s') . '][' . $level . ']' . $message . PHP_EOL;
38 |         file_put_contents($filePath.$level."-".date('Y-m-d').'.log', $message, FILE_APPEND);
39 |     }
40 | }
41 | 
42 | 
43 | 


--------------------------------------------------------------------------------
/application/library/Raven/Breadcrumbs.php:
--------------------------------------------------------------------------------
 1 | size = $size;
30 |         $this->reset();
31 |     }
32 | 
33 |     public function reset()
34 |     {
35 |         $this->count = 0;
36 |         $this->pos = 0;
37 |         $this->buffer = array();
38 |     }
39 | 
40 |     public function record($crumb)
41 |     {
42 |         if (empty($crumb['timestamp'])) {
43 |             $crumb['timestamp'] = microtime(true);
44 |         }
45 |         $this->buffer[$this->pos] = $crumb;
46 |         $this->pos = ($this->pos + 1) % $this->size;
47 |         $this->count++;
48 |     }
49 | 
50 |     /**
51 |      * @return array[]
52 |      */
53 |     public function fetch()
54 |     {
55 |         $results = array();
56 |         for ($i = 0; $i <= ($this->size - 1); $i++) {
57 |             $idx = ($this->pos + $i) % $this->size;
58 |             if (isset($this->buffer[$idx])) {
59 |                 $results[] = $this->buffer[$idx];
60 |             }
61 |         }
62 |         return $results;
63 |     }
64 | 
65 |     public function is_empty()
66 |     {
67 |         return $this->count === 0;
68 |     }
69 | 
70 |     public function to_json()
71 |     {
72 |         return array(
73 |             'values' => $this->fetch(),
74 |         );
75 |     }
76 | }
77 | 


--------------------------------------------------------------------------------
/public/lib/fullcalendar-1.5.3/demos/json.html:
--------------------------------------------------------------------------------
 1 | 
 2 | 
 3 | 
 4 | 
 5 | 
 6 | 
 7 | 
 8 | 
 9 | 
34 | 
55 | 
56 | 
57 | 
58 | 
59 |

json-events.php needs to be running in the same directory.

60 | 61 | 62 | -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/json.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 34 | 55 | 56 | 57 | 58 |
59 |

json-events.php needs to be running in the same directory.

60 | 61 | 62 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/labels-badges.less: -------------------------------------------------------------------------------- 1 | // LABELS & BADGES 2 | // --------------- 3 | 4 | // Base classes 5 | .label, 6 | .badge { 7 | font-size: @baseFontSize * .846; 8 | font-weight: bold; 9 | line-height: 14px; // ensure proper line-height if floated 10 | color: @white; 11 | vertical-align: baseline; 12 | white-space: nowrap; 13 | text-shadow: 0 -1px 0 rgba(0,0,0,.25); 14 | background-color: @grayLight; 15 | } 16 | // Set unique padding and border-radii 17 | .label { 18 | padding: 1px 4px 2px; 19 | .border-radius(3px); 20 | } 21 | .badge { 22 | padding: 1px 9px 2px; 23 | .border-radius(9px); 24 | } 25 | 26 | // Hover state, but only for links 27 | a { 28 | &.label:hover, 29 | &.badge:hover { 30 | color: @white; 31 | text-decoration: none; 32 | cursor: pointer; 33 | } 34 | } 35 | 36 | // Colors 37 | // Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute) 38 | .label, 39 | .badge { 40 | // Important (red) 41 | &-important { background-color: @errorText; } 42 | &-important[href] { background-color: darken(@errorText, 10%); } 43 | // Warnings (orange) 44 | &-warning { background-color: @orange; } 45 | &-warning[href] { background-color: darken(@orange, 10%); } 46 | // Success (green) 47 | &-success { background-color: @successText; } 48 | &-success[href] { background-color: darken(@successText, 10%); } 49 | // Info (turquoise) 50 | &-info { background-color: @infoText; } 51 | &-info[href] { background-color: darken(@infoText, 10%); } 52 | // Inverse (black) 53 | &-inverse { background-color: @grayDark; } 54 | &-inverse[href] { background-color: darken(@grayDark, 10%); } 55 | } 56 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/labels-badges.less: -------------------------------------------------------------------------------- 1 | // LABELS & BADGES 2 | // --------------- 3 | 4 | // Base classes 5 | .label, 6 | .badge { 7 | font-size: @baseFontSize * .846; 8 | font-weight: bold; 9 | line-height: 14px; // ensure proper line-height if floated 10 | color: @white; 11 | vertical-align: baseline; 12 | white-space: nowrap; 13 | text-shadow: 0 -1px 0 rgba(0,0,0,.25); 14 | background-color: @grayLight; 15 | } 16 | // Set unique padding and border-radii 17 | .label { 18 | padding: 1px 4px 2px; 19 | .border-radius(3px); 20 | } 21 | .badge { 22 | padding: 1px 9px 2px; 23 | .border-radius(9px); 24 | } 25 | 26 | // Hover state, but only for links 27 | a { 28 | &.label:hover, 29 | &.badge:hover { 30 | color: @white; 31 | text-decoration: none; 32 | cursor: pointer; 33 | } 34 | } 35 | 36 | // Colors 37 | // Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute) 38 | .label, 39 | .badge { 40 | // Important (red) 41 | &-important { background-color: @errorText; } 42 | &-important[href] { background-color: darken(@errorText, 10%); } 43 | // Warnings (orange) 44 | &-warning { background-color: @orange; } 45 | &-warning[href] { background-color: darken(@orange, 10%); } 46 | // Success (green) 47 | &-success { background-color: @successText; } 48 | &-success[href] { background-color: darken(@successText, 10%); } 49 | // Info (turquoise) 50 | &-info { background-color: @infoText; } 51 | &-info[href] { background-color: darken(@infoText, 10%); } 52 | // Inverse (black) 53 | &-inverse { background-color: @grayDark; } 54 | &-inverse[href] { background-color: darken(@grayDark, 10%); } 55 | } 56 | -------------------------------------------------------------------------------- /application/models/Bulletin.php: -------------------------------------------------------------------------------- 1 | _db->insert($table, $data); 12 | return $lastid; 13 | } 14 | /** 15 | * 插入发送的公告 16 | * @param [str] $table [数据表名称] 17 | * @param [array] $columns [数据字段名] 18 | * @param [array(array())] $rows [2维数组的 数据内容] 19 | */ 20 | public function InsertQueue($table, $columns, $rows){ 21 | return $this->_db->insertMultiple($table, $columns, $rows); 22 | } 23 | /** 24 | * 删除数据 25 | * @param [type] $table [数据表名] 26 | * @param [array] $condition [条件] 27 | */ 28 | public function Delete($table, $conditions){ 29 | return $this->_db->delete($table, $conditions); 30 | } 31 | /** 32 | * 获取数据列表 33 | */ 34 | public function GetList(){ 35 | $time = time(); 36 | $sql = "SELECT * FROM `BulletinList` WHERE endtime > '{$time}'"; 37 | return $this->_db->query($sql); 38 | } 39 | /** 40 | * 获取固定时间段内数据获取(默认5分钟) 41 | * @param [type] $startime [开始时间] 42 | */ 43 | public function GetQueueList($startime){ 44 | $endtime = $startime + 300; 45 | $sql = "SELECT content FROM `BulletinQueue` WHERE `logtime`>'{$startime}' AND `logtime`<='{$endtime}' "; 46 | try{ 47 | return $this->_db->query($sql); 48 | } catch( Exception $e){ 49 | return array(); 50 | } 51 | } 52 | /** 53 | * 将数据添加到redis队列 54 | * @param [str] $data [str数据] 55 | */ 56 | public function PushData($data){ 57 | $this->_redis->lPush('gmbulletin', $data); 58 | return true; 59 | } 60 | /** 61 | * [GetQueue 获取队列中数据] 62 | */ 63 | public function GetQueue(){ 64 | return $this->_redis->rPop('gmbulletin'); 65 | } 66 | } -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/bootstrap.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v2.0.3 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | */ 10 | 11 | // CSS Reset 12 | @import "reset.less"; 13 | 14 | // Core variables and mixins 15 | @import "variables.less"; // Modify this for custom colors, font-sizes, etc 16 | @import "mixins.less"; 17 | 18 | // Grid system and page structure 19 | @import "scaffolding.less"; 20 | @import "grid.less"; 21 | @import "layouts.less"; 22 | 23 | // Base CSS 24 | @import "type.less"; 25 | @import "code.less"; 26 | @import "forms.less"; 27 | @import "tables.less"; 28 | 29 | // Components: common 30 | @import "../../font/font-awesome/font-awesome.less"; 31 | @import "dropdowns.less"; 32 | @import "wells.less"; 33 | @import "component-animations.less"; 34 | @import "close.less"; 35 | 36 | // Components: Buttons & Alerts 37 | @import "buttons.less"; 38 | @import "button-groups.less"; 39 | @import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less 40 | 41 | // Components: Nav 42 | @import "navs.less"; 43 | @import "navbar.less"; 44 | @import "breadcrumbs.less"; 45 | @import "pagination.less"; 46 | @import "pager.less"; 47 | 48 | // Components: Popovers 49 | @import "modals.less"; 50 | @import "tooltip.less"; 51 | @import "popovers.less"; 52 | 53 | // Components: Misc 54 | @import "thumbnails.less"; 55 | @import "labels-badges.less"; 56 | @import "progress-bars.less"; 57 | @import "accordion.less"; 58 | @import "carousel.less"; 59 | @import "hero-unit.less"; 60 | 61 | // Utility classes 62 | @import "utilities.less"; // Has to be last to override when necessary 63 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/bootstrap.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v2.0.3 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | */ 10 | 11 | // CSS Reset 12 | @import "reset.less"; 13 | 14 | // Core variables and mixins 15 | @import "variables.less"; // Modify this for custom colors, font-sizes, etc 16 | @import "mixins.less"; 17 | 18 | // Grid system and page structure 19 | @import "scaffolding.less"; 20 | @import "grid.less"; 21 | @import "layouts.less"; 22 | 23 | // Base CSS 24 | @import "type.less"; 25 | @import "code.less"; 26 | @import "forms.less"; 27 | @import "tables.less"; 28 | 29 | // Components: common 30 | @import "../../font/font-awesome/font-awesome.less"; 31 | @import "dropdowns.less"; 32 | @import "wells.less"; 33 | @import "component-animations.less"; 34 | @import "close.less"; 35 | 36 | // Components: Buttons & Alerts 37 | @import "buttons.less"; 38 | @import "button-groups.less"; 39 | @import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less 40 | 41 | // Components: Nav 42 | @import "navs.less"; 43 | @import "navbar.less"; 44 | @import "breadcrumbs.less"; 45 | @import "pagination.less"; 46 | @import "pager.less"; 47 | 48 | // Components: Popovers 49 | @import "modals.less"; 50 | @import "tooltip.less"; 51 | @import "popovers.less"; 52 | 53 | // Components: Misc 54 | @import "thumbnails.less"; 55 | @import "labels-badges.less"; 56 | @import "progress-bars.less"; 57 | @import "accordion.less"; 58 | @import "carousel.less"; 59 | @import "hero-unit.less"; 60 | 61 | // Utility classes 62 | @import "utilities.less"; // Has to be last to override when necessary 63 | -------------------------------------------------------------------------------- /application/components/Controller/Base.php: -------------------------------------------------------------------------------- 1 | _config = Yaf_Registry::get('config'); 5 | $this->_req = $this->getRequest(); 6 | $this->_session = Yaf_Session::getInstance(); 7 | $this->_session->start(); 8 | } 9 | /** 10 | * reffer验证 11 | * @return boolean 12 | */ 13 | public function checkReffer($whiteList = array()) { 14 | $check = new checkReffer(); 15 | if (!$check->check_referer($whiteList)) { 16 | $result = array("errno" => 5000, "errmsg" => "Error: unaccepted request! Wrong Referer!"); 17 | $callback = isset($_GET['callback']) ? trim($_GET['callback']) : false; 18 | $this->show_json($result, $callback); 19 | } 20 | } 21 | /** 22 | * 输出json结果 23 | * @param array $data 24 | * @param string $callback 25 | */ 26 | public function show_json($data, $callback = false) { 27 | header("Content-type: application/json;charset=utf-8"); 28 | $callback = isset($_GET['callback']) ? trim($_GET['callback']) : false; 29 | if ($callback) { 30 | echo $callback . "(" . json_encode($data) . ")"; 31 | } else { 32 | echo json_encode($data); 33 | } 34 | exit; 35 | } 36 | 37 | /** 38 | * 输出 json 格式的数据 39 | */ 40 | public function renderJson($data, $encoding = 'utf-8') { 41 | header("Content-type: application/json;charset=$encoding"); 42 | echo json_encode($data); 43 | exit; 44 | } 45 | 46 | public function renderSuccessJson($data = null, $encoding = 'utf-8') { 47 | $out = array('errno' => 0, 'errmsg' => 'ok'); 48 | if ($data) { 49 | $out = array_merge($out, $data); 50 | } 51 | return $this->renderJson($out, $encoding); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/gcal.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 38 | 59 | 60 | 61 | 62 |
63 | 64 | 65 | -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/gcal.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 38 | 59 | 60 | 61 | 62 |
63 | 64 | 65 | -------------------------------------------------------------------------------- /application/plugins/Layout.php: -------------------------------------------------------------------------------- 1 | _layoutFile = $layoutFile; 10 | $this->_layoutDir = ($layoutDir) ? $layoutDir : APP_PATH.'/views/'; 11 | } 12 | 13 | public function __set($name, $value) { 14 | $this->_layoutVars[$name] = $value; 15 | } 16 | 17 | public function dispatchLoopShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ){ 18 | 19 | } 20 | 21 | public function dispatchLoopStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ){ 22 | 23 | } 24 | 25 | public function postDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ){ 26 | /* get the body of the response */ 27 | $body = $response->getBody(); 28 | 29 | /*clear existing response*/ 30 | $response->clearBody(); 31 | 32 | /* wrap it in the layout */ 33 | $layout = new Yaf_View_Simple($this->_layoutDir); 34 | $layout->content = $body; 35 | $layout->assign('layout', $this->_layoutVars); 36 | 37 | /* set the response to use the wrapped version of the content */ 38 | $response->setBody($layout->render($this->_layoutFile)); 39 | } 40 | 41 | public function preDispatch ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ){ 42 | 43 | } 44 | 45 | public function preResponse ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ){ 46 | } 47 | 48 | public function routerShutdown ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ){ 49 | 50 | } 51 | 52 | public function routerStartup ( Yaf_Request_Abstract $request , Yaf_Response_Abstract $response ){ 53 | 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/mixins.less: -------------------------------------------------------------------------------- 1 | .gradient-text (@color: #808080, @color1: #999, @color2: #B3B3B3, @color3: #B3B3B3, @color4: #666) { 2 | // fallback for browsers that don't support this 3 | // color: @color; 4 | 5 | // makes simple gradient text in webkit browsers 6 | // background: -webkit-gradient(linear, left top, left bottom, from(@colorTop), to(@colorBottom)); 7 | 8 | // makes a more complex background, allowing iPhone-like text gradients 9 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @color1), color-stop(55%, @color2), color-stop(55%, @color3), color-stop(100%, @color4)); // Safari 4+, Chrome 2+ 10 | background-image: -webkit-linear-gradient(top, @color1 0%, @color2 55%, @color3 55%, @color4 100%); // Safari 5.1+, Chrome 10+ 11 | 12 | -webkit-background-clip: text; 13 | -webkit-text-fill-color: transparent; 14 | } 15 | 16 | // Mixin for generating button backgrounds 17 | // --------------------------------------- 18 | .buttonBackgroundThreeColors(@startColor, @midColor, @colorStop, @endColor) { 19 | // gradientBar will set the background to a pleasing blend of these, to support IE<=9 20 | #gradient > .vertical-three-colors(@startColor, @midColor, @colorStop, @endColor); 21 | border-color: @startColor @startColor darken(@endColor, 15%); 22 | border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%); 23 | 24 | .reset-filter(); 25 | 26 | // in these cases the gradient won't cover the background, so we override 27 | &:hover, &:active, &.active, &.disabled, &[disabled] { 28 | background-color: @endColor; 29 | } 30 | 31 | // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves 32 | &:active, 33 | &.active { 34 | background-color: darken(@endColor, 10%) e("\9"); 35 | } 36 | } 37 | 38 | .icon-size (@size: 12px, @width-multiplier: .9, @height-multiplier: .95) { 39 | i { font-size: @size; } 40 | line-height: @size; 41 | height: @size * @height-multiplier; 42 | text-align: center; 43 | } -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/mixins.less: -------------------------------------------------------------------------------- 1 | .gradient-text (@color: #808080, @color1: #999, @color2: #B3B3B3, @color3: #B3B3B3, @color4: #666) { 2 | // fallback for browsers that don't support this 3 | // color: @color; 4 | 5 | // makes simple gradient text in webkit browsers 6 | // background: -webkit-gradient(linear, left top, left bottom, from(@colorTop), to(@colorBottom)); 7 | 8 | // makes a more complex background, allowing iPhone-like text gradients 9 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @color1), color-stop(55%, @color2), color-stop(55%, @color3), color-stop(100%, @color4)); // Safari 4+, Chrome 2+ 10 | background-image: -webkit-linear-gradient(top, @color1 0%, @color2 55%, @color3 55%, @color4 100%); // Safari 5.1+, Chrome 10+ 11 | 12 | -webkit-background-clip: text; 13 | -webkit-text-fill-color: transparent; 14 | } 15 | 16 | // Mixin for generating button backgrounds 17 | // --------------------------------------- 18 | .buttonBackgroundThreeColors(@startColor, @midColor, @colorStop, @endColor) { 19 | // gradientBar will set the background to a pleasing blend of these, to support IE<=9 20 | #gradient > .vertical-three-colors(@startColor, @midColor, @colorStop, @endColor); 21 | border-color: @startColor @startColor darken(@endColor, 15%); 22 | border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%); 23 | 24 | .reset-filter(); 25 | 26 | // in these cases the gradient won't cover the background, so we override 27 | &:hover, &:active, &.active, &.disabled, &[disabled] { 28 | background-color: @endColor; 29 | } 30 | 31 | // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves 32 | &:active, 33 | &.active { 34 | background-color: darken(@endColor, 10%) e("\9"); 35 | } 36 | } 37 | 38 | .icon-size (@size: 12px, @width-multiplier: .9, @height-multiplier: .95) { 39 | i { font-size: @size; } 40 | line-height: @size; 41 | height: @size * @height-multiplier; 42 | text-align: center; 43 | } -------------------------------------------------------------------------------- /application/Bootstrap.php: -------------------------------------------------------------------------------- 1 | _config = Yaf_Application::app()->getConfig(); 10 | Yaf_Registry::set('config', $this->_config); 11 | } 12 | /** 13 | * [加载 命名空间 加载local library components文件] 14 | * @return [type] [description] 15 | */ 16 | public function _initRegisterLocalNamespace() 17 | { 18 | $loader = Yaf_Loader::getInstance(); 19 | $loader->registerLocalNamespace( 20 | array('Controller','Helper') 21 | ); 22 | } 23 | 24 | /** 25 | * [默认视图类(报错已用)] 26 | * @param Yaf_Dispatcher $dispatcher [description] 27 | * @return [type] [description] 28 | */ 29 | public function _initView(Yaf_Dispatcher $dispatcher) { 30 | $dispatcher->setView(new View(null)); 31 | } 32 | /** 33 | * [错误处理] 34 | * @return [type] [description] 35 | */ 36 | public function _initErrors() { 37 | //报错是否开启 38 | if ($this->_config->application->showErrors) { 39 | error_reporting(-1); 40 | ini_set('display_errors', 'On'); 41 | } else { 42 | error_reporting(0); 43 | ini_set('display_errors', 'Off'); 44 | } 45 | //异常捕获 46 | Yaf_Loader::import(APP_PATH . '/library/Error.php'); 47 | set_exception_handler('errorHandler'); 48 | } 49 | /** 50 | * [路由设置] 51 | */ 52 | public function _initRoutes(Yaf_Dispatcher $dispatcher) { 53 | $router = $dispatcher->getRouter(); 54 | //$router->addConfig(Yaf_Registry::get('config')->routes); 55 | Yaf_Loader::import(APP_CONFIG . '/route.php'); 56 | $router->addConfig($routeConfigs); 57 | } 58 | /** 59 | * layout页面布局 60 | */ 61 | public function _initLayout(Yaf_Dispatcher $dispatcher) { 62 | Yaf_Registry::set('dispatcher', $dispatcher); 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/js/tw-bs-201/bootstrap-transition.js: -------------------------------------------------------------------------------- 1 | /* =================================================== 2 | * bootstrap-transition.js v2.0.1 3 | * http://twitter.github.com/bootstrap/javascript.html#transitions 4 | * =================================================== 5 | * Copyright 2012 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ========================================================== */ 19 | 20 | !function( $ ) { 21 | 22 | $(function () { 23 | 24 | "use strict" 25 | 26 | /* CSS TRANSITION SUPPORT (https://gist.github.com/373874) 27 | * ======================================================= */ 28 | 29 | $.support.transition = (function () { 30 | var thisBody = document.body || document.documentElement 31 | , thisStyle = thisBody.style 32 | , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined 33 | 34 | return support && { 35 | end: (function () { 36 | var transitionEnd = "TransitionEnd" 37 | if ( $.browser.webkit ) { 38 | transitionEnd = "webkitTransitionEnd" 39 | } else if ( $.browser.mozilla ) { 40 | transitionEnd = "transitionend" 41 | } else if ( $.browser.opera ) { 42 | transitionEnd = "oTransitionEnd" 43 | } 44 | return transitionEnd 45 | }()) 46 | } 47 | })() 48 | 49 | }) 50 | 51 | }( window.jQuery ); -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/js/tw-bs-201/bootstrap-transition.js: -------------------------------------------------------------------------------- 1 | /* =================================================== 2 | * bootstrap-transition.js v2.0.1 3 | * http://twitter.github.com/bootstrap/javascript.html#transitions 4 | * =================================================== 5 | * Copyright 2012 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ========================================================== */ 19 | 20 | !function( $ ) { 21 | 22 | $(function () { 23 | 24 | "use strict" 25 | 26 | /* CSS TRANSITION SUPPORT (https://gist.github.com/373874) 27 | * ======================================================= */ 28 | 29 | $.support.transition = (function () { 30 | var thisBody = document.body || document.documentElement 31 | , thisStyle = thisBody.style 32 | , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined 33 | 34 | return support && { 35 | end: (function () { 36 | var transitionEnd = "TransitionEnd" 37 | if ( $.browser.webkit ) { 38 | transitionEnd = "webkitTransitionEnd" 39 | } else if ( $.browser.mozilla ) { 40 | transitionEnd = "transitionend" 41 | } else if ( $.browser.opera ) { 42 | transitionEnd = "oTransitionEnd" 43 | } 44 | return transitionEnd 45 | }()) 46 | } 47 | })() 48 | 49 | }) 50 | 51 | }( window.jQuery ); -------------------------------------------------------------------------------- /conf/app.ini: -------------------------------------------------------------------------------- 1 | [core] 2 | application.directory = APP_PATH 3 | application.library = APP_PATH "/components" 4 | application.modules=Index,Api 5 | application.bootstrap = APP_PATH "/Bootstrap.php" 6 | application.library.directory = APP_PATH "/components" 7 | application.cache_config = 1 8 | application.view.ext = "html" 9 | 10 | ;app 配置 11 | application.dispatcher.catchException=1 12 | application.baseUri = '' ;not used 13 | ;application.dispatcher.defaultModule = index 14 | application.dispatcher.defaultController = index 15 | application.dispatcher.defaultAction = index 16 | ;errors (see Bootstrap::initErrors) 17 | application.ErrorUrl = "" 18 | 19 | ;[-------------------公共配置------------------] 20 | [common : core] 21 | ;sentry 地址,用来捕获异常 22 | sentry.dsn="" 23 | ;Log配置-可以指定对应的绝对路径目录 24 | app.log = APP_ROOT'/log/' 25 | 26 | ;[-------------------开发环境配置---------------------] 27 | [develop : common] 28 | ;开启错误输出 29 | application.throwException = 1 30 | application.showErrors=1 31 | 32 | ;mysql config 数据库配置 33 | mysql.config.charset = "utf8" 34 | ;mysql master 主库配置 35 | mysql.config.m.host = 127.0.0.1 36 | mysql.config.m.name = "yaf_develop" 37 | mysql.config.m.user = "root" 38 | mysql.config.m.pwd = "" 39 | mysql.config.m.port = "3306" 40 | ;mysql slave 从库配置(如果没有从库,主从配置一样) 41 | mysql.config.s.host = 127.0.0.1 42 | mysql.config.s.name = "yaf_develop" 43 | mysql.config.s.user = "root" 44 | mysql.config.s.pwd = "" 45 | mysql.config.s.port = "3306" 46 | 47 | ;[--------------------测试环境配置---------------------] 48 | [test : common] 49 | ;关闭错误输出 50 | application.throwException = 0 51 | application.showErrors=0 52 | 53 | ;mysql config 数据库配置 54 | mysql.config.charset = "utf8" 55 | ;mysql master 主库配置 56 | mysql.config.m.host = 127.0.0.1 57 | mysql.config.m.name = "test" 58 | mysql.config.m.user = "root" 59 | mysql.config.m.pwd = "" 60 | mysql.config.m.port = "3306" 61 | ;mysql slave 从库配置(如果没有从库,主从配置一样) 62 | mysql.config.s.host = 127.0.0.1 63 | mysql.config.s.name = "test" 64 | mysql.config.s.user = "root" 65 | mysql.config.s.pwd = "" 66 | mysql.config.s.port = "3306" 67 | 68 | ;[--------------------生产环境配置---------------------] 69 | [product : common] 70 | ;关闭错误输出 71 | application.throwException = 0 72 | application.showErrors=0 73 | -------------------------------------------------------------------------------- /application/models/Admin.php: -------------------------------------------------------------------------------- 1 | _db->selectFirst($this->_table,array('username'=>$usr,'password'=>$passwd)); 10 | //$usrinfo = $this->_db->select($this->_table,array('username'=>$usr,'password'=>$passwd),1); 11 | //可以用query方法 12 | //$sql = "SELECT * FROM $this->_table WHERE username='{$usr}' AND password='{$passwd}' AND is_del='0'"; 13 | //$usrinfo = $this->_db->query($sql); 14 | if($usrinfo){ 15 | return $usrinfo; 16 | }else{ 17 | return false; 18 | } 19 | } 20 | /** 21 | * 显示所有用户信息 22 | */ 23 | public function ShowUsers() 24 | { 25 | //$sql = "SELECT * FROM $this->_table WHERE is_del='0'"; 26 | //return $this->_db->query($sql); 27 | $usrinfo = $this->_db->select($this->_table,array('is_del'=>'0')); 28 | return $usrinfo; 29 | } 30 | /** 31 | * 32 | * 添加用户 33 | * @param [type] $info [description] 34 | */ 35 | public function AddUsr($info) 36 | { 37 | if($this->_db->insert($this->_table,$info)){ 38 | return true; 39 | }else{ 40 | return false; 41 | } 42 | } 43 | /** 44 | *根据id获取用户信息 45 | * @param [type] $id [description] 46 | */ 47 | public function GetUsrInfo($id) 48 | { 49 | $usrinfo = $this->_db->selectFirst($this->_table,array('id'=>$id)); 50 | return $usrinfo; 51 | } 52 | /** 53 | * 编辑用户 54 | * @param [type] $id [description] 55 | * @param [type] $params [description] 56 | */ 57 | public function EditUsr($id,$params) 58 | { 59 | $wheres = array('id'=>$id); 60 | try{ 61 | $ret = $this->_db->update($this->_table, $params, $wheres); 62 | if($ret===false){ 63 | return false; 64 | } 65 | return true; 66 | }catch(Exception $e){ 67 | return false; 68 | } 69 | } 70 | /** 71 | * 删除用户 72 | * @param [type] $id [description] 73 | */ 74 | public function Del($id) 75 | { 76 | $sql = "DELECT FROM $this->_table WHERE id='{$id}' "; 77 | $params = array('is_del'=>1); 78 | $wheres = array('id'=>$id); 79 | $this->_db = new Db_Mysql ($this->_config->database->config->toArray()); 80 | if($this->_db->update($this->_table, $params, $wheres)){ 81 | return true; 82 | }else{ 83 | return false; 84 | } 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/js/index/index.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | // start the icon carousel 3 | $('#iconCarousel').carousel({ 4 | interval: 5000 5 | }); 6 | 7 | // make code pretty 8 | window.prettyPrint && prettyPrint(); 9 | 10 | // inject twitter & github counts 11 | $.ajax({ 12 | url: 'http://api.twitter.com/1/users/show.json', 13 | data: {screen_name: 'fortaweso_me'}, 14 | dataType: 'jsonp', 15 | success: function(data) { 16 | $('#followers').html(data.followers_count); 17 | } 18 | }); 19 | $.ajax({ 20 | url: 'https://api.github.com/repos/fortawesome/Font-Awesome', 21 | dataType: 'jsonp', 22 | success: function(data) { 23 | $('#watchers').html(data.data.watchers); 24 | $('#forks').html(data.data.forks); 25 | } 26 | }); 27 | 28 | 29 | 30 | 31 | 32 | var firstInHistory = true; 33 | 34 | var MainView = Backbone.View.extend({ 35 | el: $("div.container"), 36 | 37 | modalTemplate: _.template($("#modal-template").html()), 38 | 39 | events:{ 40 | "click ul.the-icons > li": "iconClicked" 41 | }, 42 | 43 | iconClicked: function(event) { 44 | event.preventDefault(); 45 | 46 | var $item = $(event.currentTarget); 47 | var $iconName = $item.find("i").attr("class"); 48 | _gaq.push(['_trackEvent', 'iconClick', $iconName]); 49 | 50 | mainRouter.navigate("icon/" + $iconName, {trigger: true}); 51 | firstInHistory = false; 52 | } 53 | }); 54 | 55 | 56 | var MainRouter = Backbone.Router.extend({ 57 | routes: { 58 | "": "checkModal", 59 | "icon/:iconName": "showIcon" 60 | }, 61 | 62 | checkModal: function() { 63 | var $modal = $("div.modal"); 64 | 65 | if ($modal.length > 0) { 66 | $modal.modal("hide"); 67 | } 68 | }, 69 | 70 | showIcon: function(iconName) { 71 | var $modal = $(mainView.modalTemplate({"iconName": iconName})); 72 | 73 | $modal.modal("show"); 74 | $modal.on('hidden', function () { 75 | $modal.remove(); 76 | if (firstInHistory) { 77 | mainRouter.navigate("/", {trigger: false}); 78 | firstInHistory = false; 79 | } else { 80 | window.history.back(); 81 | } 82 | }) 83 | } 84 | }); 85 | 86 | var mainView = new MainView(); 87 | var mainRouter = new MainRouter(); 88 | Backbone.history.start({pushState : false}); 89 | }); 90 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/js/index/index.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | // start the icon carousel 3 | $('#iconCarousel').carousel({ 4 | interval: 5000 5 | }); 6 | 7 | // make code pretty 8 | window.prettyPrint && prettyPrint(); 9 | 10 | // inject twitter & github counts 11 | $.ajax({ 12 | url: 'http://api.twitter.com/1/users/show.json', 13 | data: {screen_name: 'fortaweso_me'}, 14 | dataType: 'jsonp', 15 | success: function(data) { 16 | $('#followers').html(data.followers_count); 17 | } 18 | }); 19 | $.ajax({ 20 | url: 'https://api.github.com/repos/fortawesome/Font-Awesome', 21 | dataType: 'jsonp', 22 | success: function(data) { 23 | $('#watchers').html(data.data.watchers); 24 | $('#forks').html(data.data.forks); 25 | } 26 | }); 27 | 28 | 29 | 30 | 31 | 32 | var firstInHistory = true; 33 | 34 | var MainView = Backbone.View.extend({ 35 | el: $("div.container"), 36 | 37 | modalTemplate: _.template($("#modal-template").html()), 38 | 39 | events:{ 40 | "click ul.the-icons > li": "iconClicked" 41 | }, 42 | 43 | iconClicked: function(event) { 44 | event.preventDefault(); 45 | 46 | var $item = $(event.currentTarget); 47 | var $iconName = $item.find("i").attr("class"); 48 | _gaq.push(['_trackEvent', 'iconClick', $iconName]); 49 | 50 | mainRouter.navigate("icon/" + $iconName, {trigger: true}); 51 | firstInHistory = false; 52 | } 53 | }); 54 | 55 | 56 | var MainRouter = Backbone.Router.extend({ 57 | routes: { 58 | "": "checkModal", 59 | "icon/:iconName": "showIcon" 60 | }, 61 | 62 | checkModal: function() { 63 | var $modal = $("div.modal"); 64 | 65 | if ($modal.length > 0) { 66 | $modal.modal("hide"); 67 | } 68 | }, 69 | 70 | showIcon: function(iconName) { 71 | var $modal = $(mainView.modalTemplate({"iconName": iconName})); 72 | 73 | $modal.modal("show"); 74 | $modal.on('hidden', function () { 75 | $modal.remove(); 76 | if (firstInHistory) { 77 | mainRouter.navigate("/", {trigger: false}); 78 | firstInHistory = false; 79 | } else { 80 | window.history.back(); 81 | } 82 | }) 83 | } 84 | }); 85 | 86 | var mainView = new MainView(); 87 | var mainRouter = new MainRouter(); 88 | Backbone.history.start({pushState : false}); 89 | }); 90 | -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 71 | 86 | 87 | 88 |
89 | 90 | 91 | -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 71 | 86 | 87 | 88 |
89 | 90 | 91 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/modals.less: -------------------------------------------------------------------------------- 1 | // MODALS 2 | // ------ 3 | 4 | // Recalculate z-index where appropriate 5 | .modal-open { 6 | .dropdown-menu { z-index: @zindexDropdown + @zindexModal; } 7 | .dropdown.open { *z-index: @zindexDropdown + @zindexModal; } 8 | .popover { z-index: @zindexPopover + @zindexModal; } 9 | .tooltip { z-index: @zindexTooltip + @zindexModal; } 10 | } 11 | 12 | // Background 13 | .modal-backdrop { 14 | position: fixed; 15 | top: 0; 16 | right: 0; 17 | bottom: 0; 18 | left: 0; 19 | z-index: @zindexModalBackdrop; 20 | background-color: @black; 21 | // Fade for backdrop 22 | &.fade { opacity: 0; } 23 | } 24 | 25 | .modal-backdrop, 26 | .modal-backdrop.fade.in { 27 | .opacity(80); 28 | } 29 | 30 | // Base modal 31 | .modal { 32 | position: fixed; 33 | top: 50%; 34 | left: 50%; 35 | z-index: @zindexModal; 36 | overflow: auto; 37 | width: 560px; 38 | margin: -250px 0 0 -280px; 39 | background-color: @white; 40 | border: 1px solid #999; 41 | border: 1px solid rgba(0,0,0,.3); 42 | *border: 1px solid #999; /* IE6-7 */ 43 | .border-radius(6px); 44 | .box-shadow(0 3px 7px rgba(0,0,0,0.3)); 45 | .background-clip(padding-box); 46 | &.fade { 47 | .transition(e('opacity .3s linear, top .3s ease-out')); 48 | top: -25%; 49 | } 50 | &.fade.in { top: 50%; } 51 | } 52 | .modal-header { 53 | padding: 9px 15px; 54 | border-bottom: 1px solid #eee; 55 | // Close icon 56 | .close { margin-top: 2px; } 57 | } 58 | 59 | // Body (where all modal content resides) 60 | .modal-body { 61 | overflow-y: auto; 62 | max-height: 400px; 63 | padding: 15px; 64 | } 65 | // Remove bottom margin if need be 66 | .modal-form { 67 | margin-bottom: 0; 68 | } 69 | 70 | // Footer (for actions) 71 | .modal-footer { 72 | padding: 14px 15px 15px; 73 | margin-bottom: 0; 74 | text-align: right; // right align buttons 75 | background-color: #f5f5f5; 76 | border-top: 1px solid #ddd; 77 | .border-radius(0 0 6px 6px); 78 | .box-shadow(inset 0 1px 0 @white); 79 | .clearfix(); // clear it in case folks use .pull-* classes on buttons 80 | 81 | // Properly space out buttons 82 | .btn + .btn { 83 | margin-left: 5px; 84 | margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs 85 | } 86 | // but override that for button groups 87 | .btn-group .btn + .btn { 88 | margin-left: -1px; 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/modals.less: -------------------------------------------------------------------------------- 1 | // MODALS 2 | // ------ 3 | 4 | // Recalculate z-index where appropriate 5 | .modal-open { 6 | .dropdown-menu { z-index: @zindexDropdown + @zindexModal; } 7 | .dropdown.open { *z-index: @zindexDropdown + @zindexModal; } 8 | .popover { z-index: @zindexPopover + @zindexModal; } 9 | .tooltip { z-index: @zindexTooltip + @zindexModal; } 10 | } 11 | 12 | // Background 13 | .modal-backdrop { 14 | position: fixed; 15 | top: 0; 16 | right: 0; 17 | bottom: 0; 18 | left: 0; 19 | z-index: @zindexModalBackdrop; 20 | background-color: @black; 21 | // Fade for backdrop 22 | &.fade { opacity: 0; } 23 | } 24 | 25 | .modal-backdrop, 26 | .modal-backdrop.fade.in { 27 | .opacity(80); 28 | } 29 | 30 | // Base modal 31 | .modal { 32 | position: fixed; 33 | top: 50%; 34 | left: 50%; 35 | z-index: @zindexModal; 36 | overflow: auto; 37 | width: 560px; 38 | margin: -250px 0 0 -280px; 39 | background-color: @white; 40 | border: 1px solid #999; 41 | border: 1px solid rgba(0,0,0,.3); 42 | *border: 1px solid #999; /* IE6-7 */ 43 | .border-radius(6px); 44 | .box-shadow(0 3px 7px rgba(0,0,0,0.3)); 45 | .background-clip(padding-box); 46 | &.fade { 47 | .transition(e('opacity .3s linear, top .3s ease-out')); 48 | top: -25%; 49 | } 50 | &.fade.in { top: 50%; } 51 | } 52 | .modal-header { 53 | padding: 9px 15px; 54 | border-bottom: 1px solid #eee; 55 | // Close icon 56 | .close { margin-top: 2px; } 57 | } 58 | 59 | // Body (where all modal content resides) 60 | .modal-body { 61 | overflow-y: auto; 62 | max-height: 400px; 63 | padding: 15px; 64 | } 65 | // Remove bottom margin if need be 66 | .modal-form { 67 | margin-bottom: 0; 68 | } 69 | 70 | // Footer (for actions) 71 | .modal-footer { 72 | padding: 14px 15px 15px; 73 | margin-bottom: 0; 74 | text-align: right; // right align buttons 75 | background-color: #f5f5f5; 76 | border-top: 1px solid #ddd; 77 | .border-radius(0 0 6px 6px); 78 | .box-shadow(inset 0 1px 0 @white); 79 | .clearfix(); // clear it in case folks use .pull-* classes on buttons 80 | 81 | // Properly space out buttons 82 | .btn + .btn { 83 | margin-left: 5px; 84 | margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs 85 | } 86 | // but override that for button groups 87 | .btn-group .btn + .btn { 88 | margin-left: -1px; 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/carousel.less: -------------------------------------------------------------------------------- 1 | // CAROUSEL 2 | // -------- 3 | 4 | .carousel { 5 | position: relative; 6 | margin-bottom: @baseLineHeight; 7 | line-height: 1; 8 | } 9 | 10 | .carousel-inner { 11 | overflow: hidden; 12 | width: 100%; 13 | position: relative; 14 | } 15 | 16 | .carousel { 17 | 18 | .item { 19 | display: none; 20 | position: relative; 21 | .transition(.6s ease-in-out left); 22 | } 23 | 24 | // Account for jankitude on images 25 | .item > img { 26 | display: block; 27 | line-height: 1; 28 | } 29 | 30 | .active, 31 | .next, 32 | .prev { display: block; } 33 | 34 | .active { 35 | left: 0; 36 | } 37 | 38 | .next, 39 | .prev { 40 | position: absolute; 41 | top: 0; 42 | width: 100%; 43 | } 44 | 45 | .next { 46 | left: 100%; 47 | } 48 | .prev { 49 | left: -100%; 50 | } 51 | .next.left, 52 | .prev.right { 53 | left: 0; 54 | } 55 | 56 | .active.left { 57 | left: -100%; 58 | } 59 | .active.right { 60 | left: 100%; 61 | } 62 | 63 | } 64 | 65 | // Left/right controls for nav 66 | // --------------------------- 67 | 68 | .carousel-control { 69 | position: absolute; 70 | top: 40%; 71 | left: 15px; 72 | width: 40px; 73 | height: 40px; 74 | margin-top: -20px; 75 | font-size: 60px; 76 | font-weight: 100; 77 | line-height: 30px; 78 | color: @white; 79 | text-align: center; 80 | background: @grayDarker; 81 | border: 3px solid @white; 82 | .border-radius(23px); 83 | .opacity(50); 84 | 85 | // we can't have this transition here 86 | // because webkit cancels the carousel 87 | // animation if you trip this while 88 | // in the middle of another animation 89 | // ;_; 90 | // .transition(opacity .2s linear); 91 | 92 | // Reposition the right one 93 | &.right { 94 | left: auto; 95 | right: 15px; 96 | } 97 | 98 | // Hover state 99 | &:hover { 100 | color: @white; 101 | text-decoration: none; 102 | .opacity(90); 103 | } 104 | } 105 | 106 | // Caption for text below images 107 | // ----------------------------- 108 | 109 | .carousel-caption { 110 | position: absolute; 111 | left: 0; 112 | right: 0; 113 | bottom: 0; 114 | padding: 10px 15px 5px; 115 | background: @grayDark; 116 | background: rgba(0,0,0,.75); 117 | } 118 | .carousel-caption h4, 119 | .carousel-caption p { 120 | color: @white; 121 | } 122 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/carousel.less: -------------------------------------------------------------------------------- 1 | // CAROUSEL 2 | // -------- 3 | 4 | .carousel { 5 | position: relative; 6 | margin-bottom: @baseLineHeight; 7 | line-height: 1; 8 | } 9 | 10 | .carousel-inner { 11 | overflow: hidden; 12 | width: 100%; 13 | position: relative; 14 | } 15 | 16 | .carousel { 17 | 18 | .item { 19 | display: none; 20 | position: relative; 21 | .transition(.6s ease-in-out left); 22 | } 23 | 24 | // Account for jankitude on images 25 | .item > img { 26 | display: block; 27 | line-height: 1; 28 | } 29 | 30 | .active, 31 | .next, 32 | .prev { display: block; } 33 | 34 | .active { 35 | left: 0; 36 | } 37 | 38 | .next, 39 | .prev { 40 | position: absolute; 41 | top: 0; 42 | width: 100%; 43 | } 44 | 45 | .next { 46 | left: 100%; 47 | } 48 | .prev { 49 | left: -100%; 50 | } 51 | .next.left, 52 | .prev.right { 53 | left: 0; 54 | } 55 | 56 | .active.left { 57 | left: -100%; 58 | } 59 | .active.right { 60 | left: 100%; 61 | } 62 | 63 | } 64 | 65 | // Left/right controls for nav 66 | // --------------------------- 67 | 68 | .carousel-control { 69 | position: absolute; 70 | top: 40%; 71 | left: 15px; 72 | width: 40px; 73 | height: 40px; 74 | margin-top: -20px; 75 | font-size: 60px; 76 | font-weight: 100; 77 | line-height: 30px; 78 | color: @white; 79 | text-align: center; 80 | background: @grayDarker; 81 | border: 3px solid @white; 82 | .border-radius(23px); 83 | .opacity(50); 84 | 85 | // we can't have this transition here 86 | // because webkit cancels the carousel 87 | // animation if you trip this while 88 | // in the middle of another animation 89 | // ;_; 90 | // .transition(opacity .2s linear); 91 | 92 | // Reposition the right one 93 | &.right { 94 | left: auto; 95 | right: 15px; 96 | } 97 | 98 | // Hover state 99 | &:hover { 100 | color: @white; 101 | text-decoration: none; 102 | .opacity(90); 103 | } 104 | } 105 | 106 | // Caption for text below images 107 | // ----------------------------- 108 | 109 | .carousel-caption { 110 | position: absolute; 111 | left: 0; 112 | right: 0; 113 | bottom: 0; 114 | padding: 10px 15px 5px; 115 | background: @grayDark; 116 | background: rgba(0,0,0,.75); 117 | } 118 | .carousel-caption h4, 119 | .carousel-caption p { 120 | color: @white; 121 | } 122 | -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/agenda-views.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 76 | 91 | 92 | 93 |
94 | 95 | 96 | -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/basic-views.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 76 | 91 | 92 | 93 |
94 | 95 | 96 | -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/basic-views.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 76 | 91 | 92 | 93 |
94 | 95 | 96 | -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/agenda-views.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 76 | 91 | 92 | 93 |
94 | 95 | 96 | -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/theme.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 78 | 93 | 94 | 95 |
96 | 97 | 98 | -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/theme.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 78 | 93 | 94 | 95 |
96 | 97 | 98 | -------------------------------------------------------------------------------- /application/views/admin/index.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

管理员列表

4 |
5 | 10 |
11 |
12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 36 | 37 | 38 | 39 |
ID用户名昵称真实姓名邮箱
33 | 34 | 35 |
40 |
41 | 66 | 73 |
74 |
75 |
76 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/js/tw-bs-201/bootstrap-alert.js: -------------------------------------------------------------------------------- 1 | /* ========================================================== 2 | * bootstrap-alert.js v2.0.1 3 | * http://twitter.github.com/bootstrap/javascript.html#alerts 4 | * ========================================================== 5 | * Copyright 2012 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ========================================================== */ 19 | 20 | 21 | !function( $ ){ 22 | 23 | "use strict" 24 | 25 | /* ALERT CLASS DEFINITION 26 | * ====================== */ 27 | 28 | var dismiss = '[data-dismiss="alert"]' 29 | , Alert = function ( el ) { 30 | $(el).on('click', dismiss, this.close) 31 | } 32 | 33 | Alert.prototype = { 34 | 35 | constructor: Alert 36 | 37 | , close: function ( e ) { 38 | var $this = $(this) 39 | , selector = $this.attr('data-target') 40 | , $parent 41 | 42 | if (!selector) { 43 | selector = $this.attr('href') 44 | selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 45 | } 46 | 47 | $parent = $(selector) 48 | $parent.trigger('close') 49 | 50 | e && e.preventDefault() 51 | 52 | $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) 53 | 54 | $parent 55 | .trigger('close') 56 | .removeClass('in') 57 | 58 | function removeElement() { 59 | $parent 60 | .trigger('closed') 61 | .remove() 62 | } 63 | 64 | $.support.transition && $parent.hasClass('fade') ? 65 | $parent.on($.support.transition.end, removeElement) : 66 | removeElement() 67 | } 68 | 69 | } 70 | 71 | 72 | /* ALERT PLUGIN DEFINITION 73 | * ======================= */ 74 | 75 | $.fn.alert = function ( option ) { 76 | return this.each(function () { 77 | var $this = $(this) 78 | , data = $this.data('alert') 79 | if (!data) $this.data('alert', (data = new Alert(this))) 80 | if (typeof option == 'string') data[option].call($this) 81 | }) 82 | } 83 | 84 | $.fn.alert.Constructor = Alert 85 | 86 | 87 | /* ALERT DATA-API 88 | * ============== */ 89 | 90 | $(function () { 91 | $('body').on('click.alert.data-api', dismiss, Alert.prototype.close) 92 | }) 93 | 94 | }( window.jQuery ); -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/js/tw-bs-201/bootstrap-alert.js: -------------------------------------------------------------------------------- 1 | /* ========================================================== 2 | * bootstrap-alert.js v2.0.1 3 | * http://twitter.github.com/bootstrap/javascript.html#alerts 4 | * ========================================================== 5 | * Copyright 2012 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ========================================================== */ 19 | 20 | 21 | !function( $ ){ 22 | 23 | "use strict" 24 | 25 | /* ALERT CLASS DEFINITION 26 | * ====================== */ 27 | 28 | var dismiss = '[data-dismiss="alert"]' 29 | , Alert = function ( el ) { 30 | $(el).on('click', dismiss, this.close) 31 | } 32 | 33 | Alert.prototype = { 34 | 35 | constructor: Alert 36 | 37 | , close: function ( e ) { 38 | var $this = $(this) 39 | , selector = $this.attr('data-target') 40 | , $parent 41 | 42 | if (!selector) { 43 | selector = $this.attr('href') 44 | selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 45 | } 46 | 47 | $parent = $(selector) 48 | $parent.trigger('close') 49 | 50 | e && e.preventDefault() 51 | 52 | $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) 53 | 54 | $parent 55 | .trigger('close') 56 | .removeClass('in') 57 | 58 | function removeElement() { 59 | $parent 60 | .trigger('closed') 61 | .remove() 62 | } 63 | 64 | $.support.transition && $parent.hasClass('fade') ? 65 | $parent.on($.support.transition.end, removeElement) : 66 | removeElement() 67 | } 68 | 69 | } 70 | 71 | 72 | /* ALERT PLUGIN DEFINITION 73 | * ======================= */ 74 | 75 | $.fn.alert = function ( option ) { 76 | return this.each(function () { 77 | var $this = $(this) 78 | , data = $this.data('alert') 79 | if (!data) $this.data('alert', (data = new Alert(this))) 80 | if (typeof option == 'string') data[option].call($this) 81 | }) 82 | } 83 | 84 | $.fn.alert.Constructor = Alert 85 | 86 | 87 | /* ALERT DATA-API 88 | * ============== */ 89 | 90 | $(function () { 91 | $('body').on('click.alert.data-api', dismiss, Alert.prototype.close) 92 | }) 93 | 94 | }( window.jQuery ); -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/js/tw-bs-201/bootstrap-dropdown.js: -------------------------------------------------------------------------------- 1 | /* ============================================================ 2 | * bootstrap-dropdown.js v2.0.1 3 | * http://twitter.github.com/bootstrap/javascript.html#dropdowns 4 | * ============================================================ 5 | * Copyright 2012 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ============================================================ */ 19 | 20 | 21 | !function( $ ){ 22 | 23 | "use strict" 24 | 25 | /* DROPDOWN CLASS DEFINITION 26 | * ========================= */ 27 | 28 | var toggle = '[data-toggle="dropdown"]' 29 | , Dropdown = function ( element ) { 30 | var $el = $(element).on('click.dropdown.data-api', this.toggle) 31 | $('html').on('click.dropdown.data-api', function () { 32 | $el.parent().removeClass('open') 33 | }) 34 | } 35 | 36 | Dropdown.prototype = { 37 | 38 | constructor: Dropdown 39 | 40 | , toggle: function ( e ) { 41 | var $this = $(this) 42 | , selector = $this.attr('data-target') 43 | , $parent 44 | , isActive 45 | 46 | if (!selector) { 47 | selector = $this.attr('href') 48 | selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 49 | } 50 | 51 | $parent = $(selector) 52 | $parent.length || ($parent = $this.parent()) 53 | 54 | isActive = $parent.hasClass('open') 55 | 56 | clearMenus() 57 | !isActive && $parent.toggleClass('open') 58 | 59 | return false 60 | } 61 | 62 | } 63 | 64 | function clearMenus() { 65 | $(toggle).parent().removeClass('open') 66 | } 67 | 68 | 69 | /* DROPDOWN PLUGIN DEFINITION 70 | * ========================== */ 71 | 72 | $.fn.dropdown = function ( option ) { 73 | return this.each(function () { 74 | var $this = $(this) 75 | , data = $this.data('dropdown') 76 | if (!data) $this.data('dropdown', (data = new Dropdown(this))) 77 | if (typeof option == 'string') data[option].call($this) 78 | }) 79 | } 80 | 81 | $.fn.dropdown.Constructor = Dropdown 82 | 83 | 84 | /* APPLY TO STANDARD DROPDOWN ELEMENTS 85 | * =================================== */ 86 | 87 | $(function () { 88 | $('html').on('click.dropdown.data-api', clearMenus) 89 | $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) 90 | }) 91 | 92 | }( window.jQuery ); -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/js/tw-bs-201/bootstrap-dropdown.js: -------------------------------------------------------------------------------- 1 | /* ============================================================ 2 | * bootstrap-dropdown.js v2.0.1 3 | * http://twitter.github.com/bootstrap/javascript.html#dropdowns 4 | * ============================================================ 5 | * Copyright 2012 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ============================================================ */ 19 | 20 | 21 | !function( $ ){ 22 | 23 | "use strict" 24 | 25 | /* DROPDOWN CLASS DEFINITION 26 | * ========================= */ 27 | 28 | var toggle = '[data-toggle="dropdown"]' 29 | , Dropdown = function ( element ) { 30 | var $el = $(element).on('click.dropdown.data-api', this.toggle) 31 | $('html').on('click.dropdown.data-api', function () { 32 | $el.parent().removeClass('open') 33 | }) 34 | } 35 | 36 | Dropdown.prototype = { 37 | 38 | constructor: Dropdown 39 | 40 | , toggle: function ( e ) { 41 | var $this = $(this) 42 | , selector = $this.attr('data-target') 43 | , $parent 44 | , isActive 45 | 46 | if (!selector) { 47 | selector = $this.attr('href') 48 | selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 49 | } 50 | 51 | $parent = $(selector) 52 | $parent.length || ($parent = $this.parent()) 53 | 54 | isActive = $parent.hasClass('open') 55 | 56 | clearMenus() 57 | !isActive && $parent.toggleClass('open') 58 | 59 | return false 60 | } 61 | 62 | } 63 | 64 | function clearMenus() { 65 | $(toggle).parent().removeClass('open') 66 | } 67 | 68 | 69 | /* DROPDOWN PLUGIN DEFINITION 70 | * ========================== */ 71 | 72 | $.fn.dropdown = function ( option ) { 73 | return this.each(function () { 74 | var $this = $(this) 75 | , data = $this.data('dropdown') 76 | if (!data) $this.data('dropdown', (data = new Dropdown(this))) 77 | if (typeof option == 'string') data[option].call($this) 78 | }) 79 | } 80 | 81 | $.fn.dropdown.Constructor = Dropdown 82 | 83 | 84 | /* APPLY TO STANDARD DROPDOWN ELEMENTS 85 | * =================================== */ 86 | 87 | $(function () { 88 | $('html').on('click.dropdown.data-api', clearMenus) 89 | $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) 90 | }) 91 | 92 | }( window.jQuery ); -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/less/twbs-203/progress-bars.less: -------------------------------------------------------------------------------- 1 | // PROGRESS BARS 2 | // ------------- 3 | 4 | 5 | // ANIMATIONS 6 | // ---------- 7 | 8 | // Webkit 9 | @-webkit-keyframes progress-bar-stripes { 10 | from { background-position: 40px 0; } 11 | to { background-position: 0 0; } 12 | } 13 | 14 | // Firefox 15 | @-moz-keyframes progress-bar-stripes { 16 | from { background-position: 40px 0; } 17 | to { background-position: 0 0; } 18 | } 19 | 20 | // IE9 21 | @-ms-keyframes progress-bar-stripes { 22 | from { background-position: 40px 0; } 23 | to { background-position: 0 0; } 24 | } 25 | 26 | // Opera 27 | @-o-keyframes progress-bar-stripes { 28 | from { background-position: 0 0; } 29 | to { background-position: 40px 0; } 30 | } 31 | 32 | // Spec 33 | @keyframes progress-bar-stripes { 34 | from { background-position: 40px 0; } 35 | to { background-position: 0 0; } 36 | } 37 | 38 | 39 | 40 | // THE BARS 41 | // -------- 42 | 43 | // Outer container 44 | .progress { 45 | overflow: hidden; 46 | height: 18px; 47 | margin-bottom: 18px; 48 | #gradient > .vertical(#f5f5f5, #f9f9f9); 49 | .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); 50 | .border-radius(4px); 51 | } 52 | 53 | // Bar of progress 54 | .progress .bar { 55 | width: 0%; 56 | height: 18px; 57 | color: @white; 58 | font-size: 12px; 59 | text-align: center; 60 | text-shadow: 0 -1px 0 rgba(0,0,0,.25); 61 | #gradient > .vertical(#149bdf, #0480be); 62 | .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); 63 | .box-sizing(border-box); 64 | .transition(width .6s ease); 65 | } 66 | 67 | // Striped bars 68 | .progress-striped .bar { 69 | #gradient > .striped(#149bdf); 70 | .background-size(40px 40px); 71 | } 72 | 73 | // Call animation for the active one 74 | .progress.active .bar { 75 | -webkit-animation: progress-bar-stripes 2s linear infinite; 76 | -moz-animation: progress-bar-stripes 2s linear infinite; 77 | -ms-animation: progress-bar-stripes 2s linear infinite; 78 | -o-animation: progress-bar-stripes 2s linear infinite; 79 | animation: progress-bar-stripes 2s linear infinite; 80 | } 81 | 82 | 83 | 84 | // COLORS 85 | // ------ 86 | 87 | // Danger (red) 88 | .progress-danger .bar { 89 | #gradient > .vertical(#ee5f5b, #c43c35); 90 | } 91 | .progress-danger.progress-striped .bar { 92 | #gradient > .striped(#ee5f5b); 93 | } 94 | 95 | // Success (green) 96 | .progress-success .bar { 97 | #gradient > .vertical(#62c462, #57a957); 98 | } 99 | .progress-success.progress-striped .bar { 100 | #gradient > .striped(#62c462); 101 | } 102 | 103 | // Info (teal) 104 | .progress-info .bar { 105 | #gradient > .vertical(#5bc0de, #339bb9); 106 | } 107 | .progress-info.progress-striped .bar { 108 | #gradient > .striped(#5bc0de); 109 | } 110 | 111 | // Warning (orange) 112 | .progress-warning .bar { 113 | #gradient > .vertical(lighten(@orange, 15%), @orange); 114 | } 115 | .progress-warning.progress-striped .bar { 116 | #gradient > .striped(lighten(@orange, 15%)); 117 | } 118 | -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/less/twbs-203/progress-bars.less: -------------------------------------------------------------------------------- 1 | // PROGRESS BARS 2 | // ------------- 3 | 4 | 5 | // ANIMATIONS 6 | // ---------- 7 | 8 | // Webkit 9 | @-webkit-keyframes progress-bar-stripes { 10 | from { background-position: 40px 0; } 11 | to { background-position: 0 0; } 12 | } 13 | 14 | // Firefox 15 | @-moz-keyframes progress-bar-stripes { 16 | from { background-position: 40px 0; } 17 | to { background-position: 0 0; } 18 | } 19 | 20 | // IE9 21 | @-ms-keyframes progress-bar-stripes { 22 | from { background-position: 40px 0; } 23 | to { background-position: 0 0; } 24 | } 25 | 26 | // Opera 27 | @-o-keyframes progress-bar-stripes { 28 | from { background-position: 0 0; } 29 | to { background-position: 40px 0; } 30 | } 31 | 32 | // Spec 33 | @keyframes progress-bar-stripes { 34 | from { background-position: 40px 0; } 35 | to { background-position: 0 0; } 36 | } 37 | 38 | 39 | 40 | // THE BARS 41 | // -------- 42 | 43 | // Outer container 44 | .progress { 45 | overflow: hidden; 46 | height: 18px; 47 | margin-bottom: 18px; 48 | #gradient > .vertical(#f5f5f5, #f9f9f9); 49 | .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); 50 | .border-radius(4px); 51 | } 52 | 53 | // Bar of progress 54 | .progress .bar { 55 | width: 0%; 56 | height: 18px; 57 | color: @white; 58 | font-size: 12px; 59 | text-align: center; 60 | text-shadow: 0 -1px 0 rgba(0,0,0,.25); 61 | #gradient > .vertical(#149bdf, #0480be); 62 | .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); 63 | .box-sizing(border-box); 64 | .transition(width .6s ease); 65 | } 66 | 67 | // Striped bars 68 | .progress-striped .bar { 69 | #gradient > .striped(#149bdf); 70 | .background-size(40px 40px); 71 | } 72 | 73 | // Call animation for the active one 74 | .progress.active .bar { 75 | -webkit-animation: progress-bar-stripes 2s linear infinite; 76 | -moz-animation: progress-bar-stripes 2s linear infinite; 77 | -ms-animation: progress-bar-stripes 2s linear infinite; 78 | -o-animation: progress-bar-stripes 2s linear infinite; 79 | animation: progress-bar-stripes 2s linear infinite; 80 | } 81 | 82 | 83 | 84 | // COLORS 85 | // ------ 86 | 87 | // Danger (red) 88 | .progress-danger .bar { 89 | #gradient > .vertical(#ee5f5b, #c43c35); 90 | } 91 | .progress-danger.progress-striped .bar { 92 | #gradient > .striped(#ee5f5b); 93 | } 94 | 95 | // Success (green) 96 | .progress-success .bar { 97 | #gradient > .vertical(#62c462, #57a957); 98 | } 99 | .progress-success.progress-striped .bar { 100 | #gradient > .striped(#62c462); 101 | } 102 | 103 | // Info (teal) 104 | .progress-info .bar { 105 | #gradient > .vertical(#5bc0de, #339bb9); 106 | } 107 | .progress-info.progress-striped .bar { 108 | #gradient > .striped(#5bc0de); 109 | } 110 | 111 | // Warning (orange) 112 | .progress-warning .bar { 113 | #gradient > .vertical(lighten(@orange, 15%), @orange); 114 | } 115 | .progress-warning.progress-striped .bar { 116 | #gradient > .striped(lighten(@orange, 15%)); 117 | } 118 | -------------------------------------------------------------------------------- /application/views/admin/add.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

管理员列表

4 |
5 | 10 |
11 |
12 |
13 | 16 |
17 |
18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
32 | 确定 33 |
34 |
35 |
36 |
37 |
38 | 64 | 71 |
72 |
73 |
74 | -------------------------------------------------------------------------------- /public/lib/fullcalendar-1.5.3/demos/selectable.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 93 | 108 | 109 | 110 |
111 | 112 | 113 | -------------------------------------------------------------------------------- /public/lib/lib/fullcalendar-1.5.3/demos/selectable.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 93 | 108 | 109 | 110 |
111 | 112 | 113 | -------------------------------------------------------------------------------- /public/lib/font-awesome/docs/assets/js/tw-bs-201/bootstrap-button.js: -------------------------------------------------------------------------------- 1 | /* ============================================================ 2 | * bootstrap-button.js v2.0.1 3 | * http://twitter.github.com/bootstrap/javascript.html#buttons 4 | * ============================================================ 5 | * Copyright 2012 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ============================================================ */ 19 | 20 | !function( $ ){ 21 | 22 | "use strict" 23 | 24 | /* BUTTON PUBLIC CLASS DEFINITION 25 | * ============================== */ 26 | 27 | var Button = function ( element, options ) { 28 | this.$element = $(element) 29 | this.options = $.extend({}, $.fn.button.defaults, options) 30 | } 31 | 32 | Button.prototype = { 33 | 34 | constructor: Button 35 | 36 | , setState: function ( state ) { 37 | var d = 'disabled' 38 | , $el = this.$element 39 | , data = $el.data() 40 | , val = $el.is('input') ? 'val' : 'html' 41 | 42 | state = state + 'Text' 43 | data.resetText || $el.data('resetText', $el[val]()) 44 | 45 | $el[val](data[state] || this.options[state]) 46 | 47 | // push to event loop to allow forms to submit 48 | setTimeout(function () { 49 | state == 'loadingText' ? 50 | $el.addClass(d).attr(d, d) : 51 | $el.removeClass(d).removeAttr(d) 52 | }, 0) 53 | } 54 | 55 | , toggle: function () { 56 | var $parent = this.$element.parent('[data-toggle="buttons-radio"]') 57 | 58 | $parent && $parent 59 | .find('.active') 60 | .removeClass('active') 61 | 62 | this.$element.toggleClass('active') 63 | } 64 | 65 | } 66 | 67 | 68 | /* BUTTON PLUGIN DEFINITION 69 | * ======================== */ 70 | 71 | $.fn.button = function ( option ) { 72 | return this.each(function () { 73 | var $this = $(this) 74 | , data = $this.data('button') 75 | , options = typeof option == 'object' && option 76 | if (!data) $this.data('button', (data = new Button(this, options))) 77 | if (option == 'toggle') data.toggle() 78 | else if (option) data.setState(option) 79 | }) 80 | } 81 | 82 | $.fn.button.defaults = { 83 | loadingText: 'loading...' 84 | } 85 | 86 | $.fn.button.Constructor = Button 87 | 88 | 89 | /* BUTTON DATA-API 90 | * =============== */ 91 | 92 | $(function () { 93 | $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { 94 | $(e.currentTarget).button('toggle') 95 | }) 96 | }) 97 | 98 | }( window.jQuery ); -------------------------------------------------------------------------------- /public/lib/lib/font-awesome/docs/assets/js/tw-bs-201/bootstrap-button.js: -------------------------------------------------------------------------------- 1 | /* ============================================================ 2 | * bootstrap-button.js v2.0.1 3 | * http://twitter.github.com/bootstrap/javascript.html#buttons 4 | * ============================================================ 5 | * Copyright 2012 Twitter, Inc. 6 | * 7 | * Licensed under the Apache License, Version 2.0 (the "License"); 8 | * you may not use this file except in compliance with the License. 9 | * You may obtain a copy of the License at 10 | * 11 | * http://www.apache.org/licenses/LICENSE-2.0 12 | * 13 | * Unless required by applicable law or agreed to in writing, software 14 | * distributed under the License is distributed on an "AS IS" BASIS, 15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 | * See the License for the specific language governing permissions and 17 | * limitations under the License. 18 | * ============================================================ */ 19 | 20 | !function( $ ){ 21 | 22 | "use strict" 23 | 24 | /* BUTTON PUBLIC CLASS DEFINITION 25 | * ============================== */ 26 | 27 | var Button = function ( element, options ) { 28 | this.$element = $(element) 29 | this.options = $.extend({}, $.fn.button.defaults, options) 30 | } 31 | 32 | Button.prototype = { 33 | 34 | constructor: Button 35 | 36 | , setState: function ( state ) { 37 | var d = 'disabled' 38 | , $el = this.$element 39 | , data = $el.data() 40 | , val = $el.is('input') ? 'val' : 'html' 41 | 42 | state = state + 'Text' 43 | data.resetText || $el.data('resetText', $el[val]()) 44 | 45 | $el[val](data[state] || this.options[state]) 46 | 47 | // push to event loop to allow forms to submit 48 | setTimeout(function () { 49 | state == 'loadingText' ? 50 | $el.addClass(d).attr(d, d) : 51 | $el.removeClass(d).removeAttr(d) 52 | }, 0) 53 | } 54 | 55 | , toggle: function () { 56 | var $parent = this.$element.parent('[data-toggle="buttons-radio"]') 57 | 58 | $parent && $parent 59 | .find('.active') 60 | .removeClass('active') 61 | 62 | this.$element.toggleClass('active') 63 | } 64 | 65 | } 66 | 67 | 68 | /* BUTTON PLUGIN DEFINITION 69 | * ======================== */ 70 | 71 | $.fn.button = function ( option ) { 72 | return this.each(function () { 73 | var $this = $(this) 74 | , data = $this.data('button') 75 | , options = typeof option == 'object' && option 76 | if (!data) $this.data('button', (data = new Button(this, options))) 77 | if (option == 'toggle') data.toggle() 78 | else if (option) data.setState(option) 79 | }) 80 | } 81 | 82 | $.fn.button.defaults = { 83 | loadingText: 'loading...' 84 | } 85 | 86 | $.fn.button.Constructor = Button 87 | 88 | 89 | /* BUTTON DATA-API 90 | * =============== */ 91 | 92 | $(function () { 93 | $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { 94 | $(e.currentTarget).button('toggle') 95 | }) 96 | }) 97 | 98 | }( window.jQuery ); --------------------------------------------------------------------------------