├── spec ├── dummy │ ├── app │ │ ├── mailers │ │ │ └── .keep │ │ ├── models │ │ │ ├── .keep │ │ │ └── concerns │ │ │ │ └── .keep │ │ ├── assets │ │ │ ├── images │ │ │ │ └── .keep │ │ │ ├── config │ │ │ │ └── manifest.js │ │ │ ├── stylesheets │ │ │ │ └── application.css │ │ │ └── javascripts │ │ │ │ └── application.js │ │ ├── controllers │ │ │ ├── concerns │ │ │ │ └── .keep │ │ │ └── application_controller.rb │ │ ├── helpers │ │ │ └── application_helper.rb │ │ └── views │ │ │ └── layouts │ │ │ └── application.html.erb │ ├── lib │ │ └── assets │ │ │ └── .keep │ ├── .rspec │ ├── public │ │ └── favicon.ico │ ├── .browserslistrc │ ├── bin │ │ ├── rake │ │ ├── bundle │ │ ├── rails │ │ ├── webpack │ │ └── webpack-dev-server │ ├── config │ │ ├── routes.rb │ │ ├── webpack │ │ │ ├── environment.js │ │ │ ├── test.js │ │ │ ├── production.js │ │ │ └── development.js │ │ ├── environment.rb │ │ ├── initializers │ │ │ ├── session_store.rb │ │ │ ├── filter_parameter_logging.rb │ │ │ ├── mime_types.rb │ │ │ ├── backtrace_silencers.rb │ │ │ ├── wrap_parameters.rb │ │ │ ├── secret_token.rb │ │ │ └── inflections.rb │ │ ├── boot.rb │ │ ├── locales │ │ │ └── en.yml │ │ └── application.rb │ ├── config.ru │ ├── package.json │ ├── .sample.env │ ├── Rakefile │ └── postcss.config.js ├── fixtures │ └── files │ │ └── sample_image.jpg ├── mokio_test.rb ├── factories │ ├── content_links_factory.rb │ ├── files.rb │ ├── users.rb │ ├── contact_templates.rb │ ├── selected_modules.rb │ ├── recipients.rb │ ├── common_factory.rb │ ├── langs.rb │ └── static_modules_factory.rb ├── integration │ └── navigation_test.rb ├── models │ ├── content_link_spec.rb │ ├── contact_template_spec.rb │ ├── lang_spec.rb │ ├── recipient_spec.rb │ └── module_position_spec.rb └── test_helper.rb ├── lib ├── mokio │ ├── uploader.rb │ ├── common.rb │ ├── version.rb │ ├── concerns │ │ ├── models │ │ │ ├── history.rb │ │ │ ├── article.rb │ │ │ ├── recipient.rb │ │ │ ├── mov_gallery.rb │ │ │ ├── selected_module.rb │ │ │ ├── content_link.rb │ │ │ ├── pic_gallery.rb │ │ │ ├── contact_template.rb │ │ │ └── youtube.rb │ │ └── controllers │ │ │ ├── contents.rb │ │ │ ├── langs.rb │ │ │ ├── main_pics.rb │ │ │ ├── module_positions.rb │ │ │ └── external_scripts.rb │ ├── frontend_helpers.rb │ ├── headers_helper.rb │ ├── slugged.rb │ ├── core_extension.rb │ ├── custom_gallery.rb │ ├── logger.rb │ ├── solr_config.rb │ └── sluglize.rb ├── generators │ └── mokio │ │ ├── templates │ │ ├── contents │ │ │ ├── _sidebar_btn.html.slim │ │ │ ├── views_template.yml │ │ │ └── model.rb │ │ └── _google_analytics.html.slim │ │ ├── copy │ │ ├── views_generator.rb │ │ └── assets_generator.rb │ │ ├── positions_generator.rb │ │ ├── btr_generator.rb │ │ └── install_generator.rb └── tasks │ ├── create_editable_blocks_ids.rake │ ├── mokio_rollback.rake │ ├── mokio_install │ ├── reset_pg_sequence.rake │ ├── install_webpack.rake │ ├── create_configuration_file.rake │ ├── create_module_positions.rake │ ├── install_routes.rake │ └── create_langs.rake │ ├── sitemap.rake │ ├── refresh_static_pages.rake │ ├── add_custom_js.rake │ └── ckeditor_create_nondigest_assets.rake ├── app ├── assets │ ├── images │ │ └── backend │ │ │ ├── watermark.png.BASE.21459.png │ │ │ ├── watermark.png.BASE.21617.png │ │ │ ├── icons │ │ │ ├── index.html │ │ │ ├── minus.png │ │ │ ├── plus.png │ │ │ ├── external.png │ │ │ ├── arrow-left.png │ │ │ ├── arrow-right.png │ │ │ ├── left-arrow.png │ │ │ └── right-arrow.png │ │ │ ├── logo.png │ │ │ ├── arrowup.png │ │ │ ├── favicon.ico │ │ │ ├── handle.png │ │ │ ├── handle1.png │ │ │ ├── loader.png │ │ │ ├── search.png │ │ │ ├── select.png │ │ │ ├── spinner.png │ │ │ ├── arrowdown.png │ │ │ ├── checkbox.png │ │ │ ├── sidebarbg.png │ │ │ ├── ui.totop.png │ │ │ ├── watermark.png │ │ │ ├── ajax-loader.gif │ │ │ ├── choose-file.png │ │ │ ├── logo_bloom.png │ │ │ ├── patterns │ │ │ ├── 1.png │ │ │ ├── 2-1.png │ │ │ ├── 2-2.png │ │ │ ├── 2.png │ │ │ ├── 3-1.png │ │ │ ├── 3.png │ │ │ ├── 4-1.png │ │ │ ├── 4-2.png │ │ │ ├── 4.png │ │ │ ├── 5.png │ │ │ ├── 6.png │ │ │ ├── 7.png │ │ │ ├── 8.png │ │ │ ├── body │ │ │ │ ├── 1.png │ │ │ │ ├── 2.png │ │ │ │ ├── 3.png │ │ │ │ ├── 4.png │ │ │ │ ├── dust.png │ │ │ │ ├── grey.png │ │ │ │ ├── dust_@2X.png │ │ │ │ ├── grey_@2X.png │ │ │ │ ├── cream_dust.png │ │ │ │ ├── subtle_dots.png │ │ │ │ ├── cream_dust_@2X.png │ │ │ │ └── subtle_dots_@2X.png │ │ │ ├── header.png │ │ │ ├── header │ │ │ │ ├── 1.png │ │ │ │ ├── 2.png │ │ │ │ ├── 3.png │ │ │ │ ├── 4.png │ │ │ │ ├── grid.png │ │ │ │ ├── grid_@2X.png │ │ │ │ ├── bedge_grunge.png │ │ │ │ ├── nasty_fabric.png │ │ │ │ ├── natural_paper.png │ │ │ │ ├── bedge_grunge_@2X.png │ │ │ │ ├── nasty_fabric_@2X.png │ │ │ │ └── natural_paper_@2X.png │ │ │ ├── topbarbg.png │ │ │ ├── sidebar │ │ │ │ ├── 1.png │ │ │ │ ├── 2.png │ │ │ │ ├── 3.png │ │ │ │ ├── 4.png │ │ │ │ ├── grey.png │ │ │ │ ├── az_subtle.png │ │ │ │ ├── grey_@2X.png │ │ │ │ ├── noise_lines.png │ │ │ │ ├── az_subtle_@2X.png │ │ │ │ ├── billie_holiday.png │ │ │ │ ├── noise_lines_@2X.png │ │ │ │ └── billie_holiday_@2X.png │ │ │ ├── sidebarbg1.png │ │ │ └── sidebarbg2.png │ │ │ ├── fonts │ │ │ ├── icomoon.eot │ │ │ ├── icomoon.ttf │ │ │ └── icomoon.woff │ │ │ ├── loaders │ │ │ ├── 3d │ │ │ │ ├── 015.gif │ │ │ │ ├── 019.gif │ │ │ │ ├── 026.gif │ │ │ │ ├── 028.gif │ │ │ │ ├── 039.gif │ │ │ │ ├── 067.gif │ │ │ │ └── 071.gif │ │ │ ├── circular │ │ │ │ ├── 001.gif │ │ │ │ ├── 002.gif │ │ │ │ ├── 003.gif │ │ │ │ ├── 007.gif │ │ │ │ ├── 008.gif │ │ │ │ ├── 010.gif │ │ │ │ ├── 011.gif │ │ │ │ ├── 012.gif │ │ │ │ ├── 013.gif │ │ │ │ ├── 016.gif │ │ │ │ ├── 017.gif │ │ │ │ ├── 020.gif │ │ │ │ ├── 021.gif │ │ │ │ ├── 022.gif │ │ │ │ ├── 023.gif │ │ │ │ ├── 025.gif │ │ │ │ ├── 027.gif │ │ │ │ ├── 029.gif │ │ │ │ ├── 030.gif │ │ │ │ ├── 033.gif │ │ │ │ ├── 034.gif │ │ │ │ ├── 035.gif │ │ │ │ ├── 038.gif │ │ │ │ ├── 040.gif │ │ │ │ ├── 041.gif │ │ │ │ ├── 042.gif │ │ │ │ ├── 044.gif │ │ │ │ ├── 046.gif │ │ │ │ ├── 047.gif │ │ │ │ ├── 049.gif │ │ │ │ ├── 050.gif │ │ │ │ ├── 051.gif │ │ │ │ ├── 052.gif │ │ │ │ ├── 054.gif │ │ │ │ ├── 055.gif │ │ │ │ ├── 056.gif │ │ │ │ ├── 059.gif │ │ │ │ ├── 060.gif │ │ │ │ ├── 061.gif │ │ │ │ ├── 064.gif │ │ │ │ ├── 065.gif │ │ │ │ ├── 066.gif │ │ │ │ ├── 068.gif │ │ │ │ ├── 069.gif │ │ │ │ ├── 070.gif │ │ │ │ └── 072.gif │ │ │ └── horizontal │ │ │ │ ├── 004.gif │ │ │ │ ├── 005.gif │ │ │ │ ├── 006.gif │ │ │ │ ├── 009.gif │ │ │ │ ├── 014.gif │ │ │ │ ├── 018.gif │ │ │ │ ├── 024.gif │ │ │ │ ├── 031.gif │ │ │ │ ├── 032.gif │ │ │ │ ├── 036.gif │ │ │ │ ├── 037.gif │ │ │ │ ├── 043.gif │ │ │ │ ├── 045.gif │ │ │ │ ├── 048.gif │ │ │ │ ├── 053.gif │ │ │ │ ├── 057.gif │ │ │ │ ├── 058.gif │ │ │ │ ├── 062.gif │ │ │ │ └── 063.gif │ │ │ ├── uniform │ │ │ ├── radio.png │ │ │ ├── select.png │ │ │ ├── checkbox.png │ │ │ ├── select1.png │ │ │ ├── select2.png │ │ │ └── choose-file.png │ │ │ ├── gallery │ │ │ ├── preload.png │ │ │ ├── default │ │ │ │ ├── loader.gif │ │ │ │ ├── sprite.png │ │ │ │ ├── sprite_x.png │ │ │ │ ├── sprite_y.png │ │ │ │ ├── sprite_next.png │ │ │ │ ├── sprite_prev.png │ │ │ │ └── default_thumb.png │ │ │ ├── facebook │ │ │ │ ├── btnNext.png │ │ │ │ ├── loader.gif │ │ │ │ ├── sprite.png │ │ │ │ ├── btnPrevious.png │ │ │ │ ├── contentPatternTop.png │ │ │ │ ├── default_thumbnail.gif │ │ │ │ ├── contentPatternBottom.png │ │ │ │ ├── contentPatternLeft.png │ │ │ │ └── contentPatternRight.png │ │ │ ├── dark_rounded │ │ │ │ ├── loader.gif │ │ │ │ ├── sprite.png │ │ │ │ ├── btnNext.png │ │ │ │ ├── btnPrevious.png │ │ │ │ ├── contentPattern.png │ │ │ │ └── default_thumbnail.gif │ │ │ ├── dark_square │ │ │ │ ├── btnNext.png │ │ │ │ ├── loader.gif │ │ │ │ ├── sprite.png │ │ │ │ ├── btnPrevious.png │ │ │ │ ├── contentPattern.png │ │ │ │ └── default_thumbnail.gif │ │ │ ├── light_square │ │ │ │ ├── loader.gif │ │ │ │ ├── sprite.png │ │ │ │ ├── btnNext.png │ │ │ │ ├── btnPrevious.png │ │ │ │ └── default_thumbnail.gif │ │ │ └── light_rounded │ │ │ │ ├── btnNext.png │ │ │ │ ├── loader.gif │ │ │ │ ├── sprite.png │ │ │ │ ├── btnPrevious.png │ │ │ │ └── default_thumbnail.gif │ │ │ ├── glyphicons-halflings.png │ │ │ ├── glyphicons-halflings-white.png │ │ │ ├── plugins │ │ │ ├── data_tables │ │ │ │ ├── search.png │ │ │ │ ├── sort_asc.png │ │ │ │ ├── sort_both.png │ │ │ │ ├── sort_desc.png │ │ │ │ ├── sort_asc_disabled.png │ │ │ │ └── sort_desc_disabled.png │ │ │ └── forms │ │ │ │ └── select2 │ │ │ │ ├── select2.png │ │ │ │ └── spinner.gif │ │ │ ├── ui-bg_flat_75_ffffff_40x100.png │ │ │ ├── watermark.png.BACKUP.21459.png │ │ │ ├── watermark.png.BACKUP.21617.png │ │ │ ├── watermark.png.LOCAL.21459.png │ │ │ ├── watermark.png.LOCAL.21617.png │ │ │ ├── watermark.png.REMOTE.21459.png │ │ │ └── watermark.png.REMOTE.21617.png │ ├── javascripts │ │ ├── backend │ │ │ ├── ckeditor4.js │ │ │ ├── errors.js │ │ │ ├── help-engine │ │ │ │ └── help-engine.js │ │ │ ├── index_filter_fields.js │ │ │ ├── comments.js.coffee │ │ │ ├── custom.js │ │ │ ├── galleries.js │ │ │ ├── custom_tabs.js │ │ │ ├── plugins │ │ │ │ └── files │ │ │ │ │ └── plupload │ │ │ │ │ └── i18n │ │ │ │ │ ├── da.js │ │ │ │ │ ├── sv.js │ │ │ │ │ ├── sr.js │ │ │ │ │ ├── cs.js │ │ │ │ │ └── el.js │ │ │ ├── head.js │ │ │ ├── load_histories.js.erb │ │ │ └── mokio_dynamic_fields.js │ │ └── mokio.js.erb │ ├── fonts │ │ └── backend │ │ │ ├── index.html │ │ │ ├── minia.eot │ │ │ ├── minia.ttf │ │ │ ├── cuticons.eot │ │ │ ├── cuticons.ttf │ │ │ ├── ecoico.eot │ │ │ ├── ecoico.ttf │ │ │ ├── ecoico.woff │ │ │ ├── entypo.eot │ │ │ ├── entypo.ttf │ │ │ ├── entypo.woff │ │ │ ├── icomoon.eot │ │ │ ├── icomoon.ttf │ │ │ ├── icomoon.woff │ │ │ ├── iconic.eot │ │ │ ├── iconic.ttf │ │ │ ├── iconic.woff │ │ │ ├── minia.woff │ │ │ ├── silkcons.eot │ │ │ ├── silkcons.ttf │ │ │ ├── typicons.eot │ │ │ ├── typicons.ttf │ │ │ ├── wpzoom.eot │ │ │ ├── wpzoom.ttf │ │ │ ├── wpzoom.woff │ │ │ ├── cuticons.woff │ │ │ ├── meteocons.eot │ │ │ ├── meteocons.ttf │ │ │ ├── meteocons.woff │ │ │ ├── silkcons.woff │ │ │ ├── typicons.woff │ │ │ ├── broccolidry.eot │ │ │ ├── broccolidry.ttf │ │ │ ├── broccolidry.woff │ │ │ ├── moxieplayer.swf │ │ │ └── plupload.flash.swf │ └── stylesheets │ │ ├── dashboard.scss │ │ ├── backend │ │ ├── plugins │ │ │ ├── forms │ │ │ │ ├── uniform │ │ │ │ │ ├── radio.png │ │ │ │ │ ├── select.png │ │ │ │ │ ├── select1.png │ │ │ │ │ ├── select2.png │ │ │ │ │ ├── checkbox.png │ │ │ │ │ └── choose-file.png │ │ │ │ ├── color-picker │ │ │ │ │ ├── mask.png │ │ │ │ │ ├── wheel.png │ │ │ │ │ └── marker.png │ │ │ │ └── validate │ │ │ │ │ └── validate.css │ │ │ ├── misc │ │ │ │ └── search │ │ │ │ │ ├── loader.gif │ │ │ │ │ └── search.gif │ │ │ └── tables │ │ │ │ └── dataTables │ │ │ │ └── images │ │ │ │ ├── sort_asc.png │ │ │ │ ├── sort_both.png │ │ │ │ ├── sort_desc.png │ │ │ │ ├── back_disabled.png │ │ │ │ ├── back_enabled.png │ │ │ │ ├── forward_disabled.png │ │ │ │ ├── forward_enabled.png │ │ │ │ ├── back_enabled_hover.png │ │ │ │ ├── sort_asc_disabled.png │ │ │ │ ├── sort_desc_disabled.png │ │ │ │ └── forward_enabled_hover.png │ │ ├── supr-theme │ │ │ ├── images │ │ │ │ ├── ui-icons_2e83ff_256x240.png │ │ │ │ ├── ui-icons_353535_256x240.png │ │ │ │ ├── ui-icons_454545_256x240.png │ │ │ │ ├── ui-icons_ed7a53_256x240.png │ │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ │ │ │ ├── ui-bg_flat_75_ffffff_40x100.png │ │ │ │ ├── ui-bg_glass_55_9fc569_1x400.png │ │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ │ ├── ui-bg_glass_95_fef1ec_1x400.png │ │ │ │ ├── ui-bg_dots-small_75_dedede_2x2.png │ │ │ │ ├── ui-bg_dots-small_75_f7f7f7_2x2.png │ │ │ │ └── ui-bg_diagonals-small_100_f4f4f4_40x40.png │ │ │ ├── jquery.ui.supr.scss │ │ │ ├── jquery.ui.combobox.css │ │ │ └── jquery-ui-timepicker-addon.scss │ │ ├── errors.scss │ │ ├── dashboard.scss │ │ ├── new.scss │ │ ├── theme │ │ │ └── nice-select │ │ │ │ └── style.scss │ │ └── comments.scss │ │ └── mokio │ │ └── application.css ├── views │ ├── mokio │ │ ├── application_settings_groups │ │ │ └── _form.html.slim │ │ ├── external_scripts │ │ │ └── _form.html.slim │ │ ├── module_positions │ │ │ └── _form.html.slim │ │ ├── pic_galleries │ │ │ └── _form.html.slim │ │ ├── contents │ │ │ ├── delete_main_pic.js.slim │ │ │ ├── _common.slim │ │ │ └── _content_info_widget.html.slim │ │ ├── menus │ │ │ ├── update_menu_breadcrumps.js.slim │ │ │ ├── lang_changed.js.slim │ │ │ └── new_menu_position.slim │ │ ├── mov_galleries │ │ │ └── _form.html.slim │ │ ├── common │ │ │ ├── _notice.html.slim │ │ │ ├── copy.html.slim │ │ │ ├── filters │ │ │ │ ├── _text.html.slim │ │ │ │ ├── _date.html.slim │ │ │ │ └── _select.html.slim │ │ │ ├── modals │ │ │ │ └── _modal_histories.html.slim │ │ │ ├── _main_pic.html.slim │ │ │ ├── new.html.slim │ │ │ ├── edit.html.slim │ │ │ ├── _mokio_filters.html.slim │ │ │ └── _obj.html.slim │ │ ├── youtubes │ │ │ ├── find.js.slim │ │ │ ├── _preview_movie.html.slim │ │ │ ├── _new.html.slim │ │ │ ├── preview_movie.js.slim │ │ │ ├── _search_yt.html.slim │ │ │ ├── _search_yt_body.html.slim │ │ │ ├── uploader.html.slim │ │ │ └── thumb.html.slim │ │ ├── histories │ │ │ ├── get_n_more.js.slim │ │ │ └── elements │ │ │ │ └── _histories_list.html.slim │ │ ├── photos │ │ │ ├── get_photo.js.slim │ │ │ ├── get_thumb.js.slim │ │ │ ├── _data_file_info.html.slim │ │ │ ├── update.js.slim │ │ │ ├── destroy.js.slim │ │ │ ├── _edit_photo_form.html.slim │ │ │ ├── create.js.slim │ │ │ ├── upload_external_links.js.slim │ │ │ ├── thumb.html.slim │ │ │ ├── crop_thumb.js.slim │ │ │ ├── rotate_thumb.js.slim │ │ │ ├── crop_photo.js.slim │ │ │ ├── rotate_photo.js.slim │ │ │ ├── remove_thumb.js.slim │ │ │ └── update_thumb.js.slim │ │ ├── layout │ │ │ ├── sidebar_support.html.slim │ │ │ ├── _user_widget.html.slim │ │ │ └── header.html.slim │ │ ├── langs │ │ │ └── _form.html.slim │ │ ├── default_mailer │ │ │ ├── msg.html.haml │ │ │ └── msg.html.slim │ │ ├── registration_mailer │ │ │ └── send_pass_setup_instruction.html.slim │ │ ├── users │ │ │ ├── _generate_pass_change_link.html.slim │ │ │ └── edit_password.html.slim │ │ ├── errors │ │ │ └── unauthorized.html.slim │ │ ├── static_pages │ │ │ └── _form.html.slim │ │ ├── support │ │ │ └── index.html.slim │ │ ├── dashboard │ │ │ ├── _content.html.slim │ │ │ └── tbl_content.html.slim │ │ ├── application_settings │ │ │ └── _form.html.slim │ │ ├── editor_panel │ │ │ └── panel.html.erb │ │ └── data_files │ │ │ └── uploader.html.slim │ └── devise │ │ └── mailer │ │ └── reset_password_instructions.html.slim ├── models │ ├── mokio │ │ ├── mailer.rb │ │ ├── seo_tag.rb │ │ ├── backend_search.rb │ │ ├── history.rb │ │ ├── static_page.rb │ │ ├── editable_block.rb │ │ ├── external_script.rb │ │ ├── application_setting.rb │ │ ├── application_settings_group.rb │ │ ├── sitemap_external_logic.rb │ │ ├── content_link.rb │ │ ├── contact_template.rb │ │ ├── module_position.rb │ │ ├── lang.rb │ │ ├── available_module.rb │ │ ├── recipient.rb │ │ ├── selected_module.rb │ │ └── support.rb │ ├── devise_custom_failure.rb │ └── ckeditor │ │ ├── picture.rb │ │ ├── asset.rb │ │ └── attachment_file.rb ├── controllers │ └── mokio │ │ ├── langs_controller.rb │ │ ├── menus_controller.rb │ │ ├── users_controller.rb │ │ ├── articles_controller.rb │ │ ├── contents_controller.rb │ │ ├── photos_controller.rb │ │ ├── histories_controller.rb │ │ ├── youtubes_controller.rb │ │ ├── contacts_controller.rb │ │ ├── data_files_controller.rb │ │ ├── sessions_controller.rb │ │ ├── static_pages_controller.rb │ │ ├── backend_search_controller.rb │ │ ├── cke_file_browser_controller.rb │ │ ├── editable_blocks_controller.rb │ │ ├── mov_galleries_controller.rb │ │ ├── pic_galleries_controller.rb │ │ ├── static_modules_controller.rb │ │ ├── base_controller.rb │ │ ├── external_scripts_controller.rb │ │ ├── module_positions_controller.rb │ │ ├── dashboard_controller.rb │ │ ├── application_controller.rb │ │ ├── support_controller.rb │ │ ├── application_settings_groups_controller.rb │ │ └── common_controller.rb ├── mailers │ └── mokio │ │ ├── default_mailer.rb │ │ └── registration_mailer.rb ├── helpers │ └── mokio │ │ └── backend │ │ ├── application_helper.rb │ │ └── user_helper.rb ├── uploaders │ └── mokio │ │ ├── thumb_uploader.rb │ │ ├── main_pic_uploader.rb │ │ └── data_file_uploader.rb └── datatables │ └── datatable_backend_search.rb ├── config ├── initializers │ ├── logs.rb │ ├── frontend.rb │ ├── renderer.rb │ └── sessions.rb └── views.yml ├── .rspec ├── db └── migrate │ ├── 20200813083824_add_slug_to_mokio_contents.rb │ ├── 20200216211300_add_session_token_to_mokio_users.rb │ ├── 20220113134531_create_mokio_application_settings_groups.rb │ ├── 20200311015923_add_imageable_to_data_files.rb │ ├── 20200218022320_add_lockable_to_mokio_users.rb │ ├── 20191217135611_create_mokio_seo_tags.rb │ ├── 20200303101501_create_mokio_histories.rb │ ├── 20210414105700_create_editable_blocks.rb │ └── 20220113135021_create_mokio_application_settings.rb ├── docs └── backend_search.md ├── bin └── rails └── .gitignore /spec/dummy/app/mailers/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/app/models/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/lib/assets/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/.rspec: -------------------------------------------------------------------------------- 1 | --color 2 | -------------------------------------------------------------------------------- /spec/dummy/public/favicon.ico: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/app/assets/images/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/app/models/concerns/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/.browserslistrc: -------------------------------------------------------------------------------- 1 | defaults 2 | -------------------------------------------------------------------------------- /spec/dummy/app/assets/config/manifest.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/dummy/app/controllers/concerns/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/mokio/uploader.rb: -------------------------------------------------------------------------------- 1 | require "mokio/uploader/asset" -------------------------------------------------------------------------------- /app/assets/images/backend/watermark.png.BASE.21459.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/images/backend/watermark.png.BASE.21617.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /config/initializers/logs.rb: -------------------------------------------------------------------------------- 1 | MOKIO_LOG = Mokio::Logger.new 2 | -------------------------------------------------------------------------------- /app/assets/javascripts/backend/ckeditor4.js: -------------------------------------------------------------------------------- 1 | //= require ckeditor/init 2 | -------------------------------------------------------------------------------- /app/assets/fonts/backend/index.html: -------------------------------------------------------------------------------- 1 |

Direct access to directory is forbiden!

-------------------------------------------------------------------------------- /app/views/mokio/application_settings_groups/_form.html.slim: -------------------------------------------------------------------------------- 1 | = f.input :name 2 | -------------------------------------------------------------------------------- /spec/dummy/app/helpers/application_helper.rb: -------------------------------------------------------------------------------- 1 | module ApplicationHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/views/mokio/external_scripts/_form.html.slim: -------------------------------------------------------------------------------- 1 | = f.input :name 2 | = f.input :script -------------------------------------------------------------------------------- /app/views/mokio/module_positions/_form.html.slim: -------------------------------------------------------------------------------- 1 | = f.input :name 2 | = f.input :tpl 3 | -------------------------------------------------------------------------------- /app/assets/images/backend/icons/index.html: -------------------------------------------------------------------------------- 1 |

Direct access to directory is forbiden!

-------------------------------------------------------------------------------- /lib/mokio/common.rb: -------------------------------------------------------------------------------- 1 | require "mokio/common/model.rb" 2 | require "mokio/common/controller.rb" -------------------------------------------------------------------------------- /.rspec: -------------------------------------------------------------------------------- 1 | --color 2 | 3 | # Comment it out if you prefer dotted test output 4 | --format documentation -------------------------------------------------------------------------------- /app/assets/javascripts/backend/errors.js: -------------------------------------------------------------------------------- 1 | //= require jquery 2 | //= require backend/bootstrap/bootstrap -------------------------------------------------------------------------------- /app/assets/stylesheets/dashboard.scss: -------------------------------------------------------------------------------- 1 | .dashboard-box { 2 | height: 300px; 3 | overflow: auto; 4 | 5 | } -------------------------------------------------------------------------------- /app/assets/fonts/backend/minia.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/minia.eot -------------------------------------------------------------------------------- /app/assets/fonts/backend/minia.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/minia.ttf -------------------------------------------------------------------------------- /app/assets/images/backend/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/logo.png -------------------------------------------------------------------------------- /app/views/mokio/pic_galleries/_form.html.slim: -------------------------------------------------------------------------------- 1 | = render :partial => "mokio/pic_galleries/form_inputs", locals: {f:f} -------------------------------------------------------------------------------- /lib/mokio/version.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | # 3 | # Actual Mokio version 4 | # 5 | VERSION = '2.14.2' 6 | end 7 | -------------------------------------------------------------------------------- /app/assets/fonts/backend/cuticons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/cuticons.eot -------------------------------------------------------------------------------- /app/assets/fonts/backend/cuticons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/cuticons.ttf -------------------------------------------------------------------------------- /app/assets/fonts/backend/ecoico.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/ecoico.eot -------------------------------------------------------------------------------- /app/assets/fonts/backend/ecoico.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/ecoico.ttf -------------------------------------------------------------------------------- /app/assets/fonts/backend/ecoico.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/ecoico.woff -------------------------------------------------------------------------------- /app/assets/fonts/backend/entypo.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/entypo.eot -------------------------------------------------------------------------------- /app/assets/fonts/backend/entypo.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/entypo.ttf -------------------------------------------------------------------------------- /app/assets/fonts/backend/entypo.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/entypo.woff -------------------------------------------------------------------------------- /app/assets/fonts/backend/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/icomoon.eot -------------------------------------------------------------------------------- /app/assets/fonts/backend/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/icomoon.ttf -------------------------------------------------------------------------------- /app/assets/fonts/backend/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/icomoon.woff -------------------------------------------------------------------------------- /app/assets/fonts/backend/iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/iconic.eot -------------------------------------------------------------------------------- /app/assets/fonts/backend/iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/iconic.ttf -------------------------------------------------------------------------------- /app/assets/fonts/backend/iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/iconic.woff -------------------------------------------------------------------------------- /app/assets/fonts/backend/minia.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/minia.woff -------------------------------------------------------------------------------- /app/assets/fonts/backend/silkcons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/silkcons.eot -------------------------------------------------------------------------------- /app/assets/fonts/backend/silkcons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/silkcons.ttf -------------------------------------------------------------------------------- /app/assets/fonts/backend/typicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/typicons.eot -------------------------------------------------------------------------------- /app/assets/fonts/backend/typicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/typicons.ttf -------------------------------------------------------------------------------- /app/assets/fonts/backend/wpzoom.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/wpzoom.eot -------------------------------------------------------------------------------- /app/assets/fonts/backend/wpzoom.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/wpzoom.ttf -------------------------------------------------------------------------------- /app/assets/fonts/backend/wpzoom.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/wpzoom.woff -------------------------------------------------------------------------------- /app/assets/images/backend/arrowup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/arrowup.png -------------------------------------------------------------------------------- /app/assets/images/backend/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/favicon.ico -------------------------------------------------------------------------------- /app/assets/images/backend/handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/handle.png -------------------------------------------------------------------------------- /app/assets/images/backend/handle1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/handle1.png -------------------------------------------------------------------------------- /app/assets/images/backend/loader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loader.png -------------------------------------------------------------------------------- /app/assets/images/backend/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/search.png -------------------------------------------------------------------------------- /app/assets/images/backend/select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/select.png -------------------------------------------------------------------------------- /app/assets/images/backend/spinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/spinner.png -------------------------------------------------------------------------------- /app/models/mokio/mailer.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class Mailer 3 | include Mokio::Concerns::Models::Mailer 4 | end 5 | end -------------------------------------------------------------------------------- /app/views/mokio/contents/delete_main_pic.js.slim: -------------------------------------------------------------------------------- 1 | | $(".article-mainpic, .delete-mainpic-button").css("display", "none"); -------------------------------------------------------------------------------- /app/views/mokio/menus/update_menu_breadcrumps.js.slim: -------------------------------------------------------------------------------- 1 | | $('#menu_breadcrumps').html('#{tree_menu_breadcrumbs(@menu)}') 2 | -------------------------------------------------------------------------------- /app/views/mokio/mov_galleries/_form.html.slim: -------------------------------------------------------------------------------- 1 | = render :partial => "mokio/mov_galleries/form_inputs", locals: {f:f} 2 | -------------------------------------------------------------------------------- /lib/generators/mokio/templates/contents/_sidebar_btn.html.slim: -------------------------------------------------------------------------------- 1 | =sidebar_btn Mokio::<%=class_name%>, "icomoon-icon-blogger" -------------------------------------------------------------------------------- /spec/fixtures/files/sample_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/spec/fixtures/files/sample_image.jpg -------------------------------------------------------------------------------- /app/assets/fonts/backend/cuticons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/cuticons.woff -------------------------------------------------------------------------------- /app/assets/fonts/backend/meteocons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/meteocons.eot -------------------------------------------------------------------------------- /app/assets/fonts/backend/meteocons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/meteocons.ttf -------------------------------------------------------------------------------- /app/assets/fonts/backend/meteocons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/meteocons.woff -------------------------------------------------------------------------------- /app/assets/fonts/backend/silkcons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/silkcons.woff -------------------------------------------------------------------------------- /app/assets/fonts/backend/typicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/typicons.woff -------------------------------------------------------------------------------- /app/assets/images/backend/arrowdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/arrowdown.png -------------------------------------------------------------------------------- /app/assets/images/backend/checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/checkbox.png -------------------------------------------------------------------------------- /app/assets/images/backend/sidebarbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/sidebarbg.png -------------------------------------------------------------------------------- /app/assets/images/backend/ui.totop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/ui.totop.png -------------------------------------------------------------------------------- /app/assets/images/backend/watermark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/watermark.png -------------------------------------------------------------------------------- /app/views/mokio/common/_notice.html.slim: -------------------------------------------------------------------------------- 1 | - content_for :js do 2 | - flash.each do |key, msg| 3 | = flash_message(msg) 4 | -------------------------------------------------------------------------------- /spec/dummy/bin/rake: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | require_relative '../config/boot' 3 | require 'rake' 4 | Rake.application.run 5 | -------------------------------------------------------------------------------- /spec/dummy/config/routes.rb: -------------------------------------------------------------------------------- 1 | Rails.application.routes.draw do 2 | mount Mokio::Engine, at: "/backend" 3 | end 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/assets/fonts/backend/broccolidry.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/broccolidry.eot -------------------------------------------------------------------------------- /app/assets/fonts/backend/broccolidry.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/broccolidry.ttf -------------------------------------------------------------------------------- /app/assets/fonts/backend/broccolidry.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/broccolidry.woff -------------------------------------------------------------------------------- /app/assets/fonts/backend/moxieplayer.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/moxieplayer.swf -------------------------------------------------------------------------------- /app/assets/images/backend/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/ajax-loader.gif -------------------------------------------------------------------------------- /app/assets/images/backend/choose-file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/choose-file.png -------------------------------------------------------------------------------- /app/assets/images/backend/icons/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/icons/minus.png -------------------------------------------------------------------------------- /app/assets/images/backend/icons/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/icons/plus.png -------------------------------------------------------------------------------- /app/assets/images/backend/logo_bloom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/logo_bloom.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/1.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/2-1.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/2-2.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/2.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/3-1.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/3.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/4-1.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/4-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/4-2.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/4.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/5.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/6.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/7.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/8.png -------------------------------------------------------------------------------- /app/views/mokio/youtubes/find.js.slim: -------------------------------------------------------------------------------- 1 | | $("#yt-uploader-content").html("#{j render :template => 'mokio/youtubes/preview' }"); 2 | -------------------------------------------------------------------------------- /app/assets/fonts/backend/plupload.flash.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/fonts/backend/plupload.flash.swf -------------------------------------------------------------------------------- /app/assets/images/backend/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/fonts/icomoon.eot -------------------------------------------------------------------------------- /app/assets/images/backend/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/fonts/icomoon.ttf -------------------------------------------------------------------------------- /app/assets/images/backend/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/fonts/icomoon.woff -------------------------------------------------------------------------------- /app/assets/images/backend/icons/external.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/icons/external.png -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/3d/015.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/3d/015.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/3d/019.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/3d/019.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/3d/026.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/3d/026.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/3d/028.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/3d/028.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/3d/039.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/3d/039.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/3d/067.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/3d/067.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/3d/071.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/3d/071.gif -------------------------------------------------------------------------------- /app/assets/images/backend/uniform/radio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/uniform/radio.png -------------------------------------------------------------------------------- /app/assets/images/backend/uniform/select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/uniform/select.png -------------------------------------------------------------------------------- /app/views/mokio/youtubes/_preview_movie.html.slim: -------------------------------------------------------------------------------- 1 | iframe frameborder="0" height="500" src="http://#{@video.embed_url}" width="700" 2 | -------------------------------------------------------------------------------- /spec/dummy/config/webpack/environment.js: -------------------------------------------------------------------------------- 1 | const { environment } = require('@rails/webpacker') 2 | 3 | module.exports = environment 4 | -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/preload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/preload.png -------------------------------------------------------------------------------- /app/assets/images/backend/icons/arrow-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/icons/arrow-left.png -------------------------------------------------------------------------------- /app/assets/images/backend/icons/arrow-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/icons/arrow-right.png -------------------------------------------------------------------------------- /app/assets/images/backend/icons/left-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/icons/left-arrow.png -------------------------------------------------------------------------------- /app/assets/images/backend/icons/right-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/icons/right-arrow.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/body/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/body/1.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/body/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/body/2.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/body/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/body/3.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/body/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/body/4.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/header.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/header/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/header/1.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/header/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/header/2.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/header/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/header/3.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/header/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/header/4.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/topbarbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/topbarbg.png -------------------------------------------------------------------------------- /app/assets/images/backend/uniform/checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/uniform/checkbox.png -------------------------------------------------------------------------------- /app/assets/images/backend/uniform/select1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/uniform/select1.png -------------------------------------------------------------------------------- /app/assets/images/backend/uniform/select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/uniform/select2.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/body/dust.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/body/dust.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/body/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/body/grey.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebar/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebar/1.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebar/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebar/2.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebar/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebar/3.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebar/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebar/4.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebarbg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebarbg1.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebarbg2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebarbg2.png -------------------------------------------------------------------------------- /app/assets/images/backend/uniform/choose-file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/uniform/choose-file.png -------------------------------------------------------------------------------- /app/models/mokio/seo_tag.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class SeoTag < ActiveRecord::Base 3 | include Mokio::Concerns::Models::SeoTag 4 | end 5 | end -------------------------------------------------------------------------------- /lib/generators/mokio/templates/_google_analytics.html.slim: -------------------------------------------------------------------------------- 1 | - content_for :js do 2 | javascript: 3 | #{build_external_script "Google Analytics"} -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/default/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/default/loader.gif -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/default/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/default/sprite.png -------------------------------------------------------------------------------- /app/assets/images/backend/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/glyphicons-halflings.png -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/001.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/001.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/002.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/002.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/003.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/003.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/007.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/007.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/008.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/008.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/010.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/010.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/011.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/011.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/012.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/012.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/013.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/013.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/016.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/016.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/017.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/017.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/020.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/020.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/021.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/021.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/022.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/022.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/023.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/023.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/025.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/025.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/027.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/027.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/029.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/029.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/030.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/030.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/033.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/033.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/034.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/034.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/035.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/035.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/038.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/038.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/040.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/040.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/041.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/041.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/042.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/042.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/044.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/044.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/046.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/046.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/047.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/047.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/049.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/049.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/050.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/050.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/051.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/051.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/052.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/052.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/054.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/054.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/055.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/055.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/056.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/056.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/059.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/059.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/060.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/060.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/061.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/061.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/064.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/064.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/065.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/065.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/066.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/066.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/068.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/068.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/069.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/069.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/070.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/070.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/circular/072.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/circular/072.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/004.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/004.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/005.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/005.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/006.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/006.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/009.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/009.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/014.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/014.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/018.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/018.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/024.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/024.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/031.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/031.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/032.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/032.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/036.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/036.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/037.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/037.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/043.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/043.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/045.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/045.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/048.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/048.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/053.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/053.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/057.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/057.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/058.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/058.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/062.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/062.gif -------------------------------------------------------------------------------- /app/assets/images/backend/loaders/horizontal/063.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/loaders/horizontal/063.gif -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/body/dust_@2X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/body/dust_@2X.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/body/grey_@2X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/body/grey_@2X.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/header/grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/header/grid.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebar/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebar/grey.png -------------------------------------------------------------------------------- /app/models/mokio/backend_search.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class BackendSearch 3 | include Mokio::Concerns::Models::BackendSearch 4 | end 5 | end -------------------------------------------------------------------------------- /app/models/mokio/history.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class History < ActiveRecord::Base 3 | include Mokio::Concerns::Models::History 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /app/views/mokio/histories/get_n_more.js.slim: -------------------------------------------------------------------------------- 1 | | $('#histories').append("#{escape_javascript(render partial: 'mokio/histories/elements/histories_list')}") -------------------------------------------------------------------------------- /app/views/mokio/photos/get_photo.js.slim: -------------------------------------------------------------------------------- 1 | | $(".photo_holder").html(''); 2 | -------------------------------------------------------------------------------- /app/views/mokio/youtubes/_new.html.slim: -------------------------------------------------------------------------------- 1 | .modal-dialog 2 | .modal-content 3 | #yt-uploader-content 4 | = render :partial => 'search_yt' 5 | -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/default/sprite_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/default/sprite_x.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/default/sprite_y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/default/sprite_y.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/facebook/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/facebook/btnNext.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/facebook/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/facebook/loader.gif -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/facebook/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/facebook/sprite.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/body/cream_dust.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/body/cream_dust.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/header/grid_@2X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/header/grid_@2X.png -------------------------------------------------------------------------------- /app/controllers/mokio/langs_controller.rb: -------------------------------------------------------------------------------- 1 | class Mokio::LangsController < Mokio::CommonController 2 | include Mokio::Concerns::Controllers::Langs 3 | end 4 | -------------------------------------------------------------------------------- /app/views/mokio/layout/sidebar_support.html.slim: -------------------------------------------------------------------------------- 1 | /li.support_nav 2 | / a href=support_path 3 | / span.icon16.entypo-icon-help 4 | / = bts("support") -------------------------------------------------------------------------------- /app/views/mokio/photos/get_thumb.js.slim: -------------------------------------------------------------------------------- 1 | | $(".photo_holder").html("#{j render :template => 'mokio/photos/thumb', :locals => {photo: @edited_photo} }"); 2 | -------------------------------------------------------------------------------- /config/initializers/frontend.rb: -------------------------------------------------------------------------------- 1 | Rails.application.configure do |conf| 2 | conf.default_url_options = {host: ENV['APP_HOST'] || "localhost:3000"} 3 | end 4 | -------------------------------------------------------------------------------- /config/views.yml: -------------------------------------------------------------------------------- 1 | - 2 | original_view: "mokio/layout/sidebar" 3 | override_path: "mokio/layout/sidebar_support" 4 | html_element_id: "#sidebar-ul" 5 | -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/dark_rounded/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/dark_rounded/loader.gif -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/dark_rounded/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/dark_rounded/sprite.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/dark_square/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/dark_square/btnNext.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/dark_square/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/dark_square/loader.gif -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/dark_square/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/dark_square/sprite.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/default/sprite_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/default/sprite_next.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/default/sprite_prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/default/sprite_prev.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/light_square/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/light_square/loader.gif -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/light_square/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/light_square/sprite.png -------------------------------------------------------------------------------- /app/assets/images/backend/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/body/subtle_dots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/body/subtle_dots.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebar/az_subtle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebar/az_subtle.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebar/grey_@2X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebar/grey_@2X.png -------------------------------------------------------------------------------- /app/assets/images/backend/plugins/data_tables/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/plugins/data_tables/search.png -------------------------------------------------------------------------------- /app/assets/images/backend/ui-bg_flat_75_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/ui-bg_flat_75_ffffff_40x100.png -------------------------------------------------------------------------------- /app/assets/images/backend/watermark.png.BACKUP.21459.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/watermark.png.BACKUP.21459.png -------------------------------------------------------------------------------- /app/assets/images/backend/watermark.png.BACKUP.21617.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/watermark.png.BACKUP.21617.png -------------------------------------------------------------------------------- /app/assets/images/backend/watermark.png.LOCAL.21459.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/watermark.png.LOCAL.21459.png -------------------------------------------------------------------------------- /app/assets/images/backend/watermark.png.LOCAL.21617.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/watermark.png.LOCAL.21617.png -------------------------------------------------------------------------------- /app/assets/images/backend/watermark.png.REMOTE.21459.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/watermark.png.REMOTE.21459.png -------------------------------------------------------------------------------- /app/assets/images/backend/watermark.png.REMOTE.21617.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/watermark.png.REMOTE.21617.png -------------------------------------------------------------------------------- /app/controllers/mokio/menus_controller.rb: -------------------------------------------------------------------------------- 1 | class Mokio::MenusController < Mokio::CommonController 2 | include Mokio::Concerns::Controllers::Menus 3 | end 4 | 5 | -------------------------------------------------------------------------------- /app/controllers/mokio/users_controller.rb: -------------------------------------------------------------------------------- 1 | 2 | class Mokio::UsersController < Mokio::CommonController 3 | include Mokio::Concerns::Controllers::Users 4 | end 5 | -------------------------------------------------------------------------------- /app/models/mokio/static_page.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class StaticPage < ActiveRecord::Base 3 | include Mokio::Concerns::Models::StaticPage 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/dummy/bin/bundle: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) 3 | load Gem.bin_path('bundler', 'bundle') 4 | -------------------------------------------------------------------------------- /spec/dummy/config.ru: -------------------------------------------------------------------------------- 1 | # This file is used by Rack-based servers to start the application. 2 | require_relative 'config/environment' 3 | run Rails.application 4 | -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/dark_rounded/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/dark_rounded/btnNext.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/default/default_thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/default/default_thumb.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/facebook/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/facebook/btnPrevious.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/light_rounded/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/light_rounded/btnNext.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/light_rounded/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/light_rounded/loader.gif -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/light_rounded/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/light_rounded/sprite.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/light_square/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/light_square/btnNext.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/body/cream_dust_@2X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/body/cream_dust_@2X.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/body/subtle_dots_@2X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/body/subtle_dots_@2X.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/header/bedge_grunge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/header/bedge_grunge.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/header/nasty_fabric.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/header/nasty_fabric.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/header/natural_paper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/header/natural_paper.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebar/noise_lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebar/noise_lines.png -------------------------------------------------------------------------------- /app/assets/images/backend/plugins/data_tables/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/plugins/data_tables/sort_asc.png -------------------------------------------------------------------------------- /app/assets/images/backend/plugins/data_tables/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/plugins/data_tables/sort_both.png -------------------------------------------------------------------------------- /app/assets/images/backend/plugins/data_tables/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/plugins/data_tables/sort_desc.png -------------------------------------------------------------------------------- /app/assets/images/backend/plugins/forms/select2/select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/plugins/forms/select2/select2.png -------------------------------------------------------------------------------- /app/assets/images/backend/plugins/forms/select2/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/plugins/forms/select2/spinner.gif -------------------------------------------------------------------------------- /app/controllers/mokio/articles_controller.rb: -------------------------------------------------------------------------------- 1 | class Mokio::ArticlesController < Mokio::CommonController 2 | include Mokio::Concerns::Controllers::Articles 3 | end 4 | -------------------------------------------------------------------------------- /app/controllers/mokio/contents_controller.rb: -------------------------------------------------------------------------------- 1 | class Mokio::ContentsController < Mokio::CommonController 2 | include Mokio::Concerns::Controllers::Contents 3 | end 4 | -------------------------------------------------------------------------------- /app/controllers/mokio/photos_controller.rb: -------------------------------------------------------------------------------- 1 | 2 | class Mokio::PhotosController < Mokio::BaseController 3 | include Mokio::Concerns::Controllers::Photos 4 | end 5 | -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/dark_rounded/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/dark_rounded/btnPrevious.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/dark_square/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/dark_square/btnPrevious.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/light_square/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/light_square/btnPrevious.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/header/bedge_grunge_@2X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/header/bedge_grunge_@2X.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/header/nasty_fabric_@2X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/header/nasty_fabric_@2X.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebar/az_subtle_@2X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebar/az_subtle_@2X.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebar/billie_holiday.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebar/billie_holiday.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebar/noise_lines_@2X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebar/noise_lines_@2X.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/forms/uniform/radio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/forms/uniform/radio.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/misc/search/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/misc/search/loader.gif -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/misc/search/search.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/misc/search/search.gif -------------------------------------------------------------------------------- /app/controllers/mokio/histories_controller.rb: -------------------------------------------------------------------------------- 1 | class Mokio::HistoriesController < Mokio::ApplicationController 2 | include Mokio::Concerns::Controllers::Histories 3 | end -------------------------------------------------------------------------------- /app/controllers/mokio/youtubes_controller.rb: -------------------------------------------------------------------------------- 1 | 2 | class Mokio::YoutubesController < Mokio::BaseController 3 | include Mokio::Concerns::Controllers::Youtubes 4 | end 5 | -------------------------------------------------------------------------------- /app/models/mokio/editable_block.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class EditableBlock < ActiveRecord::Base 3 | include Mokio::Concerns::Models::EditableBlock 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/mokio_test.rb: -------------------------------------------------------------------------------- 1 | require 'test_helper' 2 | 3 | class MokioTest < ActiveSupport::TestCase 4 | test "truth" do 5 | assert_kind_of Module, Mokio 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/dark_square/contentPattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/dark_square/contentPattern.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/facebook/contentPatternTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/facebook/contentPatternTop.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/facebook/default_thumbnail.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/facebook/default_thumbnail.gif -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/light_rounded/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/light_rounded/btnPrevious.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/header/natural_paper_@2X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/header/natural_paper_@2X.png -------------------------------------------------------------------------------- /app/assets/javascripts/mokio.js.erb: -------------------------------------------------------------------------------- 1 | var Mokio = { 2 | engine_root: function() { 3 | return "<%= Mokio::Engine.routes.url_helpers.root_path.gsub('/', '') %>"; 4 | } 5 | } -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/forms/uniform/select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/forms/uniform/select.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/forms/uniform/select1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/forms/uniform/select1.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/forms/uniform/select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/forms/uniform/select2.png -------------------------------------------------------------------------------- /app/controllers/mokio/contacts_controller.rb: -------------------------------------------------------------------------------- 1 | 2 | class Mokio::ContactsController < Mokio::CommonController 3 | include Mokio::Concerns::Controllers::Contacts 4 | end 5 | 6 | -------------------------------------------------------------------------------- /app/controllers/mokio/data_files_controller.rb: -------------------------------------------------------------------------------- 1 | 2 | class Mokio::DataFilesController < Mokio::BaseController 3 | include Mokio::Concerns::Controllers::DataFiles 4 | end 5 | -------------------------------------------------------------------------------- /app/controllers/mokio/sessions_controller.rb: -------------------------------------------------------------------------------- 1 | 2 | class Mokio::SessionsController < Devise::SessionsController 3 | include Mokio::Concerns::Controllers::Sessions 4 | end 5 | -------------------------------------------------------------------------------- /app/controllers/mokio/static_pages_controller.rb: -------------------------------------------------------------------------------- 1 | class Mokio::StaticPagesController < Mokio::CommonController 2 | include Mokio::Concerns::Controllers::StaticPages 3 | end 4 | -------------------------------------------------------------------------------- /app/models/mokio/external_script.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class ExternalScript < ActiveRecord::Base 3 | include Mokio::Concerns::Models::ExternalScript 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/dark_rounded/contentPattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/dark_rounded/contentPattern.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/dark_square/default_thumbnail.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/dark_square/default_thumbnail.gif -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/facebook/contentPatternBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/facebook/contentPatternBottom.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/facebook/contentPatternLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/facebook/contentPatternLeft.png -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/facebook/contentPatternRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/facebook/contentPatternRight.png -------------------------------------------------------------------------------- /app/assets/images/backend/patterns/sidebar/billie_holiday_@2X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/patterns/sidebar/billie_holiday_@2X.png -------------------------------------------------------------------------------- /app/assets/images/backend/plugins/data_tables/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/plugins/data_tables/sort_asc_disabled.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/forms/color-picker/mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/forms/color-picker/mask.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/forms/color-picker/wheel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/forms/color-picker/wheel.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/forms/uniform/checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/forms/uniform/checkbox.png -------------------------------------------------------------------------------- /spec/dummy/bin/rails: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | APP_PATH = File.expand_path('../../config/application', __FILE__) 3 | require_relative '../config/boot' 4 | require 'rails/commands' 5 | -------------------------------------------------------------------------------- /spec/dummy/config/environment.rb: -------------------------------------------------------------------------------- 1 | # Load the Rails application. 2 | require_relative 'application' 3 | 4 | # Initialize the Rails application. 5 | Dummy::Application.initialize! 6 | -------------------------------------------------------------------------------- /spec/dummy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "@rails/webpacker": "4.2.2" 4 | }, 5 | "devDependencies": { 6 | "webpack-dev-server": "^3.10.3" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/dark_rounded/default_thumbnail.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/dark_rounded/default_thumbnail.gif -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/light_rounded/default_thumbnail.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/light_rounded/default_thumbnail.gif -------------------------------------------------------------------------------- /app/assets/images/backend/gallery/light_square/default_thumbnail.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/gallery/light_square/default_thumbnail.gif -------------------------------------------------------------------------------- /app/assets/images/backend/plugins/data_tables/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/images/backend/plugins/data_tables/sort_desc_disabled.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/forms/color-picker/marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/forms/color-picker/marker.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/forms/uniform/choose-file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/forms/uniform/choose-file.png -------------------------------------------------------------------------------- /app/controllers/mokio/backend_search_controller.rb: -------------------------------------------------------------------------------- 1 | class Mokio::BackendSearchController < Mokio::CommonController 2 | include Mokio::Concerns::Controllers::BackendSearch 3 | end 4 | -------------------------------------------------------------------------------- /app/controllers/mokio/cke_file_browser_controller.rb: -------------------------------------------------------------------------------- 1 | class Mokio::CkeFileBrowserController < Mokio::BaseController 2 | include Mokio::Concerns::Controllers::CkeFileBrowser 3 | end 4 | -------------------------------------------------------------------------------- /app/controllers/mokio/editable_blocks_controller.rb: -------------------------------------------------------------------------------- 1 | class Mokio::EditableBlocksController < Mokio::CommonController 2 | include Mokio::Concerns::Controllers::EditableBlocks 3 | end 4 | -------------------------------------------------------------------------------- /app/controllers/mokio/mov_galleries_controller.rb: -------------------------------------------------------------------------------- 1 | 2 | class Mokio::MovGalleriesController < Mokio::CommonController 3 | include Mokio::Concerns::Controllers::MovGalleries 4 | end 5 | -------------------------------------------------------------------------------- /app/controllers/mokio/pic_galleries_controller.rb: -------------------------------------------------------------------------------- 1 | 2 | class Mokio::PicGalleriesController < Mokio::CommonController 3 | include Mokio::Concerns::Controllers::PicGalleries 4 | end 5 | -------------------------------------------------------------------------------- /app/controllers/mokio/static_modules_controller.rb: -------------------------------------------------------------------------------- 1 | 2 | class Mokio::StaticModulesController < Mokio::CommonController 3 | include Mokio::Concerns::Controllers::StaticModules 4 | end 5 | -------------------------------------------------------------------------------- /app/controllers/mokio/base_controller.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding : utf-8 -*- 2 | class Mokio::BaseController < Mokio::ApplicationController 3 | include Mokio::Concerns::Controllers::Base 4 | end 5 | -------------------------------------------------------------------------------- /app/models/mokio/application_setting.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class ApplicationSetting < ActiveRecord::Base 3 | include Mokio::Concerns::Models::ApplicationSetting 4 | end 5 | end 6 | 7 | -------------------------------------------------------------------------------- /app/controllers/mokio/external_scripts_controller.rb: -------------------------------------------------------------------------------- 1 | 2 | class Mokio::ExternalScriptsController < Mokio::CommonController 3 | include Mokio::Concerns::Controllers::ExternalScripts 4 | end 5 | -------------------------------------------------------------------------------- /app/controllers/mokio/module_positions_controller.rb: -------------------------------------------------------------------------------- 1 | 2 | class Mokio::ModulePositionsController < Mokio::CommonController 3 | include Mokio::Concerns::Controllers::ModulePositions 4 | end 5 | -------------------------------------------------------------------------------- /app/views/mokio/photos/_data_file_info.html.slim: -------------------------------------------------------------------------------- 1 | javascript: 2 | var data_file_model = "#{data_file_model obj}"; 3 | var default_data_file = "#{obj.default_data_file.to_s.demodulize.tableize}"; -------------------------------------------------------------------------------- /app/views/mokio/photos/update.js.slim: -------------------------------------------------------------------------------- 1 | - if @photo.active 2 | | $("#photo_#{@photo.id}").removeClass('photo_not_active'); 3 | - else 4 | | $("#photo_#{@photo.id}").addClass('photo_not_active'); -------------------------------------------------------------------------------- /spec/dummy/config/initializers/session_store.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | Dummy::Application.config.session_store :cookie_store, key: '_dummy_session' 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/tables/dataTables/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/tables/dataTables/images/sort_asc.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/tables/dataTables/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/tables/dataTables/images/sort_both.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/tables/dataTables/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/tables/dataTables/images/sort_desc.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/supr-theme/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/images/ui-icons_353535_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/supr-theme/images/ui-icons_353535_256x240.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/supr-theme/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/images/ui-icons_ed7a53_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/supr-theme/images/ui-icons_ed7a53_256x240.png -------------------------------------------------------------------------------- /app/views/mokio/photos/destroy.js.slim: -------------------------------------------------------------------------------- 1 | | $("#itemContainer").find("#modaledit_#{@id}").remove(); 2 | | var photoCount = parseInt($("#photoCount").text()) - 1; 3 | | $('#photoCount').text(photoCount); 4 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/images/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/supr-theme/images/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /app/controllers/mokio/dashboard_controller.rb: -------------------------------------------------------------------------------- 1 | # -*- encoding : utf-8 -*- 2 | 3 | class Mokio::DashboardController < Mokio::BaseController 4 | include Mokio::Concerns::Controllers::Dashboard 5 | end 6 | -------------------------------------------------------------------------------- /app/models/mokio/application_settings_group.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class ApplicationSettingsGroup < ActiveRecord::Base 3 | include Mokio::Concerns::Models::ApplicationSettingsGroup 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /db/migrate/20200813083824_add_slug_to_mokio_contents.rb: -------------------------------------------------------------------------------- 1 | class AddSlugToMokioContents < ActiveRecord::Migration[6.0] 2 | def change 3 | add_column :mokio_contents, :slug, :string 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/dummy/config/webpack/test.js: -------------------------------------------------------------------------------- 1 | process.env.NODE_ENV = process.env.NODE_ENV || 'development' 2 | 3 | const environment = require('./environment') 4 | 5 | module.exports = environment.toWebpackConfig() 6 | -------------------------------------------------------------------------------- /app/assets/javascripts/backend/help-engine/help-engine.js: -------------------------------------------------------------------------------- 1 | $(window).load(function() { 2 | $('#joyRideTipContent').joyride({ 3 | autoStart : true, 4 | modal:true, 5 | expose: true 6 | }); 7 | }); -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/tables/dataTables/images/back_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/tables/dataTables/images/back_disabled.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/tables/dataTables/images/back_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/tables/dataTables/images/back_enabled.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/images/ui-bg_flat_75_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/supr-theme/images/ui-bg_flat_75_ffffff_40x100.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/images/ui-bg_glass_55_9fc569_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/supr-theme/images/ui-bg_glass_55_9fc569_1x400.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/supr-theme/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/images/ui-bg_glass_95_fef1ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/supr-theme/images/ui-bg_glass_95_fef1ec_1x400.png -------------------------------------------------------------------------------- /spec/dummy/config/webpack/production.js: -------------------------------------------------------------------------------- 1 | process.env.NODE_ENV = process.env.NODE_ENV || 'production' 2 | 3 | const environment = require('./environment') 4 | 5 | module.exports = environment.toWebpackConfig() 6 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/tables/dataTables/images/forward_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/tables/dataTables/images/forward_disabled.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/tables/dataTables/images/forward_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/tables/dataTables/images/forward_enabled.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/images/ui-bg_dots-small_75_dedede_2x2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/supr-theme/images/ui-bg_dots-small_75_dedede_2x2.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/images/ui-bg_dots-small_75_f7f7f7_2x2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/supr-theme/images/ui-bg_dots-small_75_f7f7f7_2x2.png -------------------------------------------------------------------------------- /app/views/mokio/langs/_form.html.slim: -------------------------------------------------------------------------------- 1 | = f.input :name 2 | = f.input :shortname 3 | = f.input :active, :wrapper => :active_checkbox,:input_html => { :checked => true }, disabled: !obj.display_editable_field?('active') -------------------------------------------------------------------------------- /app/views/mokio/photos/_edit_photo_form.html.slim: -------------------------------------------------------------------------------- 1 | .photo_fields 2 | = f.input :name 3 | = f.input :subtitle 4 | = f.input :intro 5 | = f.input :external_link 6 | = f.input :active, :wrapper => :active_checkbox -------------------------------------------------------------------------------- /spec/dummy/config/webpack/development.js: -------------------------------------------------------------------------------- 1 | process.env.NODE_ENV = process.env.NODE_ENV || 'development' 2 | 3 | const environment = require('./environment') 4 | 5 | module.exports = environment.toWebpackConfig() 6 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/tables/dataTables/images/back_enabled_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/tables/dataTables/images/back_enabled_hover.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/tables/dataTables/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/tables/dataTables/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/tables/dataTables/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/tables/dataTables/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /db/migrate/20200216211300_add_session_token_to_mokio_users.rb: -------------------------------------------------------------------------------- 1 | class AddSessionTokenToMokioUsers < ActiveRecord::Migration[6.0] 2 | def change 3 | add_column :mokio_users, :session_token, :string 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /spec/dummy/.sample.env: -------------------------------------------------------------------------------- 1 | TEST_DATABASE_NAME="mokio_test" 2 | TEST_DATABASE_USERNAME="user" 3 | TEST_DATABASE_PASSWORD="pass" 4 | 5 | DATABASE_NAME="mokio_dev" 6 | DATABASE_USERNAME="user" 7 | DATABASE_PASSWORD="pass" 8 | -------------------------------------------------------------------------------- /spec/factories/content_links_factory.rb: -------------------------------------------------------------------------------- 1 | # Read about factories at https://github.com/thoughtbot/factory_bot 2 | 3 | FactoryBot.define do 4 | factory :content_link, :class => Mokio::ContentLink do 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/tables/dataTables/images/forward_enabled_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/plugins/tables/dataTables/images/forward_enabled_hover.png -------------------------------------------------------------------------------- /spec/factories/files.rb: -------------------------------------------------------------------------------- 1 | FactoryBot.define do 2 | factory :sample_image do 3 | data_file { Rack::Test::UploadedFile.new(File.open(File.expand_path('../../fixtures/files/sample_image.jpg', __FILE__))) } 4 | end 5 | end 6 | -------------------------------------------------------------------------------- /app/assets/javascripts/backend/index_filter_fields.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | $('.mokio-filter-form select, .mokio-filter-form input').change(function(){ 3 | $('.mokio-filter-form').submit(); 4 | }); 5 | }); 6 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/images/ui-bg_diagonals-small_100_f4f4f4_40x40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/versoft/mokio/HEAD/app/assets/stylesheets/backend/supr-theme/images/ui-bg_diagonals-small_100_f4f4f4_40x40.png -------------------------------------------------------------------------------- /app/views/mokio/default_mailer/msg.html.haml: -------------------------------------------------------------------------------- 1 | !!! 2 | %html 3 | %head 4 | %meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/ 5 | %body{:style => "font-size: 15px;"} 6 | = @mailer.template_msg -------------------------------------------------------------------------------- /app/views/mokio/default_mailer/msg.html.slim: -------------------------------------------------------------------------------- 1 | doctype html 2 | html 3 | head 4 | meta content=("text/html; charset=UTF-8") http-equiv="Content-Type" / 5 | body style=("font-size: 15px;") 6 | = @mailer.template_msg 7 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/errors.scss: -------------------------------------------------------------------------------- 1 | // Core stylesheets do not remove 2 | @import "backend/bootstrap/bootstrap"; 3 | @import "backend/bootstrap/bootstrap-responsive"; 4 | @import "backend/icons"; 5 | @import "backend/main"; 6 | -------------------------------------------------------------------------------- /app/views/mokio/common/copy.html.slim: -------------------------------------------------------------------------------- 1 | .span12 2 | = render :partial => "mokio/common/notice" 3 | .box 4 | = box_title bt("copy_title", @obj_class) 5 | = render :partial => "mokio/common/form_content", locals: {obj: obj} 6 | -------------------------------------------------------------------------------- /spec/integration/navigation_test.rb: -------------------------------------------------------------------------------- 1 | require 'test_helper' 2 | 3 | class NavigationTest < ActionDispatch::IntegrationTest 4 | fixtures :all 5 | 6 | # test "the truth" do 7 | # assert true 8 | # end 9 | end 10 | 11 | -------------------------------------------------------------------------------- /app/controllers/mokio/application_controller.rb: -------------------------------------------------------------------------------- 1 | class Mokio::ApplicationController < ActionController::Base 2 | include Mokio::Concerns::Controllers::Application 3 | include Mokio::HeadersHelper 4 | 5 | before_action :set_no_cache_headers 6 | end -------------------------------------------------------------------------------- /lib/generators/mokio/templates/contents/views_template.yml: -------------------------------------------------------------------------------- 1 | - 2 | original_view: "mokio/layout/sidebar" 3 | override_path: "mokio/overrides/<%=file_name%>_sidebar_btn" 4 | html_element_id: ".article_nav" 5 | position: "after" 6 | type: "css" 7 | -------------------------------------------------------------------------------- /spec/dummy/Rakefile: -------------------------------------------------------------------------------- 1 | # Add your own tasks in files placed in lib/tasks ending in .rake, 2 | # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. 3 | require_relative 'config/application' 4 | Dummy::Application.load_tasks 5 | -------------------------------------------------------------------------------- /spec/dummy/config/initializers/filter_parameter_logging.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | # Configure sensitive parameters which will be filtered from the log file. 4 | Rails.application.config.filter_parameters += [:password] 5 | -------------------------------------------------------------------------------- /app/assets/javascripts/backend/comments.js.coffee: -------------------------------------------------------------------------------- 1 | # Place all the behaviors and hooks related to the matching controller here. 2 | # All this logic will automatically be available in application.js. 3 | # You can use CoffeeScript in this file: http://coffeescript.org/ 4 | -------------------------------------------------------------------------------- /spec/dummy/config/initializers/mime_types.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | # Add new mime types for use in respond_to blocks: 4 | # Mime::Type.register "text/richtext", :rtf 5 | # Mime::Type.register_alias "text/html", :iphone 6 | -------------------------------------------------------------------------------- /app/mailers/mokio/default_mailer.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class DefaultMailer < ActionMailer::Base 3 | default from: "from@example.com" 4 | 5 | def msg(obj) 6 | @mailer = obj 7 | 8 | mail(to: @mailer.recipients) 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /lib/tasks/create_editable_blocks_ids.rake: -------------------------------------------------------------------------------- 1 | namespace :mokio do 2 | desc 'Create hashes for editable blocks' 3 | 4 | task editable_blocks_ids: :environment do |t, args| 5 | 40.times do 6 | puts SecureRandom.hex(12) 7 | end 8 | end 9 | 10 | end 11 | -------------------------------------------------------------------------------- /db/migrate/20220113134531_create_mokio_application_settings_groups.rb: -------------------------------------------------------------------------------- 1 | class CreateMokioApplicationSettingsGroups < ActiveRecord::Migration[6.0] 2 | def change 3 | create_table :mokio_application_settings_groups do |t| 4 | t.string :name 5 | end 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /spec/dummy/config/boot.rb: -------------------------------------------------------------------------------- 1 | # Set up gems listed in the Gemfile. 2 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../../Gemfile', __FILE__) 3 | 4 | require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE']) 5 | $LOAD_PATH.unshift File.expand_path('../../../../lib', __FILE__) 6 | -------------------------------------------------------------------------------- /app/controllers/mokio/support_controller.rb: -------------------------------------------------------------------------------- 1 | class Mokio::SupportController < Mokio::CommonController 2 | layout "mokio/backend" 3 | helper :application 4 | 5 | def index 6 | respond_to do |format| 7 | format.html 8 | end 9 | end 10 | 11 | 12 | end 13 | 14 | -------------------------------------------------------------------------------- /db/migrate/20200311015923_add_imageable_to_data_files.rb: -------------------------------------------------------------------------------- 1 | class AddImageableToDataFiles < ActiveRecord::Migration[6.0] 2 | def change 3 | add_reference :mokio_data_files, :imageable, polymorphic: true 4 | remove_column :mokio_data_files, :content_id, :integer 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /lib/tasks/mokio_rollback.rake: -------------------------------------------------------------------------------- 1 | require 'rake' 2 | 3 | namespace :mokio do 4 | desc "Rollbacks rake mokio:install" 5 | 6 | task :rollback do 7 | Thread.new do 8 | %x{ rails d mokio:install } 9 | end 10 | 11 | Rake::Task["db:rollback"].execute 12 | end 13 | end -------------------------------------------------------------------------------- /spec/dummy/app/controllers/application_controller.rb: -------------------------------------------------------------------------------- 1 | class ApplicationController < ActionController::Base 2 | # Prevent CSRF attacks by raising an exception. 3 | # For APIs, you may want to use :null_session instead. 4 | protect_from_forgery prepend: true, with: :exception 5 | end 6 | -------------------------------------------------------------------------------- /app/helpers/mokio/backend/application_helper.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Backend 3 | module ApplicationHelper 4 | def show_index_table_actions(obj_class) 5 | true unless obj_class.try(:show_index_table_actions?) == false 6 | end 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /db/migrate/20200218022320_add_lockable_to_mokio_users.rb: -------------------------------------------------------------------------------- 1 | class AddLockableToMokioUsers < ActiveRecord::Migration[6.0] 2 | def change 3 | add_column :mokio_users, :failed_attempts, :integer, default: 0, null: false 4 | add_column :mokio_users, :locked_at, :datetime 5 | end 6 | end 7 | -------------------------------------------------------------------------------- /app/controllers/mokio/application_settings_groups_controller.rb: -------------------------------------------------------------------------------- 1 | class Mokio::ApplicationSettingsGroupsController < Mokio::CommonController 2 | 3 | def application_settings_group_params 4 | params.require(:application_settings_group).permit(extended_parameters, :name) 5 | end 6 | 7 | end 8 | -------------------------------------------------------------------------------- /config/initializers/renderer.rb: -------------------------------------------------------------------------------- 1 | ActionView::Renderer.class_eval do 2 | def render(context, options) 3 | content = options.key?(:partial) ? render_partial(context, options) : render_template(context, options) 4 | Mokio::TemplateRenderer.render content, context, options, self 5 | end 6 | end -------------------------------------------------------------------------------- /app/models/mokio/sitemap_external_logic.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class SitemapExternalLogic 3 | def self.data_for_xml 4 | # [ 5 | # { loc: 'url', lastmod: date, priority: 1, changefreq: 'monthly' }, 6 | # ... 7 | # ] 8 | nil 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /app/views/mokio/contents/_common.slim: -------------------------------------------------------------------------------- 1 | = f.input :author_name, :disabled => true if params[:action] == "edit" 2 | = f.input :editor_name, \ 3 | :disabled => true, \ 4 | :input_html => {:value => params[:action] == "edit" ? current_user.name_view : obj.editor_name} \ 5 | if params[:action] == "edit" 6 | -------------------------------------------------------------------------------- /app/views/mokio/youtubes/preview_movie.js.slim: -------------------------------------------------------------------------------- 1 | | $('#video-preview-wrapper').css('width','100%'); 2 | | $('#video-preview-wrapper').height($(document).height()); 3 | | $('#video-preview').html("#{ j render :partial => "preview_movie" }"); 4 | | $('#video-preview-wrapper').css('display','block'); 5 | 6 | -------------------------------------------------------------------------------- /lib/tasks/mokio_install/reset_pg_sequence.rake: -------------------------------------------------------------------------------- 1 | namespace :mokio_install do 2 | desc 'Reset pg columns sequence' 3 | task reset_pg_sequence: :environment do 4 | ActiveRecord::Base.connection.tables.each do |t| 5 | ActiveRecord::Base.connection.reset_pk_sequence!(t) 6 | end 7 | end 8 | end -------------------------------------------------------------------------------- /spec/dummy/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [ 3 | require('postcss-import'), 4 | require('postcss-flexbugs-fixes'), 5 | require('postcss-preset-env')({ 6 | autoprefixer: { 7 | flexbox: 'no-2009' 8 | }, 9 | stage: 3 10 | }) 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /app/views/mokio/common/filters/_text.html.slim: -------------------------------------------------------------------------------- 1 | div.holder 2 | - value_text = params[:mokio_filters] ? params[:mokio_filters][field] : nil 3 | = label(:mokio_filters, field, t(object_attribute_trans_key(obj, field))) 4 | = text_field_tag( \ 5 | "mokio_filters[#{field}]", \ 6 | value_text \ 7 | ) 8 | -------------------------------------------------------------------------------- /lib/mokio/concerns/models/history.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Models 4 | module History 5 | extend ActiveSupport::Concern 6 | included do 7 | belongs_to :historable, polymorphic: true 8 | end 9 | end 10 | end 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /lib/tasks/sitemap.rake: -------------------------------------------------------------------------------- 1 | require 'rake' 2 | 3 | namespace :mokio do 4 | desc 'Recreate sitemap.xml' 5 | 6 | task recreate_sitemap: :environment do 7 | puts 'Starting...' 8 | Mokio::Concerns::Common::Services::Sitemap::Service.regenerate_sitemap 9 | puts 'Done.' 10 | end 11 | 12 | end 13 | -------------------------------------------------------------------------------- /app/views/mokio/common/filters/_date.html.slim: -------------------------------------------------------------------------------- 1 | div.holder 2 | - value = params[:mokio_filters] ? params[:mokio_filters][field] : nil 3 | = label(:mokio_filters, field, t(object_attribute_trans_key(obj, field))) 4 | = date_field( \ 5 | :mokio_filters, \ 6 | field, \ 7 | value: value \ 8 | ) 9 | -------------------------------------------------------------------------------- /app/views/mokio/common/modals/_modal_histories.html.slim: -------------------------------------------------------------------------------- 1 | - if history_helper_display(obj) 2 | - @histories = obj.get_first_n_histories(10) 3 | #histories data-obj-id="#{obj.id}" data-obj-type="#{obj.class}" 4 | = render partial: 'mokio/histories/elements/histories_list' 5 | 6 | = javascript_include_tag 'backend/load_histories' -------------------------------------------------------------------------------- /app/views/mokio/registration_mailer/send_pass_setup_instruction.html.slim: -------------------------------------------------------------------------------- 1 | p = I18n.t('registration_mailer.pass_setup_instruction_1', email: @email) 2 | p = I18n.t('registration_mailer.pass_setup_instruction_2') 3 | p = link_to I18n.t('registration_mailer.pass_setup_instruction_3'), edit_password_url(@obj, reset_password_token: @token) -------------------------------------------------------------------------------- /app/assets/javascripts/backend/custom.js: -------------------------------------------------------------------------------- 1 | // DO NOT EDIT THIS FILE 2 | // This file is generated solely for adding custom js logic in mokio panel, from 3 | // your application's source code, without having to override mokio's files. 4 | // To add this file to your application, run "rails mokio:add_custom_js" 5 | // in your project's folder. 6 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/dashboard.scss: -------------------------------------------------------------------------------- 1 | .dashboard-box { 2 | .content:after { 3 | clear: both; 4 | content: ''; 5 | display: block; 6 | } 7 | 8 | h4 .dashboard_label { 9 | margin-right: 10px; 10 | } 11 | 12 | .title { 13 | height: 48px; 14 | padding-top: 10px; 15 | } 16 | } 17 | 18 | 19 | -------------------------------------------------------------------------------- /lib/mokio/concerns/models/article.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Models #:nodoc: 4 | # 5 | # Concern for Mokio::Article model 6 | # 7 | module Article 8 | extend ActiveSupport::Concern 9 | 10 | included do 11 | end 12 | 13 | end 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /lib/mokio/frontend_helpers.rb: -------------------------------------------------------------------------------- 1 | require 'mokio/frontend_helpers/content_helper' 2 | require 'mokio/frontend_helpers/menu_helper' 3 | require 'mokio/frontend_helpers/static_modules_helper' 4 | require 'mokio/frontend_helpers/external_scripts_helper' 5 | require 'mokio/frontend_helpers/langs_helper' 6 | require 'mokio/frontend_helpers/seo_tag_helper' 7 | 8 | -------------------------------------------------------------------------------- /app/views/mokio/users/_generate_pass_change_link.html.slim: -------------------------------------------------------------------------------- 1 | = simple_form_for(obj, as: :user, method: :post, url: send_pass_change_link_path) do |f| 2 | = f.input :email, as: :hidden 3 | label.form-label.span4 = bt('reset_password') 4 | = f.button :submit, bt('send_reset_instructions_manually'), class: 'btn btn-info', id: 'send_reset_instructions_manually' -------------------------------------------------------------------------------- /app/views/mokio/photos/create.js.slim: -------------------------------------------------------------------------------- 1 | | $("#itemContainer").append("#{j render :template => 'mokio/photos/photo', :locals => {photo: @photo} }"); 2 | | $("#gallery_content").append("#{j render template: 'mokio/photos/photo_modal', locals: {photo: @photo}}"); 3 | | var photoCount = parseInt($("#photoCount").text()) + 1; 4 | | $('#photoCount').text(photoCount); 5 | -------------------------------------------------------------------------------- /db/migrate/20191217135611_create_mokio_seo_tags.rb: -------------------------------------------------------------------------------- 1 | 2 | class CreateMokioSeoTags < ActiveRecord::Migration[5.0] 3 | def change 4 | create_table :mokio_seo_tags do |t| 5 | t.string :tag_key 6 | t.text :tag_value 7 | t.references :seo_tagable, polymorphic: true, index: true 8 | t.timestamps 9 | end 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /lib/tasks/mokio_install/install_webpack.rake: -------------------------------------------------------------------------------- 1 | namespace :mokio_install do 2 | desc 'Installs Webpack' 3 | task install_webpack: :environment do 4 | unless File.exist?("#{Rails.root}/config/webpacker.yml") 5 | Rake::Task['webpacker:install'].execute 6 | else 7 | puts "Webpacker is already installed".brown 8 | end 9 | end 10 | end -------------------------------------------------------------------------------- /lib/tasks/refresh_static_pages.rake: -------------------------------------------------------------------------------- 1 | require 'rake' 2 | 3 | namespace :mokio do 4 | desc 'Refresh static pages records basic on routing' 5 | 6 | task refresh_static_pages: :environment do 7 | puts 'Starting...' 8 | Mokio::Services::StaticPageService.new(disable_sitemap_regenerate: true).call 9 | puts 'Done.' 10 | end 11 | 12 | end 13 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/new.scss: -------------------------------------------------------------------------------- 1 | #article_lang_id { 2 | width: 140px; 3 | } 4 | 5 | #menusList li .sortable_true { 6 | cursor: move; 7 | cursor: grab; 8 | cursor: -moz-grab; 9 | cursor: -webkit-grab; 10 | } 11 | 12 | #menusList li .ui-sortable-helper { 13 | cursor: grabbing; 14 | cursor: -moz-grabbing; 15 | cursor: -webkit-grabbing; 16 | } -------------------------------------------------------------------------------- /app/models/devise_custom_failure.rb: -------------------------------------------------------------------------------- 1 | class DeviseCustomFailure < Devise::FailureApp 2 | def redirect_url 3 | '/backend/users/sign_in' 4 | end 5 | 6 | def respond 7 | if http_auth? 8 | http_auth 9 | else 10 | flash[:alert] = I18n.t(:invalid, :scope => [ :devise, :failure ]) 11 | redirect 12 | end 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /config/initializers/sessions.rb: -------------------------------------------------------------------------------- 1 | Rails.configuration.to_prepare do 2 | Devise::SessionsController.class_eval do 3 | before_action :invalidate_current_user_session, only: [:destroy] 4 | 5 | private 6 | def invalidate_current_user_session 7 | current_user.invalidate_all_sessions! if current_user.present? 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /app/models/mokio/content_link.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: content_links 4 | # 5 | # content_id :integer 6 | # menu_id :integer 7 | # seq :integer 8 | # id :integer not null, primary key 9 | # 10 | module Mokio 11 | class ContentLink < ActiveRecord::Base 12 | include Mokio::Concerns::Models::ContentLink 13 | end 14 | end -------------------------------------------------------------------------------- /app/views/mokio/youtubes/_search_yt.html.slim: -------------------------------------------------------------------------------- 1 | .modal-header 2 | h3.modal-title.modal-youtube id="myModalLabel" = bt("add_youtube", Mokio::Youtube) 3 | .modal-body 4 | = render :partial => 'search_yt_body' 5 | - if @error 6 | = bt('no_movie_found', Mokio::Youtube) 7 | #only-close-footer.modal-footer 8 | button.btn.btn-default type="button" data-dismiss="modal" = bt("close") 9 | -------------------------------------------------------------------------------- /lib/mokio/headers_helper.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module HeadersHelper 3 | # helper made for preventing caching in admin panel 4 | def set_no_cache_headers 5 | response.headers["Expires"] = 'Mon, 01 Jan 2000 00:00:00 GMT' 6 | response.headers["Pragma"] = 'no-cache' 7 | response.headers["Cache-Control"] = 'no-cache, no-store' 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /spec/factories/users.rb: -------------------------------------------------------------------------------- 1 | # Read about factories at https://github.com/thoughtbot/factory_bot 2 | 3 | FactoryBot.define do 4 | factory :user, :class => Mokio::User do 5 | email { 'testtesttest@test.test' } 6 | password { 'Passwor12d01!' } 7 | password_confirmation { 'Passwor12d01!' } 8 | roles_mask { Mokio::User.roles_mask_by_role(:super_admin) } 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /app/views/devise/mailer/reset_password_instructions.html.slim: -------------------------------------------------------------------------------- 1 | p = "#{t('devise.mailer.hello')} #{@resource.email}!" 2 | p = t('devise.mailer.reset_password_first_paragraph') 3 | p = link_to t('devise.mailer.change_password'), edit_password_url(@resource, reset_password_token: @token) 4 | p = t('devise.mailer.reset_password_second_paragraph') 5 | p = t('devise.mailer.reset_password_third_paragraph') 6 | -------------------------------------------------------------------------------- /app/views/mokio/common/_main_pic.html.slim: -------------------------------------------------------------------------------- 1 | = f.input :main_pic 2 | #main_pic_view 3 | a.fancybox href=f.object.main_pic.url 4 | img.image.marginR10.article-mainpic alt="" src=f.object.main_pic.url(:main_pic) / 5 | - unless f.object.main_pic.file.nil? 6 | = link_to "", delete_main_pic_content_path, method: :delete, remote: true, class: "delete-mainpic-button icon16 icomoon-icon-remove white" -------------------------------------------------------------------------------- /app/views/mokio/errors/unauthorized.html.slim: -------------------------------------------------------------------------------- 1 | .errorPage 2 | .container-fluid 3 | .errorContainer#unauth 4 | .page-header 5 | h3.center 6 | = t("errors.messages.unauthorized") 7 | 8 | .center 9 | a.btn href="javascript: history.go(-1)" style="margin-right:10px;" 10 | span.icon16.icomoon-icon-arrow-left-10 11 | = bt("go_back") 12 | -------------------------------------------------------------------------------- /lib/tasks/mokio_install/create_configuration_file.rake: -------------------------------------------------------------------------------- 1 | namespace :mokio_install do 2 | desc 'Create default Mokio::ModulePositions' 3 | task create_configuration_file: :environment do 4 | unless File.exist?("#{Rails.root}/config/initializers/mokio.rb") 5 | Rails::Generators.invoke('mokio:install') 6 | else 7 | puts "File already exists".brown 8 | end 9 | end 10 | end -------------------------------------------------------------------------------- /app/assets/javascripts/backend/galleries.js: -------------------------------------------------------------------------------- 1 | // Gallery plugins 2 | //= require backend/plugins/gallery/lazy-load/jquery.lazyload 3 | //= require backend/plugins/gallery/jpages/jPages 4 | //= require backend/plugins/gallery/pretty-photo/jquery.prettyPhoto 5 | //= require backend/plugins/jcrop/jquery.color 6 | //= require backend/plugins/jcrop/jquery.Jcrop 7 | //= require backend/plugins/gallery/rotate/jQueryRotate -------------------------------------------------------------------------------- /lib/mokio/concerns/models/recipient.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Models 4 | # 5 | # Concern for Recipient model 6 | # 7 | module Recipient 8 | extend ActiveSupport::Concern 9 | 10 | included do 11 | belongs_to :contact 12 | validates :email, :email => true 13 | end 14 | end 15 | end 16 | end 17 | end -------------------------------------------------------------------------------- /spec/dummy/app/views/layouts/application.html.erb: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dummy 5 | <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %> 6 | <%= javascript_include_tag "application", "data-turbolinks-track" => true %> 7 | <%= csrf_meta_tags %> 8 | 9 | 10 | 11 | <%= yield %> 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /lib/mokio/concerns/models/mov_gallery.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Models 4 | # 5 | # Concern for MovGallery model 6 | # 7 | module MovGallery 8 | extend ActiveSupport::Concern 9 | 10 | included do 11 | end 12 | 13 | def default_data_file 14 | Mokio::Youtube 15 | end 16 | end 17 | end 18 | end 19 | end -------------------------------------------------------------------------------- /spec/models/content_link_spec.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: content_links 4 | # 5 | # content_id :integer 6 | # menu_id :integer 7 | # seq :integer 8 | # id :integer not null, primary key 9 | # 10 | 11 | require 'spec_helper' 12 | module Mokio 13 | describe ContentLink do 14 | pending "add some examples to (or delete) #{__FILE__}" 15 | end 16 | end -------------------------------------------------------------------------------- /lib/generators/mokio/copy/views_generator.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Copy #:nodoc:all 3 | class ViewsGenerator < Rails::Generators::Base #:nodoc: 4 | source_root File.expand_path('../../../../../app/views/', __FILE__) 5 | 6 | desc "Copy a Mokio views into your application." 7 | 8 | def generate_views 9 | directory "mokio", "app/views/mokio" 10 | end 11 | end 12 | end 13 | end -------------------------------------------------------------------------------- /app/models/mokio/contact_template.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: contact_templates 4 | # 5 | # id :integer not null, primary key 6 | # tpl :text 7 | # created_at :datetime 8 | # updated_at :datetime 9 | # contact_id :integer 10 | # 11 | module Mokio 12 | class ContactTemplate < ActiveRecord::Base 13 | include Mokio::Concerns::Models::ContactTemplate 14 | end 15 | end -------------------------------------------------------------------------------- /app/models/mokio/module_position.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: module_positions 4 | # 5 | # id :integer not null, primary key 6 | # name :string(255) 7 | # tpl :string(255) 8 | # created_at :datetime 9 | # updated_at :datetime 10 | # 11 | module Mokio 12 | class ModulePosition < ActiveRecord::Base 13 | include Mokio::Concerns::Models::ModulePosition 14 | end 15 | end -------------------------------------------------------------------------------- /lib/generators/mokio/positions_generator.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class PositionsGenerator < Rails::Generators::Base #:nodoc: 3 | argument :names, :type => :array 4 | 5 | desc "Creates module positions" 6 | def create_positions 7 | names.each do |name| 8 | Mokio::ModulePosition.create(:name => name) 9 | puts "Successfully created #{name.green} position." 10 | end 11 | end 12 | 13 | end 14 | end -------------------------------------------------------------------------------- /app/models/mokio/lang.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: langs 4 | # 5 | # id :integer not null, primary key 6 | # name :string(255) 7 | # shortname :string(255) 8 | # active :boolean 9 | # menu_id :integer 10 | # created_at :datetime 11 | # updated_at :datetime 12 | # 13 | module Mokio 14 | class Lang < ActiveRecord::Base 15 | include Mokio::Concerns::Models::Lang 16 | end 17 | end -------------------------------------------------------------------------------- /lib/tasks/mokio_install/create_module_positions.rake: -------------------------------------------------------------------------------- 1 | namespace :mokio_install do 2 | desc 'Create default Mokio::ModulePositions' 3 | task create_module_positions: :environment do 4 | unless Mokio::ModulePosition.any? 5 | Mokio::ModulePosition.create!(name: 'footer') 6 | puts "Created default module position 'footer'".green 7 | else 8 | puts 'Mokio::ModulePositions already exist'.brown 9 | end 10 | end 11 | end -------------------------------------------------------------------------------- /db/migrate/20200303101501_create_mokio_histories.rb: -------------------------------------------------------------------------------- 1 | class CreateMokioHistories < ActiveRecord::Migration[6.0] 2 | def change 3 | create_table :mokio_histories do |t| 4 | t.text :before_value 5 | t.text :current_value 6 | t.string :field 7 | t.string :user_email 8 | t.references :historable, polymorphic: true, index: true 9 | t.datetime :changed_at 10 | t.timestamps 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/theme/nice-select/style.scss: -------------------------------------------------------------------------------- 1 | $gray_dark: #445870; 2 | $gray: #90a1b5; 3 | $gray_light: #e0e7ee; 4 | $gray_lighter: #f6f7f9; 5 | $blue: #55a1fb; 6 | $blue_light: #88bfff; 7 | $primary: $blue; 8 | $primary_light: $blue_light; 9 | 10 | @import 'nice-select'; 11 | 12 | @mixin clearfix() { 13 | &:before, &:after { 14 | content: ""; 15 | display: table; 16 | } 17 | &:after { 18 | clear: both; 19 | } 20 | } -------------------------------------------------------------------------------- /lib/mokio/slugged.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Slugged 3 | 4 | def localized_slug 5 | "/#{I18n.locale.to_s}#{slug}" 6 | end 7 | 8 | def slug 9 | "/#{slug_prefix}/#{id}/#{slug_candidate.parameterize}" 10 | end 11 | def print_slug 12 | "#{slug}/print" 13 | end 14 | protected 15 | def slug_prefix 16 | "content" 17 | end 18 | def slug_candidate 19 | title 20 | end 21 | end 22 | end -------------------------------------------------------------------------------- /spec/models/contact_template_spec.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: contact_templates 4 | # 5 | # id :integer not null, primary key 6 | # tpl :text 7 | # created_at :datetime 8 | # updated_at :datetime 9 | # contact_id :integer 10 | # 11 | 12 | require 'spec_helper' 13 | 14 | module Mokio 15 | describe ContactTemplate do 16 | pending "add some examples to (or delete) #{__FILE__}" 17 | end 18 | end -------------------------------------------------------------------------------- /app/uploaders/mokio/thumb_uploader.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class ThumbUploader < CarrierWave::Uploader::Base 3 | include Mokio::Uploader::Asset 4 | 5 | def is_new? image 6 | model.thumb.blank? 7 | end 8 | 9 | # Add a white list of extensions which are allowed to be uploaded. 10 | # For images you might use something like this: 11 | def extension_white_list 12 | %w(jpg jpeg gif png) 13 | end 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /app/views/mokio/common/new.html.slim: -------------------------------------------------------------------------------- 1 | .span12 2 | = render :partial => "mokio/common/notice" 3 | .box 4 | - h4class = show_tabbed_form?(obj) ? 'tab-header' : nil 5 | = box_title nil, h4class do 6 | = bt("new_title", @obj_class) 7 | - if show_tabbed_form?(obj) 8 | = render :partial => "mokio/common/form_content_tabbed", locals: {obj: obj} 9 | - else 10 | = render :partial => "mokio/common/form_content", locals: {obj: obj} 11 | -------------------------------------------------------------------------------- /app/views/mokio/static_pages/_form.html.slim: -------------------------------------------------------------------------------- 1 | = render :partial => "mokio/contents/common", locals: {f:f} 2 | = f.input :pathname, disabled: true 3 | = f.input :path, disabled: true 4 | = f.input :system_name, disabled: true 5 | = f.input :sitemap_date, :wrapper => :date, :as => :string, :input_html => { :class => "mask-date display_from", :value => (localize(f.object.sitemap_date, :format => :datepicker) if f.object.sitemap_date) } 6 | = f.input :automatic_date_update 7 | -------------------------------------------------------------------------------- /app/assets/javascripts/backend/custom_tabs.js: -------------------------------------------------------------------------------- 1 | // Tabs for form tabbed content 2 | 3 | $('.custom_tab_link').on('click', function() { 4 | $('.single_tab').removeClass('active'); 5 | 6 | var activeTab = $(this).find('a').attr('href'); 7 | $(activeTab).addClass('active'); 8 | 9 | if ($('#gallery_tab').hasClass('active')) { 10 | $('#form_buttons').css('display', 'none'); 11 | } else { 12 | $('#form_buttons').css('display', 'block'); 13 | } 14 | }); -------------------------------------------------------------------------------- /app/models/mokio/available_module.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: available_modules 4 | # 5 | # id :integer not null, primary key 6 | # created_at :datetime 7 | # updated_at :datetime 8 | # module_position_id :integer 9 | # static_module_id :integer 10 | # 11 | module Mokio 12 | class AvailableModule < ActiveRecord::Base 13 | include Mokio::Concerns::Models::AvailableModule 14 | end 15 | end 16 | -------------------------------------------------------------------------------- /app/models/mokio/recipient.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: recipients 4 | # 5 | # id :integer not null, primary key 6 | # email :string(255) not null 7 | # active :boolean default(TRUE) 8 | # created_at :datetime 9 | # updated_at :datetime 10 | # contact_id :integer 11 | # 12 | module Mokio 13 | class Recipient < ActiveRecord::Base 14 | include Mokio::Concerns::Models::Recipient 15 | end 16 | end -------------------------------------------------------------------------------- /lib/generators/mokio/btr_generator.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class BtrGenerator < Rails::Generators::NamedBase 3 | # backend translations generator for mokio content 4 | argument :name, type: :string 5 | source_root File.expand_path("../templates/translations/", __FILE__) 6 | 7 | def create_example_translation_file 8 | template "backend_example.yml", File.join("config/locales/","en_backend_#{self.name.underscore}.yml") 9 | end 10 | end 11 | end -------------------------------------------------------------------------------- /spec/dummy/config/initializers/backtrace_silencers.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. 4 | # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } 5 | 6 | # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. 7 | # Rails.backtrace_cleaner.remove_silencers! 8 | -------------------------------------------------------------------------------- /spec/models/lang_spec.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: langs 4 | # 5 | # id :integer not null, primary key 6 | # name :string(255) 7 | # shortname :string(255) 8 | # active :boolean 9 | # menu_id :integer 10 | # created_at :datetime 11 | # updated_at :datetime 12 | # 13 | 14 | require 'spec_helper' 15 | module Mokio 16 | describe Lang do 17 | pending "add some examples to (or delete) #{__FILE__}" 18 | end 19 | end -------------------------------------------------------------------------------- /app/views/mokio/photos/upload_external_links.js.slim: -------------------------------------------------------------------------------- 1 | - @photos.each do |photo| 2 | | $("#itemContainer").append("#{j render :template => 'mokio/photos/photo', :locals => {photo: photo} }"); 3 | | activeButtonForPhoto(#{photo.id}); 4 | | $("#gallery_content").append("#{j render template: 'mokio/photos/photo_modal', locals: {photo: photo}}"); 5 | | var photoCount = parseInt($("#photoCount").text()) + 1; 6 | | $('#photoCount').text(photoCount); 7 | | $("#myModalLabel2 .loader").remove(); 8 | -------------------------------------------------------------------------------- /app/views/mokio/common/edit.html.slim: -------------------------------------------------------------------------------- 1 | .span12 2 | = render :partial => "mokio/common/notice" 3 | .box 4 | - h4class = show_tabbed_form?(obj) ? 'tab-header' : nil 5 | = box_title nil, h4class do 6 | = bt("edit_title", obj.respond_to?(:type) ? obj.type : @obj_class) 7 | - if show_tabbed_form?(obj) 8 | = render :partial => "mokio/common/form_content_tabbed", locals: {obj: obj} 9 | - else 10 | = render :partial => "mokio/common/form_content", locals: {obj: obj} 11 | -------------------------------------------------------------------------------- /spec/models/recipient_spec.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: recipients 4 | # 5 | # id :integer not null, primary key 6 | # email :string(255) not null 7 | # active :boolean default(TRUE) 8 | # created_at :datetime 9 | # updated_at :datetime 10 | # contact_id :integer 11 | # 12 | 13 | require 'spec_helper' 14 | module Mokio 15 | describe Recipient do 16 | pending "add some examples to (or delete) #{__FILE__}" 17 | end 18 | end -------------------------------------------------------------------------------- /app/models/mokio/selected_module.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: selected_modules 4 | # 5 | # id :integer not null, primary key 6 | # available_module_id :integer 7 | # menu_id :integer 8 | # seq :integer 9 | # created_at :datetime 10 | # updated_at :datetime 11 | # 12 | module Mokio 13 | class SelectedModule < ActiveRecord::Base 14 | include Mokio::Concerns::Models::SelectedModule 15 | end 16 | end -------------------------------------------------------------------------------- /app/views/mokio/support/index.html.slim: -------------------------------------------------------------------------------- 1 | h2 2 | =t("support.support_title") 3 | 4 | a href="http://www.mokio.org/support" 5 | ="http://www.mokio.org/support" 6 | br 7 | br 8 | h2 9 | =t("support.tips_title") 10 | a href="#" 11 | =t("support.tips_title") 12 | br 13 | br 14 | h2 15 | =t("support.terms_title") 16 | a href="http://mokio.org/terms/show" 17 | =t("support.terms_title") 18 | br 19 | br 20 | h2 21 | =t("support.contact_title") 22 | strong 23 | ="email: support@mokio.org" 24 | -------------------------------------------------------------------------------- /app/mailers/mokio/registration_mailer.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class RegistrationMailer < ActionMailer::Base 3 | default from: Devise.mailer_sender 4 | 5 | def send_pass_setup_instruction(obj, token) 6 | @obj = obj 7 | @email = obj.email 8 | @token = token 9 | 10 | headers = { 11 | subject: I18n.t('registration_mailer.title'), 12 | to: @email, 13 | from: Devise.mailer_sender 14 | } 15 | 16 | mail(headers) 17 | end 18 | end 19 | end 20 | -------------------------------------------------------------------------------- /spec/factories/contact_templates.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: contact_templates 4 | # 5 | # id :integer not null, primary key 6 | # tpl :text 7 | # created_at :datetime 8 | # updated_at :datetime 9 | # contact_id :integer 10 | # 11 | 12 | # Read about factories at https://github.com/thoughtbot/factory_bot 13 | 14 | FactoryBot.define do 15 | factory :contact_template, class: "Mokio::ContactTemplate" do 16 | tpl { "MyText" } 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /spec/dummy/bin/webpack: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | ENV["RAILS_ENV"] ||= ENV["RACK_ENV"] || "development" 4 | ENV["NODE_ENV"] ||= "development" 5 | 6 | require "pathname" 7 | ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", 8 | Pathname.new(__FILE__).realpath) 9 | 10 | require "bundler/setup" 11 | 12 | require "webpacker" 13 | require "webpacker/webpack_runner" 14 | 15 | APP_ROOT = File.expand_path("..", __dir__) 16 | Dir.chdir(APP_ROOT) do 17 | Webpacker::WebpackRunner.run(ARGV) 18 | end 19 | -------------------------------------------------------------------------------- /lib/mokio/concerns/models/selected_module.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Models 4 | # 5 | # Concern for SelectedModule model 6 | # 7 | module SelectedModule 8 | extend ActiveSupport::Concern 9 | 10 | included do 11 | default_scope { order('seq') } 12 | belongs_to :menu 13 | belongs_to :available_module 14 | acts_as_list :column => :seq, :scope => :menu_id 15 | end 16 | end 17 | end 18 | end 19 | end -------------------------------------------------------------------------------- /app/assets/javascripts/backend/plugins/files/plupload/i18n/da.js: -------------------------------------------------------------------------------- 1 | // .po file like language pack 2 | plupload.addI18n({ 3 | 'Select files' : 'Vælg filer', 4 | 'Add files to the upload queue and click the start button.' : 'Tilføj filer til køen, og tryk på start.', 5 | 'Filename' : 'Filnavn', 6 | 'Status' : 'Status', 7 | 'Size' : 'Størrelse', 8 | 'Add files' : 'Tilføj filer', 9 | 'Stop current upload' : 'Stop upload', 10 | 'Start uploading queue' : 'Start upload', 11 | 'Drag files here.' : 'Træk filer her.' 12 | }); -------------------------------------------------------------------------------- /app/views/mokio/layout/_user_widget.html.slim: -------------------------------------------------------------------------------- 1 | - if user_signed_in? 2 | ul.nav.pull-right.usernav 3 | li#username 4 | span.icon16.icomoon-icon-user.white 5 | = current_user.email 6 | li#support 7 | a href="#{support_index_path}" 8 | span.icon16.entypo-icon-help 9 | = bts("support") 10 | li 11 | = link_to bt('change_password'), edit_password_user_path(current_user), :method => :get 12 | li 13 | = link_to bt('logout'), destroy_user_session_path, :method => :delete 14 | -------------------------------------------------------------------------------- /spec/dummy/bin/webpack-dev-server: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | ENV["RAILS_ENV"] ||= ENV["RACK_ENV"] || "development" 4 | ENV["NODE_ENV"] ||= "development" 5 | 6 | require "pathname" 7 | ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", 8 | Pathname.new(__FILE__).realpath) 9 | 10 | require "bundler/setup" 11 | 12 | require "webpacker" 13 | require "webpacker/dev_server_runner" 14 | 15 | APP_ROOT = File.expand_path("..", __dir__) 16 | Dir.chdir(APP_ROOT) do 17 | Webpacker::DevServerRunner.run(ARGV) 18 | end 19 | -------------------------------------------------------------------------------- /app/views/mokio/dashboard/_content.html.slim: -------------------------------------------------------------------------------- 1 | - cache [:dashboard_content, content] do 2 | tr 3 | td 4 | a href=edit_url(content.class.base_class, content) 5 | = content.title 6 | td 7 | .controls.center 8 | = table_controls_edit_btn( edit_url(content.class.base_class, content) ) 9 | = table_controls_delete_btn( obj_url(content.class.base_class, content) ) if content.deletable 10 | = table_controls_copy_btn( copy_url(content.class.base_class, content) ) if content.deletable 11 | -------------------------------------------------------------------------------- /app/views/mokio/photos/thumb.html.slim: -------------------------------------------------------------------------------- 1 | - cache [:photo_thumb, photo] do 2 | - if photo.thumb.blank? 3 | .thumb_upload 4 | = form_for @edited_photo, :html => { :id => "uploadthumb", :multipart => true }, :remote => true, :url => { :action => "update_thumb" } do |f| 5 | h5= bt("thumb_upload_info", Mokio::Photo) 6 | span#photoinputbtn.btn.fileinput-button 7 | span= bt("add_file", Mokio::Photo) 8 | = f.file_field :thumb 9 | - else 10 | img#photo_edited src=(photo.thumb.url ) 11 | -------------------------------------------------------------------------------- /lib/mokio/concerns/models/content_link.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Models 4 | # 5 | # Concern for ContentLink model 6 | # 7 | module ContentLink 8 | extend ActiveSupport::Concern 9 | 10 | included do 11 | default_scope { order('seq') } 12 | belongs_to :menu, :touch => true 13 | belongs_to :content, :touch => :etag 14 | acts_as_list :column => :seq, :scope => :menu_id 15 | end 16 | end 17 | end 18 | end 19 | end -------------------------------------------------------------------------------- /app/views/mokio/youtubes/_search_yt_body.html.slim: -------------------------------------------------------------------------------- 1 | .row-fluid.string.optional.youtube_youtube_id 2 | label.form-label.span2.yt_label= bt("search_movie_url", Mokio::Youtube) 3 | .span10 4 | input#movie_url.string.optional type='text' value=@yt 5 | input#content_id.string.optional type='hidden' value=@content_id 6 | p.desc 7 | = bt('movie_url_desc', Mokio::Youtube) 8 | javascript: 9 | yt_search(); 10 | / %button.btn.btn-info.ytfind= btc('search') 11 | / %button#clear-yt.btn.ytclear= btc('clear') 12 | -------------------------------------------------------------------------------- /docs/backend_search.md: -------------------------------------------------------------------------------- 1 | ## Mokio BackendSearch 2 | 3 | ### Enable search in models 4 | 5 | For enable backend search functionality You should set models array in mokio config. 6 | ``` 7 | config.backend_search_enabled = ["Mokio::Content","Mokio::Menu","Mokio::YourModel"] 8 | ``` 9 | 10 | ### Columns 11 | It's possible to customize which columns should be included in search results. 12 | This method should be added into custom model: 13 | 14 | ``` 15 | def self.backend_search_columns 16 | %w(title content) 17 | end 18 | ``` 19 | -------------------------------------------------------------------------------- /lib/mokio/core_extension.rb: -------------------------------------------------------------------------------- 1 | class String #:nodoc: 2 | # 3 | # For easy colored std:out 4 | # 5 | def black; "\033[30m#{self}\033[0m" end 6 | def red; "\033[31m#{self}\033[0m" end 7 | def green; "\033[32m#{self}\033[0m" end 8 | def brown; "\033[33m#{self}\033[0m" end 9 | def blue; "\033[34m#{self}\033[0m" end 10 | def magenta; "\033[35m#{self}\033[0m" end 11 | def cyan; "\033[36m#{self}\033[0m" end 12 | def gray; "\033[37m#{self}\033[0m" end 13 | end -------------------------------------------------------------------------------- /app/assets/javascripts/backend/plugins/files/plupload/i18n/sv.js: -------------------------------------------------------------------------------- 1 | // .po file like language pack 2 | plupload.addI18n({ 3 | 'Select files' : 'Välj filer', 4 | 'Add files to the upload queue and click the start button.' : 'Lägg till filer till kön och tryck på start.', 5 | 'Filename' : 'Filnamn', 6 | 'Status' : 'Status', 7 | 'Size' : 'Storlek', 8 | 'Add files' : 'Lägg till filer', 9 | 'Stop current upload' : 'Stoppa uppladdningen', 10 | 'Start uploading queue' : 'Starta uppladdningen', 11 | 'Drag files here.' : 'Dra filer hit' 12 | }); -------------------------------------------------------------------------------- /spec/test_helper.rb: -------------------------------------------------------------------------------- 1 | # Configure Rails Environment 2 | ENV["RAILS_ENV"] = "test" 3 | 4 | require File.expand_path("../dummy/config/environment.rb", __FILE__) 5 | require "rails/test_help" 6 | 7 | Rails.backtrace_cleaner.remove_silencers! 8 | 9 | # Load support files 10 | Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f } 11 | 12 | # Load fixtures from the engine 13 | if ActiveSupport::TestCase.method_defined?(:fixture_path=) 14 | ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__) 15 | end 16 | -------------------------------------------------------------------------------- /db/migrate/20210414105700_create_editable_blocks.rb: -------------------------------------------------------------------------------- 1 | class CreateEditableBlocks < ActiveRecord::Migration[6.0] 2 | def change 3 | create_table :mokio_editable_blocks do |t| 4 | t.string :hash_id, index: true 5 | t.string :lang 6 | t.text :content 7 | t.references :author, index: true, foreign_key: { to_table: :mokio_users }, type: :integer 8 | t.references :editor, index: true, foreign_key: { to_table: :mokio_users }, type: :integer 9 | t.text :location 10 | t.timestamps 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /lib/mokio/custom_gallery.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module CustomGallery 3 | extend ActiveSupport::Concern 4 | 5 | included do 6 | has_many :data_files, class_name: "Mokio::DataFile", as: :imageable, dependent: :destroy 7 | end 8 | 9 | # Available options: Mokio::Photo, Mokio::Youtube 10 | def default_data_file 11 | Mokio::Photo 12 | end 13 | 14 | def gallery_title 15 | nil 16 | end 17 | 18 | module ClassMethods 19 | def has_gallery_enabled? 20 | true 21 | end 22 | end 23 | end 24 | end -------------------------------------------------------------------------------- /spec/factories/selected_modules.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: selected_modules 4 | # 5 | # id :integer not null, primary key 6 | # available_module_id :integer 7 | # menu_id :integer 8 | # seq :integer 9 | # created_at :datetime 10 | # updated_at :datetime 11 | # 12 | 13 | # Read about factories at https://github.com/thoughtbot/factory_bot 14 | 15 | FactoryBot.define do 16 | factory :selected_module, :class => Mokio::SelectedModule do 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/comments.scss: -------------------------------------------------------------------------------- 1 | // Place all the styles related to the backend/comments controller here. 2 | // They will automatically be included in application.css. 3 | // You can use Sass (SCSS) here: http://sass-lang.com/ 4 | 5 | .comments_buttons { 6 | float: right; 7 | position: absolute; 8 | top: 25px; 9 | right: 0px; 10 | z-index: 10; 11 | div { 12 | float: right; 13 | } 14 | form { 15 | float: right; 16 | } 17 | button { 18 | margin-right: 3px; 19 | } 20 | .white, .white a { 21 | color: #fff; 22 | } 23 | } -------------------------------------------------------------------------------- /app/views/mokio/common/filters/_select.html.slim: -------------------------------------------------------------------------------- 1 | div.holder 2 | - selected_value = params[:mokio_filters] ? params[:mokio_filters][field] : nil 3 | = label(:mokio_filters, field, t(object_attribute_trans_key(obj, field))) 4 | - if data[:default_value] 5 | - data[:values].prepend(data[:default_value]) 6 | - else 7 | - data[:values].prepend([t('backend.default_filter_select_value'), nil]) 8 | 9 | = select( \ 10 | :mokio_filters, \ 11 | field, \ 12 | options_for_select(data[:values], selected_value), \ 13 | include_blank: false \ 14 | ) 15 | -------------------------------------------------------------------------------- /lib/tasks/mokio_install/install_routes.rake: -------------------------------------------------------------------------------- 1 | namespace :mokio_install do 2 | desc 'Add mokio routing to routes.rb' 3 | task install_routes: :environment do |_t| 4 | path = "#{Rails.root}/config/routes.rb" 5 | text = File.read(path) 6 | unless Rails.application.routes.url_helpers.method_defined?(:mokio_url) 7 | File.open(path, 'w') do |file| 8 | file.puts text.gsub(/Rails.application.routes.draw do/, "Rails.application.routes.draw do \n mount Mokio::Engine => '/backend' \n mount Ckeditor::Engine => '/ckeditor'") 9 | end 10 | end 11 | end 12 | end -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/jquery.ui.supr.scss: -------------------------------------------------------------------------------- 1 | @import "backend/supr-theme/jquery.ui.theme"; 2 | @import "backend/supr-theme/jquery.ui.core"; 3 | @import "backend/supr-theme/jquery.ui.resizable"; 4 | @import "backend/supr-theme/jquery.ui.dialog"; 5 | @import "backend/supr-theme/jquery.ui.slider"; 6 | @import "jquery.ui.datepicker"; 7 | @import "backend/supr-theme/jquery.ui.progressbar"; 8 | /*@import "jquery-ui-timepicker-addon";*/ 9 | @import "backend/supr-theme/jquery.ui.autocomplete"; 10 | /*@import "jquery.ui.combobox";*/ 11 | @import "backend/supr-theme/jquery.ui.spinner"; -------------------------------------------------------------------------------- /lib/mokio/concerns/controllers/contents.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Controllers 4 | # 5 | # Concern for ContentsController 6 | # 7 | module Contents 8 | extend ActiveSupport::Concern 9 | 10 | included do 11 | include Mokio::Concerns::Controllers::MainPics 12 | end 13 | 14 | # 15 | # Overriten CommonController new (Mokio::Concerns::Controllers::Common) 16 | # 17 | def new 18 | redirect_to new_article_path 19 | end 20 | end 21 | end 22 | end 23 | end -------------------------------------------------------------------------------- /app/views/mokio/layout/header.html.slim: -------------------------------------------------------------------------------- 1 | .navbar 2 | 3 | .navbar-inner 4 | .version-nr 5 | = "#{bt("version")}: " 6 | = Mokio::VERSION 7 | .container-fluid 8 | a.brand#logo href=root_path title="MOKIO - CMS Open Source" 9 | img src=asset_path("backend/mokio-logo.svg") alt="Logo MOKIO" 10 | 11 | 12 | .nav-no-collapse 13 | ul.nav 14 | li 15 | a href="/" target="_blank" 16 | span.icon16.icomoon-icon-home.black 17 | = bt("site_preview") 18 | = render 'mokio/layout/user_widget' 19 | -------------------------------------------------------------------------------- /app/views/mokio/users/edit_password.html.slim: -------------------------------------------------------------------------------- 1 | .span12 2 | = render :partial => "mokio/common/notice" 3 | .box 4 | - cache :user_box_title do 5 | = box_title do 6 | = bt("edit_password", Mokio::User) 7 | .content 8 | = common_form do 9 | .row-fluid 10 | = simple_form_for @user, :url => update_password_user_path, :html => { :class => 'form-horizontal' } do |f| 11 | = render :partial => "mokio/users/form", :locals => {f: f, obj: @obj} 12 | .form-actions 13 | = btn_submit bt("save") 14 | = btn_cancel "#{engine_root}users" 15 | -------------------------------------------------------------------------------- /lib/mokio/concerns/models/pic_gallery.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Models 4 | # 5 | # Concern for PicGallery model 6 | # 7 | module PicGallery 8 | extend ActiveSupport::Concern 9 | 10 | included do 11 | end 12 | 13 | # 14 | # Return constant 15 | # 16 | def default_data_file 17 | Mokio::Photo 18 | end 19 | 20 | module ClassMethods 21 | def has_gallery_enabled? 22 | true 23 | end 24 | end 25 | end 26 | end 27 | end 28 | end -------------------------------------------------------------------------------- /lib/tasks/add_custom_js.rake: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | namespace :mokio do 4 | desc 'Creates custom.js file in project, for easy js alterations inside gem' 5 | task add_custom_js: :environment do 6 | puts 'Creating custom.js file...'.blue 7 | file = 'app/assets/javascripts/backend/custom.js' 8 | unless File.exist?(file) 9 | content = "// Add your js for backend here\n" 10 | touch file 11 | File.write(file, content) 12 | puts "Created new file at #{file}".green 13 | else 14 | puts 'File already exists'.red 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /spec/factories/recipients.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: recipients 4 | # 5 | # id :integer not null, primary key 6 | # email :string(255) not null 7 | # active :boolean default(TRUE) 8 | # created_at :datetime 9 | # updated_at :datetime 10 | # contact_id :integer 11 | # 12 | 13 | # Read about factories at https://github.com/thoughtbot/factory_bot 14 | 15 | FactoryBot.define do 16 | factory :recipient, :class => Mokio::Recipient do 17 | email { "MyString" } 18 | active { false } 19 | contact_id { 1 } 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /app/views/mokio/menus/lang_changed.js.slim: -------------------------------------------------------------------------------- 1 | | $('#menu_parent_id').html(''); 2 | | $('#menu_parent_id').html('#{j(options_from_collection_for_select(@menu.parent_tree, 'id', 'name'))}'); 3 | | $('#menu_breadcrumps').html(""); 4 | | if (#{@content_confirm}) {remove_except_all_lang('')} 5 | | if (#{@modules_confirm}) {$('[id^=fake-select_]').each(function(i, val) {remove_except_all_lang($(val).attr('id').substring(11));})} 6 | | $('#box1View').html("#{j (options_for_select(@menu.available_contents.collect{|elt| [elt.title, elt.id,{class: 'displayed_' + elt.displayed?.to_s}]}))}"); 7 | |#{replace_available_modules(@menu)} -------------------------------------------------------------------------------- /bin/rails: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # This command will automatically be run when you run "rails" with Rails gems 3 | # installed from the root of your application. 4 | 5 | ENGINE_ROOT = File.expand_path('..', __dir__) 6 | ENGINE_PATH = File.expand_path('../lib/mokio/engine', __dir__) 7 | APP_PATH = File.expand_path('../spec/dummy/config/application', __dir__) 8 | 9 | # Set up gems listed in the Gemfile. 10 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) 11 | require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE']) 12 | 13 | require 'rails/all' 14 | require 'rails/engine/commands' 15 | -------------------------------------------------------------------------------- /lib/generators/mokio/copy/assets_generator.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Copy #:nodoc:all 3 | class AssetsGenerator < Rails::Generators::Base #:nodoc: 4 | source_root File.expand_path('../../../../../app/assets/', __FILE__) 5 | 6 | desc "Copy a Mokio assets into your application." 7 | 8 | def generate_assets 9 | directory "fonts", "app/assets/fonts" 10 | directory "images", "app/assets/images" 11 | directory "javascripts", "app/assets/javascripts" 12 | directory "stylesheets", "app/assets/stylesheets" 13 | end 14 | end 15 | end 16 | end -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .bundle/ 2 | log/*.log 3 | pkg/ 4 | spec/dummy/log/ 5 | spec/dummy/log/* 6 | spec/dummy/tmp/ 7 | spec/dummy/.sass-cache 8 | spec/dummy/solr 9 | spec/dummy/public/uploads 10 | spec/dummy/public/assets 11 | spec/dummy/config/initializers/mokio.rb 12 | spec/dummy/db/schema.rb 13 | spec/dummy/db/migrate/* 14 | spec/dummy/node_modules 15 | Gemfile.lock 16 | .ruby-version* 17 | .ruby-gemset* 18 | .gitignore~ 19 | *miniprofiler/mp_timers* 20 | spec/dummy/tmp/* 21 | spec/dummy/.env 22 | coverage/* 23 | coverage 24 | 25 | 26 | /.idea/ 27 | /.metadata/ 28 | /.project 29 | mokio*.gem 30 | .swp 31 | INFO.md 32 | -------------------------------------------------------------------------------- /lib/generators/mokio/templates/contents/model.rb: -------------------------------------------------------------------------------- 1 | <% module_namespacing do -%> 2 | module Mokio 3 | class <%= class_name %> < Mokio::Content 4 | 5 | def columns_for_table 6 | %w(title active type updated_at lang_id) 7 | end 8 | 9 | def editable 10 | true 11 | end 12 | 13 | def deletable 14 | true 15 | end 16 | 17 | # Generate url to edit content 18 | def title_view 19 | (ActionController::Base.helpers.link_to self[:title], ApplicationController.helpers.edit_url(self.class.base_class, self)).html_safe 20 | end 21 | 22 | end 23 | end 24 | <% end -%> -------------------------------------------------------------------------------- /spec/dummy/config/initializers/wrap_parameters.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | # This file contains settings for ActionController::ParamsWrapper which 4 | # is enabled by default. 5 | 6 | # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. 7 | ActiveSupport.on_load(:action_controller) do 8 | wrap_parameters format: [:json] if respond_to?(:wrap_parameters) 9 | end 10 | 11 | # To enable root element in JSON for ActiveRecord objects. 12 | # ActiveSupport.on_load(:active_record) do 13 | # self.include_root_in_json = true 14 | # end 15 | -------------------------------------------------------------------------------- /spec/factories/common_factory.rb: -------------------------------------------------------------------------------- 1 | require 'faker' 2 | 3 | FactoryBot.define do 4 | trait :not_editable do 5 | editable { false } 6 | deletable { false } 7 | end 8 | 9 | trait :not_deletable do 10 | deletable { false } 11 | end 12 | 13 | trait :with_intro_and_content do 14 | intro { Faker::Lorem.paragraph(sentence_count: 3) } 15 | content { Faker::Lorem.paragraph(sentence_count: 20) } 16 | end 17 | 18 | trait :pl do 19 | lang_id { 1 } 20 | end 21 | 22 | trait :en do 23 | lang_id { 2 } 24 | end 25 | 26 | trait :all_lang do 27 | lang_id { nil } 28 | end 29 | 30 | end 31 | -------------------------------------------------------------------------------- /app/assets/stylesheets/mokio/application.css: -------------------------------------------------------------------------------- 1 | /* 2 | * This is a manifest file that'll be compiled into application.css, which will include all the files 3 | * listed below. 4 | * 5 | * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, 6 | * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. 7 | * 8 | * You're free to add application-wide styles to this file and they'll appear at the top of the 9 | * compiled file, but it's generally better to create a new file per style scope. 10 | * 11 | *= require_self 12 | *= require_tree . 13 | */ 14 | -------------------------------------------------------------------------------- /app/datatables/datatable_backend_search.rb: -------------------------------------------------------------------------------- 1 | class DatatableBackendSearch < DatatableArray 2 | def table_controls(row) 3 | html = '' 4 | 5 | begin 6 | objClass = row.self_object_class 7 | obj = row.self_object 8 | rescue 9 | objClass = nil 10 | obj = nil 11 | end 12 | 13 | if obj.present? 14 | html += @view.controller.render_additional_action_buttons obj 15 | html += table_controls_edit_btn( edit_url(objClass, obj), true ) if obj.editable 16 | html += table_controls_delete_btn( obj_url(objClass, obj)) if obj.deletable 17 | end 18 | 19 | html 20 | 21 | end 22 | end -------------------------------------------------------------------------------- /app/views/mokio/photos/crop_thumb.js.slim: -------------------------------------------------------------------------------- 1 | | $(".photo_holder").html(''); 2 | | previous = $("#itemContainer").find("li##{@edited_photo.id}").prev(); 3 | | $("#itemContainer").find("li##{@edited_photo.id}").remove(); 4 | | $("#itemContainer").find("#modaledit_#{@edited_photo.id}").remove(); 5 | | if (previous.attr("id")){ 6 | | previous.after("#{j render :template => 'mokio/photos/photo', :locals => {photo: @edited_photo} }"); 7 | | } 8 | | else { 9 | | $("#itemContainer").prepend("#{j render :template => 'mokio/photos/photo', :locals => {photo: @edited_photo} }"); 10 | | } 11 | 12 | -------------------------------------------------------------------------------- /app/views/mokio/photos/rotate_thumb.js.slim: -------------------------------------------------------------------------------- 1 | | $(".photo_holder").html(''); 2 | | previous = $("#itemContainer").find("li##{@edited_photo.id}").prev(); 3 | | $("#itemContainer").find("li##{@edited_photo.id}").remove(); 4 | | $("#itemContainer").find("#modaledit_#{@edited_photo.id}").remove(); 5 | | if (previous.attr("id")){ 6 | | previous.after("#{j render :template => 'mokio/photos/photo', :locals => {photo: @edited_photo} }"); 7 | | } 8 | | else { 9 | | $("#itemContainer").prepend("#{j render :template => 'mokio/photos/photo', :locals => {photo: @edited_photo} }"); 10 | | } 11 | 12 | -------------------------------------------------------------------------------- /spec/dummy/app/assets/stylesheets/application.css: -------------------------------------------------------------------------------- 1 | /* 2 | * This is a manifest file that'll be compiled into application.css, which will include all the files 3 | * listed below. 4 | * 5 | * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, 6 | * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. 7 | * 8 | * You're free to add application-wide styles to this file and they'll appear at the top of the 9 | * compiled file, but it's generally better to create a new file per style scope. 10 | * 11 | *= require_self 12 | *= require_tree . 13 | */ 14 | -------------------------------------------------------------------------------- /app/views/mokio/photos/crop_photo.js.slim: -------------------------------------------------------------------------------- 1 | | $(".photo_holder").html(''); 2 | | previous = $("#itemContainer").find("li##{@edited_photo.id}").prev(); 3 | | $("#itemContainer").find("li##{@edited_photo.id}").remove(); 4 | | $("#itemContainer").find("#modaledit_#{@edited_photo.id}").remove(); 5 | | if (previous.attr("id")){ 6 | | previous.after("#{j render :template => 'mokio/photos/photo', :locals => {photo: @edited_photo} }"); 7 | | } 8 | | else { 9 | | $("#itemContainer").prepend("#{j render :template => 'mokio/photos/photo', :locals => {photo: @edited_photo} }"); 10 | | } 11 | -------------------------------------------------------------------------------- /app/views/mokio/photos/rotate_photo.js.slim: -------------------------------------------------------------------------------- 1 | | $(".photo_holder").html(''); 2 | | previous = $("#itemContainer").find("li##{@edited_photo.id}").prev(); 3 | | $("#itemContainer").find("li##{@edited_photo.id}").remove(); 4 | | $("#itemContainer").find("#modaledit_#{@edited_photo.id}").remove(); 5 | | if (previous.attr("id")){ 6 | | previous.after("#{j render :template => 'mokio/photos/photo', :locals => {photo: @edited_photo} }"); 7 | | } 8 | | else { 9 | | $("#itemContainer").prepend("#{j render :template => 'mokio/photos/photo', :locals => {photo: @edited_photo} }"); 10 | | } 11 | -------------------------------------------------------------------------------- /app/assets/javascripts/backend/head.js: -------------------------------------------------------------------------------- 1 | // ! Important plugins put in all pages 2 | //= require jquery2 3 | // require jquery.turbolinks 4 | //= require jquery.ui.all 5 | //= require jquery_ujs 6 | 7 | // Jquery migrate adds methods removed in newest jquery but still used by plugins 8 | //= require backend/head/jquery-migrate-1.2.1 9 | 10 | //= require backend/bootstrap/bootstrap 11 | //= require backend/head/jquery.cookie 12 | //= require backend/head/jquery.mousewheel 13 | // ! 14 | 15 | // For toggle buttons 16 | //= require bootstrap-switch 17 | 18 | // Ckeditor 19 | //= require backend/mokio_dynamic_fields 20 | //= require backend/lodash/lodash 21 | -------------------------------------------------------------------------------- /app/views/mokio/application_settings/_form.html.slim: -------------------------------------------------------------------------------- 1 | = f.input :name, disabled: !obj.editable_name 2 | - if obj.field_type == 'ckeditor' 3 | = f.input :value, as: :ckeditor, input_html: {ckeditor: {toolbar: 'Mini', height: 150}} 4 | - elsif obj.field_type == 'string' 5 | = f.input :value, as: :string 6 | - else 7 | = f.input :value 8 | = f.input :description 9 | = f.input :deletable 10 | = f.input :mokio_application_settings_group_id, \ 11 | collection: Mokio::ApplicationSettingsGroup.all.collect{|group| [bt(group.name),group.id]}, \ 12 | include_blank: bt(''), \ 13 | disabled: !obj.display_editable_field?('mokio_application_settings_group_id') 14 | -------------------------------------------------------------------------------- /app/views/mokio/photos/remove_thumb.js.slim: -------------------------------------------------------------------------------- 1 | | $(".photo_holder").html("#{j render :template => 'mokio/photos/thumb', :locals => {photo: @edited_photo} }"); 2 | | previous = $("#itemContainer").find("li##{@edited_photo.id}").prev(); 3 | | $("#itemContainer").find("li##{@edited_photo.id}").remove(); 4 | | $("#itemContainer").find("#modaledit_#{@edited_photo.id}").remove(); 5 | | if (previous.attr("id")){ 6 | | previous.after("#{j render :template => 'mokio/photos/photo', :locals => {photo: @edited_photo} }"); 7 | | } 8 | | else { 9 | | $("#itemContainer").prepend("#{j render :template => 'mokio/photos/photo', :locals => {photo: @edited_photo} }"); 10 | | } 11 | -------------------------------------------------------------------------------- /lib/mokio/concerns/models/contact_template.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Models 4 | # 5 | # Concern for ContactTemplate model 6 | # 7 | module ContactTemplate 8 | extend ActiveSupport::Concern 9 | 10 | included do 11 | belongs_to :contact 12 | accepts_nested_attributes_for :contact 13 | end 14 | 15 | module ClassMethods 16 | # 17 | # Table of contact_template_attributes 18 | # 19 | def contact_template_attributes 20 | [ :tpl ] 21 | end 22 | end 23 | end 24 | end 25 | end 26 | end -------------------------------------------------------------------------------- /app/views/mokio/photos/update_thumb.js.slim: -------------------------------------------------------------------------------- 1 | | $(".photo_holder").html("#{j render :template => 'mokio/photos/thumb', :locals => {photo: @edited_photo} }"); 2 | | previous = $("#itemContainer").find("li##{@edited_photo.id}").prev(); 3 | | $("#itemContainer").find("li##{@edited_photo.id}").remove(); 4 | | $("#itemContainer").find("#modaledit_#{@edited_photo.id}").remove(); 5 | | if (previous.attr("id")){ 6 | | previous.after("#{j render :template => 'mokio/photos/photo', :locals => {photo: @edited_photo} }"); 7 | | } 8 | | else { 9 | | $("#itemContainer").prepend("#{j render :template => 'mokio/photos/photo', :locals => {photo: @edited_photo} }"); 10 | | } 11 | 12 | -------------------------------------------------------------------------------- /app/views/mokio/editor_panel/panel.html.erb: -------------------------------------------------------------------------------- 1 | 2 |
7 |

8 | Edycja treści jako <%= user.name_view %> 9 |

10 |
11 | 12 | 15 | 16 | <%= javascript_include_tag 'frontend_editor/editor.js' %> 17 | <%= javascript_include_tag 'frontend_editor/frontend_editor.js' %> 18 | -------------------------------------------------------------------------------- /app/views/mokio/youtubes/uploader.html.slim: -------------------------------------------------------------------------------- 1 | - cache [:youtube_upload, obj] do 2 | a.edit data-toggle="modal" class="load-modal" data-href="#{mokio.root_path}/youtubes/#{obj.id}/load_new_form" id="add-youtube" 3 | button.btn.btn-info.uploader 4 | span.icomoon-icon-plus.white 5 | = bt("add_#{obj.default_data_file.to_s.tableize}", @obj_class) 6 | .modal class=("youtube-edit modal fade modalyt") id="new_yt_form" role="dialog" aria-hidden=("true" ) aria-labelledby="myModalLabel" 7 | .modal-dialog 8 | .modal-content 9 | .modal-header 10 | h3#myModalLabel.modal-title= bt("youtube_upload",'Youtube') 11 | .modal-body 12 | -------------------------------------------------------------------------------- /app/assets/javascripts/backend/plugins/files/plupload/i18n/sr.js: -------------------------------------------------------------------------------- 1 | // Serbian 2 | plupload.addI18n({ 3 | 'Select files' : 'Izaberite fajlove', 4 | 'Add files to the upload queue and click the start button.' : 'Dodajte fajlove u listu i kliknite na dugme Start.', 5 | 'Filename' : 'Naziv fajla', 6 | 'Status' : 'Status', 7 | 'Size' : 'Veličina', 8 | 'Add Files' : 'Dodaj fajlove', 9 | 'Stop current upload' : 'Zaustavi upload', 10 | 'Start uploading queue' : 'Počni upload', 11 | 'Drag files here.' : 'Prevucite fajlove ovde.', 12 | 'Start Upload': 'Počni upload', 13 | 'Uploaded %d/%d files': 'Snimljeno %d/%d fajlova' 14 | }); -------------------------------------------------------------------------------- /db/migrate/20220113135021_create_mokio_application_settings.rb: -------------------------------------------------------------------------------- 1 | class CreateMokioApplicationSettings < ActiveRecord::Migration[6.0] 2 | def change 3 | create_table :mokio_application_settings do |t| 4 | t.string :name 5 | t.text :value 6 | t.boolean :deletable, default: true 7 | t.text :description 8 | t.string :field_type 9 | t.boolean :editable_name, default: true 10 | t.references :mokio_application_settings_group, index: {name: :mokio_app_setting_group} 11 | t.timestamps 12 | end 13 | 14 | # add_reference :mokio_application_settings, :mokio_application_settings_groups, index: true 15 | 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /app/assets/javascripts/backend/plugins/files/plupload/i18n/cs.js: -------------------------------------------------------------------------------- 1 | // .po file like language pack 2 | plupload.addI18n({ 3 | 'Select files' : 'Vyberte soubory', 4 | 'Add files to the upload queue and click the start button.' : 'Přidejte soubory do fronty a pak spusťte nahrávání.', 5 | 'Filename' : 'Název souboru', 6 | 'Status' : 'Status', 7 | 'Size' : 'Velikost', 8 | 'Add Files' : 'Přidat soubory', 9 | 'Stop current upload' : 'Zastavit nahrávání', 10 | 'Start uploading queue' : 'Spustit frontu nahrávání', 11 | 'Drag files here.' : 'Sem přetáhněte soubory.', 12 | 'Start Upload': 'Spustit nahrávání', 13 | 'Uploaded %d/%d files': 'Nahráno %d/%d souborů' 14 | }); -------------------------------------------------------------------------------- /app/helpers/mokio/backend/user_helper.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Backend 3 | module UserHelper 4 | def can_generate_pass_change_link?(obj) 5 | obj != current_user 6 | end 7 | 8 | def can_edit_password_without_confirmation?(obj) 9 | current_user.is_super_admin? && obj != current_user 10 | end 11 | 12 | def is_action_user_edit? 13 | params[:action] == "edit" && params[:controller] == "mokio/users" 14 | end 15 | 16 | def show_reset_password_token_errors 17 | resource.errors.messages[:reset_password_token][0] if resource.errors.messages[:reset_password_token] 18 | end 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /lib/mokio/logger.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class Logger 3 | #initialize and set debug level 4 | def initialize 5 | level = Mokio.mokio_log_level 6 | @@mokiologger ||= ::Logger.new("#{Rails.root}/log/#{Rails.env}_mokio.log") 7 | @@mokiologger.level = level 8 | end 9 | 10 | # methods for logged info , error ,debug , warn msg 11 | def info(msg) 12 | @@mokiologger.info(msg) 13 | end 14 | 15 | def debug(msg) 16 | @@mokiologger.debug(msg) 17 | end 18 | 19 | def error(msg) 20 | @@mokiologger.error(msg) 21 | end 22 | 23 | def warn(msg) 24 | @@mokiologger.warn(msg) 25 | end 26 | end 27 | end 28 | -------------------------------------------------------------------------------- /lib/generators/mokio/install_generator.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class InstallGenerator < Rails::Generators::Base #:nodoc: 3 | source_root File.expand_path('../templates', __FILE__) 4 | 5 | desc "Creates a Mokio initializer(configuration file) in your application." 6 | 7 | def create_confg_file 8 | if rails_4? 9 | template "mokio.rb", "config/initializers/mokio.rb" 10 | else 11 | puts "Mokio supports only Rails #{Mokio::SUPPORTED_RAILS} or higher, your version is #{Rails.version}".red 12 | end 13 | end 14 | 15 | private 16 | 17 | def rails_4? 18 | Rails::VERSION::MAJOR == Mokio::SUPPORTED_RAILS 19 | end 20 | end 21 | end -------------------------------------------------------------------------------- /spec/dummy/app/assets/javascripts/application.js: -------------------------------------------------------------------------------- 1 | // This is a manifest file that'll be compiled into application.js, which will include all the files 2 | // listed below. 3 | // 4 | // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, 5 | // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. 6 | // 7 | // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the 8 | // compiled file. 9 | // 10 | // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details 11 | // about supported directives. 12 | // 13 | //= require_tree . 14 | -------------------------------------------------------------------------------- /lib/tasks/ckeditor_create_nondigest_assets.rake: -------------------------------------------------------------------------------- 1 | namespace :ckeditor do 2 | desc 'Create nondigest versions of some ckeditor assets (e.g. moono skin png)' 3 | task :create_nondigest_assets do 4 | fingerprint = /\-[0-9a-f]{32}\./ 5 | for file in Dir['public/assets/ckeditor/contents-*.css', 'public/assets/ckeditor/skins/moono/*.png'] 6 | next unless file =~ fingerprint 7 | nondigest = file.sub fingerprint, '.' # contents-0d8ffa186a00f5063461bc0ba0d96087.css => contents.css 8 | FileUtils.cp file, nondigest, verbose: true 9 | end 10 | end 11 | end 12 | 13 | Rake::Task['assets:precompile'].enhance do 14 | Rake::Task['ckeditor:create_nondigest_assets'].invoke 15 | end -------------------------------------------------------------------------------- /app/assets/javascripts/backend/plugins/files/plupload/i18n/el.js: -------------------------------------------------------------------------------- 1 | // Greek 2 | plupload.addI18n({ 3 | 'Select files' : 'Επιλέξτε Αρχεία', 4 | 'Add files to the upload queue and click the start button.' : 'Προσθήκη αρχείων στην ουρά μεταφόρτωσης', 5 | 'Filename' : 'Όνομα αρχείου', 6 | 'Status' : 'Κατάσταση', 7 | 'Size' : 'Μέγεθος', 8 | 'Add Files' : 'Προσθέστε αρχεία', 9 | 'Stop current upload' : 'Διακοπή τρέχουσας μεταφόρτωσης', 10 | 'Start uploading queue' : 'Εκκίνηση μεταφόρτωσης ουράς αρχείων', 11 | 'Drag files here.' : 'Σύρετε αρχεία εδώ', 12 | 'Start Upload': 'Εκκίνηση μεταφόρτωσης', 13 | 'Uploaded %d/%d files': 'Ανέβηκαν %d/%d αρχεία' 14 | }); -------------------------------------------------------------------------------- /spec/factories/langs.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: langs 4 | # 5 | # id :integer not null, primary key 6 | # name :string(255) 7 | # shortname :string(255) 8 | # active :boolean 9 | # menu_id :integer 10 | # created_at :datetime 11 | # updated_at :datetime 12 | # 13 | 14 | # Read about factories at https://github.com/thoughtbot/factory_bot 15 | 16 | FactoryBot.define do 17 | factory :lang_en, :class => Mokio::Lang do 18 | id { 2 } 19 | name { 'en' } 20 | shortname { 'en' } 21 | end 22 | 23 | factory :lang_pl, :class => Mokio::Lang do 24 | id { 1 } 25 | name { 'pl' } 26 | shortname { 'pl' } 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /app/uploaders/mokio/main_pic_uploader.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class MainPicUploader < CarrierWave::Uploader::Base 3 | include Mokio::Uploader::Asset 4 | 5 | version :edit, :if => :picgallery? do 6 | process :resize_to_fill => [100, 100] 7 | end 8 | 9 | version :main_pic do 10 | process :resize_to_fill => [150, 150] 11 | end 12 | 13 | def picgallery? image 14 | model.type == "PicGallery" if model.respond_to?(:type) 15 | end 16 | 17 | # Add a white list of extensions which are allowed to be uploaded. 18 | # For images you might use something like this: 19 | def extension_white_list 20 | %w(jpg jpeg gif png) 21 | end 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /app/views/mokio/common/_mokio_filters.html.slim: -------------------------------------------------------------------------------- 1 | - if mokio_filters_enabled?(obj) 2 | = form_with(method: :get, class: 'mokio-filter-form', local: true) 3 | p Filtruj: 4 | - obj.filter_index_config.each do |key, data| 5 | - if data[:field_type] == "select" 6 | = render partial: "mokio/common/filters/select", \ 7 | locals: {field: key, data: data, obj: obj} 8 | - elsif data[:field_type] == "date" 9 | = render partial: "mokio/common/filters/date", \ 10 | locals: {field: key, data: data, obj: obj} 11 | - elsif data[:field_type] == "text" 12 | = render partial: "mokio/common/filters/text", \ 13 | locals: {field: key, data: data, obj: obj} 14 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/plugins/forms/validate/validate.css: -------------------------------------------------------------------------------- 1 | /* Form Validation */ 2 | label.error { 3 | padding: 3px 4px 3px 4px; 4 | color: #c93605; 5 | font-weight: bold; 6 | text-shadow: 0px 1px 1px rgba(164, 44, 4, 0.20); 7 | -moz-text-shadow: 0px 1px 1px rgba(164, 44, 4, 0.20); 8 | -webkit-text-shadow: 0px 1px 1px rgba(164, 44, 4, 0.20); 9 | font-size:11px; 10 | } 11 | 12 | form input.error {border: 1px solid #ED7A53 !important;} 13 | form input.valid {border: 1px solid #9FC569 !important;} 14 | 15 | .controls label.error { 16 | margin-top:-20px; 17 | } 18 | .controls .selector label.error { 19 | position: absolute; 20 | top: 5px; 21 | right: 0; 22 | margin:0; 23 | } -------------------------------------------------------------------------------- /app/views/mokio/youtubes/thumb.html.slim: -------------------------------------------------------------------------------- 1 | - cache [:movie_thumb, @edited_movie] do 2 | .image-view 3 | - unless @edited_movie.thumb.blank? 4 | img src=@edited_movie.thumb.url alt=(@edited_movie.thumb ) 5 | - else 6 | = form_for @edited_movie, :html => { :multipart => true }, :remote => true, :url => { :action => "update_thumb" } do |f| 7 | span#photoinputbtn.btn.btn-success.fileinput-button 8 | span= bt("add_file") 9 | = f.file_field :thumb 10 | canvas#imageCanvas 11 | ul#photo-fileinfo.unstyled 12 | 13 | .edit-sidebar 14 | = link_to remove_thumb_photo_path(@edited_movie), remote: true, method: :delete do 15 | span.icon24.icomoon-icon-remove 16 | -------------------------------------------------------------------------------- /lib/mokio/solr_config.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module SolrConfig #:nodoc: 3 | # 4 | # Enable/Disable using solr 5 | # 6 | mattr_accessor :enabled 7 | self.enabled = false 8 | 9 | def self.all_exceptions 10 | self.mokio_exceptions + self.exceptions 11 | end 12 | 13 | # 14 | # Application classes which are excluded from indexing or have own searchable method 15 | # 16 | mattr_accessor :exceptions 17 | 18 | private 19 | # 20 | # Mokio classes which are excluded from indexing or have own searchable method 21 | # 22 | def self.mokio_exceptions 23 | [ 24 | :menu, :user, :externalscript, :lang 25 | ] 26 | end 27 | 28 | end 29 | end -------------------------------------------------------------------------------- /app/uploaders/mokio/data_file_uploader.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | class DataFileUploader < CarrierWave::Uploader::Base 3 | include Mokio::Uploader::Asset 4 | 5 | process :watermark => Mokio.watermark_path, :if => :create_watermark? 6 | 7 | protected 8 | 9 | def create_watermark? image 10 | Mokio.enable_watermark 11 | end 12 | 13 | def watermark(path_to_file) 14 | manipulate! do |img| 15 | img = img.composite(MiniMagick::Image.open(path_to_file), "jpg") do |c| 16 | c.gravity "SouthEast" 17 | end 18 | end 19 | end 20 | 21 | def picgallery? image 22 | Content.find(model.content_id).type == "PicGallery" 23 | end 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /spec/dummy/config/initializers/secret_token.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | # Your secret key is used for verifying the integrity of signed cookies. 4 | # If you change this key, all old signed cookies will become invalid! 5 | 6 | # Make sure the secret is at least 30 characters and all random, 7 | # no regular words or you'll be exposed to dictionary attacks. 8 | # You can use `rake secret` to generate a secure secret key. 9 | 10 | # Make sure your secret_key_base is kept private 11 | # if you're sharing your code publicly. 12 | Dummy::Application.config.secret_key_base = 'e02e8866f1cb16e1da51a4e0869f66098b65aadf601c1a8041f6a318f69466174293351a94fcf9ab7e49b46c75e51d03a472d7fd51a3f64e7706040db46afe02' 13 | -------------------------------------------------------------------------------- /app/models/ckeditor/picture.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: ckeditor_assets 4 | # 5 | # id :integer not null, primary key 6 | # data_file_name :string(255) not null 7 | # data_content_type :string(255) 8 | # data_file_size :integer 9 | # assetable_id :integer 10 | # assetable_type :string(30) 11 | # type :string(30) 12 | # width :integer 13 | # height :integer 14 | # created_at :datetime 15 | # updated_at :datetime 16 | # 17 | 18 | class Ckeditor::Picture < Ckeditor::Asset 19 | mount_uploader :data, CkeditorPictureUploader, :mount_on => :data_file_name 20 | 21 | def url_content 22 | url(:content) 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /spec/dummy/config/initializers/inflections.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | # Add new inflection rules using the following format. Inflections 4 | # are locale specific, and you may define rules for as many different 5 | # locales as you wish. All of these examples are active by default: 6 | # ActiveSupport::Inflector.inflections(:en) do |inflect| 7 | # inflect.plural /^(ox)$/i, '\1en' 8 | # inflect.singular /^(ox)en/i, '\1' 9 | # inflect.irregular 'person', 'people' 10 | # inflect.uncountable %w( fish sheep ) 11 | # end 12 | 13 | # These inflection rules are supported but not enabled by default: 14 | # ActiveSupport::Inflector.inflections(:en) do |inflect| 15 | # inflect.acronym 'RESTful' 16 | # end 17 | -------------------------------------------------------------------------------- /app/views/mokio/common/_obj.html.slim: -------------------------------------------------------------------------------- 1 | tr.odd.gradeA class=(("disabled" if !obj.active) ) 2 | - @obj_class.columns_for_table.each do |t| 3 | td id=(obj.id ) 4 | / 5 | / Common index tries to find object.attribute_view function in your Model to parse value 6 | / if it's not defined, just puts simple object.atribute value 7 | / 8 | - if obj.respond_to?("#{t}_view") 9 | = eval("obj.#{t}_view") 10 | - else 11 | = obj.try(t) 12 | td 13 | .controls.center 14 | = table_controls_edit_btn( edit_url(@obj_class, obj) ) if obj.editable 15 | = table_controls_delete_btn( obj_url(@obj_class, obj) ) if obj.deletable 16 | = table_controls_copy_btn( copy_url(@obj_class, obj) ) if obj.editable 17 | -------------------------------------------------------------------------------- /lib/mokio/concerns/controllers/langs.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Controllers 4 | # 5 | # Concern for LangsController 6 | # 7 | module Langs 8 | extend ActiveSupport::Concern 9 | included do 10 | end 11 | 12 | def set_breadcrumbs_prefix 13 | @breadcrumbs_prefix = "settings" 14 | @breadcrumbs_prefix_link = "" 15 | end 16 | 17 | private 18 | # 19 | # Never trust parameters from the scary internet, only allow the white list through. 20 | # 21 | 22 | def lang_params #:doc: 23 | params[:lang].permit(:name,:shortname,:active,:menu_id) 24 | end 25 | end 26 | end 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /spec/dummy/config/locales/en.yml: -------------------------------------------------------------------------------- 1 | # Files in the config/locales directory are used for internationalization 2 | # and are automatically loaded by Rails. If you want to use locales other 3 | # than English, add the necessary files in this directory. 4 | # 5 | # To use the locales, use `I18n.t`: 6 | # 7 | # I18n.t 'hello' 8 | # 9 | # In views, this is aliased to just `t`: 10 | # 11 | # <%= t('hello') %> 12 | # 13 | # To use a different locale, set it with `I18n.locale`: 14 | # 15 | # I18n.locale = :es 16 | # 17 | # This would use the information in config/locales/es.yml. 18 | # 19 | # To learn more, please read the Rails Internationalization guide 20 | # available at http://guides.rubyonrails.org/i18n.html. 21 | 22 | en: 23 | hello: "Hello world" 24 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/jquery.ui.combobox.css: -------------------------------------------------------------------------------- 1 | .ui-combobox { 2 | position: relative; 3 | display: inline-block; 4 | margin-bottom: 20px; 5 | } 6 | .ui-combobox-toggle { 7 | position: absolute; 8 | top: 0; 9 | bottom: 0; 10 | padding: 0; 11 | right:-8px; 12 | padding-left: 5px; 13 | padding-right: 6px; 14 | /* adjust styles for IE 6/7 */ 15 | *height: 1.7em; 16 | *top: 0.1em; 17 | } 18 | .ui-combobox-input { 19 | margin: 0; 20 | padding: 3px; 21 | outline: none; 22 | width: 100%; 23 | } 24 | .ui-combobox .ui-button { 25 | cursor: pointer; 26 | } 27 | .ui-combobox .ui-icon { 28 | margin-top: 5px; 29 | } 30 | 31 | .form-row .controls .ui-combobox-input, .ui-combobox-input { 32 | margin-bottom: 0; 33 | } -------------------------------------------------------------------------------- /app/models/ckeditor/asset.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: ckeditor_assets 4 | # 5 | # id :integer not null, primary key 6 | # data_file_name :string(255) not null 7 | # data_content_type :string(255) 8 | # data_file_size :integer 9 | # assetable_id :integer 10 | # assetable_type :string(30) 11 | # type :string(30) 12 | # width :integer 13 | # height :integer 14 | # created_at :datetime 15 | # updated_at :datetime 16 | # 17 | 18 | class Ckeditor::Asset < ActiveRecord::Base 19 | include Ckeditor::Orm::ActiveRecord::AssetBase 20 | 21 | delegate :url, :current_path, :content_type, :to => :data 22 | 23 | validates_presence_of :data 24 | end 25 | -------------------------------------------------------------------------------- /app/views/mokio/contents/_content_info_widget.html.slim: -------------------------------------------------------------------------------- 1 | .sidebar-widget 2 | h5.title= bt("content_now") 3 | .content 4 | .rightnow 5 | ul.unstyled 6 | li 7 | span.number= Mokio::Article.count 8 | span.icon16.icomoon-icon-file 9 | = bt("articles_now") 10 | 11 | li 12 | span.number= Mokio::PicGallery.count 13 | span.icon16.icomoon-icon-picture 14 | = bt("pic_galleries_now") 15 | 16 | li 17 | span.number= Mokio::MovGallery.count 18 | span.icon16.icomoon-icon-movie 19 | = bt("mov_galleries_now") 20 | 21 | li 22 | span.number= Mokio::Contact.count 23 | span.icon16.icomoon-icon-mail-3 24 | = bt("contacts_now") 25 | -------------------------------------------------------------------------------- /lib/mokio/concerns/models/youtube.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Models 4 | # 5 | # Concern for Youtube model 6 | # 7 | module Youtube 8 | extend ActiveSupport::Concern 9 | 10 | included do 11 | end 12 | 13 | module ClassMethods 14 | # 15 | # Returns VideoInfo object with movie for specified movie_url. 16 | # Using gem 'video_info' 17 | # 18 | def find_movie(movie_url) 19 | begin 20 | video = VideoInfo.new(movie_url) 21 | rescue 22 | video = nil 23 | error = true 24 | end 25 | video 26 | end 27 | end 28 | end 29 | end 30 | end 31 | end -------------------------------------------------------------------------------- /spec/models/module_position_spec.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: module_positions 4 | # 5 | # id :integer not null, primary key 6 | # name :string(255) 7 | # tpl :string(255) 8 | # created_at :datetime 9 | # updated_at :datetime 10 | # 11 | 12 | require 'spec_helper' 13 | module Mokio 14 | describe ModulePosition do 15 | it 'has valid factory' do 16 | FactoryBot.create(:module_position).should be_valid 17 | end 18 | 19 | describe 'has and belongs to many static modules' do 20 | it 'reflect on association' do 21 | module_position = ModulePosition.reflect_on_association(:static_modules) 22 | module_position.macro.should == :has_and_belongs_to_many 23 | end 24 | end 25 | end 26 | end 27 | -------------------------------------------------------------------------------- /lib/mokio/concerns/controllers/main_pics.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Controllers 4 | # 5 | # Concern for ContentsController 6 | # 7 | module MainPics 8 | extend ActiveSupport::Concern 9 | 10 | included do 11 | 12 | def delete_main_pic 13 | obj = Mokio::Content.find(params[:id]) 14 | obj.remove_main_pic! 15 | 16 | if obj.save! 17 | flash[:notice] = t("main_pics.deleted") 18 | else 19 | flash[:error] = t("main_pics.not_deleted") 20 | end 21 | 22 | respond_to do |format| 23 | format.js 24 | end 25 | end 26 | 27 | end 28 | 29 | end 30 | end 31 | end 32 | end -------------------------------------------------------------------------------- /lib/mokio/concerns/controllers/module_positions.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Controllers 4 | # 5 | # Concern for ModulePositions 6 | # 7 | module ModulePositions 8 | extend ActiveSupport::Concern 9 | 10 | included do 11 | end 12 | 13 | def set_breadcrumbs_prefix 14 | @breadcrumbs_prefix = "page_elements" 15 | @breadcrumbs_prefix_link = "" 16 | end 17 | 18 | private 19 | # 20 | # Never trust parameters from the scary internet, only allow the white list through. 21 | # 22 | 23 | def module_position_params #:doc: 24 | params[:module_position].permit(:name,:tpl) 25 | end 26 | 27 | end 28 | end 29 | end 30 | end -------------------------------------------------------------------------------- /lib/mokio/concerns/controllers/external_scripts.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Concerns 3 | module Controllers 4 | # 5 | # Concern for ExternalScriptsController 6 | # 7 | module ExternalScripts 8 | extend ActiveSupport::Concern 9 | 10 | included do 11 | end 12 | 13 | def set_breadcrumbs_prefix 14 | @breadcrumbs_prefix = "settings" 15 | @breadcrumbs_prefix_link = "" 16 | end 17 | 18 | private 19 | # 20 | # Never trust parameters from the scary internet, only allow the white list through. 21 | # 22 | 23 | def external_script_params #:doc: 24 | params[:external_script].permit(:name,:script) 25 | end 26 | end 27 | end 28 | end 29 | end -------------------------------------------------------------------------------- /spec/factories/static_modules_factory.rb: -------------------------------------------------------------------------------- 1 | require 'faker' 2 | 3 | FactoryBot.define do 4 | 5 | factory :static_module, traits: [:with_intro_and_content], :class => Mokio::StaticModule do 6 | title { Faker::Lorem.word } 7 | display_from { '2013-12-02' } 8 | display_to { '2013-12-31' } 9 | lang_id { 1 } 10 | always_displayed { false } 11 | 12 | factory :static_module_without_title do 13 | title { '' } 14 | end 15 | 16 | factory :always_displayed_static_module do 17 | always_displayed { true } 18 | end 19 | 20 | factory :with_module_position do 21 | module_position_ids { ['1'] } 22 | end 23 | end 24 | 25 | factory :module_position, :class => Mokio::ModulePosition do 26 | name { Faker::Lorem.word } 27 | end 28 | 29 | end 30 | -------------------------------------------------------------------------------- /app/assets/stylesheets/backend/supr-theme/jquery-ui-timepicker-addon.scss: -------------------------------------------------------------------------------- 1 | .ui-timepicker-div {border-top: 1px solid #c4c4c4;} 2 | .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } 3 | .ui-timepicker-div dl { text-align: left; } 4 | .ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; } 5 | .ui-timepicker-div dl dd { margin: 0 10px 15px 65px; } 6 | .ui-timepicker-div td { font-size: 90%; } 7 | .ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } 8 | 9 | .ui_tpicker_time_label {margin-left: 10px;} 10 | .ui_tpicker_hour_label{margin-left: 10px;float: left;margin-top: -8px;} 11 | .ui_tpicker_minute_label {margin-left: 10px;float: left;margin-top: -8px;} 12 | .ui-datepicker-buttonpane button.ui-datepicker-current{ 13 | background: #9FC569 50% 50% repeat-x; 14 | } -------------------------------------------------------------------------------- /app/models/ckeditor/attachment_file.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: ckeditor_assets 4 | # 5 | # id :integer not null, primary key 6 | # data_file_name :string(255) not null 7 | # data_content_type :string(255) 8 | # data_file_size :integer 9 | # assetable_id :integer 10 | # assetable_type :string(30) 11 | # type :string(30) 12 | # width :integer 13 | # height :integer 14 | # created_at :datetime 15 | # updated_at :datetime 16 | # 17 | 18 | class Ckeditor::AttachmentFile < Ckeditor::Asset 19 | mount_uploader :data, CkeditorAttachmentFileUploader, :mount_on => :data_file_name 20 | 21 | def url_thumb 22 | @url_thumb ||= Ckeditor::Utils.filethumb(filename) 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /app/assets/javascripts/backend/load_histories.js.erb: -------------------------------------------------------------------------------- 1 | $(window).scroll(function() { 2 | if ($("#history_tab").hasClass("active")) { 3 | if ($(window).scrollTop() + $(window).height() == $(document).height()) { 4 | var last_loaded_date = $(".title_date").last().data("historyDate"); 5 | var obj_id = $("#histories").last().data("objId"); 6 | var obj_type = $("#histories").last().data("objType"); 7 | 8 | $.ajax({ 9 | url: "/backend/histories/get_n_more", 10 | type: "POST", 11 | data: { 12 | "last_loaded_date": last_loaded_date, 13 | "obj_id": obj_id, 14 | "obj_type": obj_type 15 | }, 16 | error: function() { 17 | alert("Błąd pobierania historii"); 18 | } 19 | }); 20 | }; 21 | }; 22 | }); -------------------------------------------------------------------------------- /app/views/mokio/dashboard/tbl_content.html.slim: -------------------------------------------------------------------------------- 1 | .span6 2 | .box.dashboard-box 3 | = box_title do 4 | = title_msg 5 | - if collection.any? 6 | span.label.label-success.dashboard_label= "#{label_msg} #{more}" 7 | .content 8 | table.responsive.table 9 | - if collection.any? 10 | thead 11 | tr 12 | th= bt("name") 13 | th= bt("actions") 14 | tbody 15 | = render partial: "content", collection: collection 16 | - else 17 | tbody 18 | p= bt('no_records_found') 19 | 20 | - if local_assigns[:more_link] 21 | a href=(more_link ) 22 | span.btn.btn-info.btn-mini.btn-more 23 | = bt("more") 24 | span.icomoon-icon-arrow-right-4.white 25 | -------------------------------------------------------------------------------- /app/assets/javascripts/backend/mokio_dynamic_fields.js: -------------------------------------------------------------------------------- 1 | function backend_dynamic_fields(assoc) { 2 | $(assoc).on('click', '.dynamic_fields_remove_row', function(event) { 3 | var message = $(this).data('message'); 4 | 5 | var confirmation = confirm(message); 6 | if (confirmation) { 7 | $(this).closest('td').find('input').val(true); 8 | $(this).closest('.dynamic_fields_row').hide(); 9 | } 10 | return event.preventDefault(); 11 | }); 12 | 13 | $(assoc).on('click', '.add_fields', function(event) { 14 | var regexp, time; 15 | time = new Date().getTime(); 16 | regexp = new RegExp($(this).data('id'), 'g'); 17 | $(assoc).find('.dynamic_fields_container_fields').append($(this).data('fields').replace(regexp, time)); 18 | return event.preventDefault(); 19 | }); 20 | } -------------------------------------------------------------------------------- /app/models/mokio/support.rb: -------------------------------------------------------------------------------- 1 | # == Schema Information 2 | # 3 | # Table name: contents 4 | # 5 | # id :integer not null, primary key 6 | # title :string(255) 7 | # intro :text 8 | # content :text 9 | # type :string(255) 10 | # home_page :boolean 11 | # tpl :string(255) 12 | # contact :boolean 13 | # active :boolean default(TRUE) 14 | # lang_id :integer 15 | # gallery_type :string(255) 16 | # editable :boolean default(TRUE) 17 | # deletable :boolean default(TRUE) 18 | # display_from :date 19 | # display_to :date 20 | # created_at :datetime 21 | # updated_at :datetime 22 | # gmap_id :integer 23 | # 24 | module Mokio 25 | class Support < ActiveRecord::Base 26 | 27 | end 28 | end 29 | -------------------------------------------------------------------------------- /lib/mokio/sluglize.rb: -------------------------------------------------------------------------------- 1 | module Mokio 2 | module Sluglize 3 | extend ActiveSupport::Concern 4 | 5 | included do 6 | validates :slug, uniqueness: { case_sensitive: false } 7 | validates :slug, presence: true 8 | before_validation :create_slug 9 | before_validation :update_slug 10 | end 11 | 12 | private 13 | 14 | def create_slug 15 | if self.slug.blank? 16 | if self.respond_to?(:slug_by_value) 17 | tmp = self.slug_by_value 18 | else 19 | tmp = self.name 20 | end 21 | self.slug = tmp.nil? ? '' : tmp.parameterize 22 | else 23 | self.slug = self.slug.parameterize 24 | end 25 | end 26 | 27 | def update_slug 28 | self.slug = self.slug.parameterize 29 | end 30 | 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /spec/dummy/config/application.rb: -------------------------------------------------------------------------------- 1 | require_relative 'boot' 2 | require 'rails/all' 3 | # Require the gems listed in Gemfile, including any gems 4 | # you've limited to :test, :development, or :production. 5 | Bundler.require(*Rails.groups) 6 | require "mokio" 7 | 8 | module Dummy 9 | class Application < Rails::Application 10 | config.load_defaults 6.0 11 | # Initialize configuration defaults for originally generated Rails version. 12 | # Settings in config/environments/* take precedence over those specified here. 13 | # Application configuration can go into files in config/initializers 14 | # -- all .rb files in that directory are automatically loaded after loading 15 | # the framework and any gems in your application. 16 | config.i18n.default_locale = :pl 17 | end 18 | end 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/views/mokio/menus/new_menu_position.slim: -------------------------------------------------------------------------------- 1 | .span12 2 | = render :partial => "mokio/common/notice" 3 | .box 4 | = box_title do 5 | = bt("new_menu_position_title", @menu.class) 6 | = common_form do 7 | .row-fluid 8 | = simple_form_for @menu, :url => create_menu_position_menus_path, :html => { :class => 'form-horizontal' } do |f| 9 | 10 | .row-fluid 11 | = f.hidden_field :fake, :value => true 12 | = render_backend_input_lang_id(f) 13 | = f.input :name 14 | 15 | 16 | - cache [:form_buttons, obj] do 17 | .form-actions 18 | = btn_submit bt("save") 19 | = btn_submit bt("save_and_create_new"), true 20 | = btn_cancel "#{engine_root}#{obj.class.to_s.tableize.gsub("mokio/", "")}" 21 | 22 | -------------------------------------------------------------------------------- /lib/tasks/mokio_install/create_langs.rake: -------------------------------------------------------------------------------- 1 | namespace :mokio_install do 2 | desc 'Create default Mokio::Langs' 3 | task create_langs: :environment do 4 | unless Mokio::Lang.any? 5 | default_lang_name = Mokio.frontend_default_lang 6 | default_lang = Mokio::Lang.new({ 7 | name: default_lang_name, 8 | shortname: default_lang_name, 9 | active: true, 10 | menu_id: Mokio.frontend_initial_pl, 11 | id: 1 12 | }) 13 | puts "Created default lang '#{default_lang.name}'".green if default_lang.save 14 | else 15 | puts 'Mokio::Langs already exist'.brown 16 | end 17 | end 18 | end -------------------------------------------------------------------------------- /app/views/mokio/data_files/uploader.html.slim: -------------------------------------------------------------------------------- 1 | button.btn.btn-info.uploader data-toggle="modal" data-target="#modalupload" 2 | span.icomoon-icon-plus.white 3 | = bt("add_#{obj.default_data_file.to_s.tableize}") 4 | 5 | = render :template => "mokio/photos/from_external_link", locals: {obj: obj} if (obj.default_data_file == Mokio::Photo) 6 | 7 | #modalupload.modal.fade role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style=("display: none;") 8 | .modal-dialog 9 | .modal-content 10 | .modal-header 11 | h3#myModalLabel.modal-title= bt("file_upload") 12 | .modal-body 13 | = render :partial => "mokio/data_files/file_upload", locals: {file_type: obj.default_data_file } 14 | .modal-footer 15 | button.btn.btn-primary type="button" data-dismiss="modal" = bt("close") 16 | -------------------------------------------------------------------------------- /app/controllers/mokio/common_controller.rb: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Creating simple actions for controllers, use in others with < Backend::CommonController 4 | # 5 | # To override some actions just simply define them in your controller 6 | # 7 | # If you need to add something more but still use CommonController remeber to call 'super' in your controller action 8 | # ex: 9 | # class Backend::SamplesController < Backend::CommonController 10 | # def index 11 | # super 12 | # my_additional_action 13 | # end 14 | # end 15 | # 16 | # Remember that CommonController uses variable named as your controller 17 | # For samples_controller variable is @sample 18 | # => See obj method in Common::Controller::Object lib 19 | # 20 | class Mokio::CommonController < Mokio::BaseController 21 | include Mokio::Concerns::Controllers::Common 22 | end 23 | -------------------------------------------------------------------------------- /app/views/mokio/histories/elements/_histories_list.html.slim: -------------------------------------------------------------------------------- 1 | - @histories.each do |value, history_grouped| 2 | h4.title_date data-history-date="#{value}" 3 | = history_helper_header(value, history_grouped) 4 | table.table 5 | - history_grouped.each do |history| 6 | tr 7 | td.value.value_before 8 | .input_content 9 | = history_helper_input(history.field, history.before_value) 10 | = history_helper_show_more(); 11 | td.value_title_center 12 | .input_title 13 | = history_helper_label(history) 14 | .input_author 15 | = history.user_email 16 | td.value.value_after 17 | .input_content 18 | = history_helper_input(history.field, history.current_value) 19 | = history_helper_show_more(); 20 | --------------------------------------------------------------------------------