├── 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 |
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 |
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 |
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 );
--------------------------------------------------------------------------------