├── .docker ├── .dockerignore ├── .gitignore ├── Dockerfile ├── docker.mysql.sh ├── docker.www.sh ├── dump │ ├── .gitignore │ └── .gitkeep └── etc │ ├── hosts │ ├── mysql │ └── my.cnf │ ├── nginx │ ├── .htpasswd │ ├── fastcgi_params │ ├── nginx.conf │ └── sites-enabled │ │ ├── cloneReader.conf │ │ └── cloneReader.mysql.conf │ ├── php │ └── 7.0 │ │ └── fpm │ │ ├── conf.d │ │ └── 20-apcu.ini │ │ ├── php.ini │ │ └── pool.d │ │ └── www.conf │ └── phpmyadmin │ └── config.inc.php ├── .gitignore ├── .htaccess ├── .htaccess.503 ├── LICENSE ├── README.md ├── application ├── .htaccess ├── cache │ ├── .gitignore │ ├── .htaccess │ └── index.html ├── config │ ├── .gitignore │ ├── autoload.php │ ├── config.php │ ├── constants.php │ ├── crSettings.php │ ├── database.php │ ├── doctypes.php │ ├── email.php.rename │ ├── foreign_chars.php │ ├── hooks.php │ ├── index.html │ ├── migration.php │ ├── mimes.php │ ├── oauth2.php.rename │ ├── profiler.php │ ├── routes.php │ ├── smileys.php │ ├── user_agents.php │ └── usertracking_config.php ├── controllers │ ├── about.php │ ├── app.php │ ├── controllers.php │ ├── entries.php │ ├── error.php │ ├── feedbacks.php │ ├── feeds.php │ ├── gallery.php │ ├── groups.php │ ├── help.php │ ├── home.php │ ├── import.php │ ├── index.html │ ├── langs.php │ ├── login.php │ ├── logout.php │ ├── menu.php │ ├── news.php │ ├── process.php │ ├── profile.php │ ├── register.php │ ├── rss.php │ ├── search.php │ ├── tags.php │ ├── tasks.php │ ├── testing.php │ ├── tools.php │ └── users.php ├── core │ ├── MY_Loader.php │ └── index.html ├── errors │ ├── error_404.php │ ├── error_db.php │ ├── error_general.php │ ├── error_php.php │ └── index.html ├── helpers │ ├── MY_array_helper.php │ ├── MY_form_helper.php │ ├── MY_language_helper.php │ ├── MY_string_helper.php │ ├── MY_url_helper.php │ └── index.html ├── hooks │ └── index.html ├── index.html ├── install │ ├── README │ └── index.html ├── language │ ├── english │ │ ├── cloneReader_lang.php │ │ ├── default_lang.php │ │ └── index.html │ ├── portuguese-br │ │ ├── cloneReader_lang.php │ │ ├── default_lang.php │ │ └── index.html │ ├── spanish │ │ ├── cloneReader_lang.php │ │ ├── default_lang.php │ │ └── index.html │ └── zh-CN │ │ ├── cloneReader_lang.php │ │ ├── default_lang.php │ │ └── index.html ├── libraries │ ├── My_js.php │ ├── Safety.php │ ├── SendMails.php │ ├── Usertracking.php │ └── index.html ├── logs │ ├── .gitignore │ └── index.html ├── models │ ├── coins_model.php │ ├── commond_model.php │ ├── controllers_model.php │ ├── countries_model.php │ ├── entries_model.php │ ├── feedbacks_model.php │ ├── feeds_model.php │ ├── files_model.php │ ├── groups_model.php │ ├── index.html │ ├── languages_model.php │ ├── menu_model.php │ ├── news_model.php │ ├── states_model.php │ ├── status_model.php │ ├── tags_model.php │ ├── tasks_model.php │ ├── tasks_status_model.php │ ├── testing_model.php │ └── users_model.php ├── third_party │ └── index.html └── views │ ├── about.php │ ├── email │ ├── changeEmail.php │ ├── changeFeedStatus.php │ ├── feedback.php │ ├── resetPassword.php │ ├── shareEntry.php │ └── welcome.php │ ├── entityLogDetail.php │ ├── error.php │ ├── home.php │ ├── includes │ ├── crFilterList.php │ ├── crForm.php │ ├── crJsonForm.php │ ├── crList.php │ ├── footer.php │ ├── formError.php │ ├── gallery.php │ ├── header.php │ └── uploadfile.php │ ├── index.html │ ├── json.php │ ├── login.php │ ├── message.php │ ├── newView.php │ ├── pageEmail.php │ ├── pageHtml.php │ ├── pageJson.php │ ├── process.php │ ├── profile.php │ └── rss.php ├── assets ├── cache │ ├── .gitignore │ └── .gitkeep ├── favicons │ └── .gitignore ├── files │ └── testing │ │ ├── .gitignore │ │ └── .gitkeep ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ ├── fontawesome-webfont.woff2 │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ └── glyphicons-halflings-regular.woff ├── images │ ├── calendar.gif │ ├── default_feed.png │ ├── error.png │ ├── error.svg │ ├── feed.png │ ├── file-image-o.svg │ ├── glyphicons-halflings-white.png │ ├── glyphicons-halflings.png │ ├── icons │ │ ├── 1024.png │ │ ├── 120.png │ │ ├── 128.png │ │ ├── 16.png │ │ ├── 24.png │ │ ├── 256.png │ │ ├── 32.png │ │ ├── 48.png │ │ ├── 512.png │ │ ├── 60.png │ │ ├── 64.png │ │ ├── 72.png │ │ ├── 90.png │ │ └── 96.png │ ├── iconset.png │ ├── loading.gif │ ├── loading.png │ ├── loadingLarge.gif │ ├── loadingSmall.gif │ ├── logo.png │ ├── play-pause.png │ ├── play-pause.svg │ ├── progressbar.gif │ ├── select2-spinner.gif │ ├── select2.png │ ├── select2x2.png │ ├── star-half.png │ ├── star-off.png │ ├── star-on.png │ ├── testing │ │ ├── .gitkeep │ │ ├── large │ │ │ └── .gitkeep │ │ ├── logos │ │ │ ├── original │ │ │ │ └── .gitkeep │ │ │ └── thumb │ │ │ │ └── .gitkeep │ │ ├── original │ │ │ └── .gitkeep │ │ └── thumb │ │ │ └── .gitkeep │ ├── transparent.gif │ ├── video-play.png │ └── video-play.svg ├── scripts │ ├── autoNumeric.js │ ├── blueimp-gallery.js │ ├── bootstrap-datetimepicker.js │ ├── bootstrap-datetimepicker.min.js │ ├── bootstrap-image-gallery.js │ ├── bootstrap-paginator.js │ ├── bootstrap.js │ ├── cloneReader.js │ ├── crAlert.js │ ├── crForm.js │ ├── crFunctions.js │ ├── crLang.js │ ├── crList.js │ ├── crMain.js │ ├── crMenu.js │ ├── datetimepicker │ │ ├── bootstrap-datetimepicker.ar.js │ │ ├── bootstrap-datetimepicker.bg.js │ │ ├── bootstrap-datetimepicker.ca.js │ │ ├── bootstrap-datetimepicker.cs.js │ │ ├── bootstrap-datetimepicker.da.js │ │ ├── bootstrap-datetimepicker.de.js │ │ ├── bootstrap-datetimepicker.ee.js │ │ ├── bootstrap-datetimepicker.el.js │ │ ├── bootstrap-datetimepicker.es.js │ │ ├── bootstrap-datetimepicker.fi.js │ │ ├── bootstrap-datetimepicker.fr.js │ │ ├── bootstrap-datetimepicker.he.js │ │ ├── bootstrap-datetimepicker.hr.js │ │ ├── bootstrap-datetimepicker.hu.js │ │ ├── bootstrap-datetimepicker.id.js │ │ ├── bootstrap-datetimepicker.is.js │ │ ├── bootstrap-datetimepicker.it.js │ │ ├── bootstrap-datetimepicker.ja.js │ │ ├── bootstrap-datetimepicker.kr.js │ │ ├── bootstrap-datetimepicker.lt.js │ │ ├── bootstrap-datetimepicker.lv.js │ │ ├── bootstrap-datetimepicker.ms.js │ │ ├── bootstrap-datetimepicker.nb.js │ │ ├── bootstrap-datetimepicker.nl.js │ │ ├── bootstrap-datetimepicker.no.js │ │ ├── bootstrap-datetimepicker.pl.js │ │ ├── bootstrap-datetimepicker.pt-BR.js │ │ ├── bootstrap-datetimepicker.pt.js │ │ ├── bootstrap-datetimepicker.ro.js │ │ ├── bootstrap-datetimepicker.rs-latin.js │ │ ├── bootstrap-datetimepicker.rs.js │ │ ├── bootstrap-datetimepicker.ru.js │ │ ├── bootstrap-datetimepicker.sk.js │ │ ├── bootstrap-datetimepicker.sl.js │ │ ├── bootstrap-datetimepicker.sv.js │ │ ├── bootstrap-datetimepicker.sw.js │ │ ├── bootstrap-datetimepicker.th.js │ │ ├── bootstrap-datetimepicker.tr.js │ │ ├── bootstrap-datetimepicker.ua.js │ │ ├── bootstrap-datetimepicker.uk.js │ │ ├── bootstrap-datetimepicker.zh-CN.js │ │ └── bootstrap-datetimepicker.zh-TW.js │ ├── feedback.js │ ├── feeds.js │ ├── jquery-1.11.0.js │ ├── jquery-1.7.2.js │ ├── jquery-2.0.3.min.js │ ├── jquery.actual.js │ ├── jquery.dotdotdot.js │ ├── jquery.fileupload-process.js │ ├── jquery.fileupload-ui.js │ ├── jquery.fileupload.js │ ├── jquery.highlight.js │ ├── jquery.imgCenter.js │ ├── jquery.json-2.3.js │ ├── jquery.nicescroll.min.js │ ├── jquery.printf.js │ ├── jquery.raty.js │ ├── jquery.topzindex.js │ ├── jquery.ui.widget.js │ ├── jquery.url.js │ ├── jquery.visible.min.js │ ├── load-image.js │ ├── locale.js │ ├── moment-with-langs.js │ ├── process.js │ ├── profile.js │ ├── select2.js │ ├── select2 │ │ ├── select2_locale_ar.js │ │ ├── select2_locale_bg.js │ │ ├── select2_locale_ca.js │ │ ├── select2_locale_cs.js │ │ ├── select2_locale_da.js │ │ ├── select2_locale_de.js │ │ ├── select2_locale_el.js │ │ ├── select2_locale_en.js.template │ │ ├── select2_locale_es.js │ │ ├── select2_locale_et.js │ │ ├── select2_locale_eu.js │ │ ├── select2_locale_fa.js │ │ ├── select2_locale_fi.js │ │ ├── select2_locale_fr.js │ │ ├── select2_locale_gl.js │ │ ├── select2_locale_he.js │ │ ├── select2_locale_hr.js │ │ ├── select2_locale_hu.js │ │ ├── select2_locale_id.js │ │ ├── select2_locale_is.js │ │ ├── select2_locale_it.js │ │ ├── select2_locale_ja.js │ │ ├── select2_locale_ka.js │ │ ├── select2_locale_ko.js │ │ ├── select2_locale_lt.js │ │ ├── select2_locale_lv.js │ │ ├── select2_locale_mk.js │ │ ├── select2_locale_ms.js │ │ ├── select2_locale_nl.js │ │ ├── select2_locale_no.js │ │ ├── select2_locale_pl.js │ │ ├── select2_locale_pt-BR.js │ │ ├── select2_locale_pt-PT.js │ │ ├── select2_locale_ro.js │ │ ├── select2_locale_rs.js │ │ ├── select2_locale_ru.js │ │ ├── select2_locale_sk.js │ │ ├── select2_locale_sv.js │ │ ├── select2_locale_th.js │ │ ├── select2_locale_tr.js │ │ ├── select2_locale_uk.js │ │ ├── select2_locale_vi.js │ │ ├── select2_locale_zh-CN.js │ │ └── select2_locale_zh-TW.js │ └── tmpl.min.js └── styles │ ├── blueimp-gallery.css │ ├── bootstrap-datetimepicker.css │ ├── bootstrap-image-gallery.css │ ├── bootstrap-responsive.css │ ├── bootstrap-social.css │ ├── bootstrap-theme.css │ ├── bootstrap.css │ ├── cloneReader.css │ ├── default.css │ ├── font-awesome.css │ ├── jquery.fileupload-ui.css │ ├── select2-bootstrap.css │ └── select2.css ├── db └── cloneReader_empty.sql ├── deploy.sh ├── favicon.ico ├── favicon.png ├── index.php ├── maintenance.php ├── manifest.webapp ├── robots.txt ├── sparks ├── carabiner │ └── 1.5.4 │ │ ├── .gitmodules │ │ ├── README.md │ │ ├── config │ │ ├── autoload.php │ │ └── carabiner.php │ │ ├── libraries │ │ ├── .DS_Store │ │ ├── carabiner.php │ │ ├── cssmin.php │ │ ├── curl.php │ │ ├── jsmin.php │ │ └── less_php │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── docs │ │ │ └── docs.md │ │ │ ├── lessc.inc.php │ │ │ ├── lessify │ │ │ ├── lessify.inc.php │ │ │ ├── package.sh │ │ │ ├── plessc │ │ │ └── tests │ │ │ ├── README.md │ │ │ ├── bootstrap.sh │ │ │ ├── inputs │ │ │ ├── accessors.less.disable │ │ │ ├── arity.less │ │ │ ├── attributes.less │ │ │ ├── builtins.less │ │ │ ├── colors.less │ │ │ ├── compile_on_mixin.less │ │ │ ├── escape.less │ │ │ ├── font_family.less │ │ │ ├── guards.less │ │ │ ├── hacks.less │ │ │ ├── import.less │ │ │ ├── keyframes.less │ │ │ ├── math.less │ │ │ ├── media.less │ │ │ ├── misc.less │ │ │ ├── mixin_functions.less │ │ │ ├── mixin_merging.less.disable │ │ │ ├── mixins.less │ │ │ ├── nested.less │ │ │ ├── pattern_matching.less │ │ │ ├── scopes.less │ │ │ ├── site_demos.less │ │ │ ├── test-imports │ │ │ │ ├── file1.less │ │ │ │ └── file2.less │ │ │ └── variables.less │ │ │ ├── outputs │ │ │ ├── accessors.css │ │ │ ├── arity.css │ │ │ ├── attributes.css │ │ │ ├── builtins.css │ │ │ ├── colors.css │ │ │ ├── compile_on_mixin.css │ │ │ ├── escape.css │ │ │ ├── font_family.css │ │ │ ├── guards.css │ │ │ ├── hacks.css │ │ │ ├── import.css │ │ │ ├── keyframes.css │ │ │ ├── math.css │ │ │ ├── media.css │ │ │ ├── misc.css │ │ │ ├── mixin_functions.css │ │ │ ├── mixin_merging.css │ │ │ ├── mixins.css │ │ │ ├── nested.css │ │ │ ├── nesting.css │ │ │ ├── pattern_matching.css │ │ │ ├── scopes.css │ │ │ ├── site_demos.css │ │ │ └── variables.css │ │ │ ├── sort.php │ │ │ └── test.php │ │ └── spark.info ├── ci-simplepie │ └── 1.0.1 │ │ ├── README.md │ │ ├── config │ │ ├── autoload.php │ │ └── cisimplepie.php │ │ ├── libraries │ │ ├── Cisimplepie.php │ │ └── index.html │ │ ├── spark.info │ │ └── third_party │ │ ├── SimplePie.php │ │ ├── SimplePie │ │ ├── Author.php │ │ ├── Cache.php │ │ ├── Cache │ │ │ ├── Base.php │ │ │ ├── DB.php │ │ │ ├── File.php │ │ │ ├── Memcache.php │ │ │ └── MySQL.php │ │ ├── Caption.php │ │ ├── Category.php │ │ ├── Content │ │ │ └── Type │ │ │ │ └── Sniffer.php │ │ ├── Copyright.php │ │ ├── Core.php │ │ ├── Credit.php │ │ ├── Decode │ │ │ └── HTML │ │ │ │ └── Entities.php │ │ ├── Enclosure.php │ │ ├── Exception.php │ │ ├── File.php │ │ ├── HTTP │ │ │ └── Parser.php │ │ ├── IRI.php │ │ ├── Item.php │ │ ├── Locator.php │ │ ├── Misc.php │ │ ├── Net │ │ │ └── IPv6.php │ │ ├── Parse │ │ │ └── Date.php │ │ ├── Parser.php │ │ ├── Rating.php │ │ ├── Registry.php │ │ ├── Restriction.php │ │ ├── Sanitize.php │ │ ├── SimplePie.php │ │ ├── Source.php │ │ ├── XML │ │ │ └── Declaration │ │ │ │ └── Parser.php │ │ └── gzdecode.php │ │ └── index.html ├── curl │ └── 1.2.1 │ │ ├── README.md │ │ ├── config │ │ └── autoload.php │ │ ├── libraries │ │ └── Curl.php │ │ └── spark.info └── oauth2 │ └── 0.4.0 │ ├── .gitignore │ ├── README.md │ ├── config │ └── autoload.php │ ├── libraries │ ├── Exception.php │ ├── OAuth2.php │ ├── Provider.php │ ├── Provider │ │ ├── Blooie.php │ │ ├── Facebook.php │ │ ├── Foursquare.php │ │ ├── Github.php │ │ ├── Google.php │ │ ├── Instagram.php │ │ ├── Mailchimp.php │ │ ├── Mailru.php │ │ ├── Paypal.php │ │ ├── Soundcloud.php │ │ ├── Vkontakte.php │ │ ├── Windowslive.php │ │ └── Yandex.php │ ├── Token.php │ └── Token │ │ ├── Access.php │ │ └── Authorize.php │ └── spark.info ├── system ├── .htaccess ├── core │ ├── Benchmark.php │ ├── CodeIgniter.php │ ├── Common.php │ ├── Config.php │ ├── Controller.php │ ├── Exceptions.php │ ├── Hooks.php │ ├── Input.php │ ├── Lang.php │ ├── Loader.php │ ├── Model.php │ ├── Output.php │ ├── Router.php │ ├── Security.php │ ├── URI.php │ ├── Utf8.php │ └── index.html ├── database │ ├── DB.php │ ├── DB_active_rec.php │ ├── DB_cache.php │ ├── DB_driver.php │ ├── DB_forge.php │ ├── DB_result.php │ ├── DB_utility.php │ ├── drivers │ │ ├── cubrid │ │ │ ├── cubrid_driver.php │ │ │ ├── cubrid_forge.php │ │ │ ├── cubrid_result.php │ │ │ ├── cubrid_utility.php │ │ │ └── index.html │ │ ├── index.html │ │ ├── mssql │ │ │ ├── index.html │ │ │ ├── mssql_driver.php │ │ │ ├── mssql_forge.php │ │ │ ├── mssql_result.php │ │ │ └── mssql_utility.php │ │ ├── mysql │ │ │ ├── index.html │ │ │ ├── mysql_driver.php │ │ │ ├── mysql_forge.php │ │ │ ├── mysql_result.php │ │ │ └── mysql_utility.php │ │ ├── mysqli │ │ │ ├── index.html │ │ │ ├── mysqli_driver.php │ │ │ ├── mysqli_forge.php │ │ │ ├── mysqli_result.php │ │ │ └── mysqli_utility.php │ │ ├── oci8 │ │ │ ├── index.html │ │ │ ├── oci8_driver.php │ │ │ ├── oci8_forge.php │ │ │ ├── oci8_result.php │ │ │ └── oci8_utility.php │ │ ├── odbc │ │ │ ├── index.html │ │ │ ├── odbc_driver.php │ │ │ ├── odbc_forge.php │ │ │ ├── odbc_result.php │ │ │ └── odbc_utility.php │ │ ├── pdo │ │ │ ├── index.html │ │ │ ├── pdo_driver.php │ │ │ ├── pdo_forge.php │ │ │ ├── pdo_result.php │ │ │ └── pdo_utility.php │ │ ├── postgre │ │ │ ├── index.html │ │ │ ├── postgre_driver.php │ │ │ ├── postgre_forge.php │ │ │ ├── postgre_result.php │ │ │ └── postgre_utility.php │ │ ├── sqlite │ │ │ ├── index.html │ │ │ ├── sqlite_driver.php │ │ │ ├── sqlite_forge.php │ │ │ ├── sqlite_result.php │ │ │ └── sqlite_utility.php │ │ └── sqlsrv │ │ │ ├── index.html │ │ │ ├── sqlsrv_driver.php │ │ │ ├── sqlsrv_forge.php │ │ │ ├── sqlsrv_result.php │ │ │ └── sqlsrv_utility.php │ └── index.html ├── fonts │ ├── index.html │ └── texb.ttf ├── helpers │ ├── array_helper.php │ ├── captcha_helper.php │ ├── cookie_helper.php │ ├── date_helper.php │ ├── directory_helper.php │ ├── download_helper.php │ ├── email_helper.php │ ├── file_helper.php │ ├── form_helper.php │ ├── html_helper.php │ ├── index.html │ ├── inflector_helper.php │ ├── language_helper.php │ ├── number_helper.php │ ├── path_helper.php │ ├── security_helper.php │ ├── smiley_helper.php │ ├── string_helper.php │ ├── text_helper.php │ ├── typography_helper.php │ ├── url_helper.php │ └── xml_helper.php ├── index.html ├── language │ ├── english │ │ ├── calendar_lang.php │ │ ├── date_lang.php │ │ ├── db_lang.php │ │ ├── email_lang.php │ │ ├── form_validation_lang.php │ │ ├── ftp_lang.php │ │ ├── imglib_lang.php │ │ ├── index.html │ │ ├── migration_lang.php │ │ ├── number_lang.php │ │ ├── profiler_lang.php │ │ ├── unit_test_lang.php │ │ └── upload_lang.php │ ├── index.html │ ├── portuguese-br │ │ ├── calendar_lang.php │ │ ├── date_lang.php │ │ ├── db_lang.php │ │ ├── email_lang.php │ │ ├── form_validation_lang.php │ │ ├── ftp_lang.php │ │ ├── imglib_lang.php │ │ ├── index.html │ │ ├── migration_lang.php │ │ ├── number_lang.php │ │ ├── profiler_lang.php │ │ ├── unit_test_lang.php │ │ └── upload_lang.php │ ├── spanish │ │ ├── calendar_lang.php │ │ ├── date_lang.php │ │ ├── db_lang.php │ │ ├── email_lang.php │ │ ├── form_validation_lang.php │ │ ├── ftp_lang.php │ │ ├── imglib_lang.php │ │ ├── index.html │ │ ├── number_lang.php │ │ ├── profiler_lang.php │ │ ├── scaffolding_lang.php │ │ ├── unit_test_lang.php │ │ └── upload_lang.php │ ├── zh-CN │ │ ├── .gitignore │ │ ├── README.md │ │ ├── calendar_lang.php │ │ ├── date_lang.php │ │ ├── db_lang.php │ │ ├── email_lang.php │ │ ├── form_validation_lang.php │ │ ├── ftp_lang.php │ │ ├── imglib_lang.php │ │ ├── index.html │ │ ├── migration_lang.php │ │ ├── number_lang.php │ │ ├── profiler_lang.php │ │ ├── unit_test_lang.php │ │ └── upload_lang.php │ └── zh-TW │ │ ├── calendar_lang.php │ │ ├── date_lang.php │ │ ├── db_lang.php │ │ ├── email_lang.php │ │ ├── form_validation_lang.php │ │ ├── ftp_lang.php │ │ ├── imglib_lang.php │ │ ├── index.html │ │ ├── migration_lang.php │ │ ├── number_lang.php │ │ ├── profiler_lang.php │ │ ├── unit_test_lang.php │ │ └── upload_lang.php └── libraries │ ├── Cache │ ├── Cache.php │ └── drivers │ │ ├── Cache_apc.php │ │ ├── Cache_dummy.php │ │ ├── Cache_file.php │ │ └── Cache_memcached.php │ ├── Calendar.php │ ├── Cart.php │ ├── Driver.php │ ├── Email.php │ ├── Encrypt.php │ ├── Form_validation.php │ ├── Ftp.php │ ├── Image_lib.php │ ├── Javascript.php │ ├── Log.php │ ├── Migration.php │ ├── Pagination.php │ ├── Parser.php │ ├── Profiler.php │ ├── Session.php │ ├── Sha1.php │ ├── Table.php │ ├── Trackback.php │ ├── Typography.php │ ├── Unit_test.php │ ├── Upload.php │ ├── User_agent.php │ ├── Xmlrpc.php │ ├── Xmlrpcs.php │ ├── Zip.php │ ├── index.html │ └── javascript │ └── Jquery.php └── tools ├── README.md ├── lib └── spark │ ├── sources │ ├── spark_cli.php │ ├── spark_exception.php │ ├── spark_source.php │ ├── spark_type.php │ ├── spark_types │ ├── git_spark.php │ ├── hg_spark.php │ └── zip_spark.php │ └── spark_utils.php ├── spark └── test ├── install_test.php ├── lib ├── bootstrap.php └── test-sparks │ └── .gitkeep ├── phpunit.xml ├── remove_test.php ├── search_test.php └── version_test.php /.docker/.dockerignore: -------------------------------------------------------------------------------- 1 | var 2 | dump 3 | -------------------------------------------------------------------------------- /.docker/.gitignore: -------------------------------------------------------------------------------- 1 | var 2 | -------------------------------------------------------------------------------- /.docker/docker.mysql.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | DIR=$(dirname "$(readlink -f "$0")") 4 | 5 | 6 | docker stop clonereader-mysql; 7 | docker rm clonereader-mysql; 8 | 9 | docker run --name clonereader-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root \ 10 | -e TZ=America/Buenos_Aires \ 11 | -v "$DIR/../.docker/dump:/tmp/backup" \ 12 | -v "$DIR/../.docker/var/lib/mysql:/var/lib/mysql" \ 13 | -v "$DIR/../.docker/etc/mysql/my.cnf:/etc/mysql/my.cnf" \ 14 | -d mysql:5.7.21 --sql-mode="NO_ENGINE_SUBSTITUTION"; 15 | 16 | 17 | # to dump database: 18 | # docker exec -u 0 -i -t clonereader-mysql bash 19 | # mysql -p 20 | # CREATE DATABASE clonereader CHARACTER SET utf8 COLLATE utf8_general_ci; 21 | # CTR+C 22 | # mysql -p clonereader < /tmp/backup/clonereader.20190519.sql 23 | -------------------------------------------------------------------------------- /.docker/docker.www.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | DIR=$(dirname "$(readlink -f "$0")") 4 | 5 | docker stop clonereader-www 6 | docker rm clonereader-www 7 | 8 | docker run -d -ti \ 9 | --name clonereader-www \ 10 | -p 8080:80 \ 11 | -e TZ=America/Buenos_Aires \ 12 | -v "$DIR/..:/var/www/cloneReader" \ 13 | -v "$DIR/apc/:/var/www/apc.cloneReader" \ 14 | -v "$DIR/etc/hosts:/etc/hosts" \ 15 | -v "$DIR/etc/nginx/nginx.conf:/etc/nginx/nginx.conf" \ 16 | -v "$DIR/etc/nginx/.htpasswd:/etc/nginx/.htpasswd" \ 17 | -v "$DIR/etc/nginx/fastcgi_params:/etc/nginx/fastcgi_params" \ 18 | -v "$DIR/etc/nginx/sites-enabled:/etc/nginx/sites-enabled/" \ 19 | -v "$DIR/etc/php/7.0/fpm/php.ini:/etc/php/7.0/fpm/php.ini" \ 20 | -v "$DIR/etc/php/7.0/fpm/conf.d/20-apcu.ini:/etc/php/7.0/fpm/conf.d/20-apcu.ini" \ 21 | -v "$DIR/etc/php/7.0/fpm/pool.d/www.conf:/etc/php/7.0/fpm/pool.d/www.conf" \ 22 | -v "$DIR/etc/phpmyadmin/config.inc.php:/var/www/phpmyadmin/config.inc.php" \ 23 | clonereader-www 24 | 25 | 26 | docker exec -u 0 -i -t clonereader-www /etc/init.d/nginx restart; 27 | docker exec -u 0 -i -t clonereader-www /etc/init.d/php7.0-fpm restart; 28 | -------------------------------------------------------------------------------- /.docker/dump/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /.docker/dump/.gitkeep: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /.docker/etc/hosts: -------------------------------------------------------------------------------- 1 | 127.0.0.1 localhost 2 | ::1 localhost ip6-localhost ip6-loopback 3 | fe00::0 ip6-localnet 4 | ff00::0 ip6-mcastprefix 5 | ff02::1 ip6-allnodes 6 | ff02::2 ip6-allrouters 7 | 172.17.0.2 ad4ae315d77a 8 | 9 | 127.0.0.1 dev.clonereader.com.ar 10 | 127.0.0.1 dev.apc.clonereader.com.ar 11 | -------------------------------------------------------------------------------- /.docker/etc/nginx/.htpasswd: -------------------------------------------------------------------------------- 1 | cloneReader:$apr1$ifuofaLS$eP4tbXQI2E9FQ9tTJuQ.Y/ 2 | -------------------------------------------------------------------------------- /.docker/etc/nginx/sites-enabled/cloneReader.mysql.conf: -------------------------------------------------------------------------------- 1 | server { 2 | server_name dev.mysql.clonereader.com.ar; 3 | root /var/www/phpmyadmin; 4 | 5 | index index.html index.php index.htm; 6 | 7 | 8 | proxy_set_header X-Real-IP $remote_addr; 9 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 10 | proxy_set_header Host $http_host; 11 | 12 | 13 | proxy_redirect off; 14 | proxy_next_upstream error; 15 | 16 | 17 | auth_basic "mysql cloneReader"; 18 | auth_basic_user_file /etc/nginx/.htpasswd; 19 | 20 | # set expiration of assets to MAX for caching 21 | location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ { 22 | expires max; 23 | log_not_found off; 24 | } 25 | 26 | location ~ /\. { 27 | deny all; 28 | } 29 | 30 | location / { 31 | try_files $uri $uri/ /index.php; 32 | } 33 | 34 | location ~* \.php$ { 35 | try_files $uri =404; 36 | fastcgi_split_path_info ^(.+\.php)(/.+)$; 37 | fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; 38 | fastcgi_index index.php; 39 | # fastcgi_param HTTP_X_FORWARDED_PROTO "https"; TODO: descomentar en PROD 40 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 41 | 42 | include fastcgi_params; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /.docker/etc/php/7.0/fpm/conf.d/20-apcu.ini: -------------------------------------------------------------------------------- 1 | extension=apcu.so 2 | apc.enabled=1 3 | apc.enable_cli=1 4 | -------------------------------------------------------------------------------- /.docker/etc/phpmyadmin/config.inc.php: -------------------------------------------------------------------------------- 1 | 32 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .settings 2 | .project 3 | 4 | -------------------------------------------------------------------------------- /.htaccess.503: -------------------------------------------------------------------------------- 1 | 2 | RewriteEngine On 3 | 4 | RewriteCond %{REQUEST_URI} !\.(jpe?g|png|css|js)$ 5 | RewriteCond %{ENV:REDIRECT_STATUS} !=503 6 | RewriteRule .* maintenance.php [L] 7 | 8 | -------------------------------------------------------------------------------- /application/.htaccess: -------------------------------------------------------------------------------- 1 | Deny from all 2 | -------------------------------------------------------------------------------- /application/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /application/cache/.htaccess: -------------------------------------------------------------------------------- 1 | deny from all -------------------------------------------------------------------------------- /application/cache/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/config/.gitignore: -------------------------------------------------------------------------------- 1 | email.php 2 | oauth2.php 3 | -------------------------------------------------------------------------------- /application/config/doctypes.php: -------------------------------------------------------------------------------- 1 | '', 5 | 'xhtml1-strict' => '', 6 | 'xhtml1-trans' => '', 7 | 'xhtml1-frame' => '', 8 | 'html5' => '', 9 | 'html4-strict' => '', 10 | 'html4-trans' => '', 11 | 'html4-frame' => '' 12 | ); 13 | 14 | /* End of file doctypes.php */ 15 | /* Location: ./application/config/doctypes.php */ -------------------------------------------------------------------------------- /application/config/email.php.rename: -------------------------------------------------------------------------------- 1 | 'smtp', 7 | 'charset' => 'iso-8859-1', 8 | 'smtp_host' => 'ssl://smtp.gmail.com', 9 | 'smtp_port' => '465', 10 | 'smtp_timeout' => '7', 11 | 'smtp_user' => '', 12 | 'smtp_pass' => '', 13 | 'charset' => 'utf-8', 14 | 'newline' => "\r\n", 15 | 'mailtype' => 'html', 16 | 'validation' => TRUE, 17 | 'wordwrap' => TRUE, 18 | ); 19 | -------------------------------------------------------------------------------- /application/config/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/config/oauth2.php.rename: -------------------------------------------------------------------------------- 1 | safety->allowByControllerName('about') ) { return errorForbidden(); } 9 | 10 | $this->load->view('pageHtml', array( 11 | 'view' => 'about', 12 | 'meta' => array( 'title' => lang('About of cloneReader') ), 13 | 'code' => true 14 | )); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /application/controllers/home.php: -------------------------------------------------------------------------------- 1 | load->view('pageHtml', 9 | array( 10 | 'view' => 'home', 11 | 'showTitle' => false, 12 | 'notRefresh' => true, 13 | 'skipBreadcrumb' => true, 14 | ) 15 | ); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /application/controllers/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/controllers/langs.php: -------------------------------------------------------------------------------- 1 | load->model('Users_Model'); 11 | 12 | $this->session->set_userdata('langId', $langId); 13 | 14 | // Si estoy ejecutando el controller desde la consola llamo a cualquier vista para que genere los js y css 15 | if ($this->input->is_cli_request()) { 16 | initLang(); 17 | $this->load->view('pageHtml', array( 'view' => 'home', )); 18 | return; 19 | } 20 | 21 | // No guardo el idioma del usuario anonimo 22 | if ($this->session->userdata('userId') !== config_item('userAnonymous')) { 23 | $this->Users_Model->updateLangIdByUserId($langId, $this->session->userdata('userId')); 24 | } 25 | 26 | $this->load->library('user_agent'); 27 | // TODO: mejorar esto, para que redirija a un controler, no a una url completa; ej: http://localhost/%s/login 28 | if ($this->agent->is_referral()) { 29 | redirect($this->agent->referrer()); 30 | } 31 | else { 32 | redirect(''); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /application/controllers/logout.php: -------------------------------------------------------------------------------- 1 | session->sess_destroy(); 10 | 11 | redirect('login'); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /application/controllers/rss.php: -------------------------------------------------------------------------------- 1 | load->model('News_Model'); 8 | } 9 | 10 | function index() { 11 | // Es publico, evito la peticion a la db 12 | // if (! $this->safety->allowByControllerName(__METHOD__) ) { return errorForbidden(); } 13 | 14 | $page = (int)$this->input->get('page'); 15 | if ($page == 0) { $page = 1; } 16 | 17 | $news = $this->News_Model->selectToRss(); 18 | 19 | $this->load->view('rss', array( 20 | 'feedTitle' => 'cloneReader', 21 | 'feedDesc' => 'news of cloneReader', 22 | 'title' => 'Edit Feeds', 23 | 'news' => $news['data'], 24 | )); 25 | } 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /application/core/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/errors/error_php.php: -------------------------------------------------------------------------------- 1 |
2 | 3 |

A PHP Error was encountered

4 | 5 |

Severity:

6 |

Message:

7 |

Filename:

8 |

Line Number:

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

Directory access is forbidden.

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

Directory access is forbidden.

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

Directory access is forbidden.

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

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/install/README: -------------------------------------------------------------------------------- 1 | Agregar al crontab: 2 | 3 | 0 */2 * * * php [PATH_TO_CLONEREADER]/index.php process/scanAllFeeds 4 | 0 */6 * * * php [PATH_TO_CLONEREADER]/index.php process saveEntitiesSearch/null/true 5 | 0 1 * * 1 php [PATH_TO_CLONEREADER]/index.php process/rescanAll404Feeds 6 | 0 3 * * 4 php [PATH_TO_CLONEREADER]/index.php process/deleteOldEntries 7 | */10 * * * * php [PATH_TO_CLONEREADER]/index.php tasks/sendEmails 8 | 9 | -------------------------------------------------------------------------------- /application/install/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

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

Directory access is forbidden.

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

Directory access is forbidden.

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

Directory access is forbidden.

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

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/libraries/My_js.php: -------------------------------------------------------------------------------- 1 | aJs[] = $script; 15 | } 16 | 17 | public function getHtml() { 18 | return ' 19 | '; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /application/libraries/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

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

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/models/coins_model.php: -------------------------------------------------------------------------------- 1 | db->order_by('currencyName')->get('coins')->result_array(); 5 | } 6 | 7 | function selectToDropdown(){ 8 | return $this->db 9 | ->select('currencyId AS id, currencyName AS text', true) 10 | ->order_by('currencyName') 11 | ->get('coins')->result_array(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /application/models/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/models/languages_model.php: -------------------------------------------------------------------------------- 1 | db->order_by('langName')->get('languages')->result_array(); 5 | } 6 | 7 | function selectToDropdown(){ 8 | return $this->db 9 | ->select('langId AS id, langName AS text', true) 10 | ->order_by('langName') 11 | ->get('languages')->result_array(); 12 | } 13 | 14 | function getRelatedLangs($langId) { 15 | $result = array(); 16 | $query = $this->db 17 | ->where('langId LIKE \''.substr($langId, 0, 2).'%\'') 18 | ->get('languages')->result_array(); 19 | //pr($this->db->last_query()); die; 20 | foreach ($query as $data) { 21 | $result[] = $data['langId']; 22 | } 23 | 24 | return $result; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /application/models/states_model.php: -------------------------------------------------------------------------------- 1 | db 5 | ->select('stateId AS id, stateName AS value') 6 | ->from('states') 7 | ->where('countryId', $countryId) 8 | ->order_by('stateName') 9 | ->get()->result_array(); 10 | 11 | //pr($this->db->last_query()); 12 | return $query; 13 | } 14 | 15 | function getStateById($id){ 16 | return $this->db 17 | ->select('stateId as id, stateName as text') 18 | ->where('stateId', $id) 19 | ->get('states')->row_array(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /application/models/status_model.php: -------------------------------------------------------------------------------- 1 | db->order_by('statusName')->get('status')->result_array(); 5 | } 6 | 7 | function selectToDropdown() { 8 | $result = array(); 9 | $query = $this->db->get('status')->result_array(); 10 | foreach ($query as $data) { 11 | $result[] = array( 12 | 'id' => $data['statusId'], 13 | 'text' => lang(ucfirst($data['statusName'])), 14 | ); 15 | } 16 | 17 | usort($result, function($a, $b) { 18 | return $a['text'] < $b['text'] ? -1 : 1; 19 | }); 20 | 21 | return $result; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /application/models/tasks_status_model.php: -------------------------------------------------------------------------------- 1 | db->order_by('statusTaskId')->get('tasks_status')->result_array(); 5 | } 6 | 7 | function selectToDropdown() { 8 | return $this->db 9 | ->select('statusTaskId AS id, statusTaskName AS text', true) 10 | ->order_by('statusTaskId') 11 | ->get('tasks_status')->result_array(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /application/third_party/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

Directory access is forbidden.

8 | 9 | 10 | -------------------------------------------------------------------------------- /application/views/about.php: -------------------------------------------------------------------------------- 1 |
2 |

3 | cloneReader is a clon of the old Google Reader. 4 |
5 | Its open source and it is developed with 6 | codeigniter, 7 | simplepie, 8 | jquery, 9 | bootstrap, 10 | font-awesome. 11 |

12 | 13 |

Features

14 |
    15 |
  • Export/Import OPML
  • 16 |
  • Remote login
  • 17 |
  • Responsive
  • 18 |
  • Remote Storage
  • 19 |
  • Multi language. ['en', 'es', 'pt', 'zh']
  • 20 |
  • Keyboard shortcut
  • 21 |
22 | 23 | 24 | 25 | Download on GitHub 26 | 27 |
28 | -------------------------------------------------------------------------------- /application/views/email/changeEmail.php: -------------------------------------------------------------------------------- 1 | '.sprintf(lang('To change your email in %s, click here'), config_item('siteName'), $url).'

'; 4 | -------------------------------------------------------------------------------- /application/views/email/changeFeedStatus.php: -------------------------------------------------------------------------------- 1 | 4 | El feed '.$feed['feedName'].' cambió de estado automáticamente

5 | feedId: '.$feed['feedId'].'
6 | status: '.$newStatus.'
7 | feedUrl: '.$feed['feedUrl'].'
8 | feedLink: '.$feed['feedLink'].'
9 | Abm: '.base_url('feeds/edit/'.$feed['feedId']).'
10 |

'; 11 | -------------------------------------------------------------------------------- /application/views/email/feedback.php: -------------------------------------------------------------------------------- 1 |
Fecha:
2 |
Nombre:
3 |
Email:
4 |
Comentario:

5 | -------------------------------------------------------------------------------- /application/views/email/resetPassword.php: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 |

5 | here'), $url); ?> 6 |

7 |

8 | 9 |

10 | -------------------------------------------------------------------------------- /application/views/email/shareEntry.php: -------------------------------------------------------------------------------- 1 | '.nl2br(htmlspecialchars($shareByEmailComment)).'

'; 4 | } 5 | ?> 6 |
7 | 8 |
9 |
10 |

11 | 12 | 13 |

14 |
15 | 16 |
17 |
18 |

19 | 20 |

21 | -------------------------------------------------------------------------------- /application/views/email/welcome.php: -------------------------------------------------------------------------------- 1 | '.sprintf(lang('Welcome to %s'), config_item('siteName')).''; 4 | 5 | if ($url != null) { 6 | echo '

'.sprintf(lang('To confirm your email in %s, click here'), config_item('siteName'), $url).'

'; 7 | } 8 | -------------------------------------------------------------------------------- /application/views/error.php: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |
5 | 6 | output->set_status_header($status_code); 9 | } -------------------------------------------------------------------------------- /application/views/home.php: -------------------------------------------------------------------------------- 1 | my_js->add( ' cloneReader.init(); '); 3 | -------------------------------------------------------------------------------- /application/views/includes/crFilterList.php: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 | 20 |
21 | -------------------------------------------------------------------------------- /application/views/includes/crJsonForm.php: -------------------------------------------------------------------------------- 1 | uri->uri_string(); 5 | } 6 | 7 | $form = appendMessagesToCrForm($form); 8 | 9 | return loadViewAjax(true, array('form' => $form)); -------------------------------------------------------------------------------- /application/views/includes/formError.php: -------------------------------------------------------------------------------- 1 | form_validation->set_error_delimiters('
  • ', '
  • '); 4 | 5 | if(strlen(validation_errors())) { 6 | echo ' 7 |
    8 |
      9 | '.validation_errors().' 10 |
    11 |
    '; 12 | } 13 | -------------------------------------------------------------------------------- /application/views/includes/gallery.php: -------------------------------------------------------------------------------- 1 | 5 | 14 | -------------------------------------------------------------------------------- /application/views/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

    Directory access is forbidden.

    8 | 9 | 10 | -------------------------------------------------------------------------------- /application/views/json.php: -------------------------------------------------------------------------------- 1 | load->view($view, '', true); 4 | } 5 | 6 | $output = $result; 7 | 8 | if (isset($code)) { 9 | $output = array( 10 | 'code' => $code, 11 | 'result' => $result 12 | ); 13 | } 14 | 15 | $this->output 16 | ->set_content_type('application/json; charset=utf-8') 17 | ->set_output(json_encode($output)); 18 | 19 | if (isset($status_code)) { 20 | $this->output->set_status_header($status_code); 21 | } 22 | -------------------------------------------------------------------------------- /application/views/message.php: -------------------------------------------------------------------------------- 1 |
    2 | 3 | 4 |
    -------------------------------------------------------------------------------- /application/views/newView.php: -------------------------------------------------------------------------------- 1 |
    2 | 3 |

    4 |
    5 | -------------------------------------------------------------------------------- /application/views/pageEmail.php: -------------------------------------------------------------------------------- 1 | 4 |
    5 |
    6 |
    7 | 8 | <?php echo config_item('siteName'); ?> 9 | 10 |
    11 |
    12 | load->view($view); 14 | if (isset($url)) { 15 | ?> 16 |
    17 | %s'), $url); ?> 18 |
    19 | 22 |
    23 |
    24 | 25 |
    26 |
    27 |
    28 | -------------------------------------------------------------------------------- /application/views/pageHtml.php: -------------------------------------------------------------------------------- 1 | input->get('pageJson') == true) { 7 | return $this->load->view('pageJson'); 8 | } 9 | 10 | $this->load->view('includes/header'); 11 | $this->load->view($view); 12 | $this->load->view('includes/footer'); 13 | -------------------------------------------------------------------------------- /application/views/pageJson.php: -------------------------------------------------------------------------------- 1 | getPageName()); 3 | 4 | if (isset($notRefresh)) { 5 | $result['notRefresh'] = $notRefresh; 6 | } 7 | if (isset($showTitle)) { 8 | $result['showTitle'] = $showTitle; 9 | } 10 | if (!isset($meta)) { 11 | $meta = array(); 12 | } 13 | $result['meta'] = getMetaByController($meta); 14 | 15 | if (!isset($breadcrumb)) { 16 | $breadcrumb = array(); 17 | } 18 | $result['breadcrumb'] = getBreadcrumb($breadcrumb, $result['meta'], isset($skipBreadcrumb) ? $skipBreadcrumb : false); 19 | 20 | switch ($view) { 21 | case 'includes/crList': 22 | $result['js'] = 'crList'; 23 | $result['list'] = $list; 24 | break; 25 | case 'includes/crForm': 26 | $form = appendMessagesToCrForm($form); 27 | $result['js'] = 'crForm'; 28 | $result['form'] = $form; 29 | break; 30 | default: 31 | $result['html'] = $this->load->view($view, '', true); 32 | $result['html'].= $this->my_js->getHtml(); 33 | } 34 | 35 | return $this->load->view('json', array( 36 | 'view' => null, 37 | 'code' => isset($code) ? $code : true, 38 | 'result' => $result 39 | )); 40 | -------------------------------------------------------------------------------- /assets/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /assets/cache/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/cache/.gitkeep -------------------------------------------------------------------------------- /assets/favicons/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /assets/files/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | -------------------------------------------------------------------------------- /assets/files/testing/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/files/testing/.gitkeep -------------------------------------------------------------------------------- /assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /assets/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /assets/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /assets/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /assets/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /assets/images/calendar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/calendar.gif -------------------------------------------------------------------------------- /assets/images/default_feed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/default_feed.png -------------------------------------------------------------------------------- /assets/images/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/error.png -------------------------------------------------------------------------------- /assets/images/error.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/images/feed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/feed.png -------------------------------------------------------------------------------- /assets/images/file-image-o.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /assets/images/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/glyphicons-halflings.png -------------------------------------------------------------------------------- /assets/images/icons/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/1024.png -------------------------------------------------------------------------------- /assets/images/icons/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/120.png -------------------------------------------------------------------------------- /assets/images/icons/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/128.png -------------------------------------------------------------------------------- /assets/images/icons/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/16.png -------------------------------------------------------------------------------- /assets/images/icons/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/24.png -------------------------------------------------------------------------------- /assets/images/icons/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/256.png -------------------------------------------------------------------------------- /assets/images/icons/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/32.png -------------------------------------------------------------------------------- /assets/images/icons/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/48.png -------------------------------------------------------------------------------- /assets/images/icons/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/512.png -------------------------------------------------------------------------------- /assets/images/icons/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/60.png -------------------------------------------------------------------------------- /assets/images/icons/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/64.png -------------------------------------------------------------------------------- /assets/images/icons/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/72.png -------------------------------------------------------------------------------- /assets/images/icons/90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/90.png -------------------------------------------------------------------------------- /assets/images/icons/96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/icons/96.png -------------------------------------------------------------------------------- /assets/images/iconset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/iconset.png -------------------------------------------------------------------------------- /assets/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/loading.gif -------------------------------------------------------------------------------- /assets/images/loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/loading.png -------------------------------------------------------------------------------- /assets/images/loadingLarge.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/loadingLarge.gif -------------------------------------------------------------------------------- /assets/images/loadingSmall.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/loadingSmall.gif -------------------------------------------------------------------------------- /assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/logo.png -------------------------------------------------------------------------------- /assets/images/play-pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/play-pause.png -------------------------------------------------------------------------------- /assets/images/play-pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /assets/images/progressbar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/progressbar.gif -------------------------------------------------------------------------------- /assets/images/select2-spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/select2-spinner.gif -------------------------------------------------------------------------------- /assets/images/select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/select2.png -------------------------------------------------------------------------------- /assets/images/select2x2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/select2x2.png -------------------------------------------------------------------------------- /assets/images/star-half.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/star-half.png -------------------------------------------------------------------------------- /assets/images/star-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/star-off.png -------------------------------------------------------------------------------- /assets/images/star-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/star-on.png -------------------------------------------------------------------------------- /assets/images/testing/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/testing/.gitkeep -------------------------------------------------------------------------------- /assets/images/testing/large/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/testing/large/.gitkeep -------------------------------------------------------------------------------- /assets/images/testing/logos/original/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/testing/logos/original/.gitkeep -------------------------------------------------------------------------------- /assets/images/testing/logos/thumb/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/testing/logos/thumb/.gitkeep -------------------------------------------------------------------------------- /assets/images/testing/original/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/testing/original/.gitkeep -------------------------------------------------------------------------------- /assets/images/testing/thumb/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/testing/thumb/.gitkeep -------------------------------------------------------------------------------- /assets/images/transparent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/transparent.gif -------------------------------------------------------------------------------- /assets/images/video-play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/assets/images/video-play.png -------------------------------------------------------------------------------- /assets/images/video-play.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/scripts/crLang.js: -------------------------------------------------------------------------------- 1 | crLang = { 2 | aLangs: [], 3 | 4 | line: function(string) { 5 | if (this.aLangs[string] != null) { 6 | return this.aLangs[string]; 7 | } 8 | return string; 9 | } 10 | }; 11 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.ar.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Arabic translation for bootstrap-datetimepicker 3 | * Ala' Mohammad 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ar'] = { 7 | days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"], 8 | daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"], 9 | daysMin: ["أح", "إث", "ث", "أر", "خ", "ج", "س", "أح"], 10 | months: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], 11 | monthsShort: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], 12 | today: "هذا اليوم", 13 | suffix: [], 14 | meridiem: [], 15 | rtl: true 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.bg.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bulgarian translation for bootstrap-datetimepicker 3 | * Apostol Apostolov 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['bg'] = { 7 | days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"], 8 | daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"], 9 | daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"], 10 | months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"], 11 | monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"], 12 | today: "днес", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.ca.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Catalan translation for bootstrap-datetimepicker 3 | * J. Garcia 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ca'] = { 7 | days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"], 8 | daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"], 9 | daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"], 10 | months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], 11 | monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], 12 | today: "Avui", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.cs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Czech translation for bootstrap-datetimepicker 3 | * Matěj Koubík 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['cs'] = { 8 | days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"], 9 | daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"], 10 | daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"], 11 | months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], 12 | monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"], 13 | today: "Dnes", 14 | suffix: [], 15 | meridiem: [], 16 | weekStart: 1, 17 | format: "dd.mm.yyyy" 18 | }; 19 | }(jQuery)); 20 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.da.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Danish translation for bootstrap-datetimepicker 3 | * Christian Pedersen 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['da'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "I Dag", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.de.js: -------------------------------------------------------------------------------- 1 | /** 2 | * German translation for bootstrap-datetimepicker 3 | * Sam Zurcher 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['de'] = { 7 | days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"], 8 | daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"], 9 | daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"], 10 | months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], 11 | monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], 12 | today: "Heute", 13 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1, 16 | format: "dd.mm.yyyy" 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.ee.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Estonian translation for bootstrap-datetimepicker 3 | * Rene Korss 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ee'] = { 7 | days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev", "Pühapäev"], 8 | daysShort: ["P", "E", "T", "K", "N", "R", "L", "P"], 9 | daysMin: ["P", "E", "T", "K", "N", "R", "L", "P"], 10 | months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"], 11 | monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"], 12 | today: "Täna", 13 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1, 16 | format: "dd.mm.yyyy hh:ii" 17 | }; 18 | }(jQuery)); -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.el.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Greek translation for bootstrap-datetimepicker 3 | */ 4 | ;(function($){ 5 | $.fn.datetimepicker.dates['el'] = { 6 | days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"], 7 | daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"], 8 | daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"], 9 | months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], 10 | monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"], 11 | today: "Σήμερα", 12 | suffix: [], 13 | meridiem: [] 14 | }; 15 | }(jQuery)); -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.es.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Spanish translation for bootstrap-datetimepicker 3 | * Bruno Bonamin 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['es'] = { 7 | days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"], 8 | daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"], 9 | daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"], 10 | months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], 11 | monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], 12 | today: "Hoy", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.fi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Finnish translation for bootstrap-datetimepicker 3 | * Jaakko Salonen 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['fi'] = { 7 | days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"], 8 | daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"], 9 | daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"], 10 | months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], 11 | monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"], 12 | today: "tänään", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.fr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * French translation for bootstrap-datetimepicker 3 | * Nico Mollet 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['fr'] = { 7 | days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"], 8 | daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], 9 | daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], 10 | months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], 11 | monthsShort: ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"], 12 | today: "Aujourd'hui", 13 | suffix: [], 14 | meridiem: ["am", "pm"], 15 | weekStart: 1, 16 | format: "dd/mm/yyyy" 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.he.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hebrew translation for bootstrap-datetimepicker 3 | * Sagie Maoz 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['he'] = { 7 | days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"], 8 | daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 9 | daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 10 | months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], 11 | monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], 12 | today: "היום", 13 | suffix: [], 14 | meridiem: [], 15 | rtl: true 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.hr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Croatian localisation 3 | */ 4 | ;(function($){ 5 | $.fn.datetimepicker.dates['hr'] = { 6 | days: ["Nedjelja", "Ponedjelja", "Utorak", "Srijeda", "Četrtak", "Petak", "Subota", "Nedjelja"], 7 | daysShort: ["Ned", "Pon", "Uto", "Srr", "Čet", "Pet", "Sub", "Ned"], 8 | daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"], 9 | months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"], 10 | monthsShort: ["Sije", "Velj", "Ožu", "Tra", "Svi", "Lip", "Jul", "Kol", "Ruj", "Lis", "Stu", "Pro"], 11 | today: "Danas", 12 | suffix: [], 13 | meridiem: [] 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.hu.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hungarian translation for bootstrap-datetimepicker 3 | * darevish 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['hu'] = { 7 | days: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Vasárnap"], 8 | daysShort: ["Vas", "Hét", "Ked", "Sze", "Csü", "Pén", "Szo", "Vas"], 9 | daysMin: ["V", "H", "K", "Sze", "Cs", "P", "Szo", "V"], 10 | months: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"], 12 | today: "Ma", 13 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.id.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bahasa translation for bootstrap-datetimepicker 3 | * Azwar Akbar 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['id'] = { 7 | days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"], 8 | daysShort: ["Mgu", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mgu"], 9 | daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"], 10 | months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], 12 | suffix: [], 13 | meridiem: [] 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.is.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Icelandic translation for bootstrap-datetimepicker 3 | * Hinrik Örn Sigurðsson 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['is'] = { 7 | days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"], 8 | daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"], 9 | daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"], 10 | months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"], 12 | today: "Í Dag", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.it.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Italian translation for bootstrap-datetimepicker 3 | * Enrico Rubboli 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['it'] = { 7 | days: ["Domenica", "Lunedi", "Martedi", "Mercoledi", "Giovedi", "Venerdi", "Sabato", "Domenica"], 8 | daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], 9 | daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], 10 | months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], 11 | monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], 12 | today: "Oggi", 13 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1, 16 | format: "dd/mm/yyyy hh:ii:ss" 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.ja.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Japanese translation for bootstrap-datetimepicker 3 | * Norio Suzuki 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ja'] = { 7 | days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"], 8 | daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"], 9 | daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"], 10 | months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], 11 | monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], 12 | today: "今日", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.kr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Korean translation for bootstrap-datetimepicker 3 | * Gu Youn 4 | * Baekjoon Choi 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['kr'] = { 8 | days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"], 9 | daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"], 10 | daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"], 11 | months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], 12 | monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], 13 | suffix: [], 14 | meridiem: ["오전", "오후"], 15 | today: "오늘", 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.lt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Lithuanian translation for bootstrap-datetimepicker 3 | * Šarūnas Gliebus 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['lt'] = { 8 | days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"], 9 | daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"], 10 | daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"], 11 | months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"], 12 | monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"], 13 | today: "Šiandien", 14 | suffix: [], 15 | meridiem: [], 16 | weekStart: 1 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.lv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Latvian translation for bootstrap-datetimepicker 3 | * Artis Avotins 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['lv'] = { 8 | days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena"], 9 | daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"], 10 | daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "St", "Sv"], 11 | months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"], 12 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec."], 13 | today: "Šodien", 14 | suffix: [], 15 | meridiem: [], 16 | weekStart: 1 17 | }; 18 | }(jQuery)); -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.ms.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Malay translation for bootstrap-datetimepicker 3 | * Ateman Faiz 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ms'] = { 7 | days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"], 8 | daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"], 9 | daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"], 10 | months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"], 12 | today: "Hari Ini", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.nb.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian (bokmål) translation for bootstrap-datetimepicker 3 | * Fredrik Sundmyhr 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['nb'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], 12 | today: "I Dag", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.nl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch translation for bootstrap-datetimepicker 3 | * Reinier Goltstein 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['nl'] = { 7 | days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], 8 | daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 9 | daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 10 | months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Vandaag", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.no.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian translation for bootstrap-datetimepicker 3 | * Rune Warhuus 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['no'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], 12 | today: "I Dag", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.pl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Polish translation for bootstrap-datetimepicker 3 | * Robert 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['pl'] = { 7 | days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"], 8 | daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"], 9 | daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"], 10 | months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], 11 | monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"], 12 | today: "Dzisiaj", 13 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.pt-BR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Brazilian translation for bootstrap-datetimepicker 3 | * Cauan Cabral 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['pt-BR'] = { 7 | format: 'dd/mm/yyyy', 8 | days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], 9 | daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], 10 | daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], 11 | months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], 12 | monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], 13 | today: "Hoje", 14 | suffix: [], 15 | meridiem: [] 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.pt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Portuguese translation for bootstrap-datetimepicker 3 | * Original code: Cauan Cabral 4 | * Tiago Melo 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['pt'] = { 8 | days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], 9 | daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], 10 | daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], 11 | months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], 12 | monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], 13 | suffix: [], 14 | meridiem: ["am","pm"], 15 | today: "Hoje" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.ro.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Romanian translation for bootstrap-datetimepicker 3 | * Cristian Vasile 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ro'] = { 7 | days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"], 8 | daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"], 9 | daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"], 10 | months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], 11 | monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], 12 | today: "Astăzi", 13 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.rs-latin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian latin translation for bootstrap-datetimepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['rs'] = { 7 | days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"], 8 | daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"], 9 | daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], 10 | months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Danas", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.rs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian cyrillic translation for bootstrap-datetimepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['rs'] = { 7 | days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"], 8 | daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"], 9 | daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"], 10 | months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], 11 | monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], 12 | today: "Данас", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.ru.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Russian translation for bootstrap-datetimepicker 3 | * Victor Taranenko 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ru'] = { 7 | days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"], 8 | daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"], 9 | daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], 10 | months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], 11 | monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], 12 | today: "Сегодня", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.sk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovak translation for bootstrap-datetimepicker 3 | * Marek Lichtner 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.dates["sk"] = { 8 | days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"], 9 | daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"], 10 | daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pia", "So", "Ne"], 11 | months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], 12 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], 13 | today: "Dnes", 14 | suffix: [], 15 | meridiem: [] 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.sl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovene translation for bootstrap-datetimepicker 3 | * Gregor Rudolf 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['sl'] = { 7 | days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota", "Nedelja"], 8 | daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"], 9 | daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"], 10 | months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Danes", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.sv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swedish translation for bootstrap-datetimepicker 3 | * Patrik Ragnarsson 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['sv'] = { 7 | days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"], 8 | daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"], 9 | daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"], 10 | months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "I Dag", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.sw.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swahili translation for bootstrap-datetimepicker 3 | * Edwin Mugendi 4 | * Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['sw'] = { 8 | days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Jumapili"], 9 | daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"], 10 | daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"], 11 | months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"], 12 | monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"], 13 | today: "Leo", 14 | suffix: [], 15 | meridiem: [] 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.th.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Thai translation for bootstrap-datetimepicker 3 | * Suchau Jiraprapot 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['th'] = { 7 | days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"], 8 | daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 9 | daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 10 | months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"], 11 | monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."], 12 | today: "วันนี้", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.tr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Turkish translation for bootstrap-datetimepicker 3 | * Serkan Algur 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['tr'] = { 7 | days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"], 8 | daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"], 9 | daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"], 10 | months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], 11 | monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"], 12 | today: "Bugün", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | 18 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.ua.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Ukrainian translation for bootstrap-datepicker 3 | * Igor Polynets 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ua'] = { 7 | days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четверг", "П'ятниця", "Субота", "Неділя"], 8 | daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], 9 | daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], 10 | months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], 11 | monthsShort: ["Січ", "Лют", "Бер", "Квт", "Трв", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Грд"], 12 | today: "Сьогодні", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.uk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Ukrainian translation for bootstrap-datetimepicker 3 | * Andrey Vityuk 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['uk'] = { 7 | days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота", "Неділя"], 8 | daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], 9 | daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], 10 | months: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], 11 | monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], 12 | today: "Сьогодні", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.zh-CN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Simplified Chinese translation for bootstrap-datetimepicker 3 | * Yuan Cheung 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['zh-CN'] = { 7 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 8 | daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], 9 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 10 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 11 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | today: "今日", 13 | suffix: [], 14 | meridiem: ["上午", "下午"] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/datetimepicker/bootstrap-datetimepicker.zh-TW.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Traditional Chinese translation for bootstrap-datetimepicker 3 | * Rung-Sheng Jang 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['zh-TW'] = { 7 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 8 | daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], 9 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 10 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 11 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | today: "今天", 13 | suffix: [], 14 | meridiem: ["上午", "下午"] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /assets/scripts/feedback.js: -------------------------------------------------------------------------------- 1 | $.Feedback = { 2 | init: function() { }, 3 | 4 | onSaveFeedback: function(response) { 5 | if ($.hasAjaxDefaultAction(response) == true) { return; } 6 | 7 | var $alert = $('
    ' + crLang.line('Thanks for contacting us') + '
    '); 8 | 9 | $('.cr-page-feedback .frmFeedbackEdit') 10 | .hide() 11 | .parent().append($alert); 12 | 13 | $alert.hide().fadeIn(); 14 | } 15 | }; 16 | -------------------------------------------------------------------------------- /assets/scripts/feeds.js: -------------------------------------------------------------------------------- 1 | $.Feeds = { 2 | init: function() { }, 3 | 4 | resetAndScanFeed: function(feedId) { 5 | $.ajax({ 6 | 'url': $.base_url('feeds/resetAndScanFeed/' + feedId + '/true'), 7 | 'data': { }, 8 | 'success': 9 | function (result) { 10 | $.reloadUrl(); 11 | } 12 | }); 13 | }, 14 | 15 | saveFeedIcon: function(feedId) { 16 | $.ajax({ 17 | 'url': $.base_url('feeds/saveFeedIcon/' + feedId), 18 | 'data': { }, 19 | 'success': 20 | function (result) { 21 | $.reloadUrl(); 22 | } 23 | }); 24 | }, 25 | 26 | deleteOldEntriesByFeedId: function(feedId) { 27 | $(document).crAlert( { 28 | 'msg': crLang.line('Are you sure?'), 29 | 'isConfirm': true, 30 | 'callback': function() { 31 | $.ajax({ 32 | 'url': $.base_url('feeds/deleteOldEntriesByFeedId/' + feedId), 33 | 'data': { }, 34 | 'success': 35 | function (result) { 36 | $(document).crAlert( { 37 | 'msg': result.result, 38 | 'callback': function() { 39 | $.reloadUrl(); 40 | } 41 | }); 42 | } 43 | }); 44 | } 45 | }); 46 | } 47 | }; 48 | -------------------------------------------------------------------------------- /assets/scripts/jquery.visible.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery visible 1.0.0 teamdf.com/jquery-plugins | teamdf.com/jquery-plugins/license */ 2 | (function(c){c.fn.visible=function(e){var a=c(this),b=c(window),f=b.scrollTop();b=f+b.height();var d=a.offset().top;a=d+a.height();var g=e===true?a:d;return(e===true?d:a)<=b&&g>=f}})(jQuery); -------------------------------------------------------------------------------- /assets/scripts/locale.js: -------------------------------------------------------------------------------- 1 | /* 2 | * jQuery File Upload Plugin Localization Example 6.5.1 3 | * https://github.com/blueimp/jQuery-File-Upload 4 | * 5 | * Copyright 2012, Sebastian Tschan 6 | * https://blueimp.net 7 | * 8 | * Licensed under the MIT license: 9 | * http://www.opensource.org/licenses/MIT 10 | */ 11 | 12 | /*global window */ 13 | 14 | window.locale = { 15 | "fileupload": { 16 | "errors": { 17 | "maxFileSize": "File is too big", 18 | "minFileSize": "File is too small", 19 | "acceptFileTypes": "Filetype not allowed", 20 | "maxNumberOfFiles": "Max number of files exceeded", 21 | "uploadedBytes": "Uploaded bytes exceed file size", 22 | "emptyResult": "Empty file upload result" 23 | }, 24 | "error": "Error", 25 | "start": "Iniciar", 26 | "cancel": "Cancelar", 27 | "destroy": "Borrar" 28 | } 29 | }; 30 | -------------------------------------------------------------------------------- /assets/scripts/process.js: -------------------------------------------------------------------------------- 1 | $.process = { 2 | init: function() { }, 3 | 4 | submit: function(url) { 5 | this.ajax = $.ajax({ 6 | 'url': url, 7 | 'async': true, 8 | 'success': 9 | function(response) { 10 | $.hasAjaxDefaultAction(response); 11 | } 12 | }); 13 | } 14 | }; 15 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_ar.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Arabic translation. 3 | * 4 | * Author: Adel KEDJOUR 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "لم يتم العثور على مطابقات"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; if (n == 1){ return "الرجاء إدخال حرف واحد على الأكثر"; } return n == 2 ? "الرجاء إدخال حرفين على الأكثر" : "الرجاء إدخال " + n + " على الأكثر"; }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; if (n == 1){ return "الرجاء إدخال حرف واحد على الأقل"; } return n == 2 ? "الرجاء إدخال حرفين على الأقل" : "الرجاء إدخال " + n + " على الأقل "; }, 13 | formatSelectionTooBig: function (limit) { if (n == 1){ return "يمكنك أن تختار إختيار واحد فقط"; } return n == 2 ? "يمكنك أن تختار إختيارين فقط" : "يمكنك أن تختار " + n + " إختيارات فقط"; }, 14 | formatLoadMore: function (pageNumber) { return "تحميل المزيد من النتائج…"; }, 15 | formatSearching: function () { return "البحث…"; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_bg.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Bulgarian translation. 3 | * 4 | * @author Lubomir Vikev 5 | * @author Uriy Efremochkin 6 | */ 7 | (function ($) { 8 | "use strict"; 9 | 10 | $.extend($.fn.select2.defaults, { 11 | formatNoMatches: function () { return "Няма намерени съвпадения"; }, 12 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Моля въведете още " + n + " символ" + (n > 1 ? "а" : ""); }, 13 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Моля въведете с " + n + " по-малко символ" + (n > 1 ? "а" : ""); }, 14 | formatSelectionTooBig: function (limit) { return "Можете да направите до " + limit + (limit > 1 ? " избора" : " избор"); }, 15 | formatLoadMore: function (pageNumber) { return "Зареждат се още…"; }, 16 | formatSearching: function () { return "Търсене…"; } 17 | }); 18 | })(jQuery); 19 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_ca.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Catalan translation. 3 | * 4 | * Author: David Planella 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "No s'ha trobat cap coincidència"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Introduïu " + n + " caràcter" + (n == 1 ? "" : "s") + " més"; }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Introduïu " + n + " caràcter" + (n == 1? "" : "s") + "menys"; }, 13 | formatSelectionTooBig: function (limit) { return "Només podeu seleccionar " + limit + " element" + (limit == 1 ? "" : "s"); }, 14 | formatLoadMore: function (pageNumber) { return "S'estan carregant més resultats…"; }, 15 | formatSearching: function () { return "S'està cercant…"; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_da.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Danish translation. 3 | * 4 | * Author: Anders Jenbo 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "Ingen resultater fundet"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Angiv venligst " + n + " tegn mere"; }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Angiv venligst " + n + " tegn mindre"; }, 13 | formatSelectionTooBig: function (limit) { return "Du kan kun vælge " + limit + " emne" + (limit === 1 ? "" : "r"); }, 14 | formatLoadMore: function (pageNumber) { return "Indlæser flere resultater…"; }, 15 | formatSearching: function () { return "Søger…"; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_de.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 German translation 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | 7 | $.extend($.fn.select2.defaults, { 8 | formatNoMatches: function () { return "Keine Übereinstimmungen gefunden"; }, 9 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Bitte " + n + " Zeichen mehr eingeben"; }, 10 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Bitte " + n + " Zeichen weniger eingeben"; }, 11 | formatSelectionTooBig: function (limit) { return "Sie können nur " + limit + " Eintr" + (limit === 1 ? "ag" : "äge") + " auswählen"; }, 12 | formatLoadMore: function (pageNumber) { return "Lade mehr Ergebnisse…"; }, 13 | formatSearching: function () { return "Suche…"; } 14 | }); 15 | })(jQuery); -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_el.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Greek translation. 3 | * 4 | * @author Uriy Efremochkin 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "Δεν βρέθηκαν αποτελέσματα"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Παρακαλούμε εισάγετε " + n + " περισσότερο" + (n > 1 ? "υς" : "") + " χαρακτήρ" + (n > 1 ? "ες" : "α"); }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Παρακαλούμε διαγράψτε " + n + " χαρακτήρ" + (n > 1 ? "ες" : "α"); }, 13 | formatSelectionTooBig: function (limit) { return "Μπορείτε να επιλέξετε μόνο " + limit + " αντικείμεν" + (limit > 1 ? "α" : "ο"); }, 14 | formatLoadMore: function (pageNumber) { return "Φόρτωση περισσότερων…"; }, 15 | formatSearching: function () { return "Αναζήτηση…"; } 16 | }); 17 | })(jQuery); -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_en.js.template: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 translation. 3 | * 4 | * Author: Your Name 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatMatches: function (matches) { return matches + " results are available, use up and down arrow keys to navigate."; }, 11 | formatNoMatches: function () { return "No matches found"; }, 12 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Please enter " + n + " more character" + (n == 1 ? "" : "s"); }, 13 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Please delete " + n + " character" + (n == 1 ? "" : "s"); }, 14 | formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); }, 15 | formatLoadMore: function (pageNumber) { return "Loading more results…"; }, 16 | formatSearching: function () { return "Searching…"; } 17 | }); 18 | })(jQuery); 19 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_es.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Spanish translation 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | 7 | $.extend($.fn.select2.defaults, { 8 | formatNoMatches: function () { return "No se encontraron resultados"; }, 9 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Por favor, introduzca " + n + " car" + (n == 1? "ácter" : "acteres"); }, 10 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Por favor, elimine " + n + " car" + (n == 1? "ácter" : "acteres"); }, 11 | formatSelectionTooBig: function (limit) { return "Sólo puede seleccionar " + limit + " elemento" + (limit == 1 ? "" : "s"); }, 12 | formatLoadMore: function (pageNumber) { return "Cargando más resultados…"; }, 13 | formatSearching: function () { return "Buscando…"; } 14 | }); 15 | })(jQuery); 16 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_et.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Estonian translation. 3 | * 4 | * Author: Kuldar Kalvik 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "Tulemused puuduvad"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Sisesta " + n + " täht" + (n == 1 ? "" : "e") + " rohkem"; }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Sisesta " + n + " täht" + (n == 1? "" : "e") + " vähem"; }, 13 | formatSelectionTooBig: function (limit) { return "Saad vaid " + limit + " tulemus" + (limit == 1 ? "e" : "t") + " valida"; }, 14 | formatLoadMore: function (pageNumber) { return "Laen tulemusi.."; }, 15 | formatSearching: function () { return "Otsin.."; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_fa.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Persian translation. 3 | * 4 | * Author: Ali Choopan 5 | * Author: Ebrahim Byagowi 6 | */ 7 | (function ($) { 8 | "use strict"; 9 | 10 | $.extend($.fn.select2.defaults, { 11 | formatMatches: function (matches) { return matches + " نتیجه موجود است، کلیدهای جهت بالا و پایین را برای گشتن استفاده کنید."; }, 12 | formatNoMatches: function () { return "نتیجه‌ای یافت نشد."; }, 13 | formatInputTooShort: function (input, min) { var n = min - input.length; return "لطفاً " + n + " نویسه بیشتر وارد نمایید"; }, 14 | formatInputTooLong: function (input, max) { var n = input.length - max; return "لطفاً " + n + " نویسه را حذف کنید."; }, 15 | formatSelectionTooBig: function (limit) { return "شما فقط می‌توانید " + limit + " مورد را انتخاب کنید"; }, 16 | formatLoadMore: function (pageNumber) { return "در حال بارگیری موارد بیشتر…"; }, 17 | formatSearching: function () { return "در حال جستجو…"; } 18 | }); 19 | })(jQuery); 20 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_fi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Finnish translation 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | $.extend($.fn.select2.defaults, { 7 | formatNoMatches: function () { 8 | return "Ei tuloksia"; 9 | }, 10 | formatInputTooShort: function (input, min) { 11 | var n = min - input.length; 12 | return "Ole hyvä ja anna " + n + " merkkiä lisää"; 13 | }, 14 | formatInputTooLong: function (input, max) { 15 | var n = input.length - max; 16 | return "Ole hyvä ja anna " + n + " merkkiä vähemmän"; 17 | }, 18 | formatSelectionTooBig: function (limit) { 19 | return "Voit valita ainoastaan " + limit + " kpl"; 20 | }, 21 | formatLoadMore: function (pageNumber) { 22 | return "Ladataan lisää tuloksia…"; 23 | }, 24 | formatSearching: function () { 25 | return "Etsitään…"; 26 | } 27 | }); 28 | })(jQuery); 29 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_fr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 French translation 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | 7 | $.extend($.fn.select2.defaults, { 8 | formatMatches: function (matches) { return matches + " résultats sont disponibles, utilisez les flèches haut et bas pour naviguer."; }, 9 | formatNoMatches: function () { return "Aucun résultat trouvé"; }, 10 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Merci de saisir " + n + " caractère" + (n == 1 ? "" : "s") + " de plus"; }, 11 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Merci de supprimer " + n + " caractère" + (n == 1 ? "" : "s"); }, 12 | formatSelectionTooBig: function (limit) { return "Vous pouvez seulement sélectionner " + limit + " élément" + (limit == 1 ? "" : "s"); }, 13 | formatLoadMore: function (pageNumber) { return "Chargement de résultats supplémentaires…"; }, 14 | formatSearching: function () { return "Recherche en cours…"; } 15 | }); 16 | })(jQuery); 17 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_he.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Hebrew translation. 3 | * 4 | * Author: Yakir Sitbon 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "לא נמצאו התאמות"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "נא להזין עוד " + n + " תווים נוספים"; }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "נא להזין פחות " + n + " תווים"; }, 13 | formatSelectionTooBig: function (limit) { return "ניתן לבחור " + limit + " פריטים"; }, 14 | formatLoadMore: function (pageNumber) { return "טוען תוצאות נוספות…"; }, 15 | formatSearching: function () { return "מחפש…"; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_hr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Croatian translation. 3 | * 4 | * @author Edi Modrić 5 | * @author Uriy Efremochkin 6 | */ 7 | (function ($) { 8 | "use strict"; 9 | 10 | $.extend($.fn.select2.defaults, { 11 | formatNoMatches: function () { return "Nema rezultata"; }, 12 | formatInputTooShort: function (input, min) { return "Unesite još" + character(min - input.length); }, 13 | formatInputTooLong: function (input, max) { return "Unesite" + character(input.length - max) + " manje"; }, 14 | formatSelectionTooBig: function (limit) { return "Maksimalan broj odabranih stavki je " + limit; }, 15 | formatLoadMore: function (pageNumber) { return "Učitavanje rezultata…"; }, 16 | formatSearching: function () { return "Pretraga…"; } 17 | }); 18 | 19 | function character (n) { 20 | return " " + n + " znak" + (n%10 < 5 && n%10 > 0 && (n%100 < 5 || n%100 > 19) ? n%10 > 1 ? "a" : "" : "ova"); 21 | } 22 | })(jQuery); 23 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_hu.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Hungarian translation 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | 7 | $.extend($.fn.select2.defaults, { 8 | formatNoMatches: function () { return "Nincs találat."; }, 9 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Túl rövid. Még " + n + " karakter hiányzik."; }, 10 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Túl hosszú. " + n + " karakterrel több, mint kellene."; }, 11 | formatSelectionTooBig: function (limit) { return "Csak " + limit + " elemet lehet kiválasztani."; }, 12 | formatLoadMore: function (pageNumber) { return "Töltés…"; }, 13 | formatSearching: function () { return "Keresés…"; } 14 | }); 15 | })(jQuery); 16 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_id.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Indonesian translation. 3 | * 4 | * Author: Ibrahim Yusuf 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "Tidak ada data yang sesuai"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Masukkan " + n + " huruf lagi" + (n == 1 ? "" : "s"); }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Hapus " + n + " huruf" + (n == 1 ? "" : "s"); }, 13 | formatSelectionTooBig: function (limit) { return "Anda hanya dapat memilih " + limit + " pilihan" + (limit == 1 ? "" : "s"); }, 14 | formatLoadMore: function (pageNumber) { return "Mengambil data…"; }, 15 | formatSearching: function () { return "Mencari…"; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_is.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Icelandic translation. 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | 7 | $.extend($.fn.select2.defaults, { 8 | formatNoMatches: function () { return "Ekkert fannst"; }, 9 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Vinsamlegast skrifið " + n + " staf" + (n > 1 ? "i" : "") + " í viðbót"; }, 10 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Vinsamlegast styttið texta um " + n + " staf" + (n > 1 ? "i" : ""); }, 11 | formatSelectionTooBig: function (limit) { return "Þú getur aðeins valið " + limit + " atriði"; }, 12 | formatLoadMore: function (pageNumber) { return "Sæki fleiri niðurstöður…"; }, 13 | formatSearching: function () { return "Leita…"; } 14 | }); 15 | })(jQuery); 16 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_it.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Italian translation 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | 7 | $.extend($.fn.select2.defaults, { 8 | formatNoMatches: function () { return "Nessuna corrispondenza trovata"; }, 9 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Inserisci ancora " + n + " caratter" + (n == 1? "e" : "i"); }, 10 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Inserisci " + n + " caratter" + (n == 1? "e" : "i") + " in meno"; }, 11 | formatSelectionTooBig: function (limit) { return "Puoi selezionare solo " + limit + " element" + (limit == 1 ? "o" : "i"); }, 12 | formatLoadMore: function (pageNumber) { return "Caricamento in corso…"; }, 13 | formatSearching: function () { return "Ricerca…"; } 14 | }); 15 | })(jQuery); -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_ja.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Japanese translation. 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | 7 | $.extend($.fn.select2.defaults, { 8 | formatNoMatches: function () { return "該当なし"; }, 9 | formatInputTooShort: function (input, min) { var n = min - input.length; return "後" + n + "文字入れてください"; }, 10 | formatInputTooLong: function (input, max) { var n = input.length - max; return "検索文字列が" + n + "文字長すぎます"; }, 11 | formatSelectionTooBig: function (limit) { return "最多で" + limit + "項目までしか選択できません"; }, 12 | formatLoadMore: function (pageNumber) { return "読込中・・・"; }, 13 | formatSearching: function () { return "検索中・・・"; } 14 | }); 15 | })(jQuery); 16 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_ka.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Georgian (Kartuli) translation. 3 | * 4 | * Author: Dimitri Kurashvili dimakura@gmail.com 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "ვერ მოიძებნა"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "გთხოვთ შეიყვანოთ კიდევ " + n + " სიმბოლო"; }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "გთხოვთ წაშალოთ " + n + " სიმბოლო"; }, 13 | formatSelectionTooBig: function (limit) { return "თქვენ შეგიძლიათ მხოლოდ " + limit + " ჩანაწერის მონიშვნა"; }, 14 | formatLoadMore: function (pageNumber) { return "შედეგის ჩატვირთვა…"; }, 15 | formatSearching: function () { return "ძებნა…"; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_ko.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Korean translation. 3 | * 4 | * @author Swen Mun 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "결과 없음"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "너무 짧습니다. "+n+"글자 더 입력해주세요."; }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "너무 깁니다. "+n+"글자 지워주세요."; }, 13 | formatSelectionTooBig: function (limit) { return "최대 "+limit+"개까지만 선택하실 수 있습니다."; }, 14 | formatLoadMore: function (pageNumber) { return "불러오는 중…"; }, 15 | formatSearching: function () { return "검색 중…"; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_lt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Lithuanian translation. 3 | * 4 | * @author CRONUS Karmalakas 5 | * @author Uriy Efremochkin 6 | */ 7 | (function ($) { 8 | "use strict"; 9 | 10 | $.extend($.fn.select2.defaults, { 11 | formatNoMatches: function () { return "Atitikmenų nerasta"; }, 12 | formatInputTooShort: function (input, min) { return "Įrašykite dar" + character(min - input.length); }, 13 | formatInputTooLong: function (input, max) { return "Pašalinkite" + character(input.length - max); }, 14 | formatSelectionTooBig: function (limit) { 15 | return "Jūs galite pasirinkti tik " + limit + " element" + ((limit%100 > 9 && limit%100 < 21) || limit%10 == 0 ? "ų" : limit%10 > 1 ? "us" : "ą"); 16 | }, 17 | formatLoadMore: function (pageNumber) { return "Kraunama daugiau rezultatų…"; }, 18 | formatSearching: function () { return "Ieškoma…"; } 19 | }); 20 | 21 | function character (n) { 22 | return " " + n + " simbol" + ((n%100 > 9 && n%100 < 21) || n%10 == 0 ? "ių" : n%10 > 1 ? "ius" : "į"); 23 | } 24 | })(jQuery); 25 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_lv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Latvian translation. 3 | * 4 | * @author Uriy Efremochkin 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "Sakritību nav"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Lūdzu ievadiet vēl " + n + " simbol" + (n == 11 ? "us" : n%10 == 1 ? "u" : "us"); }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Lūdzu ievadiet par " + n + " simbol" + (n == 11 ? "iem" : n%10 == 1 ? "u" : "iem") + " mazāk"; }, 13 | formatSelectionTooBig: function (limit) { return "Jūs varat izvēlēties ne vairāk kā " + limit + " element" + (limit == 11 ? "us" : limit%10 == 1 ? "u" : "us"); }, 14 | formatLoadMore: function (pageNumber) { return "Datu ielāde…"; }, 15 | formatSearching: function () { return "Meklēšana…"; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_mk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Macedonian translation. 3 | * 4 | * Author: Marko Aleksic 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "Нема пронајдено совпаѓања"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Ве молиме внесете уште " + n + " карактер" + (n == 1 ? "" : "и"); }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Ве молиме внесете " + n + " помалку карактер" + (n == 1? "" : "и"); }, 13 | formatSelectionTooBig: function (limit) { return "Можете да изберете само " + limit + " ставк" + (limit == 1 ? "а" : "и"); }, 14 | formatLoadMore: function (pageNumber) { return "Вчитување резултати…"; }, 15 | formatSearching: function () { return "Пребарување…"; } 16 | }); 17 | })(jQuery); -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_ms.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Malay translation. 3 | * 4 | * Author: Kepoweran 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "Tiada padanan yang ditemui"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Sila masukkan " + n + " aksara lagi"; }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Sila hapuskan " + n + " aksara"; }, 13 | formatSelectionTooBig: function (limit) { return "Anda hanya boleh memilih " + limit + " pilihan"; }, 14 | formatLoadMore: function (pageNumber) { return "Sedang memuatkan keputusan…"; }, 15 | formatSearching: function () { return "Mencari…"; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_nl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Dutch translation 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | 7 | $.extend($.fn.select2.defaults, { 8 | formatNoMatches: function () { return "Geen resultaten gevonden"; }, 9 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Vul " + n + " karakter" + (n == 1? "" : "s") + " meer in"; }, 10 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Vul " + n + " karakter" + (n == 1? "" : "s") + " minder in"; }, 11 | formatSelectionTooBig: function (limit) { return "Maximaal " + limit + " item" + (limit == 1 ? "" : "s") + " toegestaan"; }, 12 | formatLoadMore: function (pageNumber) { return "Meer resultaten laden…"; }, 13 | formatSearching: function () { return "Zoeken…"; } 14 | }); 15 | })(jQuery); -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_no.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Norwegian translation. 3 | * 4 | * Author: Torgeir Veimo 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "Ingen treff"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Vennligst skriv inn " + n + (n>1 ? " flere tegn" : " tegn til"); }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Vennligst fjern " + n + " tegn"; }, 13 | formatSelectionTooBig: function (limit) { return "Du kan velge maks " + limit + " elementer"; }, 14 | formatLoadMore: function (pageNumber) { return "Laster flere resultater…"; }, 15 | formatSearching: function () { return "Søker…"; } 16 | }); 17 | })(jQuery); 18 | 19 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_pl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Polish translation. 3 | * 4 | * @author Jan Kondratowicz 5 | * @author Uriy Efremochkin 6 | */ 7 | (function ($) { 8 | "use strict"; 9 | 10 | $.extend($.fn.select2.defaults, { 11 | formatNoMatches: function () { return "Brak wyników"; }, 12 | formatInputTooShort: function (input, min) { return "Wpisz jeszcze" + character(min - input.length, "znak", "i"); }, 13 | formatInputTooLong: function (input, max) { return "Wpisana fraza jest za długa o" + character(input.length - max, "znak", "i"); }, 14 | formatSelectionTooBig: function (limit) { return "Możesz zaznaczyć najwyżej" + character(limit, "element", "y"); }, 15 | formatLoadMore: function (pageNumber) { return "Ładowanie wyników…"; }, 16 | formatSearching: function () { return "Szukanie…"; } 17 | }); 18 | 19 | function character (n, word, pluralSuffix) { 20 | return " " + n + " " + word + (n == 1 ? "" : n%10 < 5 && n%10 > 1 && (n%100 < 5 || n%100 > 20) ? pluralSuffix : "ów"); 21 | } 22 | })(jQuery); 23 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_pt-BR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Brazilian Portuguese translation 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | 7 | $.extend($.fn.select2.defaults, { 8 | formatNoMatches: function () { return "Nenhum resultado encontrado"; }, 9 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Digite mais " + n + " caracter" + (n == 1? "" : "es"); }, 10 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Apague " + n + " caracter" + (n == 1? "" : "es"); }, 11 | formatSelectionTooBig: function (limit) { return "Só é possível selecionar " + limit + " elemento" + (limit == 1 ? "" : "s"); }, 12 | formatLoadMore: function (pageNumber) { return "Carregando mais resultados…"; }, 13 | formatSearching: function () { return "Buscando…"; } 14 | }); 15 | })(jQuery); 16 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_pt-PT.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Portuguese (Portugal) translation 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | 7 | $.extend($.fn.select2.defaults, { 8 | formatNoMatches: function () { return "Nenhum resultado encontrado"; }, 9 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Introduza " + n + " car" + (n == 1 ? "ácter" : "acteres"); }, 10 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Apague " + n + " car" + (n == 1 ? "ácter" : "acteres"); }, 11 | formatSelectionTooBig: function (limit) { return "Só é possível selecionar " + limit + " elemento" + (limit == 1 ? "" : "s"); }, 12 | formatLoadMore: function (pageNumber) { return "A carregar mais resultados…"; }, 13 | formatSearching: function () { return "A pesquisar…"; } 14 | }); 15 | })(jQuery); 16 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_ro.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Romanian translation. 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | 7 | $.extend($.fn.select2.defaults, { 8 | formatNoMatches: function () { return "Nu a fost găsit nimic"; }, 9 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Vă rugăm să introduceți incă " + n + " caracter" + (n == 1 ? "" : "e"); }, 10 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Vă rugăm să introduceți mai puțin de " + n + " caracter" + (n == 1? "" : "e"); }, 11 | formatSelectionTooBig: function (limit) { return "Aveți voie să selectați cel mult " + limit + " element" + (limit == 1 ? "" : "e"); }, 12 | formatLoadMore: function (pageNumber) { return "Se încarcă…"; }, 13 | formatSearching: function () { return "Căutare…"; } 14 | }); 15 | })(jQuery); 16 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_rs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Serbian translation. 3 | * 4 | * @author Limon Monte 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "Ništa nije pronađeno"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Ukucajte bar još " + n + " simbol" + (n % 10 == 1 && n % 100 != 11 ? "" : "a"); }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Obrišite " + n + " simbol" + (n % 10 == 1 && n % 100 != 11 ? "" : "a"); }, 13 | formatSelectionTooBig: function (limit) { return "Možete izabrati samo " + limit + " stavk" + (limit % 10 == 1 && limit % 100 != 11 ? "u" : (limit % 10 >= 2 && limit % 10 <= 4 && (limit % 100 < 12 || limit % 100 > 14)? "e" : "i")); }, 14 | formatLoadMore: function (pageNumber) { return "Preuzimanje još rezultata…"; }, 15 | formatSearching: function () { return "Pretraga…"; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_ru.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Russian translation. 3 | * 4 | * @author Uriy Efremochkin 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "Совпадений не найдено"; }, 11 | formatInputTooShort: function (input, min) { return "Пожалуйста, введите еще" + character(min - input.length); }, 12 | formatInputTooLong: function (input, max) { return "Пожалуйста, введите на" + character(input.length - max) + " меньше"; }, 13 | formatSelectionTooBig: function (limit) { return "Вы можете выбрать не более " + limit + " элемент" + (limit%10 == 1 && limit%100 != 11 ? "а" : "ов"); }, 14 | formatLoadMore: function (pageNumber) { return "Загрузка данных…"; }, 15 | formatSearching: function () { return "Поиск…"; } 16 | }); 17 | 18 | function character (n) { 19 | return " " + n + " символ" + (n%10 < 5 && n%10 > 0 && (n%100 < 5 || n%100 > 20) ? n%10 > 1 ? "a" : "" : "ов"); 20 | } 21 | })(jQuery); 22 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_sv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Swedish translation. 3 | * 4 | * Author: Jens Rantil 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "Inga träffar"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Var god skriv in " + n + (n>1 ? " till tecken" : " tecken till"); }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Var god sudda ut " + n + " tecken"; }, 13 | formatSelectionTooBig: function (limit) { return "Du kan max välja " + limit + " element"; }, 14 | formatLoadMore: function (pageNumber) { return "Laddar fler resultat…"; }, 15 | formatSearching: function () { return "Söker…"; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_th.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Thai translation. 3 | * 4 | * Author: Atsawin Chaowanakritsanakul 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "ไม่พบข้อมูล"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "โปรดพิมพ์เพิ่มอีก " + n + " ตัวอักษร"; }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "โปรดลบออก " + n + " ตัวอักษร"; }, 13 | formatSelectionTooBig: function (limit) { return "คุณสามารถเลือกได้ไม่เกิน " + limit + " รายการ"; }, 14 | formatLoadMore: function (pageNumber) { return "กำลังค้นข้อมูลเพิ่ม…"; }, 15 | formatSearching: function () { return "กำลังค้นข้อมูล…"; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_tr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Turkish translation. 3 | * 4 | * Author: Salim KAYABAŞI 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "Sonuç bulunamadı"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "En az " + n + " karakter daha girmelisiniz"; }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return n + " karakter azaltmalısınız"; }, 13 | formatSelectionTooBig: function (limit) { return "Sadece " + limit + " seçim yapabilirsiniz"; }, 14 | formatLoadMore: function (pageNumber) { return "Daha fazla…"; }, 15 | formatSearching: function () { return "Aranıyor…"; } 16 | }); 17 | })(jQuery); 18 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_uk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Ukrainian translation. 3 | * 4 | * @author bigmihail 5 | * @author Uriy Efremochkin 6 | */ 7 | (function ($) { 8 | "use strict"; 9 | 10 | $.extend($.fn.select2.defaults, { 11 | formatMatches: function (matches) { return character(matches, "результат") + " знайдено, використовуйте клавіші зі стрілками вверх та вниз для навігації."; }, 12 | formatNoMatches: function () { return "Нічого не знайдено"; }, 13 | formatInputTooShort: function (input, min) { return "Введіть буль ласка ще " + character(min - input.length, "символ"); }, 14 | formatInputTooLong: function (input, max) { return "Введіть буль ласка на " + character(input.length - max, "символ") + " менше"; }, 15 | formatSelectionTooBig: function (limit) { return "Ви можете вибрати лише " + character(limit, "елемент"); }, 16 | formatLoadMore: function (pageNumber) { return "Завантаження даних…"; }, 17 | formatSearching: function () { return "Пошук…"; } 18 | }); 19 | 20 | function character (n, word) { 21 | return n + " " + word + (n%10 < 5 && n%10 > 0 && (n%100 < 5 || n%100 > 19) ? n%10 > 1 ? "и" : "" : "ів"); 22 | } 23 | })(jQuery); 24 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_vi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Vietnamese translation. 3 | * 4 | * Author: Long Nguyen 5 | */ 6 | (function ($) { 7 | "use strict"; 8 | 9 | $.extend($.fn.select2.defaults, { 10 | formatNoMatches: function () { return "Không tìm thấy kết quả"; }, 11 | formatInputTooShort: function (input, min) { var n = min - input.length; return "Vui lòng nhập nhiều hơn " + n + " ký tự" + (n == 1 ? "" : "s"); }, 12 | formatInputTooLong: function (input, max) { var n = input.length - max; return "Vui lòng nhập ít hơn " + n + " ký tự" + (n == 1? "" : "s"); }, 13 | formatSelectionTooBig: function (limit) { return "Chỉ có thể chọn được " + limit + " tùy chọn" + (limit == 1 ? "" : "s"); }, 14 | formatLoadMore: function (pageNumber) { return "Đang lấy thêm kết quả…"; }, 15 | formatSearching: function () { return "Đang tìm…"; } 16 | }); 17 | })(jQuery); 18 | 19 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_zh-CN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Chinese translation 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | $.extend($.fn.select2.defaults, { 7 | formatNoMatches: function () { return "没有找到匹配项"; }, 8 | formatInputTooShort: function (input, min) { var n = min - input.length; return "请再输入" + n + "个字符";}, 9 | formatInputTooLong: function (input, max) { var n = input.length - max; return "请删掉" + n + "个字符";}, 10 | formatSelectionTooBig: function (limit) { return "你只能选择最多" + limit + "项"; }, 11 | formatLoadMore: function (pageNumber) { return "加载结果中…"; }, 12 | formatSearching: function () { return "搜索中…"; } 13 | }); 14 | })(jQuery); 15 | -------------------------------------------------------------------------------- /assets/scripts/select2/select2_locale_zh-TW.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Select2 Traditional Chinese translation 3 | */ 4 | (function ($) { 5 | "use strict"; 6 | $.extend($.fn.select2.defaults, { 7 | formatNoMatches: function () { return "沒有找到相符的項目"; }, 8 | formatInputTooShort: function (input, min) { var n = min - input.length; return "請再輸入" + n + "個字元";}, 9 | formatInputTooLong: function (input, max) { var n = input.length - max; return "請刪掉" + n + "個字元";}, 10 | formatSelectionTooBig: function (limit) { return "你只能選擇最多" + limit + "項"; }, 11 | formatLoadMore: function (pageNumber) { return "載入中…"; }, 12 | formatSearching: function () { return "搜尋中…"; } 13 | }); 14 | })(jQuery); 15 | -------------------------------------------------------------------------------- /assets/scripts/tmpl.min.js: -------------------------------------------------------------------------------- 1 | (function(a){"use strict";var b=function(a,c){var d=/[^\w\-\.:]/.test(a)?new Function(b.arg+",tmpl","var _e=tmpl.encode"+b.helper+",_s='"+a.replace(b.regexp,b.func)+"';return _s;"):b.cache[a]=b.cache[a]||b(b.load(a));return c?d(c,b):function(a){return d(a,b)}};b.cache={},b.load=function(a){return document.getElementById(a).innerHTML},b.regexp=/([\s'\\])(?![^%]*%\})|(?:\{%(=|#)([\s\S]+?)%\})|(\{%)|(%\})/g,b.func=function(a,b,c,d,e,f){if(b)return{"\n":"\\n","\r":"\\r","\t":"\\t"," ":" "}[a]||"\\"+a;if(c)return c==="="?"'+_e("+d+")+'":"'+("+d+"||'')+'";if(e)return"';";if(f)return"_s+='"},b.encReg=/[<>&"'\x00]/g,b.encMap={"<":"<",">":">","&":"&",'"':""","'":"'"},b.encode=function(a){return String(a||"").replace(b.encReg,function(a){return b.encMap[a]||""})},b.arg="o",b.helper=",print=function(s,e){_s+=e&&(s||'')||_e(s);},include=function(s,d){_s+=tmpl(s,d);}",typeof define=="function"&&define.amd?define(function(){return b}):a.tmpl=b})(this); -------------------------------------------------------------------------------- /deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "Site in maintenance"; 4 | mv .htaccess .htaccess.copy; 5 | cp .htaccess.503 .htaccess; 6 | 7 | echo "Running process ..." 8 | git pull; 9 | 10 | rm -f assets/cache/*.js; 11 | rm -f assets/cache/*.css; 12 | 13 | php index.php langs/change/es > /dev/null; 14 | php index.php langs/change/pt-br > /dev/null; 15 | php index.php langs/change/en > /dev/null; 16 | php index.php langs/change/zh-cn > /dev/null; 17 | 18 | 19 | echo "Process complete." 20 | 21 | rm .htaccess; 22 | mv .htaccess.copy .htaccess; 23 | 24 | 25 | echo "Site online."; 26 | echo "Update complete !!!" 27 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/favicon.ico -------------------------------------------------------------------------------- /favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/favicon.png -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/sparks/carabiner/1.5.4/.gitmodules -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/README.md: -------------------------------------------------------------------------------- 1 | Carabiner 2 | ===================== 3 | 4 | **All credit to [Tony Dewan](http://codeigniter.com/forums/member/83507/) for original library.** 5 | 6 | This is Carabiner implemented as a spark on [getsparks.org](http://getsparks.org). Once sparks is installed, load the spark with ```$this->load->spark('carabiner/1.5.4');```. This will autoload the library and config. 7 | 8 | [Usage Documentation](http://codeigniter.com/wiki/Carabiner/) 9 | 10 | --------------------- 11 | 12 | This also adds Less CSS PHP compiling to the mix. Just pass .less files via ```$this->carabiner->css('file.less')``` and away we go! It puts the compiled css file into the configured cache folder before minifying and combining. *NOTE: If you have any linked images, keep in mind that the path will be relative to the cache folder!* 13 | 14 | *This repo contains the leafo.net LessPHP compiler as a submodule. If you're cloning this directly rather than loading as a spark, be sure to ```git submodule update --init``` after cloning.* -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/config/autoload.php: -------------------------------------------------------------------------------- 1 | parse(); 19 | } catch (exception $e) { 20 | exit("Fatal error: ".$e->getMessage()."\n"); 21 | } 22 | 23 | 24 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/package.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # creates tar.gz for current version 4 | 5 | VERSION=`./plessc -v | sed -n 's/^v\(.*\)$/\1/p'` 6 | OUT_DIR="tmp/lessphp" 7 | TMP=`dirname $OUT_DIR` 8 | 9 | mkdir -p $OUT_DIR 10 | tar -c `git ls-files` | tar -C $OUT_DIR -x 11 | 12 | rm $OUT_DIR/.gitignore 13 | rm $OUT_DIR/package.sh 14 | rm $OUT_DIR/lessify 15 | rm $OUT_DIR/lessify.inc.php 16 | 17 | OUT_NAME="lessphp-$VERSION.tar.gz" 18 | tar -czf $OUT_NAME -C $TMP lessphp/ 19 | echo "Wrote $OUT_NAME" 20 | 21 | rm -r $TMP 22 | 23 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/README.md: -------------------------------------------------------------------------------- 1 | ## test.php 2 | 3 | To run: 4 | 5 | php test.php [flags] [test-name-glob] 6 | 7 | 8 | Runs through all files in `inputs`, compiles them, then compares to respective 9 | file in `outputs`. If there are any differences then the test will fail. 10 | 11 | Add the `-d` flag to show the differences of failed tests. Defaults to showing 12 | differences with `diff` but you can set the tool by doing `-d=toolname`. 13 | 14 | Pass the `-C` flag to save the output of the inputs to the appropriate file. This 15 | will overwrite any existing outputs. Use this when you want to save verified 16 | test results. Combine with a *test-name-glob* to selectively compile. 17 | 18 | You can also run specific tests by passing in an argument that contains any 19 | part of the test name. 20 | 21 | ## bootstrap.sh 22 | 23 | It's a syntetic test comparing lessc and lessphp output compiling twitter bootstrap; 24 | see bootstrap.sh for details. -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/accessors.less.disable: -------------------------------------------------------------------------------- 1 | /* accessors */ 2 | 3 | #defaults { 4 | @width: 960px; 5 | @color: black; 6 | .something { 7 | @space: 10px; 8 | @hello { 9 | color: green; 10 | } 11 | } 12 | } 13 | 14 | .article { color: #294366; } 15 | 16 | .comment { 17 | width: #defaults[@width]; 18 | color: .article['color']; 19 | padding: #defaults > .something[@space]; 20 | } 21 | 22 | .wow { 23 | height: .comment['width']; 24 | background-color: .comment['color']; 25 | color: #defaults > .something > @hello['color']; 26 | 27 | padding: #defaults > non-existant['padding']; 28 | margin: #defaults > .something['non-existant']; 29 | } 30 | 31 | .mix { 32 | #defaults; 33 | font-size: .something[@space]; 34 | } 35 | 36 | 37 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/arity.less: -------------------------------------------------------------------------------- 1 | 2 | // simple arity 3 | 4 | .hello(@a) { 5 | color: one; 6 | } 7 | 8 | .hello(@a, @b) { 9 | color: two; 10 | } 11 | 12 | .hello(@a, @b, @c) { 13 | color: three; 14 | } 15 | 16 | 17 | .world(@a, @b, @c) { 18 | color: three; 19 | } 20 | 21 | .world(@a, @b) { 22 | color: two; 23 | } 24 | 25 | .world(@a) { 26 | color: one; 27 | } 28 | 29 | .one { 30 | .hello(1); 31 | .world(1); 32 | } 33 | 34 | .two { 35 | .hello(1, 1); 36 | .world(1, 1); 37 | } 38 | 39 | .three { 40 | .hello(1, 1, 1); 41 | .world(1, 1, 1); 42 | } 43 | 44 | 45 | // arity with default values 46 | 47 | .foo(@a, @b: cool) { 48 | color: two; 49 | } 50 | 51 | .foo(@a, @b: cool, @c: yeah) { 52 | color: three; 53 | } 54 | 55 | 56 | .baz(@a, @b, @c: yeah) { 57 | color: three; 58 | } 59 | 60 | .baz(@a, @b: cool) { 61 | color: two; 62 | } 63 | 64 | 65 | .multi-foo { 66 | .foo(1); 67 | .foo(1, 1); 68 | .foo(1,1,1); 69 | } 70 | 71 | .multi-baz { 72 | .baz(1); 73 | .baz(1, 1); 74 | .baz(1,1,1); 75 | } 76 | 77 | 78 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/builtins.less: -------------------------------------------------------------------------------- 1 | // builtin 2 | 3 | @something: "hello world"; 4 | @color: #112233; 5 | @color2: rgba(44,55,66, .6); 6 | 7 | body { 8 | color: @something; 9 | 10 | @num: 7 / 6; 11 | height: @num + 4; 12 | height: floor(@num) + 4px; 13 | 14 | @num2: 2 / 3; 15 | width: @num2; 16 | width: round(@num2); 17 | width: floor(@num2); 18 | width: round(10px / 3); 19 | 20 | color: rgbahex(@color); 21 | color: rgbahex(@color2); 22 | } 23 | 24 | 25 | format { 26 | @r: 32; 27 | format: %("rgb(%d, %d, %d)", @r, 128, 64); 28 | format-string: %("hello %s", "world"); 29 | format-multiple: %("hello %s %d", "earth", 2); 30 | format-url-encode: %('red is %A', #ff0000); 31 | eformat: e(%("rgb(%d, %d, %d)", @r, 128, 64)); 32 | } 33 | 34 | 35 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/compile_on_mixin.less: -------------------------------------------------------------------------------- 1 | 2 | @mixin { 3 | height: 22px; 4 | ul { 5 | height: 20px; 6 | li { 7 | @color: red; 8 | height: 10px; 9 | div span, link { 10 | margin: 10px; 11 | color: @color; 12 | } 13 | } 14 | 15 | div, p { 16 | border: 1px; 17 | &.hello { 18 | color: green; 19 | } 20 | 21 | :what { 22 | color: blue; 23 | } 24 | } 25 | 26 | 27 | a { 28 | b { 29 | color: blue; 30 | } 31 | } 32 | } 33 | } 34 | 35 | 36 | 37 | body { 38 | @mixin; 39 | } 40 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/escape.less: -------------------------------------------------------------------------------- 1 | 2 | body { 3 | @hello: "world"; 4 | border: e("this is simple"); 5 | border: e(this is simple); // bug in lessjs 6 | border: e("this is simple", "cool lad"); 7 | border: e(1232); 8 | border: e(@hello); 9 | border: e("one" + 'more'); // no string addition lessjs 10 | border: e(); // syntax error lessjs 11 | 12 | line-height: ~"eating rice"; 13 | line-height: ~"string cheese"; 14 | line-height: a b c ~"string me" d e f; 15 | } 16 | 17 | .class { 18 | filter: ~"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image.png')"; 19 | } 20 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/font_family.less: -------------------------------------------------------------------------------- 1 | 2 | @font-directory: 'fonts/'; 3 | @some-family: Gentium; 4 | 5 | @font-face: maroon; // won't collide with @font-face { } 6 | 7 | @font-face { 8 | font-family: Graublau Sans Web; 9 | src: url(@{font-directory}GraublauWeb.otf) format("opentype"); 10 | } 11 | 12 | @font-face { 13 | font-family: @some-family; 14 | src: url('@{font-directory}Gentium.ttf'); 15 | } 16 | 17 | @font-face { 18 | font-family: @some-family; 19 | src: url("@{font-directory}GentiumItalic.ttf"); 20 | font-style: italic; 21 | } 22 | 23 | h2 { 24 | font-family: @some-family; 25 | crazy: @font-face; 26 | } 27 | 28 | 29 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/hacks.less: -------------------------------------------------------------------------------- 1 | // css hacks 2 | 3 | :root .alert-message, :root .btn { 4 | border-radius: 0 \0; 5 | } 6 | 7 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/import.less: -------------------------------------------------------------------------------- 1 | 2 | @import 'file1.less'; // file found and imported 3 | 4 | @import "something.css" media; 5 | @import url("something.css") media; 6 | @import url(something.css) media, screen, print; 7 | 8 | @color: maroon; 9 | 10 | @import url(file2); // found and imported 11 | 12 | body { 13 | line-height: 10em; 14 | @colors; 15 | } 16 | 17 | div { 18 | @color: fuchsia; 19 | @import "file2"; 20 | } 21 | 22 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/keyframes.less: -------------------------------------------------------------------------------- 1 | @keyframes 'bounce' { 2 | from { 3 | top: 100px; 4 | animation-timing-function: ease-out; 5 | } 6 | 7 | 25% { 8 | top: 50px; 9 | animation-timing-function: ease-in; 10 | } 11 | 12 | 50% { 13 | top: 100px; 14 | animation-timing-function: ease-out; 15 | } 16 | 17 | 75% { 18 | top: 75px; 19 | animation-timing-function: ease-in; 20 | } 21 | 22 | to { 23 | top: 100px; 24 | } 25 | } 26 | 27 | 28 | 29 | div { 30 | animation-name: 'diagonal-slide'; 31 | animation-duration: 5s; 32 | animation-iteration-count: 10; 33 | } 34 | 35 | @keyframes 'diagonal-slide' { 36 | 37 | from { 38 | left: 0; 39 | top: 0; 40 | } 41 | 42 | to { 43 | left: 100px; 44 | top: 100px; 45 | } 46 | 47 | } 48 | 49 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/media.less: -------------------------------------------------------------------------------- 1 | @media screen, 3D { 2 | P { color: green; } 3 | } 4 | @media print { 5 | body { font-size: 10pt } 6 | } 7 | @media screen { 8 | body { font-size: 13px } 9 | } 10 | @media screen, print { 11 | body { line-height: 1.2 } 12 | } 13 | 14 | @media all and (min-width: 0px) { 15 | body { line-height: 1.2 } 16 | } 17 | 18 | @media all and (min-width: 0) { 19 | body { line-height: 1.2 } 20 | } 21 | 22 | @media 23 | screen and (min-width: 102.5em) and (max-width: 117.9375em), 24 | screen and (min-width: 150em) { 25 | body { color: blue } 26 | } 27 | 28 | 29 | @media screen and (min-height: 100px + 10px) { 30 | body { color: red; } 31 | } 32 | 33 | @cool: 100px; 34 | 35 | @media screen and (height: @cool) and (width: @cool + 10), (size: @cool + 20) { 36 | body { color: red; } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/mixin_functions.less: -------------------------------------------------------------------------------- 1 | 2 | @outer: 10px; 3 | @class(@var:22px, @car: 400px + @outer) { 4 | margin: @var; 5 | height: @car; 6 | } 7 | 8 | @group { 9 | @f(@color) { 10 | color: @color; 11 | } 12 | .cool { 13 | border-bottom: 1px solid green; 14 | } 15 | } 16 | 17 | .class(@width:200px) { 18 | padding: @width; 19 | } 20 | 21 | body { 22 | .class(2.0em); 23 | @group > @f(red); 24 | @class(10px, 10px + 2); 25 | @group > .cool; 26 | } 27 | 28 | 29 | @lots(@a: 10px, @b: 20px, @c: 30px, @d: 40px, @e: 4px, @f:3px, @g:2px, @h: 1px) { 30 | padding: @a @b @c @d; 31 | margin: @e @f @g @h; 32 | } 33 | 34 | .skip_args { 35 | @class(,12px); 36 | @lots(,,,88px,,12px); 37 | @group > @f(red,,,,); 38 | @group > @f(red); 39 | } 40 | 41 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/nested.less: -------------------------------------------------------------------------------- 1 | #header { 2 | color: black; 3 | 4 | .navigation { 5 | font-size: 12px; 6 | .border { 7 | .outside { 8 | color: blue; 9 | } 10 | } 11 | } 12 | .logo { 13 | width: 300px; 14 | &:hover { text-decoration: none } 15 | } 16 | } 17 | 18 | a { b { ul { li { color: green; } } } } 19 | 20 | this { will { not { show { } } } } 21 | 22 | .cool { 23 | div & { color: green; } 24 | p & span { color: yellow; } 25 | } 26 | 27 | another { 28 | .cool; 29 | } 30 | 31 | b { 32 | & .something { 33 | color: blue; 34 | } 35 | 36 | &.something { 37 | color: blue; 38 | } 39 | } 40 | 41 | .foo { 42 | .bar, .baz { 43 | & .qux { 44 | display: block; 45 | } 46 | .qux & { 47 | display: inline; 48 | } 49 | .qux & .biz { 50 | display: none; 51 | } 52 | } 53 | } 54 | 55 | b { 56 | hello [x="&yeah"] { 57 | color: red; 58 | } 59 | } 60 | 61 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/scopes.less: -------------------------------------------------------------------------------- 1 | 2 | 3 | @a: 10; 4 | @some { 5 | @b: @a + 10; 6 | div { 7 | @c: @b + 10; 8 | other { 9 | @d: @c + 10; 10 | world { 11 | @e: @d + 10; 12 | height: @e; 13 | } 14 | } 15 | } 16 | } 17 | 18 | 19 | body { 20 | @some; 21 | } 22 | 23 | @some; 24 | 25 | .test(@x: 10) { 26 | height: @x; 27 | .test(@y: 11) { 28 | height: @y; 29 | .test(@z: 12) { 30 | height: @z; 31 | } 32 | .test; 33 | } 34 | .test; 35 | } 36 | 37 | pre { 38 | .test; 39 | } 40 | 41 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/test-imports/file1.less: -------------------------------------------------------------------------------- 1 | 2 | 3 | /** 4 | * This is a test import file 5 | */ 6 | 7 | @colors { 8 | div.bright { 9 | color: red; 10 | } 11 | 12 | div.sad { 13 | color: blue; 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/test-imports/file2.less: -------------------------------------------------------------------------------- 1 | 2 | b { 3 | color: @color; 4 | padding: 16px; 5 | } 6 | 7 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/inputs/variables.less: -------------------------------------------------------------------------------- 1 | @a: 2; 2 | @x: @a * @a; 3 | @y: @x + 1; 4 | @z: @y + @x * 2; 5 | @m: @z % @y; 6 | 7 | @nice-blue: #5B83AD; 8 | @light-blue: @nice-blue + #111; 9 | 10 | @rgb-color: rgb(20%, 15%, 80%); 11 | @rgba-color: rgba(23,68,149,0.5); 12 | 13 | @b: @a * 10px; 14 | @c: #888; 15 | @fonts: "Trebuchet MS", Verdana, sans-serif; 16 | 17 | .variables { 18 | width: @z + 1cm; // 14cm 19 | height: @b + @x + 0px; // 24px 20 | margin-top: -@b; // -20px 21 | margin-bottom: 10 - -@b; // 30px 22 | @d: @c + #001; 23 | color: @d; 24 | background: @light-blue; 25 | font-family: @fonts; 26 | margin: @m + 0px; // 3px 27 | font: 10px/12px serif; 28 | font: 120%/120% serif; 29 | } 30 | 31 | .external { 32 | color: @c; 33 | border: 1px solid @rgb-color; 34 | background: @rgba-color; 35 | padding: @nonexistant + 4px; 36 | } 37 | 38 | @hello: 44px; 39 | @something: "hello"; 40 | @cool: something; 41 | 42 | color: @@something; 43 | color: @@@cool; 44 | 45 | 46 | -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/accessors.css: -------------------------------------------------------------------------------- 1 | .article { color:#294366; } 2 | .comment { 3 | width:960px; 4 | color:#294366; 5 | padding:10px; 6 | } 7 | .wow { 8 | height:960px; 9 | background-color:#294366; 10 | color:green; 11 | padding:; 12 | margin:; 13 | } 14 | .mix { font-size:10px; } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/arity.css: -------------------------------------------------------------------------------- 1 | .one { 2 | color:one; 3 | color:one; 4 | } 5 | .two { 6 | color:two; 7 | color:two; 8 | } 9 | .three { 10 | color:three; 11 | color:three; 12 | } 13 | .multi-foo { 14 | color:two; 15 | color:three; 16 | color:two; 17 | color:three; 18 | color:three; 19 | } 20 | .multi-baz { 21 | color:two; 22 | color:three; 23 | color:two; 24 | color:three; 25 | } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/attributes.css: -------------------------------------------------------------------------------- 1 | * { color:blue; } 2 | E { color:blue; } 3 | E[foo] { color:blue; } 4 | [foo] { color:blue; } 5 | [foo] .helloWorld { color:blue; } 6 | [foo].helloWorld { color:blue; } 7 | E[foo="barbar"] { color:blue; } 8 | E[foo~="hello#$@%@$#^"] { color:blue; } 9 | E[foo^="color: green;"] { color:blue; } 10 | E[foo$="239023"] { color:blue; } 11 | E[foo*="29302"] { color:blue; } 12 | E[foo|="239032"] { color:blue; } 13 | E:root { color:blue; } 14 | E:nth-child(odd) { color:blue; } 15 | E:nth-child(2n+1) { color:blue; } 16 | E:nth-child(5) { color:blue; } 17 | E:nth-last-child(-n+2) { color:blue; } 18 | E:nth-of-type(2n) { color:blue; } 19 | E:nth-last-of-type(n) { color:blue; } 20 | E:first-child { color:blue; } 21 | E:last-child { color:blue; } 22 | E:first-of-type { color:blue; } 23 | E:last-of-type { color:blue; } 24 | E:only-child { color:blue; } 25 | E:only-of-type { color:blue; } 26 | E:empty { color:blue; } 27 | E:lang(en) { color:blue; } 28 | E::first-line { color:blue; } 29 | E::before { color:blue; } 30 | E#id { color:blue; } 31 | E:not(:link) { color:blue; } 32 | E F { color:blue; } 33 | E > F { color:blue; } 34 | E + F { color:blue; } 35 | E ~ F { color:blue; } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/builtins.css: -------------------------------------------------------------------------------- 1 | body { 2 | color:"hello world"; 3 | height:5.1666666666667; 4 | height:5px; 5 | width:0.66666666666667; 6 | width:1; 7 | width:0; 8 | width:3px; 9 | color:#00112233; 10 | color:#992c3742; 11 | } 12 | format { 13 | format:"rgb(32, 128, 64)"; 14 | format-string:"hello world"; 15 | format-multiple:"hello earth 2"; 16 | format-url-encode:'red is %A'; 17 | eformat:rgb(32, 128, 64); 18 | } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/compile_on_mixin.css: -------------------------------------------------------------------------------- 1 | body { height:22px; } 2 | body ul { height:20px; } 3 | body ul li { height:10px; } 4 | body ul li div span, body ul li link { 5 | margin:10px; 6 | color:red; 7 | } 8 | body ul div, body ul p { border:1px; } 9 | body ul div.hello, body ul p.hello { color:green; } 10 | body ul div :what, body ul p :what { color:blue; } 11 | body ul a b { color:blue; } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/escape.css: -------------------------------------------------------------------------------- 1 | body { 2 | border:this is simple; 3 | border:this; 4 | border:this is simple; 5 | border:1232; 6 | border:world; 7 | border:onemore; 8 | border:; 9 | line-height:eating rice; 10 | line-height:string cheese; 11 | line-height:a b c string me d e f; 12 | } 13 | .class { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image.png'); } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/font_family.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family:Graublau Sans Web; 3 | src:url(fonts/GraublauWeb.otf) format("opentype"); 4 | } 5 | @font-face { 6 | font-family:Gentium; 7 | src:url('fonts/Gentium.ttf'); 8 | } 9 | @font-face { 10 | font-family:Gentium; 11 | src:url("fonts/GentiumItalic.ttf"); 12 | font-style:italic; 13 | } 14 | h2 { 15 | font-family:Gentium; 16 | crazy:maroon; 17 | } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/guards.css: -------------------------------------------------------------------------------- 1 | dd { color:yellow; } 2 | b { 3 | color:red; 4 | color:blue; 5 | color:blue; 6 | } 7 | img { 8 | color:green; 9 | color:teal; 10 | } 11 | body { 12 | color:purple; 13 | color:silver; 14 | color:purple; 15 | } 16 | div { color:blue; } 17 | link { 18 | color:true red; 19 | color:true #ffffff; 20 | color:true #fffddd; 21 | color:true #000000; 22 | color:true rgba(0,0,0,0.34); 23 | } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/hacks.css: -------------------------------------------------------------------------------- 1 | :root .alert-message, :root .btn { border-radius:0 \0; } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/import.css: -------------------------------------------------------------------------------- 1 | @import url("something.css") media; 2 | @import url("something.css") media; 3 | @import url("something.css") media, screen, print; 4 | b { 5 | color:maroon; 6 | padding:16px; 7 | } 8 | body { line-height:10em; } 9 | body div.bright { color:red; } 10 | body div.sad { color:blue; } 11 | div b { 12 | color:fuchsia; 13 | padding:16px; 14 | } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/keyframes.css: -------------------------------------------------------------------------------- 1 | @keyframes 'bounce' { 2 | from { 3 | top:100px; 4 | animation-timing-function:ease-out; 5 | } 6 | 25% { 7 | top:50px; 8 | animation-timing-function:ease-in; 9 | } 10 | 50% { 11 | top:100px; 12 | animation-timing-function:ease-out; 13 | } 14 | 75% { 15 | top:75px; 16 | animation-timing-function:ease-in; 17 | } 18 | to { 19 | top:100px; 20 | } 21 | } 22 | div { 23 | animation-name:'diagonal-slide'; 24 | animation-duration:5s; 25 | animation-iteration-count:10; 26 | } 27 | @keyframes 'diagonal-slide' { 28 | from { 29 | left:0; 30 | top:0; 31 | } 32 | to { 33 | left:100px; 34 | top:100px; 35 | } 36 | } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/math.css: -------------------------------------------------------------------------------- 1 | .unary { sub:10 -5; } 2 | .spaces { 3 | sub:5; 4 | sub:5; 5 | add:15; 6 | add:15; 7 | div:2; 8 | mul:50; 9 | mul:50; 10 | } 11 | .supress-division { 12 | border-radius:10px / 10px; 13 | border-radius:10px / 10px; 14 | border-radius:hello(10px / 10px) world; 15 | font:10px / 30 sans-serif; 16 | font:10px / 20px sans-serif; 17 | font:10px / 20px sans-serif; 18 | border-radius:0 15px 15px 15px / 0 50% 50% 50%; 19 | } 20 | .parens { 21 | sub:5; 22 | add:15; 23 | div:2; 24 | div:2; 25 | mul:50; 26 | } 27 | .keyword-names { height:"hello" 25; } 28 | .negation { 29 | hello:-1px; 30 | hello:-1px; 31 | hello:-10; 32 | } 33 | .test { 34 | single:5; 35 | single:10; 36 | single:10; 37 | parens:10 -2; 38 | math:20; 39 | math:20; 40 | width:71; 41 | height:6; 42 | padding:6px 1em 2px 2; 43 | padding:8 4 4 4px; 44 | width:96; 45 | height:113; 46 | margin:12; 47 | } 48 | .percents { 49 | color:1000%; 50 | color:1000%; 51 | color:100%; 52 | color:1000px; 53 | color:1000%; 54 | color:30%; 55 | color:10%; 56 | color:2%; 57 | } 58 | .misc { 59 | x:40px; 60 | y:40em; 61 | } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/media.css: -------------------------------------------------------------------------------- 1 | @media screen, 3D { 2 | P { color:green; } 3 | } 4 | @media print { 5 | body { font-size:10pt; } 6 | } 7 | @media screen { 8 | body { font-size:13px; } 9 | } 10 | @media screen, print { 11 | body { line-height:1.2; } 12 | } 13 | @media all and (min-width: 0px) { 14 | body { line-height:1.2; } 15 | } 16 | @media all and (min-width: 0) { 17 | body { line-height:1.2; } 18 | } 19 | @media screen and (min-width: 102.5em) and (max-width: 117.9375em), 20 | screen and (min-width: 150em) { 21 | body { color:blue; } 22 | } 23 | @media screen and (min-height: 110px) { 24 | body { color:red; } 25 | } 26 | @media screen and (height: 100px) and (width: 110px), (size: 120px) { 27 | body { color:red; } 28 | } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/misc.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | color:"aaa, bbb"; 3 | color:"aaa, bbb"; 4 | .topbar { background:url(/assets/images/test/topbar.png); } 5 | .hello { test:empty-function("/assets/images/test/",40%,to(#ffffff)); } 6 | .css3 { background-image:-webkit-gradient(linear,0% 0%,0% 90%,from(#e9a000),to(#a37000)); } 7 | .test, .world { 8 | border:1px solid red; 9 | color:url(http://mage-page.com); 10 | string:"hello /* this is not a comment */"; 11 | world:"// neither is this"; 12 | string:'hello /* this is not a comment */'; 13 | world:'// neither is this'; 14 | what-ever:100px; 15 | background:url(/*no comment here*/); 16 | } 17 | .urls { 18 | background:url("http://google.com"); 19 | background:url(http://google.com); 20 | background:url("http://google.com"); 21 | } 22 | .cool { color:"aaa, bbb"; } 23 | .span-17 { float:left; } 24 | .span-17 { width:660px; } 25 | .x { 26 | float:left; 27 | width:660px; 28 | } 29 | .hi pre { color:red; } 30 | .hi pre { color:blue; } 31 | .rad pre { color:red; } 32 | .rad pre { color:blue; } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/mixin_functions.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding:2.0em; 3 | color:red; 4 | margin:10px; 5 | height:12px; 6 | border-bottom:1px solid green; 7 | } 8 | .skip_args { 9 | margin:22px; 10 | height:12px; 11 | padding:10px 20px 30px 88px; 12 | margin:4px 12px 2px 1px; 13 | color:red; 14 | } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/mixin_merging.css: -------------------------------------------------------------------------------- 1 | #test1 div { 2 | color:red; 3 | height:10px; 4 | } 5 | #test1 p { height:10px; } 6 | #test2 b { 7 | color:red; 8 | width:1px; 9 | } 10 | #test2 a, #test2 i { width:1px; } 11 | #test3 a, #test3 i { width:1px; } 12 | #test3 b { 13 | width:1px; 14 | color:red; 15 | } 16 | #test4 a { 17 | color:blue; 18 | margin:1px; 19 | } 20 | #test4 div, #test4 html { color:blue; } 21 | #test5 img, #test5 strong { 22 | padding:2px; 23 | float:right; 24 | } 25 | #test6 div a, #test6 span a { 26 | line-height:10px; 27 | color:red; 28 | } 29 | #test7 div strong { 30 | margin:1px; 31 | color:red; 32 | } 33 | #test7 div b { color:red; } 34 | #test7 span strong, #test7 span b { color:red; } 35 | #test8 a i, #test8 b i { 36 | background:red; 37 | color:red; 38 | } 39 | #test8 a s, #test8 b s { 40 | background:red; 41 | color:blue; 42 | } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/mixins.css: -------------------------------------------------------------------------------- 1 | .bold { 2 | font-size:20px; 3 | font-weight:bold; 4 | } 5 | body #window { 6 | border-radius:10px; 7 | font-size:20px; 8 | font-weight:bold; 9 | line-height:30px; 10 | } 11 | #bundle .button { 12 | display:block; 13 | border:1px solid black; 14 | background-color:grey; 15 | } 16 | #bundle .button:hover { background-color:white; } 17 | #header a { 18 | color:orange; 19 | display:block; 20 | border:1px solid black; 21 | background-color:grey; 22 | } 23 | #header a:hover { background-color:white; } 24 | div { 25 | color:blue; 26 | hello:world; 27 | } 28 | div b { color:blue; } 29 | body { 30 | color:blue; 31 | hello:world; 32 | } 33 | body b { color:blue; } 34 | .hello .world { color:blue; } 35 | .foobar { color:blue; } 36 | .eggs { 37 | foo:1px 2px; 38 | bar:1px 2px; 39 | foo:100 land; 40 | bar:100 land; 41 | } 42 | #hello { cool:one two three cool; } 43 | #world { cool:"world"; } 44 | #another { 45 | things:red blue green; 46 | things:red blue green skip me; 47 | } 48 | #day .cool { color:one two three; } 49 | #day .cool { color:one two three skip me; } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/nested.css: -------------------------------------------------------------------------------- 1 | #header { color:black; } 2 | #header .navigation { font-size:12px; } 3 | #header .navigation .border .outside { color:blue; } 4 | #header .logo { width:300px; } 5 | #header .logo:hover { text-decoration:none; } 6 | a b ul li { color:green; } 7 | div .cool { color:green; } 8 | p .cool span { color:yellow; } 9 | div another { color:green; } 10 | p another span { color:yellow; } 11 | b .something { color:blue; } 12 | b.something { color:blue; } 13 | .foo .bar .qux, .foo .baz .qux { display:block; } 14 | .qux .foo .bar, .qux .foo .baz { display:inline; } 15 | .qux .foo .bar .biz, .qux .foo .baz .biz { display:none; } 16 | b hello [x="&yeah"] { color:red; } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/nesting.css: -------------------------------------------------------------------------------- 1 | #header .navigation .border .outside { color:blue; } 2 | #header .navigation { font-size:12px; } 3 | #header .logo:hover { text-decoration:none; } 4 | #header .logo { width:300px; } 5 | #header { color:black; } 6 | a b ul li { color:green; } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/pattern_matching.css: -------------------------------------------------------------------------------- 1 | .class { 2 | color:#a2a2a2; 3 | display:block; 4 | zero:0; 5 | one:1; 6 | two:2; 7 | three:3; 8 | } 9 | .zero { 10 | zero:0; 11 | one:1; 12 | two:2; 13 | three:3; 14 | } 15 | .one { 16 | zero:0; 17 | one:1; 18 | one-req:1; 19 | two:2; 20 | three:3; 21 | } 22 | .two { 23 | display:block; 24 | zero:0; 25 | one:1; 26 | two:2; 27 | three:3; 28 | } 29 | .three { 30 | zero:0; 31 | one:1; 32 | two:2; 33 | three-req:3; 34 | three:3; 35 | } 36 | .left { left:1; } 37 | .right { right:1; } 38 | .border-right { 39 | color:black; 40 | border-right:4px; 41 | } 42 | .border-left { 43 | color:black; 44 | border-left:4px; 45 | } 46 | .only-right { right:33; } 47 | .only-left { left:33; } 48 | .left-right { both:330; } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/scopes.css: -------------------------------------------------------------------------------- 1 | body div other world { height:50; } 2 | div other world { height:50; } 3 | pre { 4 | height:10; 5 | height:11; 6 | height:12; 7 | } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/libraries/less_php/tests/outputs/variables.css: -------------------------------------------------------------------------------- 1 | color:44px; 2 | color:44px; 3 | .variables { 4 | width:14cm; 5 | height:24px; 6 | margin-top:-20px; 7 | margin-bottom:30px; 8 | color:#888899; 9 | background:#6c94be; 10 | font-family:"Trebuchet MS", Verdana, sans-serif; 11 | margin:3px; 12 | font:10px / 12px serif; 13 | font:120% / 120% serif; 14 | } 15 | .external { 16 | color:#888888; 17 | border:1px solid #3326cc; 18 | background:rgba(23,68,149,0.5); 19 | padding:4px; 20 | } -------------------------------------------------------------------------------- /sparks/carabiner/1.5.4/spark.info: -------------------------------------------------------------------------------- 1 | # This is the spark-sdk specification. It's in a magical format called YAML. 2 | # Use this format while developing your own sparks! 3 | 4 | # This is the spark name. This should be the registered name of the spark. 5 | # It is here for informational purposes only. 6 | name: Carabiner 7 | 8 | # This is the current version of this spark. All sparks should be in 9 | # x.x.x format. Validation will fail otherwise. 10 | version: 1.5.4 11 | 12 | # This is the version of CodeIgniter this spark is compatible up to. It should 13 | # be in x.x.x format 14 | compatibility: 2.1.0 15 | 16 | # There are no dependencies now, but when there are, uncomment below. 17 | #dependencies: 18 | # some-spark-1: 1.0.0 19 | # some-other-spark-2: 1.0.0 -------------------------------------------------------------------------------- /sparks/ci-simplepie/1.0.1/README.md: -------------------------------------------------------------------------------- 1 | # CodeIgniter SimplePie Integration 2 | 3 | CodeIgniter SimplePie Integration is a simple library to use SimplePie within your CodeIgniter application. 4 | The latest SimplePie version (1.3.1) is included in this release 5 | 6 | ## Requirements 7 | 1. CodeIgniter 2.0.0+ 8 | 9 | ## Installing 10 | 11 | Available via CodeIgniter Sparks. For info about how to install sparks, go here: http://getsparks.org/install 12 | 13 | You can then load the spark with this: 14 | 15 | ```php 16 | $this->load->spark('ci-simplepie/1.0.1/'); 17 | ``` 18 | 19 | or by autoloading: 20 | 21 | ```php 22 | $autoload['sparks'] = array('ci-simplepie/1.0.1'); 23 | ``` 24 | 25 | ## Usage 26 | 27 | After loading, you have this object available: 28 | 29 | ```php 30 | $this->cisimplepie; 31 | ``` 32 | This is just the regular SimplePie object, so for further assistance on how to use SimplePie, you can have a look at the SimplePie documentation over here: http://simplepie.org/wiki/ -------------------------------------------------------------------------------- /sparks/ci-simplepie/1.0.1/config/autoload.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sparks/ci-simplepie/1.0.1/libraries/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

    Directory access is forbidden.

    8 | 9 | 10 | -------------------------------------------------------------------------------- /sparks/ci-simplepie/1.0.1/spark.info: -------------------------------------------------------------------------------- 1 | name: codeigniter-simplepie 2 | version: 1.0.1 3 | compatibility: 2.0.0 -------------------------------------------------------------------------------- /sparks/ci-simplepie/1.0.1/third_party/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

    Directory access is forbidden.

    8 | 9 | 10 | -------------------------------------------------------------------------------- /sparks/curl/1.2.1/config/autoload.php: -------------------------------------------------------------------------------- 1 | 11 | */ 12 | class OAuth2 { 13 | 14 | /** 15 | * Create a new provider. 16 | * 17 | * // Load the Twitter provider 18 | * $provider = $this->oauth2->provider('twitter'); 19 | * 20 | * @param string provider name 21 | * @param array provider options 22 | * @return OAuth_Provider 23 | */ 24 | public static function provider($name, array $options = NULL) 25 | { 26 | $name = ucfirst(strtolower($name)); 27 | 28 | include_once 'Provider/'.$name.'.php'; 29 | 30 | $class = 'OAuth2_Provider_'.$name; 31 | 32 | return new $class($options); 33 | } 34 | 35 | } -------------------------------------------------------------------------------- /sparks/oauth2/0.4.0/libraries/Provider/Github.php: -------------------------------------------------------------------------------- 1 | $token->access_token, 28 | )); 29 | 30 | $user = json_decode(file_get_contents($url)); 31 | 32 | // Create a response from the request 33 | return array( 34 | 'uid' => $user->id, 35 | 'nickname' => $user->login, 36 | 'name' => $user->name, 37 | 'email' => $user->email, 38 | 'urls' => array( 39 | 'GitHub' => 'http://github.com/'.$user->login, 40 | 'Blog' => $user->blog, 41 | ), 42 | ); 43 | } 44 | } -------------------------------------------------------------------------------- /sparks/oauth2/0.4.0/libraries/Provider/Mailchimp.php: -------------------------------------------------------------------------------- 1 | $token->access_token, 34 | ); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /sparks/oauth2/0.4.0/libraries/Token/Authorize.php: -------------------------------------------------------------------------------- 1 | code = $options['code']; 42 | $this->redirect_uri = $options['redirect_uri']; 43 | } 44 | 45 | /** 46 | * Returns the token key. 47 | * 48 | * @return string 49 | */ 50 | public function __toString() 51 | { 52 | return (string) $this->code; 53 | } 54 | 55 | } // End OAuth2_Token_Access -------------------------------------------------------------------------------- /sparks/oauth2/0.4.0/spark.info: -------------------------------------------------------------------------------- 1 | name: codeigniter-oauth2 2 | version: 0.4.0 3 | compatibility: 2.1.0 -------------------------------------------------------------------------------- /system/.htaccess: -------------------------------------------------------------------------------- 1 | Deny from all -------------------------------------------------------------------------------- /system/core/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

    8 | 9 | 10 | -------------------------------------------------------------------------------- /system/fonts/texb.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/system/fonts/texb.ttf -------------------------------------------------------------------------------- /system/helpers/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

    8 | 9 | 10 | -------------------------------------------------------------------------------- /system/language/spanish/number_lang.php: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /system/language/spanish/unit_test_lang.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 403 Forbidden 4 | 5 | 6 | 7 |

    Directory access is forbidden.

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

    Directory access is forbidden.

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

    Directory access is forbidden.

    8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/README.md: -------------------------------------------------------------------------------- 1 | # CodeIgniter Spark 2 | 3 | Spark is a way to pull down packages automatically 4 | 5 | $ tools/spark install -v1.2 gravatar_helper 6 | 7 | And then you can load the package like so: 8 | 9 | $this->load->spark('gravatar_helper/1.2'); 10 | echo Gravatar_helper::from_email('john.crepezzi@gmail.com'); 11 | 12 | --- 13 | 14 | ## Adding a package 15 | 16 | $ tools/spark install -v1.2 gravatar 17 | $ tools/spark install gravatar # most recent version 18 | 19 | ## Removing a package 20 | 21 | $ tools/spark remove -v1.2 gravatar # remove a specific version 22 | $ tools/spark remove gravatar -f # remove all 23 | 24 | ## Reinstalling a package 25 | 26 | $ tools/spark reinstall -v1.2 gravatar # reinstall a specific version 27 | $ tools/spark reinstall gravatar -f # remove all versions and install latest 28 | 29 | ## Search for a package 30 | 31 | $ tools/spark search gravatar 32 | 33 | ## List installed packages 34 | 35 | $ tools/spark list 36 | 37 | ## Get Help 38 | 39 | $ tools/spark help 40 | 41 | --- 42 | 43 | ## Install 44 | 45 | Go to your favorite CI project, and run (must have CURL installed): 46 | 47 | $ php -r "$(curl -fsSL http://www.getsparks.org/static/install.php)" 48 | -------------------------------------------------------------------------------- /tools/lib/spark/sources: -------------------------------------------------------------------------------- 1 | # the main repository 2 | getsparks.org 3 | 4 | # list other repositories here 5 | -------------------------------------------------------------------------------- /tools/lib/spark/spark_exception.php: -------------------------------------------------------------------------------- 1 | 1 ? $argv[1] : null; 30 | $args = $argc > 2 ? array_slice($argv, 2) : array(); 31 | 32 | $cli->execute($cmd, $args); 33 | -------------------------------------------------------------------------------- /tools/test/lib/bootstrap.php: -------------------------------------------------------------------------------- 1 | source_names[] = 'getsparks.org'; 12 | $this->sources = array_map(function($n) { 13 | return new Spark_source($n); 14 | }, $this->source_names); 15 | $this->cli = new Spark_CLI($this->sources); 16 | } 17 | 18 | function tearDown() 19 | { 20 | if (is_dir(SPARK_PATH . '/example-spark')) 21 | { 22 | Spark_utils::remove_full_directory(SPARK_PATH . '/example-spark'); 23 | } 24 | } 25 | 26 | protected function capture_buffer_lines($func) { 27 | ob_start(); 28 | $func($this->cli); 29 | $t = ob_get_contents(); 30 | ob_end_clean(); 31 | if ($t == '') return array(); // empty 32 | return explode("\n", substr($t, 0, count($t) - 2)); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /tools/test/lib/test-sparks/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcarle/cloneReader/0c74816889597a806baef5f60b55574e5934c667/tools/test/lib/test-sparks/.gitkeep -------------------------------------------------------------------------------- /tools/test/phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ./ 7 | 8 | 9 | -------------------------------------------------------------------------------- /tools/test/search_test.php: -------------------------------------------------------------------------------- 1 | capture_buffer_lines(function($cli) { 8 | $cli->execute('search', array('markdown')); 9 | }); 10 | // Less than ideal, I know 11 | $this->assertEquals(array("\033[33mmarkdown\033[0m - A markdown helper for easy parsing of markdown"), $clines); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /tools/test/version_test.php: -------------------------------------------------------------------------------- 1 | capture_buffer_lines(function($cli) { 8 | $cli->execute('version'); 9 | }); 10 | $this->assertEquals(array(SPARK_VERSION), $clines); 11 | } 12 | 13 | function test_sources() 14 | { 15 | $clines = $this->capture_buffer_lines(function($cli) { 16 | $cli->execute('sources'); 17 | }); 18 | $this->assertEquals($this->source_names, $clines); 19 | } 20 | 21 | function test_bad_command() 22 | { 23 | $clines = $this->capture_buffer_lines(function($cli) { 24 | $cli->execute('fake'); 25 | }); 26 | $this->assertEquals(array(chr(27) . '[1;31m[ ERROR ]' . chr(27) . '[0m Uh-oh!', chr(27) . '[1;31m[ ERROR ]' . chr(27) . '[0m Unknown action: fake'), $clines); 27 | } 28 | 29 | function test_search_empty() 30 | { 31 | $clines = $this->capture_buffer_lines(function($cli) { 32 | $cli->execute('search', array('nothing_found_here')); 33 | }); 34 | $this->assertEquals(array(), $clines); 35 | } 36 | 37 | } 38 | --------------------------------------------------------------------------------